@import url('https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,100..900;1,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap');
@import 'c/gcdsTokens';

/* GCDS Icon Font */
@font-face {
    font-family: 'gcds-icons';
    src: url(/resource/gcdsIcons) format("truetype"),
        url(/resource/gcdsIconsWoff) format("woff");
    font-weight: normal;
    font-style: normal;
    font-display: block;
}

.gcds-icon-wrapper {
    display: inline-flex;
    /* GCDS Icon Tokens */
    --gcds-icon-font-family: 'gcds-icons';
    --gcds-icon-font-size-text-small: 1.125rem;
    --gcds-icon-line-height-text-small: 155%;
    --gcds-icon-font-size-text-small-mobile: 1rem;
    --gcds-icon-line-height-text-small-mobile: 150%;
    --gcds-icon-font-size-text: 1.25rem;
    --gcds-icon-line-height-text: 160%;
    --gcds-icon-font-size-text-mobile: 1.125rem;
    --gcds-icon-line-height-text-mobile: 155%;
    --gcds-icon-font-size-h6: 1.375rem;
    --gcds-icon-line-height-h6: 145%;
    --gcds-icon-font-size-h6-mobile: 1.25rem;
    --gcds-icon-line-height-h6-mobile: 140%;
    --gcds-icon-font-size-h5: 1.5rem;
    --gcds-icon-line-height-h5: 133%;
    --gcds-icon-font-size-h5-mobile: 1.375rem;
    --gcds-icon-line-height-h5-mobile: 127%;
    --gcds-icon-font-size-h4: 2.25rem;
    --gcds-icon-line-height-h4: 133%;
    --gcds-icon-font-size-h4-mobile: 2.25rem;
    --gcds-icon-line-height-h4-mobile: 133%;
    --gcds-icon-font-size-h3: 1.8125rem;
    --gcds-icon-line-height-h3: 137%;
    --gcds-icon-font-size-h3-mobile: 1.625rem;
    --gcds-icon-line-height-h3-mobile: 123%;
    --gcds-icon-font-size-h2: 2.4375rem;
    --gcds-icon-line-height-h2: 123%;
    --gcds-icon-font-size-h2-mobile: 2.1875rem;
    --gcds-icon-line-height-h2-mobile: 125%;
    --gcds-icon-font-size-h1: 2.5625rem;
    --gcds-icon-line-height-h1: 117%;
    --gcds-icon-font-size-h1-mobile: 2.3125rem;
    --gcds-icon-line-height-h1-mobile: 119%;
    --gcds-icon-margin-100: 0.5rem;
    --gcds-icon-margin-200: 1rem;
    --gcds-icon-margin-300: 1.5rem;
    --gcds-icon-margin-400: 2rem;
}

.gcds-heading-wrapper {
    display: block;
    --gcds-heading-default-text: #333333;

    --gcds-heading-h1-desktop: 700 2.5625rem/117% 'Lato', sans-serif;
    --gcds-heading-h1-mobile: 700 2.3125rem/119% 'Lato', sans-serif;

    --gcds-heading-h2-desktop: 700 2.4375rem/123% 'Lato', sans-serif;
    --gcds-heading-h2-mobile: 700 2.1875rem/125% 'Lato', sans-serif;

    --gcds-heading-h3-desktop: 700 1.8125rem/137% 'Lato', sans-serif;
    --gcds-heading-h3-mobile: 700 1.625rem/123% 'Lato', sans-serif;

    --gcds-heading-h4-desktop: 700 1.6875rem/133% 'Lato', sans-serif;
    --gcds-heading-h4-mobile: 700 1.5rem/133% 'Lato', sans-serif;

    --gcds-heading-h5-desktop: 700 1.5rem/133% 'Lato', sans-serif;
    --gcds-heading-h5-mobile: 700 1.375rem/127% 'Lato', sans-serif;

    --gcds-heading-h6-desktop: 700 1.375rem/145% 'Lato', sans-serif;
    --gcds-heading-h6-mobile: 700 1.25rem/140% 'Lato', sans-serif;

    --gcds-heading-h1-border-width: 100px;
    --gcds-heading-h1-border-margin: 20px 0 0;
    --gcds-heading-h1-border-height: 0.375rem;
    --gcds-heading-h1-border-background: #A62A1E;

    --gcds-heading-spacing-0: 0;
    --gcds-heading-spacing-100: 0.5rem;
    --gcds-heading-spacing-300: 1.5rem;
    --gcds-heading-spacing-600: 3rem;
}

.gcds-top-nav--loggedin {
    background-color: #26374A;
    color: #fff;
    --gcds-nav-link-default-text: #fff;
    --gcds-nav-link-hover-text: #fff;
    /* or lighter grey */
    --gcds-nav-link-active-text: #fff;
    --gcds-nav-link-focus-text: #26374a;
    --gcds-nav-group-trigger-text: #fff;
}

.gcds-radios-wrapper {
    display: block;

    /* GCDS Radio Variables */
    --gcds-radio-legend-font-desktop: 600 1.25rem/1.6 'Noto Sans', sans-serif;
    --gcds-radio-legend-font-mobile: 600 1.125rem/1.55 'Noto Sans', sans-serif;
    --gcds-radio-legend-margin: 0 0 0.25rem;
    --gcds-radio-legend-required-font-desktop: 400 1.25rem/1.6 'Noto Sans', sans-serif;
    --gcds-radio-legend-required-font-mobile: 400 1.125rem/1.55 'Noto Sans', sans-serif;

    --gcds-radio-legend-hint-margin: 0 0 1.5rem;
    /* Margin when hint follows */

    --gcds-radio-hint-margin: 0 0 1rem;

    --gcds-radio-max-width: 65ch;
    --gcds-radio-input-height-and-width: 2.5rem;
    --gcds-radio-padding: 0;
    /* Removing container padding to simplify alignment */
    --gcds-radio-font: 400 1.25rem/1.6 'Noto Sans', sans-serif;
    --gcds-radio-default-text: #333333;
    --gcds-radio-margin: 0 0 1rem;

    /* 
       Vertical Alignment Calculation:
       Radio Height: 2.5rem (40px) -> Center: 1.25rem (20px)
       Text Line-Height: ~2rem (32px)
       Desired Top Padding: (2.5 - 2) / 2 = 0.25rem (4px)
    */
    --gcds-radio-label-padding: 0.25rem 0.75rem;

    --gcds-radio-default-background: #ffffff;
    --gcds-radio-input-border-width: 0.125rem;
    --gcds-radio-border-radius: 50%;

    /* 
       Dot Centering Calculation:
       Container: 2.5rem
       Dot Size: 1.25rem (reduced from 1.5rem)
       Offset: (2.5 - 1.25) / 2 = 0.625rem
    */
    --gcds-radio-check-height-and-width: 1.25rem;
    --gcds-radio-check-left: 0.625rem;
    --gcds-radio-check-top: 0.625rem;

    /* Colors */
    --gcds-radio-disabled-text: #545961;
    --gcds-radio-disabled-background: #d6d9dd;
    --gcds-radio-disabled-border: #545961;

    --gcds-radio-danger-border: #d3080c;
    --gcds-radio-error-message-margin: 0 0 1rem;

    --gcds-radio-focus-color: #0535d2;
    --gcds-radio-focus-outline-width: 0.25rem;
    --gcds-radio-focus-box-shadow: 0 0 0 0.125rem #ffffff;
    --gcds-radio-focus-background: #ffffff;

    /* Base Setup */
    box-sizing: border-box;
}

.gcds-input-wrapper {
    display: block;
    --gcds-input-font-desktop: 400 1.25rem/1.6 'Noto Sans', sans-serif;
    --gcds-input-font-mobile: 400 1.125rem/1.55 'Noto Sans', sans-serif;
    --gcds-input-default-text: #333333;
    --gcds-input-min-width-and-height: 2.5rem;
    --gcds-input-margin: 0;
    --gcds-input-padding: 0.375rem 0.75rem;
    --gcds-input-default-background: #ffffff;
    --gcds-input-border-width: 0.125rem;
    --gcds-input-border-radius: 0.25rem;
    --gcds-input-disabled-text: #545961;
    --gcds-input-disabled-background: #d6d9dd;
    --gcds-input-danger-border: #d3080c;
    --gcds-input-focus-border: #0535d2;
    --gcds-input-outline-width: 0.25rem;
    --gcds-input-focus-box-shadow: 0 0 0 0.125rem #ffffff;
}

.gcds-button-wrapper {
    display: inline-block;
    --gcds-button-primary-default-background: #26374a;
    --gcds-button-primary-default-text: #ffffff;
    --gcds-button-primary-hover-background: #2B4380;
    --gcds-button-primary-hover-background-color: #2B4380;
    --gcds-button-secondary-default-background: transparent;
    --gcds-button-secondary-default-text: #26374a;
    --gcds-button-secondary-hover-background: #d7e5f5;

    --gcds-button-danger-default-background: #d3080c;
    --gcds-button-danger-default-text: #ffffff;
    --gcds-button-danger-hover-background: #a62a1e;

    --gcds-button-start-default-background: #03662a;
    --gcds-button-start-default-text: #ffffff;
    --gcds-button-start-hover-background: #023b1a;
    --gcds-button-start-padding: 0.75rem 2rem;

    --gcds-button-shared-focus-background: #0535d2;
    --gcds-button-shared-focus-text: #ffffff;
    width: 100%;
}

.gcds-error-message-wrapper {
    display: block;
    --gcds-error-message-text-color: #A62A1E;
    --gcds-error-message-icon-color: #A62A1E;
}

.gcds-label-wrapper {
    display: block;

    --gcds-label-font-desktop: 700 1.25rem/1.6 'Noto Sans', sans-serif;
    --gcds-label-font-mobile: 700 1.125rem/1.55 'Noto Sans', sans-serif;
    --gcds-label-margin: 0 0 0.25rem;
    --gcds-label-text: #333333;
    --gcds-label-required-font-weight: 400;
    --gcds-label-required-margin: 0 0 0 0.375rem;
}

.gcds-link-wrapper {
    display: inline;
    --gcds-link-default: #284162;
    --gcds-link-hover: #0535d2;
    --gcds-link-light: #ffffff;
    --gcds-link-visited: #7532b8;
    --gcds-link-focus-background: #0535d2;
    --gcds-link-focus-text: #ffffff;

    /* Allow parent to override text-decoration and font-size */
    --gcds-link-font-size: inherit;


    --gcds-nav-link-font: 400 1rem/1.5 'Noto Sans', sans-serif;
    --gcds-nav-link-font-mobile: 400 1rem/1.5 'Noto Sans', sans-serif;

    /* Colors */
    --gcds-nav-link-hover-text: #26374a;
    --gcds-nav-link-active-text: #26374a;

    /* Spacing */
    --gcds-nav-link-padding: 0.5rem 1rem;
    --gcds-nav-link-margin: 0;

    /* Borders & Decoration */
    --gcds-nav-link-border-width: 0.125rem;
    /* For high contrast/focus borders */
    --gcds-nav-link-default-decoration-thickness: 0.125rem;
    --gcds-nav-link-default-underline-offset: 0.25rem;

    /* Focus */
    --gcds-nav-link-focus-background: #26374a;
    --gcds-nav-link-focus-text: #ffffff;
    --gcds-nav-link-focus-outline: 2px solid #26374a;
    --gcds-nav-link-focus-outline-offset: 2px;
}

.gcds-hint-wrapper {
    display: block;
    --gcds-hint-margin: 0 0 1rem;
    --gcds-hint-text: #545961;
}

.gcds-textarea-wrapper {
    margin-bottom: 1.5rem;
}

.gcds-error-summary-wrapper {
    display: block;

    /* Tokens */
    --gcds-error-summary-padding: 40px;
    --gcds-error-summary-margin: 0 0 1.5rem;
    --gcds-error-summary-border-width: 0.375rem;
    --gcds-error-summary-border-color: #d3080c;
    --gcds-error-summary-text: #A62A1E;
    --gcds-error-summary-list-margin: 1.5rem;
    --gcds-error-summary-max-width: 30rem;
    --gcds-error-summary-list-item-padding: 0.5rem;
    --gcds-error-summary-link-color: #d3080c;
}

.gcds-checkboxes-wrapper {
    display: block;

    /* GCDS Checkbox Variables */
    --gcds-checkbox-legend-font-desktop: 600 1.25rem/1.6 'Noto Sans', sans-serif;
    --gcds-checkbox-legend-font-mobile: 600 1.125rem/1.55 'Noto Sans', sans-serif;
    --gcds-checkbox-legend-margin: 0 0 0.25rem;
    --gcds-checkbox-legend-required-font-desktop: 400 1.25rem/1.6 'Noto Sans', sans-serif;
    --gcds-checkbox-legend-required-font-mobile: 400 1.125rem/1.55 'Noto Sans', sans-serif;

    --gcds-checkbox-legend-hint-margin: 0 0 1.5rem;

    --gcds-checkbox-hint-margin: 0 0 1rem;

    --gcds-checkbox-max-width: 65ch;
    --gcds-checkbox-input-height-and-width: 3rem;
    --gcds-checkbox-padding: 0;
    --gcds-checkbox-font: 400 1.25rem/1.6 'Noto Sans', sans-serif;
    --gcds-checkbox-default-text: #333333;
    --gcds-checkbox-margin: 0 0 1rem;

    --gcds-checkbox-label-padding: 0.25rem 0.75rem;
    /* Centering fix similar to Radio: (2.5 - 2)/2 */

    --gcds-checkbox-default-background: #ffffff;
    --gcds-checkbox-input-border-width: 0.125rem;
    --gcds-checkbox-input-border-radius: 0.125rem;

    /* Checkmark (L-shape rotated) */
    --gcds-checkbox-check-height: 1.5rem;
    --gcds-checkbox-check-width: 0.875rem;
    --gcds-checkbox-check-border-width: 0.3125rem;
    --gcds-checkbox-check-left: 1rem;
    /* Centering tweak */
    --gcds-checkbox-check-top: 0.625rem;
    /* Centering tweak */

    /* Colors */
    --gcds-checkbox-disabled-text: #545961;
    --gcds-checkbox-disabled-background: #d6d9dd;

    --gcds-checkbox-danger-border: #d3080c;
    --gcds-checkbox-error-message-margin: 0 0 1rem;

    --gcds-checkbox-focus-color: #0535d2;
    --gcds-checkbox-focus-outline-width: 0.25rem;
    --gcds-checkbox-focus-box-shadow: 0 0 0 0.125rem #ffffff;
    --gcds-checkbox-focus-background: #ffffff;

    box-sizing: border-box;
}

:root {
    --gcds-colour-gray-0: #FFFFFF;
    --gcds-primary-text-color: #333;
    --gcds-primary-gray-text-color: #fff;
    --gcds-secondary-text-color: #43474E;
    --gcds-alert-danger-icon: #A62A1E;
    --gcds-alert-danger-text: #A62A1E;
    --gcds-error-text-color: #A62A1E;
    --gcds-position-relative: relative;
    --gcds-position-absolute: absolute;
    --gcds-heading-h1-desktop: 700 2.5625rem/117% "Lato", sans-serif;
    /* --gcds-heading-h1-mobile: 700 2.3125rem/119% "Lato", sans-serif; */
    --gcds-heading-h2-desktop: 700 2.4375rem/123% "Lato", sans-serif;
    --gcds-heading-h2-mobile: 700 2.1875rem/125% "Lato", sans-serif;
    --gcds-heading-h1-border-background-color: #A62A1E;
    /* --gcds-heading-h1-border-height: 0.375rem; */
    /* --gcds-heading-h3-desktop: 700 1.8125rem/137% "Lato", sans-serif; */
    /* --gcds-heading-h3-mobile: 700 1.625rem/123% "Lato", sans-serif; */
    /* --gcds-heading-h4-desktop: 700 1.6875rem/133% "Lato", sans-serif; */
    /* --gcds-heading-h4-mobile: 700 1.5rem/133% "Lato", sans-serif; */
    /* --gcds-heading-h5-desktop: 700 1.5rem/133% "Lato", sans-serif; */
    /* --gcds-heading-h5-mobile: 700 1.375rem/127% "Lato", sans-serif; */
    /* --gcds-heading-h6-desktop: 700 1.375rem/145% "Lato", sans-serif; */
    /* --gcds-heading-h6-mobile: 700 1.25rem/140% "Lato", sans-serif; */
    --gcds-checkbox-legend-required-font-mobile: 400 1.125rem/1.55 'Noto Sans', sans-serif;

    --gcds-input-fonts-desktop: 400 1.25rem/160% "Noto Sans", sans-serif;
    --gcds-label-fonts-desktop: 700 1.25rem/140% "Noto Sans", sans-serif;
    --gcds-label-fonts-mobile: 600 1.125rem/155% "Noto Sans", sans-serif;
    --gcds-button-font-desktop: 500 1.25rem/140% "Noto Sans", sans-serif;
    --gcds-file-font-desktop: 500 1.25rem/140% "Noto Sans", sans-serif;
    --gcds-button-start-font-mobile: 500 1.25rem / 140% "Noto Sans", sans-serif;
    --gcds-link-hover-decoration-thickness: 0.125rem;
    --gcds-stepper-fonts-desktop: 600 1.25rem/120% "Lato", sans-serif;
    --gcds-error-font-desktop: 700 1.25rem/160% "Noto Sans", sans-serif;
    --gcds-hint-text-mobile: 400 1.125rem/155% "Noto Sans", sans-serif;
    --gcds-hint-text-desktop: 400 1rem/150% "Noto Sans", sans-serif;
    --gcds-hint-block-text: #545961;
    --gcds-color-grayscale-700: #545961;
    --gcds-space-0: 0;
    --gcds-space-25: 0.125rem;
    --gcds-space-50: 0.25rem;
    --gcds-space-75: 0.375rem;
    --gcds-space-100: 0.5rem;
    --gcds-space-125: 10px;
    --gcds-space-150: 12px;
    --gcds-space-200: 16px;
    --gcds-space-225: 18px;
    --gcds-space-250: 20px;
    --gcds-space-300: 24px;
    --gcds-space-400: 32px;
    --gcds-space-450: 36px;
    --gcds-space-600: 48px;
    --gcds-heading-spacing-50: 0.25rem;
    --gcds-hint-block-margin: 0 0 0.5rem;
    --gcds-input-select-margin-bottom: 2rem;
    --gcds-input-block-border-radius: 0.25rem;
    --gcds-input-block-border-0: 0;
    --gcds-button-start-fill-default: #03662A;
    --gcds-button-border-radius: 0.375rem;
    --gcds-button-shared-focus-outline-width: 0.188rem;
    --gcds-button-shared-focus-box-shadow: 0 0 0 0.125rem #fff;
    --gcds-button-padding-default: 0.625rem 1rem;
    --gcds-text-link-default: #284162;
    --gcds-lang-toggle-font-family: "Noto Sans", sans-serif;
    --gcds-lang-toggle-font-size: 1rem;
    --gcds-lang-toggle-font-weight: 400;
    --gcds-lang-toggle-line-height: 1.5;
    --gcds-lang-toggle-underline-thickness: 1px;
    --gcds-lang-toggle-underline-offset: 2px;
    --gcds-search-border-color: #d6d9dd;
    --gcds-search-border-width: 0.0625rem;
    --gcds-search-button-width-height: 2.5rem;
    --gcds-search-default-background: #fff;
    --gcds-search-default-text: #333;
    --gcds-search-focus-border-color: #0535d2;
    --gcds-file-download-color: #0535d2;
    --gcds-search-focus-border-width: 0.125rem;
    --gcds-search-focus-box-shadow: 0 0 0 0.125rem #fff;
    --gcds-search-focus-margin: 0 -0.125rem 0 0;
    --gcds-search-font: 400 1rem/150% "Noto Sans", sans-serif;
    --gcds-search-margin: 0 0 0.125rem;
    --gcds-search-box-max-height: 2.5rem;
    --gcds-search-box-max-width: 2.5rem;
    --gcds-search-outline-width: 0.25rem;
    --gcds-search-padding: 0.5rem 0 0.5rem 0.75rem;
    --gcds-search-placeholder: #5C5C5C;
    --gcds-fill-primary: #26374a;
    --gcds-spacing-450: 2.25rem;
    --gcds-spacing-100: 0.50rem;
    --gcds-nav-item-font: 700 1rem/150% "Noto Sans", sans-serif;
    --gcds-text-light: #FFF;
    --text-light: #FFF;
    /* --gcds-heading-h3-desktop: 700 1.8125rem/137% "Lato", sans-serif; */
    /* --gcds-heading-h3-mobile: 700 1.625rem/123% "Lato", sans-serif; */
    --gcds-text-size-body-desktop: 400 1.25rem/160% "Noto Sans", sans-serif;
    --gcds-text-size-body-mobile: 400 1.125rem/155% "Noto Sans", sans-serif;
    --gcds-footer-font: 400 1rem/150% "Noto Sans", sans-serif;
    --gcds-footer-link-color: var(--gcds-text-light);
    --gcds-footer-link-underline-thickness: 1px;
    --gcds-footer-link-underline-offset: 2px;
    --gcds-link-font-size: 1rem;
    --gcds-footer-main-nav-after-border-width: 0.25rem;
    --gcds-footer-main-nav-after-border-color: #fff;
    --gcds-footer-grid-gap: var(--gcds-space-400);
    --gcds-footer-main-nav-after-effect-width: 2.25rem;
    --gcds-link-hover: #0535d2;
    --gcds-header-container-max-width: 71.25rem;
    --gcds-branding-width: 324px;
    --gcds-branding-height: 40px;
    --gcds-display-flex: flex;
    --gcds-flex-direction-row: row;
    --gcds-flex-wrap-wrap: wrap;
    --gcds-justify-content-center: center;
    --gcds-align-items-center: center;
    --gcds-justify-content-normal: flex-start;
    --gcds-font-h2: 700 2.4375rem/123% "Lato", sans-serif;
    --gc-nav-font-family: "Noto Sans", sans-serif;
    --gc-nav-font-size: 1rem;
    --gc-nav-line-height: 1.5;
    --gc-nav-link-font-weight: 500;
    --gc-nav-link-text: var(--colour-gray-700);
    --gc-nav-link-active-font-weight: 700;
    --gc-nav-link-active-text: #333;
    --gc-nav-link-padding: 0.25rem;
    --gc-nav-link-gap: var(--gcds-space-200);
    --gcds-font-text: 400 1.25rem / 160% "Noto Sans", sans-serif;
    --gcds-font-text-mobile: 400 1.125rem/155% "Noto Sans", sans-serif;
    --gcds-text-char-limit: 65ch;
    --gcds-head-spacing-0: 0rem;
    --gcds-head-spacing-300: 1.5rem;
    --gcds-notice-info-text-stroke: #1E7B96;
    --typography-font-family-Text: "Noto Sans";
    --typography-font-size-desktop-text_fontsize: 20px;
    --typography-font-size-mobile-text_fontsize: 18px;
    --typography-line-height-desktop-text-small_lineheight: 28px;
    --gcds-button-font-mobile: 500 1.125rem/140% "Noto Sans", sans-serif;
    --gcds-label-font-desktop: 700 1.25rem/1.6 'Noto Sans', sans-serif;
    --gcds-label-font-mobile: 700 1.125rem/1.55 'Noto Sans', sans-serif;
    --button-secondary-text-default: #2B4380;
    --gcds-nav-link-font-style: 500 1rem/150% "Noto Sans", sans-serif;
    --gcds-notice-danger-text: #a62a1e;
    --gcds-notice-warning-text: #be5a00;
    --gcds-button-primary-hover-background-color: #2B4380;
    --gcds-link-visited-color: #7532b8;
    --typography-line-height-desktop-text_lineheight: 32px;
    --gcds-button-shared-active-background-color: #000;
    --gcds-button-border-width: 0.125rem;
    --gcds-button-secondary-default-background: transparent;
    --gcds-button-secondary-default-text-color: #26374a;
    --gcds-button-secondary-hover-background: #d6e4f5;
    --gcds-button-shared-focus-background: #0535D2;
    --gcds-button-shared-focus-text: #ffffff;
    --gcds-link-focus-background: #0535D2;
    --gcds-link-focus-border-radius: 0.125rem;
    --gcds-link-focus-box-shadow: 0 0 0 0.125rem #fff;
    --gcds-link-focus-outline-width: 0.25rem;
    --gcds-link-focus-outline-offset: 0.125rem;
    --gcds-link-focus-text: #fff;
    --gcds-button-start-hover-background-color: #023B1A;
    --gcds-heading-h1-after-border-width: 4.5rem;
    --gcds-heading-h1-after-border-height: 0.375rem;
    --gcds-heading-h1-border-margin-default: 0.5rem;
    --gcds-line-height-h2: 123%;
    --gcds-checkbox-label-padding: 0 0 0 3.75rem;
    --gcds-checkbox-label-font-desktop: 500 1.25rem/160% "Noto Sans", sans-serif;
    --gcds-checkbox-label-font-mobile: 500 1.125rem/155% "Noto Sans", sans-serif;
    --gcds-textarea-focus-border: #1354ec;
    --gcds-textarea-focus-box-shadow: 0 0 0 0.125rem #fff;
    --gcds-textarea-outline-width: 0.25rem;
    --gcds-textarea-border-width: 0.125rem;
    --gcds-textarea-font-desktop: 400 1.25rem / 160% "Noto Sans", sans-serif;
    --typography-font-family-Heading: Lato;
    --typography-line-height-mobile-h6_lineheight: 28px;
    --gcds-space-500: 40px;
    --gcds-space-25: 2px;
    --gcds-pagination-font-desktop: 500 1.25rem/160% "Noto Sans", sans-serif;
    --gcds-pagination-font-mobile: 500 1.125rem/155% "Noto Sans", sans-serif;
    --gcds-error-summary-padding-desktop: 2.5rem;
    --gcds-error-summary-padding-mobile: 1.5rem;
    --gcds-error-summary-margin: 0 0 2.25rem;
    --gcds-error-summary-list-margin: 1.5rem;
    --gcds-nav-group-trigger-focus-outline-offset: 0.125rem;
    --gcds-nav-group-trigger-focus-outline: 0.25rem solid #0535D2;
    --gcds-nav-group-trigger-focus-box-shadow: 0 0 0 0.125rem #fff;
    --gcds-nav-group-trigger-focus-border-radius: 0.125rem;
    /* --gcds-heading-h6-mobile: 700 1.25rem/140% "Lato", sans-serif; */
    --gcds-nav-link-side-nav-padding: 0.625rem 0.5rem;
    --gcds-nav-link-active-text: #26374a;
    --gcds-nav-links-focus-outline: 0.25rem solid #0535D2;
    --typography-line-height-desktop-h1_lineheight: 48px;
    --gcds-button-mobile-margin: 0.125rem 0;
    --gcds-button-shared-active-background: #000;
    --gcds-button-shared-active-text: #fff;
    --colour-gray-500: #7D828B;
    --gcds-notice-border-width: 0.5rem;
    --gcds-notice-icon-before-height: 1.125rem;
    --gcds-notice-text: #333;
    --gcds-notice-icon-width: 2.25rem;
    --gcds-notice-icon-gap: 0.875rem;
    /* --gcds-heading-h3-desktop: 700 1.8125rem/137% "Lato", sans-serif; */
    --gcds-notice-icon-width: 2.25rem;
    --gcds-notice-icon-gap: 0.875rem;
    --gcds-notice-content-heading-font-desktop: 700 1.8125rem/137% "Lato", sans-serif;
    --gcds-notice-content-heading-font-mobile: 700 1.625rem/123% "Lato", sans-serif;

    --gcds-notice-info-text: #1e7b96;
    --gcds-notice-text: #333;
    --gcds-notice-success-text: #03662a;
    --gcds-notice-warning-text: #be5a00;
    --gcds-icon-font-size-h4: 1.6875rem;
    --gcds-icon-font-size-h3: 1.8125rem;
    --gcds-icon-font-size-h2: 2.4375rem;
    --gcds-icon-font-size-h1: 2.5625rem;
    --gcds-icon-font-size-text-small-mobile: 1rem;
    --gcds-icon-font-size-text-mobile: 1.125rem;
    --gcds-icon-font-size-h6-mobile: 1.25rem;
    --gcds-icon-font-size-h5-mobile: 1.375rem;
    --gcds-icon-font-size-h4-mobile: 1.5rem;
    --gcds-icon-font-size-h3-mobile: 1.625rem;
    --gcds-icon-font-size-h2-mobile: 2.1875rem;
    --gcds-icon-font-size-h1-mobile: 2.3125rem;

    --gcds-top-nav-border-color: #d6d9dd;
    --gcds-top-nav-border-width: 0.0625rem;
    --gcds-input-border-width: 0.125rem;
    --gcds-input-focus-border: #0535d2;
    --gcds-input-outline-width: 0.25rem;
    --gcds-input-focus-box-shadow: 0 0 0 0.125rem #ffffff;
    display: block;
    --gcds-header-margin: 0;
    --gcds-header-skiptonav-top: 0.5rem;
    --gcds-header-brand-border-width: 0.0625rem;
    --gcds-header-brand-border-color: #7d828b;
    --gcds-header-brand-padding: 1rem 0;
    --gcds-header-brand-grid-gap: 1.5rem;

    /* --gcds-heading-spacing-300:1.5rem; */



    --gcds-error-summary-padding: 0.75rem 0.875rem;
    --gcds-error-summary-margin: 0 0 1.5rem;
    --gcds-error-summary-border-width: 0.375rem;
    --gcds-error-summary-border-color: #d3080c;
    --gcds-error-summary-text: #A62A1E;
    --gcds-error-summary-list-margin: 1.5rem;
    --gcds-error-summary-max-width: 30rem;
    --gcds-error-summary-list-item-padding: 0.5rem;
    --gcds-error-summary-link-color: #d3080c;
    --gcds-text-primary: #333;
    --gcds-text-secondary: #43474e;
    --gcds-error-message-text-color: #A62A1E;


    --gcds-stepper-font-desktop: 600 1.25rem/1.2 'Lato', sans-serif;
    --gcds-stepper-margin-desktop: 0 0 0.25rem;

    --gcds-stepper-font-mobile: 600 1.25rem/1.2 'Lato', sans-serif;
    /* Matches text-small-mobile */
    --gcds-stepper-margin-mobile: 0 0 0.25rem;




    --gcds-nav-group-font: 400 1.25rem/160% 'Noto Sans', sans-serif;
    --gcds-nav-group-trigger-padding: 0.5rem;

    /* Top Nav Specifics */
    --gcds-nav-group-top-nav-trigger-padding: 0.5rem 1rem;
    --gcds-nav-group-top-nav-trigger-decoration-thickness: 0.125rem;
    --gcds-nav-group-top-nav-trigger-underline-offset: 0.25rem;
    --gcds-nav-group-top-nav-trigger-expanded-background-color: #26374a;
    --gcds-nav-group-top-nav-dropdown-width: 15rem;
    --gcds-nav-group-top-nav-dropdown-background: #ffffff;
    --gcds-nav-group-top-nav-dropdown-padding: 1rem;
    --gcds-nav-group-top-nav-dropdown-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);

    /* Side/Mobile Nav Specifics */
    --gcds-nav-group-side-nav-trigger-font-weight: 700;
    --gcds-nav-group-side-nav-trigger-margin: 0.5rem;
    --gcds-nav-group-side-nav-trigger-icon-margin: 0.5rem;
}

* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    margin: 0;
    padding: 0;
    font: var(--gcds-font-text);
    color: var(--gcds-primary-text-color);
}

#main-content {
    margin: 0 auto;
    max-width: var(--gcds-header-container-max-width);
    width: 90%;
    padding: var(--gcds-space-600) 0;

    @media (max-width: 640px) {
        width: 100%;
    }
}

p {
    /*max-width: var(--gcds-text-char-limit);*/
    font: var(--gcds-font-text);
    -webkit-margin-before: var(--gcds-head-spacing-0);
    margin-block-start: var(--gcds-head-spacing-0);
    -webkit-margin-after: var(--gcds-head-spacing-300);
    margin-block-end: var(--gcds-head-spacing-300);
    word-wrap: break-word;
}

p:has(+a),
p:has(+c-gcds-link) {
    margin-bottom: 24px;
}

p+c-gcds-link {
    display: block;
    margin-bottom: 24px;
}

c-gcds-link+br {
    display: none;
}

/* p+c-gcds-link+p, */
p:has(+c-gcds-link+p),
p+c-gcds-link:has(+p) {
    margin-bottom: 0;
    line-height: 30px;
    /* display: contents; */
}

/* =========================================== */

/* gcds heading */

:is(h1, h2, h3, h4, h5, h6) {
    margin: 0;
    color: var(--gcds-primary-text-color);
}

/* ntc */
/* h1,
h2,
h3,
h4,
h5,
h6 {
    margin-bottom: 0.75rem !important;
} */

/* Search input â€“ desktop & mobile */
.gc-header .gc-branding-bar .gc-search-wrapper .gc-search-box input {
    background: var(--gcds-search-default-background);
    border-top: var(--gcds-search-border-width) solid var(--gcds-search-border-color);
    border-bottom: var(--gcds-search-border-width) solid var(--gcds-search-border-color);
    border-left: var(--gcds-search-border-width) solid var(--gcds-search-border-color);
    border-right: none;
    color: var(--gcds-search-default-text);
    font: var(--gcds-search-font);
    padding: var(--gcds-search-padding);
    width: var(--gcds-branding-width);
    height: var(--gcds-branding-height);
    border-radius: var(--gcds-input-block-border-0);
    /* max-height: var(--gcds-search-max-height);
    margin: var(--gcds-search-margin);
   border-radius: var(--gcds-input-block-border-radius) 0 0 var(--gcds-input-block-border-radius);*/
}



.gc-branding-bar .gc-search-wrapper .gc-search-box input:focus-visible {
    outline: var(--gcds-search-outline-width) solid var(--gcds-search-focus-border-color);
    outline-offset: 0;
    border-top-width: var(--gcds-search-focus-border-width);
    border-bottom-width: var(--gcds-search-focus-border-width);
    border-left-width: var(--gcds-search-focus-border-width);
    box-shadow: var(--gcds-search-focus-box-shadow);
}

.gc-branding-bar .gc-search-wrapper .gc-search-box input::placeholder {
    color: var(--gcds-search-placeholder);
    opacity: 1;
}


.gc-header .gc-branding-bar .gc-search-wrapper .gc-search-box .gc-search-btn {
    background: var(--gcds-fill-primary);
    height: var(--gcds-search-box-max-height) !important;
    /*margin-top: 4px;*/
    width: var(--gcds-search-box-max-width);
    border-radius: var(--gcds-input-block-border-0);
}

.brand__search .gc-search-wrapper .gc-search-box button.gc-search-btn {
    background: var(--gcds-fill-primary);
    height: var(--gcds-search-box-max-height) !important;
    /*margin-top: 4px;*/
    width: var(--gcds-search-box-max-width);
    border-radius: var(--gcds-input-block-border-0);
}

@media (max-width: 640px) {
    gc-external-login button.gc-btn.gc-btn-secondary {
        width: 100%;
    }

    button.gcds-button:not(c-visp-application-tracker c-visp-claim-search button#search-btn) {
        padding: var(--gcds-space-125) var(--gcds-space-200) !important;
        min-width: 128px !important;
        min-height: 45px;
        margin: var(--gcds-button-mobile-margin);
        width: 100%;
    }

    /*  */
}

.visp-wrapper {
    font-size: 16px;
    line-height: 1.5;
}

.visp-wrapper .gc-info-col,
.visp-wrapper form {
    margin-left: 0;
}

/* ntc end */

h1,
h1.gcds-heading,
.visp-wrapper .gc-portal-title {
    font: var(--gcds-heading-h1-desktop);
    color: var(--gcds-primary-text-color);

    /* margin-bottom: 2.563rem ; */
    @media (max-width: 640px) {
        font: var(--gcds-heading-h1-mobile);
        width: 100%;
    }
}

.gcds-heading-wrapper h1:after,
.gc-portal-title::after {
    display: block;
    content: "";
    width: var(--gcds-heading-h1-after-border-width);
    -webkit-margin-before: var(--gcds-heading-h1-border-margin-default);
    margin-block-start: var(--gcds-heading-h1-border-margin-default);
    height: var(--gcds-heading-h1-after-border-height);
    background-color: var(--gcds-heading-h1-border-background-color);
}

h2.gcds-heading,
h2 {
    font: var(--gcds-heading-h2-desktop);
    line-height: var(--gcds-line-height-h2);
    padding: var(--space-600, 48px) 0 var(--space-300, 24px) 0;
    margin-block-end: 0;

    @media (max-width: 640px) {
        font: var(--gcds-heading-h2-mobile);
        padding: 0;
    }
}

/* .gcds-heading-wrapper h2.gcds-heading {
    padding: var(--space-600, 48px) 0 var(--space-300, 24px) 0;
    margin-block-end: 0;

   @media (max-width: 640px)  {
        padding: var(--space-600, 48px) 0 var(--space-300, 24px) 0;

    }
} */

h3.gcds-heading {
    font: var(--gcds-heading-h3-desktop);


    @media (max-width: 640px) {
        font: var(--gcds-heading-h3-mobile);
    }
}

h4.gcds-heading {
    font: var(--gcds-heading-h4-desktop);

    @media (max-width: 640px) {

        font: var(--gcds-heading-h4-mobile);
    }
}

h5.gcds-heading {
    font: var(--gcds-heading-h5-desktop);


    @media only screen and (max-width: 48em) {

        font: var(--gcds-heading-h5-mobile);
    }
}

h6.gcds-heading {
    font: var(--gcds-heading-h6-desktop);


    @media only screen and (max-width: 48em) {

        font: var(--gcds-heading-h6-mobile);
    }
}




h1,
h2,
h3,
h4,
h5,
h6 {
    text-wrap: balance;
    -webkit-margin-after: var(--gcds-heading-spacing-300);
    margin-block-end: var(--gcds-heading-spacing-300);
}

/* ============================================ */

/* ========================= */
/* header */

/* community_layout-section:has(c-visp-site-header) */
community_layout-section {
    padding: 0 !important;
}

header .community_byo-scoped-header-and-footer__header-content .columns-content {
    background-color: rgb(255 255 255);
    max-width: 100%;
}

/*.gc-header {
    width: 100%;
    font-family: 'Noto Sans', sans-serif;
    color: #333;
    background-color: #fff;
    /* margin-bottom: 48px; 
}*/
.gc-branding-bar {
    padding: 9px 0 !important;
    background: #fff !important;
}


.gc-header .gc-branding-bar .gc-search-wrapper .gc-search-box .gc-search-btn {
    background: var(--gcds-fill-primary);
    height: var(--gcds-search-box-max-height);
    /*margin-top: 4px;*/
    width: var(--gcds-search-box-max-width);
    border-radius: var(--gcds-input-block-border-0);
}

.gcds-header__brand .brand__container .gc-search-wrapper input.gc-search-input {
    background: var(--gcds-search-default-background);
    border-top: var(--gcds-search-border-width) solid var(--gcds-search-border-color);
    border-bottom: none;
    border-left: var(--gcds-search-border-width) solid var(--gcds-search-border-color);
    border-right: none;
    color: var(--gcds-search-default-text);
    font: var(--gcds-search-font);
    padding: var(--gcds-search-padding);
    width: var(--gcds-branding-width);
    height: var(--gcds-branding-height);
    border-radius: var(--gcds-input-block-border-0);

    @media (min-width: 320px) and (max-width: 767.98px) {
        width: 100%;
    }

}


@media (min-width: 320px) and (max-width: 767.98px) {
    .gcds-header__brand .brand__container .gc-search-wrapper input.gc-search-input {
        width: 100%;
    }

}

.gc-header .gc-branding-bar .gc-search-wrapper .gc-search-box {
    align-items: self-end;
}

.brand__container {
    padding: 8px;
}

abbr.c-gcdsLangToggle_gcdsLangToggle {
    color: var(--gcds-text-link-default);
    font: var(--gcds-heading-h6-mobile);
    line-height: var(--typography-line-height-mobile-h6_lineheight);
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-thickness: 10%;
    text-underline-offset: 18%;
    text-underline-position: from-font;
}

.gc-header .gc-lang-btn,
span.c-gcdsLangToggle_gcdsLangToggle {
    font-family: var(--gcds-lang-toggle-font-family);
    font-weight: var(--gcds-lang-toggle-font-weight);
    line-height: var(--gcds-lang-toggle-line-height);
    text-underline-offset: var(--gcds-lang-toggle-underline-offset);
    color: var(--gcds-button-primary-hover-background-color);
}

/* Default (Desktop) */
.gc-header .gc-branding-bar .gc-logo-wrapper img.gc-logo {
    width: var(--gcds-branding-width);
    height: var(--gcds-branding-height);
    max-width: 100%;
    object-fit: contain;
}

/* Tablet */
@media (min-width: 768px) and (max-width: 1023.98px) {
    .gc-header .gc-branding-bar .gc-logo-wrapper img.gc-logo {
        width: 210px;
        height: 20px;
    }
}

/* Mobile */
@media (min-width: 320px) and (max-width: 767.98px) {
    .gc-header .gc-branding-bar .gc-logo-wrapper img.gc-logo {
        width: 210px;
        height: 20px;
    }
}


.gc-nav-bar .gc-nav-list {
    display: var(--gcds-display-flex);
    align-items: var(--gcds-align-items-center);
    justify-content: var(--gcds-justify-content-normal);
    gap: var(--gc-nav-link-gap);
    font-variant: normal;
}

.gc-nav-bar .gc-nav-list .gc-nav-item a {
    color: var(--gc-nav-link-text) !important;
    /*padding: var(--gc-nav-link-padding);*/
    font-family: var(--gc-nav-font-family);
    font-size: var(--gc-nav-font-size);
    font-style: normal;
    font-weight: var(--gc-nav-link-font-weight);
    line-height: var(--gc-nav-line-height);

    text-decoration: none;
}

.gc-nav-bar .gc-nav-list .gc-nav-item.is-active a {
    color: var(--gc-nav-link-active-text);
    font-weight: var(--gc-nav-link-active-font-weight);
}

a.gcds-nav-link.gcds-nav-link--topnav,
button.gcds-nav-group__trigger.gcds-trigger--dropdown {
    font: var(--gcds-nav-link-font-style);
    color: var(--gcds-colour-gray-0);
}

a.gcds-nav-link.gcds-nav-link--topnav:focus,
a.gcds-nav-link.gcds-nav-link--topnav:focus-visible,
button.gcds-nav-group__trigger.gcds-trigger--dropdown:focus,
button.gcds-nav-group__trigger.gcds-trigger--dropdown:focus-visible,
button.gcds-nav-group__trigger.gcds-trigger--dropdown:focus,
button.gcds-nav-group__trigger.gcds-trigger--dropdown:focus-visible {
    border: none;
    outline: none;
}

gcds-top-nav:not(.gcds-top-nav--loggedin) ul.nav-container__list c-gcds-nav-link a.gcds-nav-link.gcds-nav-link--topnav {
    color: var(--gcds-color-grayscale-700) !important;
}


c-gcds-nav-group.nav-user-menu ul.gcds-nav-group__list.gcds-nav--dropdown a.gcds-nav-link.gcds-nav-link--topnav {
    color: var(--gcds-fill-primary) !important;

    &:hover {
        color: var(--gcds-link-hover) !important;
        text-decoration-color: var(--gcds-link-hover);
    }

    /* --gcds-nav-link-active-text: #26374a; */
    &:active {
        color: var(--gcds-nav-link-active-text) !important;
        text-decoration: none;
    }
}

c-gcds-nav-group.nav-user-menu ul.gcds-nav-group__list.gcds-nav--dropdown a.gcds-nav-link.gcds-nav-link--topnav:focus,
c-gcds-nav-group.nav-user-menu ul.gcds-nav-group__list.gcds-nav--dropdown a.gcds-nav-link.gcds-nav-link--topnav:active {
    color: #fff !important;
}

.gcds-top-nav:not(.gcds-top-nav--loggedin) c-gcds-nav-link a.gcds-nav-link.gcds-nav-link--topnav:active,
.gcds-top-nav:not(.gcds-top-nav--loggedin) button.gcds-nav-group__trigger.gcds-trigger--dropdown:active {
    color: #333 !important;
    font-weight: 700 !important;
}

gcds-top-nav:not(.gcds-top-nav--loggedin) ul.gcds-top-nav__container ul.nav-container__list.nav-list--left c-gcds-nav-link a.gcds-nav-link.gcds-nav-link--topnav:focus,
button.gcds-nav-group__trigger.gcds-trigger--dropdown:focus {
    color: #fff !important;
    outline: none !important;
    background: none !important;
    border: none;
    outline-offset: 0;
    box-shadow: none;

}

gcds-top-nav.gcds-top-nav--loggedin a.gcds-nav-link.gcds-nav-link--topnav:focus {
    outline: none;
    background: none !important;
    border: none;
    outline-offset: 0;
    box-shadow: none;
}

ul.gcds-nav-group__list.gcds-nav--expandable c-gcds-nav-link a.gcds-nav-link.gcds-nav-link--topnav {
    font: var(--gcds-nav-link-font-style) !important;
}

section.gcds-notice.notice--type-danger c-gcds-icon.notice__icon {
    color: var(--gcds-notice-danger-text) !important;
}

.gc-info-col>h2 {
    color: var(--gcds-primary-text-color);
    font: var(--gcds-stepper-fonts-desktop);
    line-height: var(--gcds-line-height-h2);
}


h1.gc-portal-title {
    color: var(--gcds-primary-text-color);
    position: var(--gcds-position-relative);
    font: var(--gcds-heading-h1-desktop);
    margin: 0;

    @media (max-width: 640px) {
        font: var(--gcds-heading-h1-mobile);
        width: 100%;
    }
}

.gc-header .gc-branding-bar .gc-container,
.gc-header .gc-top-bar .gc-container,
.gc-header .gc-nav-bar .gc-container {
    padding: 0 1rem;
    margin: 0 auto;
    max-width: var(--gcds-header-container-max-width);
    width: 90%;
}

/*new header*/
c-visp-site-header {
    background: var(--gcds-colour-gray-0);
}

.gcds-header .gcds-header__brand {
    border-block-end: none;
}

.gcds-header c-gcds-top-nav .gcds-top-nav {
    border-block-end: var(--gcds-top-nav-border-width) solid var(--gcds-top-nav-border-color);
    border-block-start: var(--gcds-top-nav-border-width) solid var(--gcds-top-nav-border-color);
}

@media (max-width: 640px) {

    /* .gc-login-grid c-gcds-notice {
        display: none;
    } */

    .gcds-header c-gcds-top-nav .gcds-top-nav {
        border-block-end: none;
        border-block-start: none;
        background: none;
    }
}

/* Shared container alignment for header sections */
.gcds-header__brand,
.gcds-header__container {
    max-width: 1440px;
    margin-inline: auto;
    padding-inline: 1rem;
    box-sizing: border-box;
}

@media(max-width:640px) {
    .gcds-header .gcds-header__container {
        width: 90%;
        max-width: var(--gcds-header-container-max-width);
        margin: 0 auto;
    }

    .gcds-top-nav:not(.gcds-top-nav--loggedin) ul.gcds-top-nav__container {
        /* border-radius: 0; */
        background: #fff;
        box-shadow: 0 3px 10px 3px rgba(0, 0, 0, 0.10);
        /* width: 100% !important; */
        padding: 0.3rem 0;
    }

    .gcds-top-nav.gcds-top-nav--loggedin ul.gcds-top-nav__container {
        border-radius: 0;
        /*background: var(--gcds-fill-primary);*/
        box-shadow: none;
        width: 100% !important;
    }


    .gcds-top-nav:not(.gcds-top-nav--loggedin) ul.gcds-top-nav__container c-gcds-nav-group.gcds-mobile-nav.gcds-mobile-nav-topnav {
        padding: var(--gcds-space-450) var(--gcds-space-300);
    }

    ul.nav-container__list.nav-list--left li a.gcds-nav-link.gcds-nav-link--topnav,
    button.gcds-nav-group__trigger.gcds-trigger--dropdown {
        padding: var(--gcds-nav-link-side-nav-padding);
        color: var(--gcds-text-link-default) !important;
        border-bottom: 1px solid var(--gcds-text-link-default) !important;
    }

    ul.nav-container__list.nav-list--left li a.gcds-nav-link.gcds-nav-link--topnav:focus {
        padding: var(--gcds-nav-link-side-nav-padding);
        background-color: var(--gcds-text-link-default) !important;
        color: #fff !important;
        border-bottom: 1px solid var(--gcds-text-link-default) !important;
    }

    .gcds-top-nav:not(.gcds-top-nav--loggedin) ul.nav-container__list.nav-list--left li a.gcds-nav-link.gcds-nav-link--topnav:focus,
    .gcds-top-nav:not(.gcds-top-nav--loggedin) ul.nav-container__list.nav-list--left li a.gcds-nav-link.gcds-nav-link--topnav:active,
    .gcds-top-nav:not(.gcds-top-nav--loggedin) button.gcds-nav-group__trigger.gcds-trigger--dropdown:focus,
    .gcds-top-nav:not(.gcds-top-nav--loggedin) button.gcds-nav-group__trigger.gcds-trigger--dropdown:active {
        background-color: var(--gcds-nav-link-focus-background);
        background-color: var(--gcds-link-focus-background) !important;
        border-color: var(--gcds-link-focus-background) !important;
        border-radius: var(--gcds-nav-group-trigger-focus-border-radius);
        box-shadow: var(--gcds-nav-group-trigger-focus-box-shadow) !important;
        color: var(--gcds-nav-link-focus-text) !important;
        outline: var(--gcds-nav-links-focus-outline) !important;
        outline-offset: var(--gcds-nav-link-focus-outline-offset) !important;
        text-decoration: none;
    }

    /* c-gcds-icon {
        display: none;
    } */

    .gcds-top-nav.gcds-top-nav--loggedin button.gcds-nav-group__trigger.gcds-trigger--expandable c-gcds-icon {
        display: block;
    }

    .gcds-top-nav.gcds-top-nav--loggedin button.gcds-nav-group__trigger.gcds-trigger--expandable[aria-expanded="true"] {
        justify-content: center;
    }

    .gcds-top-nav.gcds-top-nav--loggedin button.gcds-nav-group__trigger.gcds-trigger--expandable[aria-expanded="true"] c-gcds-icon {
        display: none;
    }

    .gcds-header__brand .brand__signature {
        padding-left: 0;
        width: 210px;
        max-width: 210px;
        height: 19px;
    }

    .gcds-top-nav:not(.gcds-top-nav--loggedin) button.gcds-nav-group__trigger.gcds-trigger--expandable {
        border-radius: var(--gcds-nav-group-trigger-focus-border-radius);
        border: 2px solid var(--button-secondary-text-default);
        background: var(--gcds-colour-gray-0);
        justify-content: center;
        color: var(--button-secondary-text-default);

        c-gcds-icon {
            display: none;
        }
    }

    .gcds-top-nav:not(.gcds-top-nav--loggedin) button.gcds-nav-group__trigger.gcds-nav-group__trigger:focus,
    .gcds-top-nav:not(.gcds-top-nav--loggedin) button.gcds-nav-group__trigger.gcds-nav-group__trigger:active {
        background-color: var(--gcds-link-focus-background);
        border-color: var(--gcds-link-focus-background);
        border-radius: var(--gcds-nav-group-trigger-focus-border-radius);
        box-shadow: var(--gcds-nav-group-trigger-focus-box-shadow);
        color: #fff;
        outline: var(--gcds-nav-group-trigger-focus-outline);
        outline-offset: var(--gcds-nav-group-trigger-focus-outline-offset);
        text-decoration: none;
    }

    c-gcds-date-input .gcds-date-input__wrapper c-gcds-select .gcds-select-wrapper {
        width: 203px !important;
    }

    c-gcds-date-input .gcds-date-input__wrapper .gcds-date-input__day {
        width: 54px !important;
    }

    .gcds-top-nav.gcds-top-nav--loggedin button.gcds-nav-group__trigger.gcds-trigger--expandable.gcds-nav-group__trigger {
        background: var(--gcds-fill-primary) !important;
        color: var(--gcds-colour-gray-0);
        font: var(--gcds-button-font-mobile);
        line-height: var(--typography-line-height-desktop-text_lineheight);
    }

    .gcds-top-nav.gcds-top-nav--loggedin button.gcds-nav-group__trigger.gcds-trigger--expandable.gcds-nav-group__trigger[aria-expanded="false"] {
        justify-content: flex-start !important;
        flex-direction: row-reverse;

    }
}


/* GCDS_header starts */


/* Site header */
/* c-gcds-nav-link {
    --gcds-nav-link-font: 400 1.25rem/160% 'Noto Sans', sans-serif;
} */

li[role="listitem"] {
    list-style: none;
    padding: var(--gcds-space-225) var(--gcds-space-200);

    @media(max-width:640px) {
        padding: 0;
    }
}

/* Right-aligned user menu */
/* Use CSS variable to pierce Shadow DOM boundary */
.nav-user-menu {
    margin-left: auto;
}

.nav-user-menu button {
    margin: 0 !important;
    font-size: 16px !important;
}

div[slot="breadcrumb"] {
    padding-top: 8px;
}

/* site header end */

:host(.gcds-header) {
    margin: var(--gcds-header-margin) !important;
}

.gcds-header__container {
    display: flex;
    /* Flex for breadcrumbs? */
    justify-content: space-between;
    width: 90%;
    /* max-width: var(--gcds-header-container-max-width); */
    margin: 0 auto;
    padding-left: 16px;
    /* Align breadcrumbs with nav link text */
}

.gcds-header__skip-to-nav {
    text-align: center;
    position: absolute;
    width: 100%;
    margin-inline: auto;
    top: var(--gcds-header-skiptonav-top);
    z-index: 100;
}

/* Hide skip link by default, show on focus */
.gcds-header__skip-to-nav c-gcds-link {
    position: absolute;
    left: -10000px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.gcds-header__skip-to-nav c-gcds-link:focus,
.gcds-header__skip-to-nav c-gcds-link:focus-within {
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
}

.gcds-header__brand {
    container: component brand / inline-size;
    border-block-end: var(--gcds-header-brand-border-width) solid var(--gcds-header-brand-border-color);
    padding: 0;
    /* No padding between signature and nav */
}

.brand__container {
    display: grid;
    grid-gap: 0.75rem;
    /* Reduced from 1.5rem to minimize spacing */
    grid-template-columns: 1fr auto;
    grid-template-areas:
        'skip skip'
        'signature toggle'
        'search search';
    width: 90%;
    max-width: var(--gcds-header-container-max-width);
    margin: 0 auto;
}

.brand__container.container--simple {
    grid-template-areas:
        'skip skip'
        'signature toggle';
}

.brand__skip {
    grid-area: skip;
    align-self: center;
    display: flex;
    align-items: center;
}

.brand__toggle {
    grid-area: toggle;
    text-align: right;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.brand__signature {
    grid-area: signature;
    align-content: center;
    /* padding-left: 16px;  */
}

.brand__search {
    grid-area: search;
    max-width: 100%;
    display: block;
}

.gcds-focus-target {
    position: absolute;
    top: 0;
    outline: none;
}

/* Wide Viewport Logic using Container Queries or Media Queries fallback */
@media (min-width: 51em) {
    .brand__container {
        grid-template-areas:
            'skip skip'
            'signature toggle'
            'search search';
        grid-template-columns: 1fr auto;
    }

    .brand__search {
        width: fit-content;
        margin-inline-start: auto;
    }
}

@media(max-width:640px) {
    .brand__container {
        align-items: center;
    }
}

/* GCDS_header end */

/* GCDS_top_nav starts */
/* Shadow DOM CSS */

ul {
    padding: 0;
    margin: 0;
    list-style: none;
    width: 100%;
}

.gcds-top-nav .gcds-top-nav__container {
    display: flex;
    flex-direction: row;
    max-width: var(--gcds-header-container-max-width);
    margin: 0 auto;
}


/* gcds nav group css */
.gcds-nav-group-host {
    /* Wrapper Logic if needed, else styles apply to host */
}

.gcds-nav-group__trigger {
    display: flex;
    align-items: center;
    width: 100%;
    font: var(--gcds-nav-group-font);
    text-align: left;
    padding: var(--gcds-nav-group-trigger-padding);
    background: transparent;
    color: var(--gcds-nav-group-trigger-text, #333333);
    border: 0;
    cursor: pointer;
}

/* Visibility Toggle */
.gcds-nav-group__trigger[aria-expanded='false']+.gcds-nav-group__list {
    display: none;
}

ul {
    list-style: none;
    padding: 0;
    margin: 0;
}



/* Expandable (Side/Mobile) */
.gcds-trigger--expandable {
    font-weight: var(--gcds-nav-group-side-nav-trigger-font-weight);
    margin-block-end: var(--gcds-nav-group-side-nav-trigger-margin);
}

.gcds-trigger--expandable c-gcds-icon {
    margin-inline-end: var(--gcds-nav-group-side-nav-trigger-icon-margin);
}

/* Dropdown (Top Nav) */
.gcds-trigger--dropdown {
    padding: var(--gcds-nav-group-top-nav-trigger-padding);
    text-decoration: underline solid currentColor var(--gcds-nav-group-top-nav-trigger-decoration-thickness);
    text-underline-offset: var(--gcds-nav-group-top-nav-trigger-underline-offset);
    text-decoration-color: transparent;
    transition: all 0.25s ease-in-out;
}

.gcds-trigger--dropdown[aria-expanded='true'] {
    background-color: var(--gcds-nav-group-top-nav-trigger-expanded-background-color);
    color: #ffffff;
}

.gcds-trigger--dropdown c-gcds-icon {
    order: 2;
    margin-inline-start: 0.5rem;
}


/* Desktop Viewport Logic */
/* In Shadow DOM, host context or internal queries */
@media screen and (min-width: 64em) {
    .gcds-nav--dropdown {
        z-index: 1000;
        position: absolute;
        top: 100%;
        /* left: 0; */
        width: var(--gcds-nav-group-top-nav-dropdown-width);
        background-color: var(--gcds-nav-group-top-nav-dropdown-background);
        /* margin-block-start: 1rem; */
        /* padding: var(--gcds-nav-group-top-nav-dropdown-padding); */
        box-shadow: var(--gcds-nav-group-top-nav-dropdown-box-shadow);
        border-radius: 0.375rem;
    }

    .gcds-nav--dropdown.dropdown-right {
        left: auto;
        right: 0;
    }
}


/* gcds nav group css end */

/* Mobile View - ensure nav group is visible */
@media screen and (max-width: 63.9375em) {
    .gcds-mobile-nav {
        display: block;
        width: 100%;
    }
}

/* Desktop View */
@media screen and (min-width: 64em) {
    .gcds-top-nav {
        border-block-end: var(--gcds-top-nav-border-width) solid var(--gcds-top-nav-border-color);
    }

    .gcds-top-nav__container {
        flex-direction: row;
    }

    .nav-container__list {
        display: flex;
        align-items: center;
        width: 100%;
    }

    .nav-list--right {
        margin-inline-start: auto;
    }

    .nav-list--center {
        margin-inline: auto;
    }

    /* Hide mobile nav on desktop */
    .gcds-mobile-nav {
        display: none;
    }
}

/* GCDS_top_nav end */

/* Lang */


/* .c-gcdsLangToggle_gcdsLangToggle.gcds-lang-toggle .c-gcdsLangToggle_gcdsLangToggle a.gcds-link.link--regular:hover {
    color: var(--gcds-link-hover);
    text-decoration-thickness: var(--gcds-link-hover-decoration-thickness);
} */

.c-gcdsLangToggle_gcdsLangToggle.gcds-lang-toggle a.gcds-link.link--regular:hover * {
    color: inherit;
}

.c-gcdsLangToggle_gcdsLangToggle.gcds-lang-toggle .c-gcdsLangToggle_gcdsLangToggle a.gcds-link.link--regular:focus,
.c-gcdsLangToggle_gcdsLangToggle.gcds-lang-toggle .c-gcdsLangToggle_gcdsLangToggle a.gcds-link.link--regular:focus-visible {
    background-color: var(--gcds-link-focus-background);
    border-radius: var(--gcds-link-focus-border-radius);
    box-shadow: var(--gcds-link-focus-box-shadow);
    color: var(--gcds-link-focus-text) !important;
    outline: var(--gcds-link-focus-outline-width) solid var(--gcds-link-focus-background);
    outline-offset: var(--gcds-link-focus-outline-offset);
    text-decoration: none !important;
}

.c-gcdsLangToggle_gcdsLangToggle.gcds-lang-toggle .c-gcdsLangToggle_gcdsLangToggle a.gcds-link.link--regular:focus span.c-gcdsLangToggle_gcdsLangToggle {
    color: #fff;
}

.c-gcdsLangToggle_gcdsLangToggle.gcds-lang-toggle .c-gcdsLangToggle_gcdsLangToggle a.gcds-link.link--regular {
    padding: 0 10px;
}

@media(max-width:640px) {

    .c-gcdsLangToggle_gcdsLangToggle.gcds-lang-toggle .c-gcdsLangToggle_gcdsLangToggle a.gcds-link.link--regular:focus abbr.c-gcdsLangToggle_gcdsLangToggle {
        color: #fff;
    }
}

.gc-container {
    max-width: 1140px !important;
    margin: 0px auto !important;
    padding: 0px 15px;
}

.gc-container .gc-login-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    align-items: flex-start;
}

/* first child */
.gc-container .gc-login-grid> :nth-child(1) {
    flex: 1 1 calc(40% - 1rem);
    min-width: 0;
}

/* second child */
.gc-container .gc-login-grid> :nth-child(2) {
    flex: 1 1 calc(50% - 1rem);
    min-width: 0;
}

/* third child/date */
.gc-container .gc-login-grid> :nth-child(3) {
    flex: 0 0 calc(50% - 1rem);
    max-width: calc(50% - 1rem);
    min-width: 0;
}

.gc-system-update {
    position: relative;
    display: flex;
    margin-top: 40px;
    padding-left: 15px;
    border-left: 5px solid #287a9f;
}

.gc-update-icon {
    position: absolute;
    top: 5px;
    left: -14.5px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background-color: #287a9f;
    color: #fff;
    font-family: serif;
    font-weight: bold;
    line-height: 24px;
    text-align: center;
}

.gc-update-content {
    padding-left: 10px;
}

.gc-update-heading {
    margin-top: 0;
    margin-bottom: 10px;
    font-size: 1.5rem;
    font-weight: 600;
}

.gc-update-list {
    margin-top: 10px;
    padding-left: 20px;
    list-style: disc;
    color: var(--gcds-text-link-default);
}

.notice__content ul.gc-update-list li a {
    color: var(--gcds-text-link-default);
    text-decoration: Underline;
}

.gc-login-col {
    flex: 0 0 500px;
    max-width: 100%;
}

.gc-login-card {
    background: #fff;
    border: 1px solid #ddd;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    padding: var(--gcds-space-400) var(--gcds-space-400);
    max-width: 37.5rem;
    max-height: max-content;
    /* 35.75rem; */
    padding-top: 32px;
    padding-right: 87px;
    padding-bottom: 32px;
    padding-left: 31px;

    @media (min-width: 641px) and (max-width: 1024px) {

        margin-top: 2.25rem;

    }
}

.gc-login-heading {
    margin-top: 0;
    margin-bottom: 25px;
    font-size: 2rem;
    font-weight: 600;
}

/* ====================================
   FORM
==================================== */

.gc-form-group {
    margin-bottom: 20px;
}

.gc-label {
    display: block;
    margin-bottom: 5px;
    font-size: 1rem;
    font-weight: 700;
}

.gc-required {
    margin-left: 5px;
    color: #555;
    font-size: 0.9rem;
    font-weight: 400;
}

.gc-input {
    width: 100%;
    padding: 10px;
    border: 1px solid #333;
    border-radius: 2px;
    box-sizing: border-box;
    font-size: 1rem;
}

/* ====================================
   ACTIONS
==================================== */

.gc-action-row {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-top: 25px;
}

.gc-btn {
    min-width: 100px;
    padding: 10px 20px;
    border-radius: 4px;
    font-size: 1rem;
    font-weight: 500;
    cursor: pointer;
}

.gc-btn-primary {
    background-color: #26374a;
    color: #fff;
    border: 2px solid #26374a;
}

.gc-btn-primary:hover {
    background-color: #1b2838;
}

.gc-btn-outline {
    background-color: #fff;
    color: #26374a;
    border: 2px solid #26374a;
}

.gc-btn-outline:hover {
    background-color: #f0f0f0;
}

.gc-btn-secondary {
    width: 100%;
    border: none;
    background-color: #9ea2a8;
    color: #fff;
}

.gc-btn-secondary:hover {
    background-color: #8c9096;
}

/* ====================================
   LINKS
==================================== */

.gc-link-row {
    margin-top: 15px;
    margin-bottom: 15px;
}

.gc-text-link {
    color: #284162;
    font-size: 1rem;
    text-decoration: underline;
}

/* ====================================
   DIVIDER
==================================== */

.gc-divider {
    margin: 3.5rem 0;
    border: 0;
    border-top: 1px solid #ccc;
}

hr.gc-divider:has(+c-gcds-heading h2) {
    margin-bottom: 0;


    @media (max-width: 640px) {
        margin-bottom: revert-rule;
    }

}

/* ====================================
   MOBILE ONLY
==================================== */

@media (max-width: 640px) {

    .gc-container .gc-login-grid {
        flex-direction: column;
        gap: 1.5rem;
    }

    .gc-container .gc-login-grid> :nth-child(1),
    .gc-container .gc-login-grid> :nth-child(2),
    .gc-container .gc-login-grid> :nth-child(3) {
        width: 100%;
        max-width: 100%;
        flex: 1 1 100%;
    }

    .gc-login-col {
        margin-top: 0;
    }

    .gc-info-col {
        padding-right: 0;
    }

    .gc-login-card {
        width: 100%;
        padding: 1.5rem 1rem;
        box-sizing: border-box;
    }

    .gc-login-card .gcds-heading-wrapper h2.gcds-heading {
        padding: 0;
    }

    .gc-action-row {
        flex-direction: column;
    }

    .gc-btn {
        width: 100%;
    }




    c-visp-portal-login .notice-wrapper {
        display: none;
    }
}

.gc-info-col .gc-intro-text p {
    font: var(--gcds-font-text) !important;
    color: var(--gcds-primary-text-color);
    max-width: var(--gcds-text-char-limit);

    @media(max-width:640px) {
        font: var(--gcds-font-text-mobile);
    }
}

/* VIAP Login END */

/* =========================================
   MODAL BACKDROP
========================================= */



/* =========================================
   MODAL
========================================= */

.modal-header,
.modal-body,
.modal-footer {
    padding: var(--gcds-space-250) var(--gcds-space-400);
}

/* =========================================
   TABLET VIEW
========================================= */

@media screen and (max-width: 1024px) {

    .gc-login-grid {
        gap: 1.5rem;
    }

    .gc-info-col,
    .gc-login-col {
        flex: 1 1 100%;
    }
}

/* =========================================
   MOBILE VIEW
========================================= */

/* @media screen and (max-width: 767px) {


    .gc-login-card {
        padding: 1.5rem;
    }


    .gc-action-row c-gcds-button {
        width: 100%;
    }

    .modal-dialog {
        width: 95%;
    }
} */

/* VIAP PORTAL LOGIN  END*/

/* ============================================= */

/* ========================================== */
.modal-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    z-index: 9000;
}

/* Modal */
.modal-dialog {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10000;

    width: 100%;
    max-width: 990px;
    max-height: 90vh;

    display: flex;
    flex-direction: column;

    background: var(--text-light);
    border-radius: var(--gcds-space-0);
    box-shadow: 0 3px 10px 3px rgba(0, 0, 0, 0.10);
    overflow: hidden;
}

/* Header */
.modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-shrink: 0;
    background-color: #26374a;
    border-bottom: 1px solid #ddd;
}

.modal-header h1 {
    color: var(--gcds-colour-gray-0);
    line-height: var(--gcds-line-height-h1);
    font: var(--gcds-heading-h1-desktop);
    margin: 0;

    @media (max-width: 640px) {
        font: var(--gcds-heading-h1-mobile);
        width: 100%;
    }

}

.modal-header h2 {
    color: var(--gcds-colour-gray-0);
    padding: 0;
    font: var(--gcds-heading-h2-desktop);
    line-height: var(--gcds-line-height-h2);
    margin: 0;

    @media (max-width: 640px) {
        font: var(--gcds-heading-h2-mobile);
    }
}

/* Body */
.modal-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
}

.modal-body h2 {
    padding-top: 0;
    font: var(--gcds-heading-h2-desktop);
    line-height: var(--gcds-line-height-h2);
    margin: 0;

    @media (max-width: 640px) {
        font: var(--gcds-heading-h2-mobile);
    }
}

.modal-body h3 {
    padding: 0;
    font: var(--gcds-heading-h3-desktop);
    line-height: var(--gcds-line-height-h3);
    margin: 0;

    @media (max-width: 640px) {
        font: var(--gcds-heading-h3-mobile);
    }
}

/* .modal-body p {
    color: var(--text-primary, #333);
    font-family: var(--typography-font-family-Text, "Noto Sans");
    font-size: var(--typography-font-size-desktop-text_fontsize, 20px);
    font-style: normal;
    font-weight: 400;
    line-height: var(--typography-line-height-desktop-text_lineheight, 32px);
} */


.modal-dialog .right-protectedb {
    margin: 0;
}

.modal-dialog .gc-container {
    padding: 0;
}

/* Footer */
.modal-footer {
    display: flex;
    justify-content: flex-end;
    gap: 1rem;
    flex-shrink: 0;

    padding: 0.5rem 1.5rem 1.5rem;
}

/* Close Button */
.close-modal-btn {
    display: flex;
    align-items: center;
    justify-content: center;

    margin: 0;
    padding: 0;
    border: none;
    background: transparent;

    color: #fff;
    font-size: 1.75rem;
    font-weight: 300;
    line-height: 1;
    cursor: pointer;

    transition: color 0.2s ease;
}

.close-modal-btn:hover {
    color: #ccc;
}

/* Attestation */
.attestation-text {
    background-color: #f9f9f9;
    /* border-left: 4px solid #0056b3; */

    font-size: 0.95rem;
    line-height: 1.5;
}



/* need to remove */

.gcds-table th {
    text-align: left;
    border-bottom: 2px solid #333;
    padding: 1rem 0.5rem;
    font-weight: bold;
    color: #333;
    white-space: nowrap;
}

.gcds-table td {
    border-bottom: 1px solid #ccc;
    padding: 1rem 0.5rem;
    vertical-align: top;
}

.font-weight-bold {
    font-weight: bold;
}

.text-center {
    text-align: center;
}



/* ntr once done */



/* ================================================== */


/* LINKS - GCDS */
/* ========================= */


/* Default */
a {
    color: var(--text-link-default, #284162);
    font-family: var(--typography-font-family-Text, "Noto Sans");
    font-size: var(--typography-font-size-desktop-text_fontsize, 20px);
    font-style: normal;
    font-weight: 400;
    line-height: var(--typography-line-height-desktop-text_lineheight, 32px);
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-color: var(--text-link-default, #284162);
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
    text-underline-position: from-font;
}

/* Visited */
a:visited {
    color: var(--text-link-visited, #7532B8);
    text-decoration-color: var(--text-link-visited, #7532B8);
    text-decoration-thickness: 1px;
}

/* Hover */
a:hover {
    color: var(--text-link-hover, #0535D2);
    text-decoration-color: var(--text-link-hover, #0535D2);
    text-decoration-thickness: 2px;
}

/* Focus */
a:focus,
a:focus-visible {
    color: var(--gcds-text-light);
    background-color: var(--gcds-link-focus-background, #26374A);
    border-radius: var(--gcds-link-focus-border-radius, 2px);
    box-shadow: var(--gcds-link-focus-box-shadow, none);
    outline: var(--gcds-link-focus-outline-width, 2px) solid var(--gcds-link-focus-background, #26374A);
    outline-offset: var(--gcds-link-focus-outline-offset, 2px);
    text-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-color: var(--gcds-text-light);
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
    text-underline-position: from-font;
}

/* Active */
a:active {
    color: var(--text-link-hover, #0535D2);
    text-decoration-color: var(--text-link-hover, #0535D2);
    text-decoration-thickness: 2px;
}

/* Base links */
c-gcds-link .gcds-link-wrapper a.gcds-link,
.nav-user-menu .gcds-nav-group__list a.gcds-nav-link.gcds-nav-link--topnav {
    /* color: var(--gcds-text-link-default);
    font-family: var(--typography-font-family-Text, "Noto Sans");
    font-size: var(--typography-font-size-desktop-text_fontsize, 20px);
    font-style: normal;
    font-weight: 400;
    line-height: var(--typography-line-height-desktop-text_lineheight, 32px);
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-color: var(--gcds-text-link-default);
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
    text-underline-position: from-font;

    font-family: var(--typography-font-family-Text) !important;
    font-size: var(--typography-font-size-desktop-text_fontsize) !important;
    font-style: normal;
    font-weight: 400;
    line-height: var(--typography-line-height-desktop-text_lineheight);
    text-decoration-line: underline !important;
    text-decoration-style: solid !important;
    text-decoration-skip-ink: auto;
    text-decoration-color: var(--gcds-text-link-default); */

    color: var(--gcds-text-link-default);
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
    text-underline-position: from-font;
    font-family: var(--typography-font-family-Text);
    font-size: var(--typography-font-size-desktop-text_fontsize);
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-color: var(--gcds-text-link-default);

}

/* Hover */
c-gcds-link .gcds-link-wrapper a.gcds-link:hover,
.nav-user-menu .gcds-nav-group__list a.gcds-nav-link.gcds-nav-link--topnav:hover {
    color: var(--text-link-hover, #0535D2);
    /*--gcds-link-hover*/
    text-decoration-color: var(--text-link-hover, #0535D2);
    text-decoration-thickness: 2px;
}

/* Visited */
c-gcds-link .gcds-link-wrapper a.gcds-link:visited,
.nav-user-menu .gcds-nav-group__list a.gcds-nav-link.gcds-nav-link--topnav:visited {
    color: var(--text-link-visited, #7532B8);
    text-decoration-color: var(--text-link-visited, #7532B8);
    text-decoration-thickness: 1px;
}

/* Focus */
c-gcds-link .gcds-link-wrapper a.gcds-link:focus,
c-gcds-link .gcds-link-wrapper a.gcds-link:focus-visible,
.nav-user-menu .gcds-nav-group__list a.gcds-nav-link.gcds-nav-link--topnav:focus,
.nav-user-menu .gcds-nav-group__list a.gcds-nav-link.gcds-nav-link--topnav:focus-visible {
    color: var(--text-light) !important;
    background-color: var(--gcds-link-focus-background, #26374A);
    border-radius: var(--gcds-link-focus-border-radius, 2px);
    box-shadow: var(--gcds-link-focus-box-shadow, none);
    outline: var(--gcds-link-focus-outline-width, 2px) solid var(--gcds-link-focus-background, #26374A);
    outline-offset: var(--gcds-link-focus-outline-offset, 2px);
    text-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-color: var(--gcds-text-light);
    text-decoration-thickness: var(--gcds-footer-link-underline-thickness);
    text-underline-offset: var(--gcds-footer-link-underline-offset);
    text-underline-position: from-font;
}

/* File download / claim document links */
.claim-docs ul.clean-list li c-gcds-link .gcds-link-wrapper a.gcds-link {
    color: var(--gcds-file-download-color, #284162);
    text-decoration: none;
}

@media(max-width:640px) {
    .claim-docs label {

        font: var(--gcds-label-fonts-mobile);
    }
}

/* link row end */


/* doc-upload */


.gc-info-col h2 {
    /* font-weight: normal;
    font-size: 1.2rem;
    margin-bottom: 0.5rem; */
}

.display-block {
    display: block;
    width: 100%;
}

/* .slds-m-top_small {
    margin-top: 0.75rem;
}

.slds-m-top_medium {
    margin-top: 1.5rem;
}

.slds-m-top_large {
    margin-top: 2rem;
}

.slds-m-bottom_medium {
    margin-bottom: 1.5rem;
} */

/* file upload starts */

.file-upload-group {
    margin-block-start: 1.5rem;
    margin-block-end: 1.5rem;
}

.file-upload-label {
    color: var(--text-primary, #333);

    font: var(--gcds-label-font-desktop);


    @media (max-width: 640px) {
        font: var(--gcds-label-font-mobile);
    }
}

/* .file-upload-hint {
    font-size: 0.875rem;
    color: #43474e;
    margin-bottom: 0.75rem;
    display: block;
} */

.file-upload-btn-container {
    margin-top: 0.5rem;
    display: flex;
    align-items: center;
}

.no-file-text {
    margin-left: 1rem;
    color: #43474e;
    font-style: italic;
}

.file-card {
    border: 1px solid #ccc;
    padding: 1rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    max-width: 400px;
    margin-top: 0.5rem;
}

.file-name {
    font-weight: 600;
    /*confirm it 400?*/
    color: #333;
}

/* Error State */
.error-text {
    color: #AF3C43;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
}

.input-error-border {
    border: 2px solid #AF3C43;
    padding: 4px;
}

.file-list-item {
    border: 1px solid #707070;
    padding: 1rem;
    margin: 1rem 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #fff;
}


/* ntc */
.file-upload-group ul.clean-list li.file-list-item {
    width: 715px;
    padding: var(--gcds-space-150) var(--gcds-space-225);
    height: 4rem;

    @media(max-width:640px) {
        width: 100%;
        height: 100%;
    }

}

/* ntc */

.file-name {
    font-weight: 400;
    color: #333;
}

.remove-btn {
    /* color: #AF3C43; */
    /* cursor: pointer; */
    font-weight: 600;
    /* text-decoration: underline; */
    background: none;
    border: none;



    color: #A62A1E;
    cursor: pointer;
    background: none;
    border: none;
    font: var(--gcds-button-font-desktop) !important;
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-color: #A62A1E;
    /* text-decoration-thickness: 2px; */
    text-underline-offset: 2.5px;
    text-underline-position: from-font;

    font-size: var(--typography-font-size-mobile-text_fontsize) !important;

    font: var(--gcds-button-font-desktop);
    margin: 3rem 0;
}

/* c-visp-medical-admission */



.remove-btn:hover {
    text-decoration: none;
}

.gc-list {
    margin-left: 1.5rem;
    list-style-type: disc;
    padding-left: 3.125rem;

    @media (max-width: 640px) {
        padding-left: 0 !important;
    }
}

.gc-list li {
    margin-bottom: 0;
    list-style: disc;

    @media (max-width: 640px) {
        font-size: var(--typography-font-size-mobile-text_fontsize);
        font: var(--gcds-font-text);
    }
}

.gc-list li a {
    text-decoration: underline;
    font-size: inherit;

    @media (max-width: 640px) {
        font-size: var(--typography-font-size-mobile-text_fontsize);
        font-size: 20px;
    }
}



/* doc-upload-end */


/* notice code */
.gcds-notice {
    display: grid;
    grid-template-columns: var(--gcds-notice-icon-width) auto;
    gap: var(--gcds-notice-icon-gap);
    width: 100%;
    max-width: 68rem;
    text-align: left;
    box-sizing: border-box;
    color: var(--gcds-notice-text);
    padding: 0;
    align-items: stretch;

    @media(max-width:640px) {

        align-items: baseline !important;
    }
}


.notice__icon {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    align-self: stretch;
    overflow: visible;
    margin: var(--gcds-notice-icon-margin);
    color: var(--gcds-notice-info-text);
    height: 100%;
}

.notice__icon {
    margin: var(--gcds-notice-icon-margin);
    display: block;
    text-align: center;
    height: 100%;
    overflow: hidden;
}

/* top small line */
.notice__icon::before {
    content: '';
    width: var(--gcds-notice-border-width);
    height: var(--gcds-notice-icon-before-height);
    background-color: currentColor;
    display: block;
    margin: 0 auto;
}

/* long vertical line */
.notice__icon::after {
    content: '';
    width: var(--gcds-notice-border-width);
    /* flex: 1; */
    flex-grow: 1;

    background-color: currentColor;
    display: block;
}

/* =========================================================
   CONTENT
========================================================= */
.notice__content {
    font-family: 'Noto Sans', sans-serif;
    font-size: 1.125rem;
    line-height: 1.6;
    font-weight: 400;
    color: var(--gcds-notice-text);
    min-width: 0;
    padding: var(--gcds-space-200) 0 var(--gcds-space-400) 0;
}

.gcds-notice .notice__content p {
    margin-bottom: 0;
    font-family: var(--typography-font-family-Heading);
    line-height: var(--typography-line-height-mobile-h6_lineheight);
}

.notice__heading {
    --gcds-heading-h2-desktop:
        var(--gcds-notice-content-heading-font-desktop);
    --gcds-heading-h2-mobile:
        var(--gcds-notice-content-heading-font-mobile);
    --gcds-heading-h3-desktop:
        var(--gcds-notice-content-heading-font-desktop);
    --gcds-heading-h3-mobile:
        var(--gcds-notice-content-heading-font-mobile);
    margin-block-start:
        var(--gcds-notice-content-heading-margin-block-start-desktop);
    margin-bottom: 1rem;

    @media only screen and (max-width: 48em) {
        margin-block-start: var(--gcds-notice-content-heading-margin-block-start-mobile);

    }


}

/* notice code end */

/* gcds icons start */

.gcds-icon {
    font-family: var(--gcds-icon-font-family) !important;
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: inherit;
    line-height: inherit;
    color: inherit;
}

/* Icon Characters */
.gcds-icon-checkmark-circle:before {
    content: "\e908";
}

.gcds-icon-chevron-down:before {
    content: "\e900";
}

.gcds-icon-chevron-left:before {
    content: "\e901";
}

.gcds-icon-chevron-right:before {
    content: "\e902";
}

.gcds-icon-chevron-up:before {
    content: "\e903";
}

.gcds-icon-close:before {
    content: "\e90b";
}

.gcds-icon-download:before {
    content: "\e906";
}

.gcds-icon-email:before {
    content: "\e905";
}

.gcds-icon-exclamation-circle:before {
    content: "\e909";
}

.gcds-icon-external:before {
    content: "\e904";
}

.gcds-icon-info-circle:before {
    content: "\e90a";
}

.gcds-icon-phone:before {
    content: "\e90c";
}

.gcds-icon-search:before {
    content: "\e907";
}

.gcds-icon-warning-triangle:before {
    content: "\e90d";
}

/* Size Classes */
.gcds-icon.size-text-small {
    font-size: var(--gcds-icon-font-size-text-small);
    line-height: var(--gcds-icon-line-height-text-small);
}

@media only screen and (max-width: 48em) {
    .gcds-icon.size-text-small {
        font-size: var(--gcds-icon-font-size-text-small-mobile);
        line-height: var(--gcds-icon-line-height-text-small-mobile);
    }
}

.gcds-icon.size-text {
    font-size: var(--gcds-icon-font-size-text);
    line-height: var(--gcds-icon-line-height-text);
}

@media only screen and (max-width: 48em) {
    .gcds-icon.size-text {
        font-size: var(--gcds-icon-font-size-text-mobile);
        line-height: var(--gcds-icon-line-height-text-mobile);
    }
}

.gcds-icon.size-h6 {
    font-size: var(--gcds-icon-font-size-h6);
    line-height: var(--gcds-icon-line-height-h6);
}

@media only screen and (max-width: 48em) {
    .gcds-icon.size-h6 {
        font-size: var(--gcds-icon-font-size-h6-mobile);
        line-height: var(--gcds-icon-line-height-h6-mobile);
    }
}

.gcds-icon.size-h5 {
    font-size: var(--gcds-icon-font-size-h5);
    line-height: var(--gcds-icon-line-height-h5);
}

@media only screen and (max-width: 48em) {
    .gcds-icon.size-h5 {
        font-size: var(--gcds-icon-font-size-h5-mobile);
        line-height: var(--gcds-icon-line-height-h5-mobile);
    }
}

.gcds-icon.size-h4 {
    font-size: var(--gcds-icon-font-size-h4);
    line-height: var(--gcds-icon-line-height-h4);
}

@media only screen and (max-width: 48em) {
    .gcds-icon.size-h4 {
        font-size: var(--gcds-icon-font-size-h4-mobile);
        line-height: var(--gcds-icon-line-height-h4-mobile);
    }
}

.gcds-icon.size-h3 {
    font-size: var(--gcds-icon-font-size-h3);
    line-height: var(--gcds-icon-line-height-h3);
}

@media only screen and (max-width: 48em) {
    .gcds-icon.size-h3 {
        font-size: var(--gcds-icon-font-size-h3-mobile);
        line-height: var(--gcds-icon-line-height-h3-mobile);
    }
}

.gcds-icon.size-h2 {
    font-size: var(--gcds-icon-font-size-h2);
    line-height: var(--gcds-icon-line-height-h2);
}

@media only screen and (max-width: 48em) {
    .gcds-icon.size-h2 {
        font-size: var(--gcds-icon-font-size-h2-mobile);
        line-height: var(--gcds-icon-line-height-h2-mobile);
    }
}

.gcds-icon.size-h1 {
    font-size: var(--gcds-icon-font-size-h1);
    line-height: var(--gcds-icon-line-height-h1);
}

@media only screen and (max-width: 48em) {
    .gcds-icon.size-h1 {
        font-size: var(--gcds-icon-font-size-h1-mobile);
        line-height: var(--gcds-icon-line-height-h1-mobile);
    }
}

/* Margin Left Classes - Simplified for common values */
.gcds-icon.ml-100 {
    margin-inline-start: var(--gcds-icon-margin-100);
}

.gcds-icon.ml-200 {
    margin-inline-start: var(--gcds-icon-margin-200);
}

.gcds-icon.ml-300 {
    margin-inline-start: var(--gcds-icon-margin-300);
}

.gcds-icon.ml-400 {
    margin-inline-start: var(--gcds-icon-margin-400);
}

/* Margin Right Classes - Simplified for common values */
.gcds-icon.mr-100 {
    margin-inline-end: var(--gcds-icon-margin-100);
}

.gcds-icon.mr-200 {
    margin-inline-end: var(--gcds-icon-margin-200);
}

.gcds-icon.mr-300 {
    margin-inline-end: var(--gcds-icon-margin-300);
}

.gcds-icon.mr-400 {
    margin-inline-end: var(--gcds-icon-margin-400);
}

/* icons end  */

/* c-visp-claim-search */
.search-button-wrapper {
    display: flex;
    height: 42px;
}

.search-input-wrapper {
    height: 42px;
}

.search-input {
    flex: 1;
    padding: 0.5rem;
    border: 1px solid #ccc;
    border-right: none;
    border-radius: 0;
    height: 100%;
    box-sizing: border-box;
}

input.search-input:focus,
input.search-input:focus-visible {
    /* border-color: var(--gcds-select-focus-border);
    outline: var(--gcds-select-outline-width) solid
        var(--gcds-select-focus-border);
    outline-offset: var(--gcds-select-border-width);
    box-shadow: var(--gcds-select-focus-box-shadow); */


    border-color: var(--gcds-input-focus-border);
    outline: var(--gcds-input-outline-width) solid var(--gcds-input-focus-border);
    outline-offset: var(--gcds-input-border-width);
    box-shadow: var(--gcds-input-focus-box-shadow);
}

.search-button-wrapper button#search-btn {
    border-radius: 0 !important;
    display: flex;
    width: var(--gcds-space-500);
    height: var(--gcds-space-500);
    min-width: var(--gcds-space-500);
    min-height: var(--gcds-space-500);
    padding: var(--gcds-space-25) 0 0 var(--gcds-space-25) !important;
}


.search-bar .search-btn {
    background-color: #26374a;
    border: none !important;
    padding: 0.5rem 1rem !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 100% !important;
    box-sizing: border-box !important;
    min-width: 44px !important;


    border: none !important;

    display: flex;
    align-items: center;
    justify-content: center;

    width: var(--gcds-space-500);
    height: var(--gcds-space-500);
    min-width: var(--gcds-space-500);
    height: var(--gcds-space-500);

    padding: var(--gcds-space-25) 0 0 var(--gcds-space-25) !important;

    border-radius: 0;
}


.search-btn:focus,
.search-btn:focus-visible {
    background: var(--gcds-button-shared-focus-background);
    color: var(--gcds-button-shared-focus-text);

    /* border-radius: var(--gcds-button-border-radius); */

    outline: var(--gcds-button-shared-focus-outline-width) solid var(--gcds-button-shared-focus-background);

    outline-offset: var(--gcds-button-border-width);

    box-shadow: var(--gcds-button-shared-focus-box-shadow);
}

c-visp-application-tracker c-visp-claim-search c-gcds-input {
    flex: 1;
}

c-visp-application-tracker c-visp-claim-search c-gcds-input .gcds-input-wrapper {
    width: 100% !important;
}

.search-container {
    display: flex;
    align-items: flex-start;
    gap: 0;
    margin: 1.5rem 0;
}

@media (max-width:640px) {
    .search-container {
        display: flex;
        align-items: end;
        gap: 0;
        margin: 1.5rem 0;
    }

}

.table-responsive {
    width: 100%;
    overflow-x: auto;
    margin-top: 1rem;

    @media (max-width: 640px) {
        overflow-x: scroll !important;
    }
}

/* claim serach end */

/* Visp Pagination */

.pagination-container {
    font: var(--gcds-pagination-font-desktop);
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 1rem;
    margin-top: 1.5rem;
    font-family: inherit;
    width: 100% !important;
    align-self: stretch;

    @media (max-width: 640px) {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 3rem;
        font: var(--gcds-pagination-font-mobile) !important;

    }
}

.pagination-list {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
    gap: 0.5rem;
    width: auto;


}

.pagination-list li {
    @media (max-width: 640px) {
        display: none;

    }

    &:has(.current) {
        display: block;
    }

}


.pagination-link {
    background: none;
    border: none;
    color: #2B4380;
    /* GCDS Dark Blue */
    /* font-size: 1rem; */
    cursor: pointer;
    padding: 0.5rem 0.75rem;
    text-decoration: underline;
}

.pagination-link.current {
    background-color: #26374a;
    color: white;
    text-decoration: none;
    font-weight: bold;
    background-color: transparent !important;
    color: #26374a !important;
    text-decoration: Underline !important;
    font-weight: 600 !important;
}

.pagination-link:disabled {
    color: #777;
    cursor: not-allowed;
    text-decoration: none;
}

.pagination-link:hover:not(:disabled):not(.current) {
    background-color: #eaeaea;
    text-decoration: none;
}

.pagination-prev,
.pagination-next {
    font-weight: bold !important;
    text-decoration: none !important;
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
    flex-grow: 0 !important;
}



/* Visp pagination */

/* visp stepper */

.visp-wrapper .gc-info-col>h2 {
    font: var(--gcds-stepper-fonts-desktop);
    margin: 0;
    color: var(--gcds-primary-text-color);
    margin: var(--gcds-stepper-margin-desktop);
}

.gcds-stepper .gcds-stepper__steps {
    font: var(--gcds-stepper-font-desktop);
    display: block;
    margin: var(--gcds-stepper-margin-desktop);

    @media (max-width: 640px) {
        font: var(--gcds-stepper-font-mobile);
        margin: var(--gcds-stepper-margin-mobile);
    }
}




/* visp stepper */


/* legend */

h3.gc-label-style {
    color: var(--text-primary, #333);
    font-family: var(--typography-font-family-Text, "Noto Sans");
    font-size: var(--typography-font-size-desktop-text_fontsize, 20px);
    font-style: normal;
    font-weight: var(--typography-font-weight-bold, 700);
    line-height: var(--typography-line-height-desktop-text-small_lineheight, 28px);
}

legend {
    color: var(--text-secondary, #43474E);
    font-family: var(--typography-font-family-Text, "Noto Sans");
    font-size: var(--typography-font-size-desktop-text_fontsize, 20px);
    font-style: normal;
    font-weight: var(--typography-font-weight-regular, 400);
    line-height: var(--typography-line-height-desktop-text_lineheight, 32px);

    color: var(--gcds-date-input-fieldset-text);
    font: var(--gcds-date-input-fieldset-font-desktop);
    padding: 0;
    margin-bottom: 0.5rem;
    display: block;
    /* Ensure it behaves as a block */
    width: 100%;
}

legend.slds-form-element__legend.slds-form-element__label {
    padding: 0;
    width: 100%;
    color: var(--gcds-primary-text-color) !important;
    font: var(--gcds-label-fonts-desktop) !important;
}

/* legend end */

/* visp gcds radios */

.gcds-radios__fieldset {
    border: 0;
    padding: 0;
    margin: 0;
    min-inline-size: auto;
}

.gcds-radios__legend {
    padding: 0;
    font: var(--gcds-radio-legend-font-desktop);
    margin: var(--gcds-radio-legend-margin);
    color: var(--gcds-radio-default-text);
}

.legend__required {
    font: var(--gcds-radio-legend-required-font-desktop);
    font-weight: 400;
}

@media only screen and (max-width: 48em) {
    .gcds-radios__legend {
        font: var(--gcds-radio-legend-font-mobile);
    }

    .legend__required {
        font: var(--gcds-radio-legend-required-font-mobile);
    }
}

/* Logic for margin if no hint present - simplified for LWC as we know structure */
.gcds-radios__legend:not(:has(+ .gcds-hint-wrapper)) {
    margin-bottom: 0.5rem;
}

/* gcds hint */
.gcds-hint-wrapper .gcds-hint,
.file-upload-hint {
    font: var(--gcds-input-fonts-desktop);
    margin: var(--gcds-hint-block-margin);
    color: var(--gcds-hint-block-text);
    /* font-size: 1rem; Fallback for gcds-text */
    /* line-height: 1.5; */

    @media (max-width: 640px) {
        font: var(--gcds-hint-fonts-mobile);
    }
}

/* gcds hint end */

/* Radio Item */
.gcds-radio {
    position: relative;
    display: block;
    max-width: var(--gcds-radio-max-width);
    min-height: calc(var(--gcds-radio-input-height-and-width) - var(--gcds-radio-padding));
    font: var(--gcds-radio-font);
    color: var(--gcds-radio-default-text);
    margin: var(--gcds-radio-margin) !important;
    padding: var(--gcds-radio-padding) 0 0;
    transition: color ease-in-out 0.15s;
}

.gcds-radio label {
    display: block;
    padding: var(--gcds-radio-label-padding) !important;
    padding-left: calc(var(--gcds-radio-input-height-and-width) + 0.5rem) !important;
    /* Make room for radio */
    margin: 0;
    cursor: pointer;
}

.gcds-radio input {
    position: absolute;
    opacity: 0;
    width: var(--gcds-radio-input-height-and-width);
    height: var(--gcds-radio-input-height-and-width);
    top: 0;
    left: 0;
    margin: 0;
    cursor: pointer;
    z-index: 1;
}

/* Visual Radio Circle */
.gcds-radio label::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: var(--gcds-radio-input-height-and-width);
    height: var(--gcds-radio-input-height-and-width);
    border-radius: var(--gcds-radio-border-radius);
    background-color: var(--gcds-radio-default-background);
    border: var(--gcds-radio-input-border-width) solid currentColor;
    box-sizing: border-box;
    transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s, outline ease-in-out 0.15s;
}

/* Valid Checkmark/Dot */
.gcds-radio label::after {
    content: '';
    position: absolute;
    top: var(--gcds-radio-check-top);
    left: var(--gcds-radio-check-left);
    width: var(--gcds-radio-check-height-and-width);
    height: var(--gcds-radio-check-height-and-width);
    border-radius: 50%;
    background-color: currentColor;
    opacity: 0;
    transition: opacity 0.1s;
    pointer-events: none;
}

.gcds-radio input:checked+label::after {
    opacity: 1;
}

/* Disabled State */
.gcds-radio.gcds-radio--disabled {
    color: var(--gcds-radio-disabled-text);
}

.gcds-radio.gcds-radio--disabled label {
    cursor: not-allowed;
}

.gcds-radio.gcds-radio--disabled input {
    cursor: not-allowed;
}

.gcds-radio.gcds-radio--disabled label::before {
    border-color: var(--gcds-radio-disabled-border);
    background-color: var(--gcds-radio-disabled-background);
}

/* Error State */
.gcds-radio.gcds-radio--error:not(:focus-within) label::before {
    border-color: var(--gcds-radio-danger-border);
}

.gcds-radio.gcds-radio--error:not(:focus-within) label::after {
    background-color: var(--gcds-radio-danger-border);
}

/* Focus State */
.gcds-radio:focus-within label::before {
    color: var(--gcds-radio-focus-color);
    outline: var(--gcds-radio-focus-outline-width) solid currentColor;
    outline-offset: var(--gcds-radio-input-border-width);
    box-shadow: var(--gcds-radio-focus-box-shadow);
    background: var(--gcds-radio-focus-background);
    border-color: var(--gcds-radio-focus-color);
}

.gcds-radio:focus-within label::after {
    /* box-shadow: inset 0 0 2rem var(--gcds-radio-focus-color); */
    background-color: var(--gcds-radio-focus-color);
}

/* Hint specific to radio option */
.gcds-radio c-gcds-hint {
    display: block;
    margin-left: calc(var(--gcds-radio-input-height-and-width) + 0.5rem);
    margin-top: -0.5rem;
    /* Pull up closer to label */
}

/* visp gcds radios */


/* visp gcds checkbox */

/* 
@media (min-width: 62rem) {
    .gcds-checkboxes__fieldset {
        grid-template-columns: repeat(4, 1fr);
    }
}

<style>
@media (min-width: 36rem) {
    
.gcds-checkboxes__fieldset {
        grid-template-columns: repeat(2, 1fr);
    }
}
<style>
.gcds-checkboxes__fieldset {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem 1.5rem;
    border: none;
    padding: 0;
    margin: 0;
} */



.gcds-checkboxes__fieldset {
    border: none;
    padding: 0;
    margin: 0;
    min-inline-size: auto;
}

.gcds-checkboxes__legend {
    padding: 0;
    font: var(--gcds-checkbox-legend-font-desktop);
    margin: var(--gcds-checkbox-legend-margin);
    color: var(--gcds-checkbox-default-text);
}

.legend__required {
    font: var(--gcds-checkbox-legend-required-font-desktop);
    font-weight: 400;
}

@media only screen and (max-width: 48em) {
    .gcds-checkboxes__legend {
        font: var(--gcds-checkbox-legend-font-mobile);
    }

    .legend__required {
        font: var(--gcds-checkbox-legend-required-font-mobile);
    }
}

/* Logic for margin if no hint present */
.gcds-checkboxes__legend:not(:has(+ .gcds-hint-wrapper)) {
    margin-bottom: 0.5rem;
}

/* Checkbox Item */
.gcds-checkbox {
    position: relative;
    display: block;
    max-width: var(--gcds-checkbox-max-width);
    min-height: calc(var(--gcds-checkbox-input-height-and-width) - var(--gcds-checkbox-padding));
    font: var(--gcds-checkbox-font);
    color: var(--gcds-checkbox-default-text);
    margin: var(--gcds-checkbox-margin) !important;
    padding: var(--gcds-checkbox-padding) 0 0;
    transition: color ease-in-out 0.15s;
}

.gcds-checkbox label {
    display: block;
    padding: var(--gcds-checkbox-label-padding) !important;
    padding-left: calc(var(--gcds-checkbox-input-height-and-width) + 0.5rem) !important;
    margin: -0.55rem 0px 0 0;
    cursor: pointer;
}

.gcds-checkbox input {
    position: absolute;
    opacity: 0;
    width: var(--gcds-checkbox-input-height-and-width);
    height: var(--gcds-checkbox-input-height-and-width);
    top: 0;
    left: 0;
    margin: 0;
    cursor: pointer;
    z-index: 1;
}

/* Visual Checkbox Square */
.gcds-checkbox label::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: var(--gcds-checkbox-input-height-and-width);
    height: var(--gcds-checkbox-input-height-and-width);
    border-radius: var(--gcds-checkbox-input-border-radius);
    background-color: var(--gcds-checkbox-default-background);
    border: var(--gcds-checkbox-input-border-width) solid currentColor;
    box-sizing: border-box;
    transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s, outline ease-in-out 0.15s;
}

/* Checkmark */
.gcds-checkbox label::after {
    content: '';
    position: absolute;
    border: var(--gcds-checkbox-check-border-width) solid currentColor;
    border-inline-start: 0;
    border-block-start: 0;
    height: var(--gcds-checkbox-check-height);
    width: var(--gcds-checkbox-check-width);
    left: var(--gcds-checkbox-check-left);
    top: var(--gcds-checkbox-check-top);
    opacity: 0;
    transform: rotate(40deg);
    pointer-events: none;
    transition: opacity 0.1s;
}

.gcds-checkbox input:checked+label::after {
    opacity: 1;
}

/* Disabled State */
.gcds-checkbox.gcds-checkbox--disabled {
    color: var(--gcds-checkbox-disabled-text);
}

.gcds-checkbox.gcds-checkbox--disabled label {
    cursor: not-allowed;
}

.gcds-checkbox.gcds-checkbox--disabled input {
    cursor: not-allowed;
}

.gcds-checkbox.gcds-checkbox--disabled label::before {
    border-color: currentColor;
    background-color: var(--gcds-checkbox-disabled-background);
}

/* Error State */
.gcds-checkbox.gcds-checkbox--error:not(:focus-within) label::before {
    border-color: var(--gcds-checkbox-danger-border);
}

.gcds-checkbox.gcds-checkbox--error:not(:focus-within) label::after {
    color: var(--gcds-checkbox-danger-border);
    border-color: var(--gcds-checkbox-danger-border);
}

/* Focus State */
.gcds-checkbox:focus-within label::before {
    color: var(--gcds-checkbox-focus-color);
    outline: var(--gcds-checkbox-focus-outline-width) solid currentColor;
    outline-offset: var(--gcds-checkbox-input-border-width);
    box-shadow: var(--gcds-checkbox-focus-box-shadow);
    background: var(--gcds-checkbox-focus-background);
    border-color: var(--gcds-checkbox-focus-color);
}

.gcds-checkbox:focus-within label::after {
    color: var(--gcds-checkbox-focus-color);
    border-color: var(--gcds-checkbox-focus-color);
}

/* Hint specific to checkbox option */
.gcds-checkbox c-gcds-hint {
    display: block;
    margin-left: calc(var(--gcds-checkbox-input-height-and-width) + 0.5rem);
    margin-top: -0.5rem;
}

/* visp gcds checkbox */
/* gcds textarea */
.gcds-textarea {
    display: block;
    width: 100%;
    padding: 0.5rem;
    font-size: 1rem;
    line-height: 1.5;
    color: #333;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #333;
    /* GCDS Style */
    border-radius: 0;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.gcds-textarea:focus {
    border-color: #3b99fc;
    outline: 0;
    box-shadow: 0 0 0 3px rgba(59, 153, 252, 0.5);
    border-color: var(--gcds-textarea-focus-border);
    box-shadow: var(--gcds-textarea-focus-box-shadow);
    outline: var(--gcds-textarea-outline-width) solid var(--gcds-textarea-focus-border);
    outline-offset: var(--gcds-textarea-border-width);
}

.gcds-error .gcds-textarea {
    border-color: #d3080c;
    border-width: 2px;
}

/* Disabled State matching gcdsInput */
.gcds-textarea-wrapper.gcds-disabled {
    color: #545961;
}

.gcds-textarea:disabled,
.gcds-textarea[readonly] {
    cursor: not-allowed;
    background-color: #d6d9dd;
    border-color: #545961;
    color: #545961;
}

c-gcds-textarea .gcds-textarea-wrapper textarea {
    min-width: 274px !important;
    min-height: 84px !important;
    /* width: 274px !important;
    height: 84px !important; */

    border-radius: 3px;
    border: 2px solid var(--gcds-primary-text-color);
    background: var(--gcds-colour-gray-0);
    font: var(--gcds-textarea-font-desktop);
    width: 744px;
    height: 180px;

    @media (max-width: 640px) {
        width: 100%;
    }

}



/* gcds textarea end */

/* visp gcds input */
.gcds-input-wrapper {
    max-width: 75ch;
    width: 100%;
    font: var(--gcds-input-font-desktop);
    color: var(--gcds-input-default-text);

    @media (max-width: 640px) {
        font: var(--gcds-input-font-mobile) !important;
        max-width: 100% !important;
    }

}

/* @media (max-width: 640px) {
        .gcds-input-wrapper {
        font: var(--gcds-input-font-mobile) !important;
        max-width: 100% !important;
    }
    } */

.gcds-input-wrapper input {
    display: block;
    min-width: var(--gcds-input-min-width-and-height);
    width: 100%;
    /* width: 575px !important; */

    max-width: 100%;
    height: auto;
    min-height: var(--gcds-input-min-width-and-height);
    font: inherit;
    margin: var(--gcds-input-margin);
    padding: var(--gcds-input-padding);
    background-color: var(--gcds-input-default-background);
    background-image: none;
    color: var(--gcds-input-default-text);
    border: var(--gcds-input-border-width) solid currentColor;
    border-radius: var(--gcds-input-border-radius);
    box-sizing: border-box;
    transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s, outline ease-in-out 0.15s;

    @media (max-width: 640px) {
        height: 48px;
    }
}

/* Disabled */
.gcds-input-wrapper.gcds-disabled {
    color: var(--gcds-input-disabled-text);
}

.gcds-input-wrapper.gcds-disabled input:disabled {
    cursor: not-allowed;
    background-color: var(--gcds-input-disabled-background);
    border-color: var(--gcds-input-disabled-text);
}

/* Error */
.gcds-input-wrapper input.gcds-error:not(:focus) {
    border-color: var(--gcds-input-danger-border);
}

/* Focus */
.gcds-input-wrapper:focus-within input:focus {
    border-color: var(--gcds-input-focus-border);
    outline: var(--gcds-input-outline-width) solid var(--gcds-input-focus-border);
    outline-offset: var(--gcds-input-border-width);
    box-shadow: var(--gcds-input-focus-box-shadow);
}



.gcds-checkbox label {
    font: var(--gcds-checkbox-label-font-desktop);

    @media (max-width: 640px) {
        font: var(--gcds-checkbox-label-font-mobile);
    }
}

.gcds-label-wrapper .gcds-label {
    font: var(--gcds-label-font-desktop);


    @media (max-width: 640px) {
        font: var(--gcds-label-font-mobile);
    }
}



.gcds-label-wrapper .gcds-label {
    font: var(--gcds-label-font-desktop);


    @media (max-width: 640px) {
        font: var(--gcds-label-font-mobile);
    }
}


.gcds-label-optional-wrapper {
    display: flex;
    align-items: center;
    gap: 0;
}

.label--optional {
    font-weight: 400;
}




.gcds-label-wrapper .gcds-label.label--hidden>span:first-child {
    clip-path: inset(100%);
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

.gcds-label-wrapper .label--required {
    font-weight: var(--gcds-label-required-font-weight);
    margin: var(--gcds-label-required-margin) !important;
    color: #d3080c;
    /* Usually required stars are red, checking spec... actually GCDS might just put text. Adding fallback color just in case */
    color: inherit;
}

/* visp gcds input */
/* gcds button */

.gcds-button-wrapper .gcds-button {
    box-sizing: border-box;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
    width: var(--gcds-button-width, auto);
    text-align: center;
    padding: var(--gcds-button-padding, 0.75rem 1.5rem);
    border: var(--gcds-button-border-width) solid transparent;
    border-radius: var(--gcds-button-border-radius, 0.375rem);
    transition: all 0.15s ease-in-out;
    font: var(--gcds-button-font-desktop, 700 1rem/1.5 'Lato', sans-serif);
    padding: var(--gcds-space-125) var(--gcds-space-200);
}

/* Button Roles */
/* .gcds-button-wrapper .gcds-button.button--role-primary.button--regular {
border: var(--gcds-button-border-width) solid  var(--gcds-button-start-fill-default)
} */



.gcds-button.button--role-primary.button--regular {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: var(--space-125, 10px) var(--space-200, 16px);
    border-radius: var(--gcds-button-border-radius);
    border: none;
    background: var(--button-primary-fill-default, #26374A);
    color: #fff;
    /* font: 600 16px/24px "Open Sans", sans-serif; */
    cursor: pointer;

    transition: background 0.2s ease, box-shadow 0.2s ease;
}




/* .gcds-button.button--role-primary.button--regular:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(38, 55, 74, 0.4);
} */


/* .gcds-button.button--role-primary.button--regular:active {
    background: var(--button-primary-fill-active, #17222e);
} */



.gcds-button-wrapper .gcds-button.button--role-primary {
    background-color: var(--gcds-button-primary-default-background);
    color: var(--gcds-button-primary-default-text);
    border: var(--gcds-button-border-width) solid var(--gcds-fill-primary);
    border-radius: var(--gcds-button-border-radius);


    color: var(--gcds-button-shared-active-text);
    border-radius: var(--gcds-button-border-radius);
    padding: var(--gcds-space-125) var(--gcds-space-200);
    font: var(--gcds-button-font-desktop);

    @media (max-width: 640px) {

        font: var(--gcds-button-font-mobile);
    }


}

/* Hover */
.gcds-button-wrapper .gcds-button.button--role-primary:hover {
    background-color: var(--gcds-button-primary-hover-background-color);
    border-color: var(--gcds-button-primary-hover-background-color);
    border-radius: var(--gcds-button-border-radius);
}

/* Focus */
/* .gcds-button-wrapper .gcds-button:focus-visible, */
.gcds-button-wrapper .gcds-button:focus {
    background: var(--gcds-button-shared-focus-background);
    color: var(--gcds-button-shared-focus-text);
    border-radius: var(--gcds-button-border-radius);
    outline: var(--gcds-button-shared-focus-outline-width) solid var(--gcds-button-shared-focus-background);
    border: 3px solid var(--gcds-text-light);
    box-shadow: var(--gcds-button-shared-focus-box-shadow);
    /* outline-offset: var(--gcds-button-border-width); */

}

/* Active */
.gcds-button-wrapper .gcds-button:active {
    background-color: var(--gcds-button-shared-active-background-color);
    border-color: var(--gcds-button-shared-active-background-color);
    color: var(--gcds-button-shared-active-text);
}

/* Disabled */
.gcds-button-wrapper .gcds-button:disabled {
    cursor: not-allowed;
    opacity: 0.5;
    /* border: none; */
}

/* Disable hover effects */
.gcds-button-wrapper .gcds-button:disabled:hover {
    background-color: transparent;
    color: inherit;
    transform: none;
    box-shadow: none;
}

.gcds-button-wrapper .gcds-button.button--role-secondary {
    background-color: var(--gcds-button-secondary-default-background);
    color: var(--gcds-button-secondary-default-text);
    border: var(--gcds-button-border-width) solid currentColor;

    @media (max-width: 640px) {
        font: var(--gcds-button-font-mobile);

    }

    &:focus {
        background: var(--gcds-button-shared-focus-background);
        color: var(--gcds-button-shared-focus-text) !important;
        border-radius: var(--gcds-button-border-radius);
        outline: var(--gcds-button-shared-focus-outline-width) solid var(--gcds-button-shared-focus-background);
        border: 3px solid var(--gcds-text-light) !important;
        box-shadow: var(--gcds-button-shared-focus-box-shadow);
        /* outline-offset: var(--gcds-button-border-width) !important; */
    }

}

.gcds-button-wrapper .gcds-button.button--role-secondary:hover {
    background-color: var(--gcds-button-secondary-hover-background);
}

.gcds-button-wrapper .gcds-button.button--role-secondary:active {
    background-color: var(--gcds-button-shared-active-background);
    border-color: var(--gcds-button-shared-active-background);
    color: var(--gcds-button-shared-active-text);
}

/* new btns */
.gcds-button-secondary {
    border: 1px solid #26374a;
    color: #2B4380;
    padding: 0.5rem 1rem;
    cursor: pointer;
    font-weight: 500;
    text-decoration: none;
    display: inline-block;

    font-family: "Noto Sans";
    font-size: 20px;
    font-style: normal;
    line-height: 28px;
    border-radius: var(--gcds-button-border-radius);
    border: 2px solid #2B4380;
    background: #FFF;
}

.gcds-button-secondary:hover {
    background-color: #d6e4f5;
}

/* new btns */


.gcds-button-wrapper .gcds-button.button--role-danger {
    background-color: var(--gcds-button-danger-default-background);
    color: var(--gcds-button-danger-default-text);
}

.gcds-button-wrapper .gcds-button.button--role-danger:hover {
    background-color: var(--gcds-button-danger-hover-background);
}

/* .gcds-button-wrapper .gcds-button.button--role-start { */
.gcds-button-wrapper .button--role-start {
    background-color: var(--gcds-button-start-default-background);
    color: var(--gcds-button-start-default-text);
    padding: var(--gcds-button-start-padding, 1rem 2rem);
}

.gcds-button-wrapper .gcds-button.button--role-start:hover {
    background-color: var(--gcds-button-start-hover-background-color);
    /* background-color: var(--gcds-button-start-hover-background); */
}

button#start-app-btn,
button#btn-save {
    background-color: var(--gcds-button-start-fill-default);
    border: var(--gcds-button-border-width) solid var(--gcds-button-start-fill-default);

    &:focus {
        background: var(--gcds-button-shared-focus-background);
        color: var(--gcds-button-shared-focus-text) !important;
        border-radius: var(--gcds-button-border-radius);
        outline: var(--gcds-button-shared-focus-outline-width) solid var(--gcds-button-shared-focus-background);
        border: 3px solid var(--gcds-text-light) !important;
        box-shadow: var(--gcds-button-shared-focus-box-shadow);
        /* outline-offset: var(--gcds-button-border-width) !important; */
    }
}

button#start-app-btn:hover,
button#btn-save:hover {
    background-color: var(--gcds-button-start-hover-background-color) !important;
    border-color: transparent;
}

/* button#start-app-btn:focus,
button#btn-save:focus {
    background-color: var(--gcds-button-shared-focus-background) !important;
    border-color: transparent !important;
} */

/*.gc-external-login button.gc-btn.gc-btn-secondary {
    width: 55%;
}*/

.gc-external-login button.gc-btn.gc-btn-secondary.disabled {
    pointer-events: none;
    width: 291px;
    height: var(--gcds-space-600);
    padding: var(--gcds-space-125) var(--gcds-space-200);
    font: var(--gcds-button-font-desktop);

    @media(max-width:640px) {
        width: 100%;
        font: var(--gcds-button-font-mobile);
    }
}

/* Size: Small */
.gcds-button-wrapper .gcds-button.button--small {
    font: var(--gcds-button-small-font, 700 0.875rem/1.5 'Lato', sans-serif);
    padding: var(--gcds-button-small-padding, 0.5rem 1rem);
}

/* Disabled */
/* .gcds-button-wrapper[disabled] {
    pointer-events: none;
} */

.gcds-button-wrapper .gcds-button[aria-disabled="true"] {
    cursor: not-allowed;
    pointer-events: none;
    opacity: 0.5;
}



/* Active */
/* .gcds-button-wrapper .gcds-button:active {
    background-color: black !important;
    border-color: black !important;
} */

.gcds-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;
}


.footer-buttons {
    display: flex;
    justify-content: space-between;
    margin-top: 3rem;
    padding-top: 1rem;
}

.footer-right {
    display: flex;
    justify-content: flex-end;
    gap: 1rem;
    padding: 3rem 0;
    margin-left: auto;
}

@media (max-width: 640px) {

    .footer-buttons {
        display: flex;
        flex-direction: column;
        gap: 12px;

    }

    .footer-right {
        /* display: contents !important; */
        flex-direction: column;
        justify-content: center;
        margin-left: 0;
    }

    .footer-buttons c-gcds-button {
        width: 100%;
    }

    .footer-buttons c-gcds-button::part(button) {
        width: 100%;
        display: block;
    }
}

/* gcds button end */



/* review spinner */
.visp-spinner-backdrop {
    position: fixed;
    inset: 0;
    background-color: rgba(255, 255, 255, 0.75);
    z-index: 9999;
    display: flex;
    justify-content: center;
    align-items: center;
}

.file-review-spinner {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.18);
    z-index: 99999;
}

/* Modal body */
.file-review-spinner::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 420px;
    height: 260px;
    background: #fff;
    border-radius: 2px;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.20);
    transform: translate(-50%, -50%);

    @media(max-width:640px) {
        width: 300px;
    }
}

/* Modal header */
.file-review-spinner::after {
    content: '';
    position: absolute;
    top: calc(50% - 130px);
    left: 50%;
    width: 420px;
    height: 48px;
    background: #26374A;
    color: #fff;
    display: flex;
    align-items: center;
    padding-left: 16px;
    box-sizing: border-box;
    font-size: 16px;
    font-weight: 700;
    border-radius: 2px 2px 0 0;
    transform: translateX(-50%);
    z-index: 1;

    @media(max-width:640px) {
        width: 300px;
    }
}



.spinner-header-text {
    position: absolute;
    width: 420px;
    height: 48px;
    top: calc(50% - 130px);
    left: 50%;
    transform: translateX(-50%);
    color: #fff;
    display: flex;
    align-items: center;
    padding-left: 16px;
    box-sizing: border-box;
    font-size: 16px;
    font-weight: 700;
    z-index: 2;
    pointer-events: none;

    @media(max-width:640px) {
        left: 67%;
    }
}

/* Spinner centered in modal body */
.file-review-spinner lightning-spinner {
    position: absolute;
    top: calc(50% + 5px);
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
}

/* Remove Salesforce backdrop */
.file-review-spinner lightning-spinner::part(backdrop) {
    display: none;
}

/* Review message */
.file-review-spinner .slds-text-heading_medium {
    position: absolute;
    top: calc(50% + 50px);
    left: 50%;
    transform: translateX(-50%);
    width: 320px;
    margin: 0 !important;
    color: #3e3e3c !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    text-align: center !important;
    z-index: 2;
}

/* review spinner end */

/* error block */
.gcds-error-message-wrapper .error-message {
    display: flex;
    flex-direction: row;
    gap: 0.25rem;
    color: var(--gcds-error-text-color);
    font: var(--gcds-error-font-desktop);
    margin-block-end: 0.25rem;
}

/* error block end  */
/* application tracker */
.gcds-grid-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2rem 1rem;
    font-family: inherit;
}

.welcome-section {
    /* margin-bottom: 3rem; */
}

.section-divider {
    border: 0;
    border-top: 1px solid #ccc;
    margin: 3rem 0;
}

.mb-4 {
    margin-bottom: 1.5rem;
}

.login-history {
    margin-top: 1.5rem
}

.results-summary-container {
    display: flex;
    align-items: baseline;
    gap: 1.5rem;
}

.results-count {
    font-weight: bold;
    margin-bottom: 0;
}

p.results-count {
    color: #545961;
    font-family: "Noto Sans";
    font-size: 20px;
    font-style: normal;
    font-weight: 600 !important;
    line-height: 120%;
}

.clear-search-link a,
.clear-search-link a:hover,
.clear-search-link a:focus,
.clear-search-link .gcds-link,
.clear-search-link .gcds-link:hover,
.clear-search-link .gcds-link:focus {
    text-decoration: none !important;
    text-decoration-line: none !important;
}

.clear-search-link {
    text-decoration-line: none !important;
}

c-visp-pagination {
    display: block !important;
    width: 100% !important;
}

/* application tracker end */

/* Specific resets for slotted elements that might have browser defaults */
::slotted(p),
::slotted(ul),
::slotted(ol) {
    margin-block-start: 0;
    /* Inherit font properties from parent .notice__content */
    font-size: inherit;
    line-height: inherit;
    color: inherit;
    font-family: inherit;
}

@media only screen and (max-width: 48em) {
    .notice__content {
        font-size: 1rem;
        line-height: 1.5;
    }
}

::slotted(*:last-child) {
    margin-block-end: 0;
}

::slotted(*:not(:last-child)) {
    margin-block-end: var(--gcds-notice-content-slotted-margin);
}

::slotted(ol),
::slotted(ul) {
    margin-inline-start: var(--gcds-notice-content-slotted-list-margin);
    padding: 0;
}

/* Type-specific icon colors */
.notice--type-danger .notice__icon {
    color: var(--gcds-notice-danger-text);
}

.notice--type-info .notice__icon {
    color: var(--gcds-notice-info-text);
    margin: 0;
    overflow: visible;
    /* color: var(--gcds-notice-info-text-stroke) */
}

.notice--type-success .notice__icon {
    color: var(--gcds-notice-success-text);
}

.gcds-notice.notice--type-warning {
    margin: var(--gcds-space-250) 0 var(--gcds-space-400) 0;
}

.notice--type-warning .notice__icon {
    color: var(--gcds-notice-warning-text);
}

.gcds-heading-wrapper h3.gcds-heading {
    font: var(--gcds-heading-h3-desktop);
    color: var(--gcds-primary-text-color);
}

@media (max-width: 768px) {
    .gcds-heading-wrapper h3.gcds-heading {
        font: var(--gcds-heading-h3-mobile);
    }
}

/* notice color ends */
/* ==================================================================================================== */
/* gcds link */
.gcds-link-wrapper .gcds-link {
    cursor: pointer;
    color: var(--gcds-link-default, #284162);
    text-decoration-style: solid;
    text-decoration-color: currentColor;
    text-decoration-thickness: 0.0625rem;
    /* transition: all 0.35s; */
    font-size: var(--gcds-link-font-size, inherit);

    /* Fonts */
    font-family: 'Noto Sans', sans-serif;
}

/* .gcds-link-wrapper .gcds-link:hover {
    color: #0535d2;
    text-decoration-thickness: 0.125rem;
    color: var(--gcds-footer-link-color);
    font: var(--gcds-footer-font);
    text-decoration: underline;
} */

.gcds-link-wrapper .gcds-link:focus {
    outline: 0.25rem solid #0535d2;
    background-color: #0535d2;
    color: #ffffff;
    text-decoration: none;
    box-shadow: 0 0 0 0.125rem #ffffff;
}

/* Variants */
.gcds-link-wrapper .gcds-link.variant-light {
    color: #ffffff;
}

/* Sizes */
.link--small {
    font-size: 0.875rem;
}

.link--regular {
    font-size: 1rem;
}

.link--inherit {
    font-size: inherit;
}

.d-block {
    display: block;
}

.gcds-icon {
    display: inline-flex;
    align-items: center;
    vertical-align: middle;
}

/* gcds link end */

/* gcds nav links */

.gcds-nav-link {
    display: flex;
    align-items: center;
    box-sizing: border-box;
    font: var(--gcds-nav-link-font);

    /* Source: text-decoration-style: solid; text-decoration-line: underline; */
    text-decoration: underline solid currentColor;
    text-decoration-thickness: var(--gcds-nav-link-default-decoration-thickness);
    text-underline-offset: var(--gcds-nav-link-default-underline-offset);

    color: var(--gcds-nav-link-default-text) !important;
    margin-block-end: var(--gcds-nav-link-margin);
    padding: var(--gcds-nav-link-padding);
    border: none;
    border-inline: var(--gcds-nav-link-border-width) solid transparent;
    background: transparent;
    /* transition: all 0.25s ease-in-out; */
    cursor: pointer;
}

/* Mobile Media Query for Font */
@media only screen and (max-width: 63.9375em) {
    .gcds-nav-link {
        font: var(--gcds-nav-link-font-mobile);
        min-width: 50%;
    }
}

/* Top Nav Variant */
/* Source: @media only screen and (width >= 64em) { ... } */
@media only screen and (min-width: 64em) {
    .gcds-nav-link--topnav.gcds-nav-link {
        /* Source: color: var(--gcds-nav-link-top-nav-text); */
        /* margin: var(--gcds-nav-link-top-nav-margin); */
        /* padding: var(--gcds-nav-link-top-nav-padding); */
        border-inline: 0;

        /* The important "invisible underline" trick */
    }

    .gcds-nav-link--topnav.gcds-nav-link:not(:hover):not(:focus) {
        text-decoration-color: transparent;
    }
}

/* Hover State */
.gcds-nav-link:hover {
    text-decoration: underline solid currentColor;
    text-decoration-thickness: var(--gcds-nav-link-default-decoration-thickness);
    color: var(--gcds-nav-link-default-text, #333333);
}

/* Active State (Pressed/Clicked) */
.gcds-nav-link:active {
    color: #fff;
    /* background-color: red! important; Placeholder for active background color, check source for correct variable */
    text-decoration-thickness: var(--gcds-nav-link-default-decoration-thickness);
    transform: scale(0.98);
    /* transition: transform 0.1s ease-in-out; */
}


/* Focus State 
.gcds-nav-link:focus {
    background-color: var(--gcds-nav-link-focus-background); 
    color: #fff;
    outline: 0;
    outline-offset: 0;
    border-color: transparent;
    text-decoration: none;
    box-shadow: none; 
}*/

/* Current Page */
.gcds-nav-link[aria-current="page"] {
    text-decoration: none;
    font-weight: 700;
    pointer-events: none;
    background-color: var(--gcds-nav-link-active-text);
    /* Source active bg? check source */
    color: #fff;
    /* Active text usually white if bg is dark? Source: active-text var. */
    /* Checking source Step 35: 
       :host .gcds-nav-link[aria-current='page'] {
         background-color: var(--gcds-nav-link-active-background);
         color: var(--gcds-nav-link-active-text);
       }
       TopNav active: background transparent, color active-text, border-bottom.
    */
}

/* Top Nav Active State (Desktop) */
@media only screen and (min-width: 64em) {
    .gcds-nav-link--topnav.gcds-nav-link[aria-current="page"] {
        background-color: transparent;
        color: var(--gcds-nav-link-active-text);
        text-decoration: none;
        /* create border bottom */
        box-shadow: 0 4px 0 -1px var(--gcds-nav-link-active-text);
        /* approximation of border-block-end since we don't have block-end property easily in all browsers? or just use border-bottom */
        border-bottom: 0.25rem solid var(--gcds-nav-link-active-text);
    }
}

/* gcds nav links end here */

/* gcds select */
.gcds-select-wrapper {
    display: block;

    --gcds-select-font-desktop: 400 1.25rem/1.6 'Noto Sans', sans-serif;
    --gcds-select-font-mobile: 400 1.125rem/1.55 'Noto Sans', sans-serif;
    --gcds-select-default-text: #333333;
    --gcds-select-min-width-and-height: 2.5rem;
    --gcds-select-margin: 0;
    --gcds-select-padding: 0.375rem 2rem 0.375rem 0.75rem;
    --gcds-select-default-background: #ffffff;
    --gcds-select-border-width: 0.125rem;
    --gcds-select-border-radius: 0.25rem;
    --gcds-select-arrow-position-x: 96%;

    --gcds-select-disabled-text: #545961;
    --gcds-select-disabled-background: #d6d9dd;
    --gcds-select-danger-border: #d3080c;
    --gcds-select-focus-border: #0535d2;
    --gcds-select-outline-width: 0.25rem;
    --gcds-select-focus-box-shadow: 0 0 0 0.125rem #ffffff;

    max-width: 75ch;
    font: var(--gcds-select-font-desktop);
    color: var(--gcds-select-default-text);
    width: 60%;

    @media (max-width: 640px) {
        width: 100% !important;
    }
}

.gcds-select-wrapper select {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: var(--gcds-select-min-width-and-height);
    min-height: var(--gcds-select-min-width-and-height);

    font: inherit;
    color: inherit;

    margin: var(--gcds-select-margin);
    padding: var(--gcds-select-padding);

    background-color: var(--gcds-select-default-background);

    border: var(--gcds-select-border-width) solid currentColor;
    border-radius: var(--gcds-select-border-radius);
    box-sizing: border-box;

    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;

    background-image: url("data:image/svg+xml;utf8,<svg width='16' height='10' viewBox='0 0 16 10' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M0.799988 0.900024L7.79999 7.90003L14.8 0.900024' stroke='currentColor' stroke-width='2'/></svg>");
    background-repeat: no-repeat;
    background-position: var(--gcds-select-arrow-position-x) 50%;

    transition: all ease-in-out 0.15s;

}

/* Disabled */
.gcds-select-wrapper.gcds-disabled {
    color: var(--gcds-select-disabled-text);
}

.gcds-select-wrapper.gcds-disabled select:disabled {
    background-color: var(--gcds-select-disabled-background);
    border-color: var(--gcds-select-disabled-text);
    cursor: not-allowed;
}

/* Error */
.gcds-select-wrapper.gcds-error select:not(:focus) {
    border-color: var(--gcds-select-danger-border);
}

/* Focus */
.gcds-select-wrapper:focus-within select:focus {
    border-color: var(--gcds-select-focus-border);
    outline: var(--gcds-select-outline-width) solid var(--gcds-select-focus-border);
    outline-offset: var(--gcds-select-border-width);
    box-shadow: var(--gcds-select-focus-box-shadow);
}

/* gcds select ends */



/* claim table */

.gcds-table th {
    text-align: left;
    border-bottom: 2px solid #333;
    padding: 1rem 1.5rem;
    font-weight: bold;
    color: #333;
    white-space: normal;
    /* Allow wrapping if needed */
    min-width: 140px;
    /* Ensure minimum width so columns don't crush */
}

.gcds-table td {
    border-bottom: 1px solid #ccc;
    padding: 1rem 1.5rem;
    vertical-align: middle;
    white-space: normal;
}



c-visp-claim-table .table-responsive table.gcds-table th:nth-child(1),
c-visp-claim-table .table-responsive table.gcds-table td:nth-child(1) {
    width: 113px;
    padding-left: 0 !important;
}

c-visp-claim-table .table-responsive table.gcds-table th:nth-child(5),
c-visp-claim-table .table-responsive table.gcds-table td:nth-child(5) {
    width: 1px;
}

c-visp-claim-table .table-responsive table.gcds-table th:nth-child(6),
c-visp-claim-table .table-responsive table.gcds-table td:nth-child(6) {
    padding-right: 1rem !important;
}

c-visp-claim-table .table-responsive table.gcds-table th:nth-child(7),
c-visp-claim-table .table-responsive table.gcds-table td:nth-child(7) {
    width: 150px;
}

c-visp-claim-table .table-responsive table.gcds-table td:nth-child(7) button {
    width: 140px;
}

.table-responsive table.gcds-table th,
.table-responsive table.gcds-table td {
    padding: var(--gcds-space-250) !important;
    /* min-width: 200px !important; */
}

table.gcds-table tbody tr:nth-child(even) {
    background-color: #F1F2F3;
}


table.gcds-table {
    width: 100%;
    border-collapse: collapse;
    font-family: inherit;
    margin-bottom: 2rem;

    @media (max-width: 640px) {
        width: 100%;
        border-collapse: collapse;
        font-weight: normal;
        table-layout: auto;
    }

}


/* claim table end */

/* register code ntr */
:host {
    display: block;

    /* Tokens */
    --gcds-error-summary-padding: 0.75rem 0.875rem;
    --gcds-error-summary-margin: 0 0 1.5rem;
    --gcds-error-summary-border-width: 0.375rem;
    --gcds-error-summary-border-color: #d3080c;
    --gcds-error-summary-text: #A62A1E;
    --gcds-error-summary-list-margin: 1.5rem;
    --gcds-error-summary-max-width: 30rem;
    --gcds-error-summary-list-item-padding: 0.5rem;
    --gcds-error-summary-link-color: #d3080c;
    /* --gcds-spacing-50: 0.25rem; */
    --gcds-text-primary: #333;
    --gcds-text-secondary: #43474e;

    --gcds-error-message-text-color: #A62A1E;
    --gcds-button-start-fill-default: #03662A;
}

/* .gc-container {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 15px;
} */

.gcds-error-summary-wrapper ol.summary__errorlist {
    margin: var(--gcds-error-summary-list-margin) 0 0 0;
}

.gcds-error-summary-wrapper ol.summary__errorlist li .gcds-link-wrapper a {
    color: var(--gcds-alert-danger-text);
    text-decoration-color: var(--gcds-alert-danger-text);

    @media(max-width:640px) {
        font-size: var(--typography-font-size-mobile-text_fontsize);
    }
}

.gcds-error-summary-wrapper ol.summary__errorlist li .gcds-link-wrapper a:hover {
    text-decoration-thickness: var(--gcds-link-hover-decoration-thickness);
}

.gcds-error-summary-wrapper ol.summary__errorlist li .gcds-link-wrapper a:focus {
    text-decoration: none;
}

.gcds-error-summary-wrapper ol.summary__errorlist li .gcds-link-wrapper a:focus-visible {
    outline: -webkit-focus-ring-color auto 1px !important;
    color: var(--gcds-alert-danger-text) !important;
    text-decoration-color: var(--gcds-alert-danger-text);
    background: none;
}

.gcds-error-summary {
    padding: var(--gcds-error-summary-padding);
    margin: var(--gcds-error-summary-margin);
    border: var(--gcds-error-summary-border-width) solid var(--gcds-error-summary-border-color);
    color: var(--gcds-error-summary-text);
    background-color: white;
    max-width: 792px;
    min-width: 290px;
    width: auto;

    @media(max-width:640px) {
        padding: var(--gcds-error-summary-padding-mobile);
    }

}

.summary__errorlist {
    padding-inline-start: 1.5rem;
    margin: var(--gcds-error-summary-list-margin);
    list-style-type: decimal;
}

/* .summary__listitem {
    max-width: var(--gcds-error-summary-max-width);
    --gcds-link-default: #d3080c;
    --gcds-link-focus-background: #0535d2;
    --gcds-link-focus-text: #ffffff;
} */

.summary__listitem:not(:last-child) {
    padding-bottom: var(--gcds-error-summary-list-item-padding);
}



.visp-wrapper button.button--role-primary {
    background-color: var(--gcds-button-start-fill-default) !important;
}


@media (max-width: 768px) {

    .gcds-input-wrapper input,
    .gcds-input-wrapper select {
        min-width: 100%;
        font: var(--gcds-input-font-mobile);
    }

    .gcds-input-wrapper .gcds-label {
        font: var(--gcds-label-font-mobile);
        font-weight: 700;
    }
}


/* custom classes */
.gc-login-grid .gc-login-col h2.gcds-heading {
    margin-top: 0;
    padding: 0;
}

.gcds-error-summary .gcds-heading-wrapper h2.gcds-heading,
.gc-login-grid .gc-login-col .gcds-heading-wrapper h2.gcds-heading {
    margin: 0;
    padding: 0;
}

section.gcds-notice.notice--type-info {
    margin-left: -2px;
}

.right-protectedb {
    margin: 5rem 0 0 0;
}

p.right-protectedb {
    color: var(--text-primary, #333);
    font-family: var(--typography-font-family-Text, "Noto Sans");
    font-size: var(--typography-font-size-desktop-text_fontsize, 20px);
    font-style: normal;
    font-weight: 400;
    line-height: var(--typography-line-height-desktop-text_lineheight, 32px);

    @media (max-width:640px) {

        width: 100%;
    }
}

.info-container {
    display: flex;
    gap: 9px;
    flex-wrap: wrap;
    font: var(--gcds-font-text);
    -webkit-margin-before: var(--gcds-head-spacing-0);
    margin-block-start: var(--gcds-head-spacing-0);
    -webkit-margin-after: var(--gcds-head-spacing-300);
    margin-block-end: var(--gcds-head-spacing-300);

    @media (max-width:640px) {
        gap: 0;
    }
}

.info-container p {
    margin-bottom: 0;
}

c-visp-application-tracker c-visp-claim-search c-gcds-input .gcds-input-wrapper input {
    width: 575px;
    /* min-width: 324px !important; */
    border: 1px solid #D6D9DD !important;
    border-radius: 0;
    height: 40px;
    margin: 0;
    padding: var(--gcds-spacing-100) 0 var(--gcds-spacing-100) 12px !important;
    font-size: 15px !important;
}

/* c-visp-claim-application-main c-visp-vaccination-details form c-gcds-select .gcds-select-wrapper select:not(#month-vaccine-date)  */
c-gcds-select .gcds-select-wrapper select:not(#month-first-visit-date):not(#month-symptom-date):not(#month-undefined):not(#month-claimant-dob):not(#month-1):not(#month-prevDate):not(#month-vaccine-date):not(#month-claimant-dob):not(#month-vaccine-date):not(#month-represented-claimant-dob) {
    /* width: 480px !important; */
    height: var(--gcds-space-600);
    border-radius: 3px;

    @media (max-width:640px) {
        width: 290px;
    }
}

/* c-visp-claim-application-main c-visp-vaccination-details form */
.dropdown-content .options-grid fieldset.gcds-checkboxes__fieldset {
    grid-template-columns: repeat(3, 1fr);
    padding-left: 0.5rem;

    @media(max-width:640px) {
        grid-template-columns: repeat(1, 1fr) !important;
    }
}


c-gcds-input .gcds-input-wrapper input:not(#input-name):not(#input-password)
:not(#search-claim):not(#day-vaccine-date):not(#day-symptom-date)
:not(#day-first-visit-date):not(#day-from)
:not(#day-to):not(#day-claimant-dob) {
    width: 86%;
    height: var(--gcds-space-600) !important;

    @media (max-width: 640px) {
        /* width: 231px !important; */
        min-height: 44px !important;
        /* width: auto !important; */
        /* height: auto !important; */
    }
}

select#role

/* ,select#select-lang  */
    {
    width: 72%;
}

article.slds-card {
    box-shadow: none;
    border: none;
}

.visp-wrapper .gcds-fieldset {
    margin-top: 1.5rem;
}

.visp-wrapper .gcds-fieldset legend.size-h2 {
    font: var(--gcds-font-h2) !important;
    line-height: var(--gcds-line-height-h2) !important;
    padding: var(--gcds-space-600) 0 var(--gcds-space-300) 0;
}

.gcds-fieldset>legend.size-h3 {
    color: var(--gcds-primary-text-color);
    font: var(--gcds-heading-h3-desktop);
    line-height: var(--gcds-line-height-h3);
    margin-bottom: 0.75rem;
}

c-visp-portal-registration h2 {
    margin-top: -42px;

    @media(max-width:640px) {
        margin-top: 0;
    }
}

c-visp-portal-registration .register-button {
    display: flex;
    display: flex;
    justify-content: flex-end;

    @media(max-width:640px) {
        display: contents;
    }

}

.gcds-date-input__wrapper .gcds-select-wrapper,
.gcds-date-input__wrapper .gcds-select-wrapper select,
.gcds-date-input__wrapper c-gcds-input .gcds-input-wrapper input {
    max-width: none;
    width: 100% !important;
}

.gcds-input-wrapper,
.gcds-select-wrapper {
    border-radius: var(--gcds-input-block-border-radius) !important;
    background: var(--gcds-colour-gray-0);
    font: var(--gcds-input-fonts-desktop);
    margin-bottom: var(--gcds-input-select-margin-bottom);
}

c-visp-claim-application-main c-visp-applicant-information form c-gcds-select .gcds-select-wrapper select#month-claimant-dob

/* ,c-visp-claim-application-main c-visp-vaccination-details form c-gcds-select .gcds-select-wrapper select#month-vaccine-date  */
    {
    /* width: 203px !important; */
    border-radius: 3px !important;
    /* min-height: 44px; */
}

@media (max-width: 640px) {

    /* .gc-external-login button.gc-btn.gc-btn-secondary.disabled {
        width: 16.563rem;
        font: var(--gcds-button-font-mobile) !important;
        height: 2.813rem;
    }

    button#start-app-btn,
    button#btn-save {
        padding: var(--gcds-space-150) var(--gcds-space-400) !important;
        font: var(--gcds-button-start-font-mobile) !important;
    } */


}



.gcds-notice .notice__content a.gcds-link,
.gcds-notice .notice__content ul.gc-list li {
    font: var(--gcds-font-text);

    @media(max-width:640px) {
        font: var(--gcds-font-text-mobile);
    }

}

c-visp-submit-claim-steps .gc-timeline .gc-timeline-item::before {
    top: -16px;
}

c-visp-submit-claim-steps .gc-timeline .gc-timeline-item .gc-step-content {
    padding-left: 0.5rem;
    padding-top: 0.5rem;
}

.sub__container ul li:not(:first-of-type)::before {

    color: var(--gcds-fill-primary);
}

c-visp-contact-us c-gcds-button .gcds-button-wrapper .gcds-button.button--role-primary {
    margin: 47px 0 40px;
}

c-visp-first-medical-visit .add-date {
    display: flex;
    align-items: flex-end;
    gap: 1rem;
    justify-content: center;

    @media(max-width:640px) {

        justify-content: flex-start;
        flex-wrap: wrap;

    }
}

c-visp-first-medical-visit .add-date>div:first-child {
    flex: 1;
}

c-visp-first-medical-visit .add-date>div:last-child {
    flex-shrink: 0;
    margin: 0 0 2.6rem 0;

    @media(max-width:640px) {
        flex-shrink: 0;
        margin: 0;
    }
}

c-visp-first-medical-visit .add-date c-gcds-date-input {
    flex: 1;
    width: 100%;
}

c-visp-first-medical-visit .add-date .add-button-row {
    flex-shrink: 0;
}

c-visp-first-medical-visit .date-range-remove .slds-button {
    display: inline-flex;
    padding: var(--space-125, 10px) var(--space-200, 16px);
    justify-content: center;
    align-items: center;
    gap: var(--space-0, 0);

    color: var(--text-link-danger, #A62A1E);
    text-decoration: none;
    background: transparent;
    border: none;
    cursor: pointer;

    /* Typography */
    font-family: var(--typography-font-family-Text, "Noto Sans");
    font-size: var(--typography-font-size-desktop-text_fontsize, 20px);
    font-style: normal;
    font-weight: 500;
    line-height: var(--typography-line-height-desktop-text-small_lineheight, 28px);
}

c-visp-first-medical-visit .add-date .add-btn span {
    color: var(--button-secondary-text-default, #2B4380);
}

c-visp-first-medical-visit .add-date .add-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-0, 0);

    padding: var(--space-125, 10px) var(--space-200, 16px);

    color: var(--button-secondary-text-default, #2B4380);
    background: transparent;
    border: none;
    cursor: pointer;

    /* Typography */
    font-family: var(--typography-font-family-Text, "Noto Sans");
    font-size: var(--typography-font-size-desktop-text_fontsize, 20px);
    font-style: normal;
    font-weight: 500;
    line-height: var(--typography-line-height-desktop-text-small_lineheight, 28px);
}


.add-date-range button.add-btn {
    margin: 3rem 0;
}


c-visp-medical-admission .add-date-range {
    display: flex;
    align-items: baseline;
    gap: 2rem;

    @media(max-width:640px) {
        flex-wrap: wrap;
        gap: 0;
    }

}

c-visp-medical-admission .add-button-row {
    align-self: flex-end;
}

c-visp-medical-admission .date-range-to-row .gcds-date-input__wrapper {
    margin-top: 1.5rem;
}

/* From column */
c-visp-medical-admission .add-date-range>.date-range-item {


    flex: 0 0 42%;

    @media(max-width:640px) {
        flex: unset;
    }
}

/* To column */
c-visp-medical-admission .add-date-range>.date-range-to-row {
    flex: 1 0 42%;

    @media(max-width:640px) {
        flex: unset;
    }
}

/* Add button column */
c-visp-medical-admission .add-date-range>.add-button-row {
    flex: 0 0 auto;
    white-space: nowrap;
}

/* keep month, day, year in one row */
c-visp-medical-admission .gcds-date-input__wrapper {
    display: flex;
    flex-wrap: nowrap;
    gap: 0;
    margin-top: 0.71rem;
}

/* keep consistent height and width for date fields */
c-visp-medical-admission .date-range-item .gcds-date-input__wrapper {
    min-height: 3.5rem;
    width: 119%;
}

/* prevent year field wrapping */
c-visp-medical-admission .gcds-date-input__year {
    min-width: 120px;
}

c-visp-claim-search .gcds-input-wrapper {
    display: flex !important;
}

/* c-visp-forgot-password .gc-container section.gcds-notice.notice--type-success {
    margin-left: -12px;
} */

c-visp-forgot-password .forgotNotice {
    margin-block-end: 1.5rem;
}

c-visp-medical-admission .gcds-date-input__fieldset>legend+.gcds-date-input__wrapper {
    margin-top: 80px;

    @media(max-width:640px) {
        margin-top: 0;
    }
}

input#search-claim {
    width: 350px !important;
}

c-gcds-heading+c-gcds-heading .gcds-heading {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

:is(h1, h2, h3, h4, h5, h6, p) c-gcds-link {
    display: inline-block;
    margin-inline: 0.25rem;
}

c-visp-claim-application-main c-gcds-notice section.gcds-notice.notice--type-info {
    margin: var(--gcds-space-250) 0 var(--gcds-space-400) 0;
}

.required {
    font-weight: 400;
}

;
/* 
.accordion-title h5 {
    text-transform: lowercase;
}

.accordion-title h5::first-letter {
    text-transform: uppercase;
} */

.slds-file-selector__input[disabled]~.slds-file-selector__body>.slds-file-selector__button {
    background: transparent;
}

lightning-primitive-file-droppable-zone.slds-file-selector__dropzone:has(.slds-file-selector__input[disabled]~.slds-file-selector__body) {
    border-color: var(--gcds-color-grayscale-700);
}

c-gcds-notice+form {
    margin-top: 1.5rem;
}

lightning-formatted-rich-text {
    span {
        a {
            color: var(--gcds-text-link-default) !important;
            text-decoration-thickness: 1px !important;
            text-underline-offset: 2px !important;
            text-underline-position: from-font !important;
            font-family: var(--typography-font-family-Text) !important;
            font-size: var(--typography-font-size-desktop-text_fontsize) !important;
            text-decoration-line: underline !important;
            text-decoration-style: solid !important;
            text-decoration-skip-ink: auto !important;
            text-decoration-color: var(--gcds-text-link-default) !important;

            &:hover {
                color: var(--text-link-hover, #0535D2) !important;
                text-decoration-color: var(--text-link-hover, #0535D2) !important;
                text-decoration-thickness: 2px !important;
            }

            &:visited {
                color: var(--text-link-visited, #7532B8) !important;
                text-decoration-color: var(--text-link-visited, #7532B8) !important;
                text-decoration-thickness: 1px !important;
            }

            &:focus,
            &:focus-visible {
                color: var(--gcds-text-light) !important;
                background-color: var(--gcds-link-focus-background, #26374A) !important;
                border-radius: var(--gcds-link-focus-border-radius, 2px) !important;
                box-shadow: var(--gcds-link-focus-box-shadow, none) !important;
                outline: var(--gcds-link-focus-outline-width, 2px) solid var(--gcds-link-focus-background, #26374A) !important;
                outline-offset: var(--gcds-link-focus-outline-offset, 2px) !important;
                text-shadow: 0 4px 4px rgba(0, 0, 0, 0.25) !important;

                text-decoration-line: underline !important;
                text-decoration-style: solid !important;
                text-decoration-skip-ink: auto !important;
                text-decoration-color: var(--gcds-text-light) !important;
                text-decoration-thickness: var(--gcds-footer-link-underline-thickness) !important;
                text-underline-offset: var(--gcds-footer-link-underline-offset) !important;
                text-underline-position: from-font !important;
            }
        }
    }
}


.gcds-notice {
    .notice__content {
        a.download-link {
            color: var(--gcds-text-link-default) !important;
            font-family: var(--typography-font-family-Text) !important;
            font-size: var(--typography-font-size-desktop-text_fontsize) !important;
            font-style: normal !important;
            font-weight: 400 !important;
            line-height: var(--typography-line-height-desktop-text_lineheight) !important;

            text-decoration-line: underline !important;
            text-decoration-style: solid !important;
            text-decoration-skip-ink: auto !important;
            text-decoration-color: var(--gcds-text-link-default) !important;
            text-decoration-thickness: 1px !important;
            text-underline-offset: 2px !important;
            text-underline-position: from-font !important;

            @media (max-width: 640px) {
                font-size: var(--typography-font-size-mobile-text_fontsize) !important;
            }

            &:hover {
                color: var(--text-link-hover, #0535D2) !important;
                text-decoration-color: var(--text-link-hover, #0535D2) !important;
                text-decoration-thickness: 2px !important;
            }

            &:visited {
                color: var(--text-link-visited, #7532B8) !important;
                text-decoration-color: var(--text-link-visited, #7532B8) !important;
                text-decoration-thickness: 1px !important;
            }

            &:focus,
            &:focus-visible {
                color: var(--gcds-text-light) !important;
                background-color: var(--gcds-link-focus-background, #26374A) !important;
                border-radius: var(--gcds-link-focus-border-radius, 2px) !important;
                box-shadow: var(--gcds-link-focus-box-shadow, none) !important;
                outline: var(--gcds-link-focus-outline-width, 2px) solid var(--gcds-link-focus-background, #26374A) !important;
                outline-offset: var(--gcds-link-focus-outline-offset, 2px) !important;
                text-shadow: 0 4px 4px rgba(0, 0, 0, 0.25) !important;

                text-decoration-line: underline !important;
                text-decoration-style: solid !important;
                text-decoration-skip-ink: auto !important;
                text-decoration-color: var(--gcds-text-light) !important;
                text-decoration-thickness: var(--gcds-footer-link-underline-thickness) !important;
                text-underline-offset: var(--gcds-footer-link-underline-offset) !important;
                text-underline-position: from-font !important;
            }
        }
    }
}

/* custom classes end */




/* gcds footer */
.gcds-footer__main {
    background: var(--gcds-fill-primary);
    padding: var(--gcds-spacing-450) 0 var(--gcds-spacing-450) 0 !important;
}

c-gcds-footer {
    margin-bottom: 0;
}

c-gcds-footer .gcds-footer__main .main__govnav>h3 {
    color: var(--gcds-footer-contextual-text);
}


community_layout-section:has(c-gcds-footer) {
    --dxp-c-section-columns-max-width: none;
    --dxp-c-l-max-content-width: none;
    --dxp-c-max-content-width: none;
    --dxp-s-section-columns-max-width: none;
}

community_layout-section:has(c-gcds-footer) .columns-content {
    max-width: none !important;
    width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

h3#govnav__heading-23,
h3#govnav__heading-25 {
    color: var(--gcds-footer-main-text) !important;

    @media (max-width: 640px) {}
}

.gcds-footer__main nav.main__govnav::after {
    content: "" !important;
    display: block !important;
    border-block-end: var(--gcds-footer-main-nav-after-border-width) solid var(--gcds-footer-main-nav-after-border-color) !important;
    width: var(--gcds-footer-main-nav-after-effect-width) !important;
    margin: var(--gcds-footer-grid-gap) 0 !important;
}

.main__container nav .gcds-link-wrapper .gcds-link,
.contextual__container .contextual__list {
    color: var(--gcds-footer-link-color) !important;
    font: var(--gcds-footer-font) !important;
    text-decoration: none !important;
}

.gcds-footer__sub .sub__container ul li a {
    /*color: var(--gcds-primary-gray-text-color) !important;*/
    font: var(--gcds-footer-font) !important;
    text-decoration: none !important;
    list-style: circle;
}

.gcds-footer__contextual .contextual__container ul li a {
    color: var(--gcds-primary-gray-text-color) !important;
    font: var(--gcds-footer-font) !important;
    text-decoration: none !important;
}

@media (hover: hover) {
    .gcds-footer__sub .sub__container ul li a:hover:not(.variant-light) {
        color: var(--gcds-link-hover) !important;
        text-decoration: underline !important;
    }
}


/* gcds footer end */

/* download links */
/* a.download-link {
    color: var(---gcds-text-link-default);
    font-family: var(--typography-font-family-Text);
    font-size: var(--typography-font-size-desktop-text_fontsize);
    font-style: normal;
    font-weight: 400;
    line-height: var(--typography-line-height-desktop-text_lineheight);
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-color: var(---gcds-text-link-default);
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
    text-underline-position: from-font;

    @media(max-width:640px) {
        font-size: var(--typography-font-size-mobile-text_fontsize);
    }
}

a.download-link:hover {
    color: var(--gcds-link-hover);
}

a.download-link:visited {
    color: var(--gcds-link-visited-color);
}

a.download-link:focus {
    color: var(--gcds-link-focus-text) !important;
    border-radius: var(--gcds-button-border-radius);
    padding: 10px;
    background-color: #0535D2 !important;
    text-decoration-color: var(--gcds-text-link-default) !important;
} */

/* download links end */

/* dropdown trigger */

.dropdown-trigger {
    /*c-visp-claim-application-main c-visp-vaccination-details form c-visp-vaccine-multi-select .multi-select-container .dropdown-trigger*/
    width: 480px;
    height: 48px;


    @media (max-width: 640px) {
        width: 290px;
    }
}

@media (max-width: 640px) {

    /*c-visp-vaccine-multi-select .multi-select-container*/
    .dropdown-trigger .trigger-text {
        font-size: 14px;
    }

    /* c-visp-claim-application-main .wizard-container c-visp-vaccination-details .gc-container form c-visp-vaccine-multi-select .multi-select-container  */
    .dropdown-trigger input.search-input {
        width: 205px;
    }

    c-visp-vaccination-details form c-visp-vaccine-multi-select .multi-select-container .search-bar input.search-input {
        width: 90%;
    }
}

/* dropdown trigger end */



/* will remove later */
c-visp-demographic-information form c-gcds-checkboxes .gcds-checkboxes__fieldset .gcds-checkbox label {
    /* margin: -8px 0 0 0 !important; */
}

/* .mt-600.mb-300 {
    margin: 0 !important;
} */

c-visp-claim-view-section {
    /* padding: 2rem 1rem; */
}

/* accordion starts */
.accordion-content.expanded .content-wrapper .claimant-message {
    border: none;
}

/* accordion end */

/* file drop */
lightning-primitive-file-droppable-zone.slds-file-selector__dropzone {
    border-radius: var(--gcds-button-border-radius);
    margin-top: -3rem;
    border: 2px solid var(--button-secondary-text-default);
    background: var(--colour-gray-0);
    padding: var(--gcds-space-125) var(--gcds-space-150);


    &:hover {
        cursor: pointer;
        background: var(--gcds-button-secondary-hover-background);
    }

    &:focus,
    &:focus-within {
        background: var(--gcds-button-shared-focus-background);
        color: var(--gcds-button-shared-focus-text) !important;
        border-radius: var(--gcds-button-border-radius);
        outline: var(--gcds-button-shared-focus-outline-width) solid var(--gcds-button-shared-focus-background);
        border: 3px solid var(--gcds-text-light) !important;
        box-shadow: var(--gcds-button-shared-focus-box-shadow);
        /* outline-offset: var(--gcds-button-border-width) !important; */
    }

}

lightning-primitive-file-droppable-zone.slds-file-selector__dropzone:focus-within .slds-file-selector__button {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
}

label.slds-file-selector__body span.slds-file-selector__button:hover {
    cursor: pointer;
}


lightning-primitive-file-droppable-zone.slds-file-selector__dropzone:focus .slds-file-selector__button,
lightning-primitive-file-droppable-zone.slds-file-selector__dropzone:focus .slds-file-selector__text,
lightning-primitive-file-droppable-zone.slds-file-selector__dropzone:focus-within .slds-file-selector__button,
lightning-primitive-file-droppable-zone.slds-file-selector__dropzone:focus-within .slds-file-selector__text {
    color: var(--gcds-text-light) !important;
}

label span.slds-file-selector__text {
    display: none;
}

label span.slds-file-selector__button.slds-button.slds-button_neutral {
    color: var(--button-secondary-text-default);
    font-family: var(--typography-font-family-Text);
    font-size: var(--typography-font-size-desktop-text_fontsize);
    font-style: normal;
    font-weight: 500;
    line-height: var(--typography-line-height-desktop-text-small_lineheight);
    border: none !important;
    background: none;
}

lightning-primitive-file-droppable-zone .slds-file-selector__input[disabled]~.slds-file-selector__body>.slds-file-selector__button {
    background: transparent !important;
}

/* file drop end */

/* error summary */

.gcds-error-summary {
    padding: var(--gcds-error-summary-padding);
    margin: var(--gcds-error-summary-margin);
    border: var(--gcds-error-summary-border-width) solid var(--gcds-error-summary-border-color);
    color: var(--gcds-error-summary-text);
    background-color: white;
    /* Ensure bg is white */
}

.summary__listitem {
    max-width: var(--gcds-error-summary-max-width);
    /* Override link colors locally */
    --gcds-link-default: #d3080c;
    --gcds-link-focus-background: #0535d2;
    --gcds-link-focus-text: #ffffff;
}

.summary__listitem:not(:last-child) {
    padding-bottom: var(--gcds-error-summary-list-item-padding);
}

/* error summary */


/* ============== */

.multi-select-container {
    font-family: 'Noto Sans', sans-serif;
    max-width: 100%;
}

.gcds-label {
    display: block;
    font-weight: 700;
    margin-bottom: 0.25rem;
    color: #333;
}


/* .gcds-hint {
    font-size: 0.875rem;
    color: #555;
    margin-bottom: 0.5rem;
} */

/* Dropdown Trigger */
.dropdown-trigger {
    border: 1px solid #333;
    padding: 0.5rem 1rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    background: #fff;
    margin-bottom: 1rem;
}

/* Content Box */
.dropdown-content {
    background-color: #f5f5f5;
    /* Light grey background */
    padding: 1.5rem;
    border: 1px solid #ddd;
}

/* Search Bar */
.search-bar {
    display: flex !important;
    align-items: stretch !important;
    margin-bottom: 1.5rem !important;
    max-width: 400px !important;
    height: 38px !important;
}


/* Options Grid */
/* Options Grid Wrapper - Handles scrolling */
.options-grid {
    max-height: 400px;
    overflow-y: auto;
    margin-bottom: 1.5rem;
}

/* Target Light DOM internals of c-gcds-checkboxes */
.options-grid .gcds-checkboxes__fieldset

/* .gcds-checkboxes-wrapper .gcds-checkboxes__fieldset */
    {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    /* 4 Columns */
    gap: 1.5rem 1rem;
    border: 0;
    padding: 0;
    margin: 0;
    min-inline-size: auto;
}

.gcds-checkboxes-wrapper {
    .gcds-checkboxes__fieldset {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 1.5rem 1rem;

        .gcds-checkboxes__legend,
        .gcds-hint-wrapper {
            grid-column: 1 / -1;
        }
    }
}

@media (max-width: 992px) {

    .options-grid .gcds-checkboxes__fieldset,
    .gcds-checkboxes-wrapper .gcds-checkboxes__fieldset {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 576px) {

    .options-grid .gcds-checkboxes__fieldset,
    .gcds-checkboxes-wrapper .gcds-checkboxes__fieldset {
        grid-template-columns: 1fr;
    }
}

.selected-options-summary .gcds-checkboxes__fieldset {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 2rem 1.5rem !important;
    border: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}

.selected-options-summary .gcds-checkboxes__fieldset>legend,
.selected-options-summary .gcds-checkboxes__fieldset>.gcds-checkboxes__legend {
    display: none !important;
}

/* Custom Checkbox */
.checkbox-item {
    display: flex;
    align-items: center;
}

.custom-checkbox-input {
    display: none;
    /* Hide default */
}

.custom-checkbox-label {
    display: flex;
    align-items: center;
    cursor: pointer;
    font-size: 1rem;
}

.checkmark {
    width: 24px;
    height: 24px;
    border: 2px solid #555;
    margin-right: 10px;
    background-color: #fff;
    display: inline-block;
    position: relative;
    flex-shrink: 0;
}

/* Checked State */
.custom-checkbox-input:checked+.custom-checkbox-label .checkmark {
    border-color: #284162;
    /* Blue border */
    box-shadow: 0 0 0 2px #fff inset;
    /* visual spacing if needed */
}

.custom-checkbox-input:checked+.custom-checkbox-label .checkmark::after {
    content: '';
    position: absolute;
    left: 7px;
    top: 3px;
    width: 6px;
    height: 12px;
    border: solid #284162;
    border-width: 0 3px 3px 0;
    transform: rotate(45deg);
}

/* Focus State for accessibility usually required */
.checkbox-item:focus-within .checkmark {
    outline: 2px solid #3b99fc;
    outline-offset: 2px;
}

.footer-actions {
    text-align: left;
}

.search-icon {
    width: 24px;
    height: 24px;
    filter: brightness(0) invert(1);
    /* Make icon white */
    display: block;
}

.search-input-wrapper {
    flex-grow: 0;
    height: 42px;
}

@media(max-width:640px) {
    .search-input-wrapper {
        width: auto;
        min-width: 210px;
        margin-top: 0.3rem;
    }
}

.search-button-wrapper {
    flex-shrink: 0;
}

/* .gcds-button {
    border-radius: 0 !important;
} */


.accordion-section {
    background: #FFFFFF;
    border-bottom: 1px solid #D8D8D8;
    /* Example separator */
    margin-bottom: 0;
}

.accordion-header {
    display: flex;
    align-items: baseline;
    width: 100%;
    padding: 12px 16px 12px 8px;
    /* Top Right Bottom Left */
    background: none;
    border: none;
    cursor: pointer;
    text-align: left;
    font-size: 1rem;
    /* Adjust based on typography */
    font-weight: 700;
    /* Bold title */
    color: #333333;
    /* Text color */
    gap: 8px;
    /* Gap between icon and text */
}

.accordion-header:hover {
    background-color: #F5F5F5;
}

.accordion-header:focus {
    outline: 2px solid #005695;
    /* Accessibility focus */
    outline-offset: -2px;
}

.accordion-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
}

.accordion-title {
    /* flex-grow: 1; Removed to allow actions to sit next to title */
}

.accordion-content {
    overflow: hidden;
    transition: max-height 0.3s ease-out;
}

.accordion-content.collapsed {
    max-height: 0;
    display: none;
    /* Hide completely when collapsed */
}

.accordion-content.expanded {
    display: block;
    /* padding: 0 16px 16px 40px; */
    padding: 16px;
    border-top: 1px solid #EAEAEA;
}

/* ============== */