/* ==========================================================================
    FONTS
    -------------------------------------------------------------------------
    LAYOUTS
    -------------------------------------------------------------------------
    XXX

    ELEMENTS
    -------------------------------------------------------------------------
    Brand
      : Icons (Override/complement)
      : Logo
        : Event (New)
    Indicators
      : Date (New)
    Grid
        : Dividers (Override/complement)

    COMPONENTS
    -------------------------------------------------------------------------
    Banner
        : Main (Override/complement)
    NavBar
        : Header (Override/complement)
    Footer
    Cards
      : Articles as cards (Override/complement)
      : Tables as cards (Override/complement)
      : Result (Override/complement)
    Buttons
      : Primary (Override/complement)
      : Secondary (Override/complement)
    Inputs
      : Select (Override/complement)
    Links
    Action Icons
      : Search/Toggle (Override/complement)
    WIDGETS
      : Cookies (Override/complement)
    -------------------------------------------------------------------------
    XXX

    MODULES
    -------------------------------------------------------------------------
    XXX

    PAGETYPES
    -------------------------------------------------------------------------
    Details
      : Article (Override/complement)
      : Form (Override/complement)
    Search jobs
      : Cards
        : Result (Override/complement)

    UTILITIES
    -------------------------------------------------------------------------
    Wizards
      Labels
========================================================================== */

/*
    FONTS
*/

@font-face {
    font-family: "Futura PT";
    src: url("../fonts/futura-pt_bold.woff") format("woff");
    font-weight: 900;
}

/*
    ELEMENTS/Brand: Icons (Override/complement)
*/

.article__header__text__subtitle [data-tc-icon] {
    --t-tc--icon--display: block;

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.article__header__text__subtitle [data-tc-icon]:before {
    align-content: center;
}

/*
    ELEMENTS/Brand: Logo: Event (New)
*/

.logo--event {
    --t-tc--logo--width: auto;
    --t-tc--logo--height: var(calc(var(--t-gs--size--base) * 14));

    background-image: unset; /* to be deleted when we get to v23.2 */
}

/*
    ELEMENTS/Brand: Logo: Event (Within COMPONENTS/Cards: Articles as cards)
*/

.article--card .logo--event {
    --t-tc--logo--height: calc(var(--t-tc--card__banner--height) - (2 * var(--t-tc--card--padding--outers)));
}

/*
    ELEMENTS/Indicators: Date (New)
*/

.date {
    --t-tc--date--border--color: var(--custom--BrandNeutral04);
    --t-tc--date--background--color: var(--t-gs--swatch--neutral--100);
    --t-tc--date--text--color: var(--custom--BrandNeutral05);
    --t-gs--border--radius--default: var(--t-gs--size--base);

    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    box-shadow: var(--t-gs--shadow--s);
    border-radius: var(--t-gs--border--radius--default);
    border-width: .1rem;
    border-style: solid;
    border-color: var(--t-tc--date--border--color);
    inline-size: calc(var(--t-gs--size--base) * 15);
    block-size: calc(var(--t-gs--size--base) * 18.5);
    background-color: var(--t-tc--date--background--color);
    padding: var(--t-gs--space--xxs) var(--t-gs--space--xxs);
    color:var(--t-tc--date--text--color);
    font-family: var(--t-gs--font--family--emphasis);
    font-weight: var(--t-gs--font--weight--bold);
}

.date:before,
.date:after {
    content: '';
    position: absolute;
    inset-block-start: 30%;
    transform: translateY(-50%);
    block-size: .01rem;
    inline-size: calc(var(--t-gs--size--base) * 15 - 1px);
    background-color: var(--t-tc--date--text--color);
}

.date:before {
    inset-inline-start: 0
}

.date:after {
    inset-inline-end: 0
}

.date__day {
    font-size: var(--t-gs--font--size--04);
    text-transform: uppercase;
}

.date__number {
    font-size: var(--t-gs--font--size--13);
    line-height: normal;
    font-weight: var(--t-gs--font--weight--bold);
}

/*
    ELEMENTS/Grid: Dividers (Override/complement)
*/

.grid--dividers>.grid__item {
    --t-tc--grid--dividers--gap--row: calc(var(--t-gs--space--base) * 8);
}

.grid--dividers {
    margin-block-start: 0;
}

/*
    COMPONENTS/Banner: Main (Override/complement)
*/

.body {
    --t-tc--banner--height: calc(var(--t-gs--size--base) * 38.5);
}

.banner {
    --t-tc--title--font--color: var(--custom--White);
    --t-tc--banner--font--color: var(--custom--White);
    --t-tc--thumbnail--border--width: var(--t-gs--border--width--0);
}

.banner .banner__text__title {
    --t-tc--title--font--size: 5.5rem;
}

.banner .banner__text__subtitle {
    font-size: var(--t-gs--font--size--07);
}

@media (width >= 751px) {
    .body--banner-fixed-on-scroll.body--header-fixed-on-scroll .banner--main .banner__text__title {
        --t-tc--title--font--size: 4.5rem;
    }
}

/* Media query to target only tablet */
@media all and (min-width:751px) and (max-width:1024px) {
    :root {
        --t-tc--banner--background--image--position: center bottom;
        --t-tc--banner--height: calc(var(--t-gs--size--base) * 38);
    }
    .banner .banner__text__subtitle {
        font-size: var(--t-gs--font--size--06);
    }

}

/* Media query to target tablet and mobile */
@media all and (max-width:1024px) {
    .banner .banner__text__title {
        --t-tc--title--font--size: 4.5rem;
    }

}

/* Media query to target only mobile */
@media all and (max-width:750px) {
    :root {
        --t-tc--banner--height: calc(var(--t-gs--size--base) * 36);
    }
    .banner .banner__text__subtitle {
        font-size: var(--t-gs--font--size--05);
    }
}

/*
    COMPONENTS/NavBar: Header (Override/complement)
*/

.menu--visible,.menu--toggleable {
    --t-tc--menu__link--font--size: 1.5rem;
    --t-tc--menu__link--font--weight: var(--t-gs--font--weight--regular);
    --t-tc--menu__link--font--color: var(--custom--BrandNeutral05);

    --t-tc--submenu__link--font--size: 1.5rem;
    --t-tc--submenu__link--font--weight: var(--t-gs--font--weight--regular);
    --t-tc--submenu__link--font--color: var(--custom--BrandNeutral05);
}

.menu--visible .menu__link,.menu--toggleable .menu__link,.menu--toggleable .submenu__link {
    text-transform: uppercase;
}

.menu--toggleable .menu__link:focus {
    outline-width: 0;
}

.menu--visible .menu__link[aria-haspopup="true"]:hover,.menu--visible .menu__link[aria-haspopup="true"][aria-expanded="true"],.menu--visible .menu__item:hover .menu__link[aria-haspopup=true],.menu--visible .menu__item:not([aria-current="page"]):hover .menu__link {
    --t-tc--menu__link--font--color: var(--custom--font-BrandNeutral03);
    --t-tc--menu__link--border--width: calc(var(--t-gs--size--base) * 0.75);
    border-block-end-color: var(--t-gs--swatch--link--050);
    --t-tc--menu__link--border--radius: var(--t-gs--border--radius--0);
    border-left: 0;
    border-right: 0;
    border-top: 0;
    box-sizing: border-box;
}

.menu--visible .menu__item:hover .menu__link[aria-haspopup="true"][aria-expanded="true"]{
    border-block-end-color: var(--t-gs--swatch--link--050);
}

.menu--visible .submenu__list {
    position: absolute;
    top: 100%;
    left: 0;
    padding-top: var(--t-gs--size--base);
}

.menu--visible .menu__item:hover .menu__link[aria-haspopup="true"], .menu--visible .menu__item:hover .menu__link[aria-haspopup="true"] + .submenu__list, .menu--visible .menu__link[aria-haspopup="true"][aria-expanded="true"], .menu--visible .menu__link[aria-haspopup="true"][aria-expanded="true"] + .submenu__list {
    --t-tc--menu__link--border--radius: var(--t-gs--border--radius--0);
    --t-tc--menu__link--border--color: var(--t-gs--color--border--transparent);
    --t-tc--menu__link--background--color: var(--t-gs--color--border--transparent);
}

.menu--visible .submenu__link, .menu--visible .portalLanguages__link {
    --t-tc--submenu__link--background--color: var(--custom--BrandPrimary);
    --t-tc--submenu__link--font--color: var(--custom--White);
    --t-tc--submenu__link--font--weight: var(--t-gs--font--weight--bold);
}

.menu--visible .submenu__item:not([aria-current="page"]):hover .submenu__link, .menu--visible .portalLanguages__item:not(.portalLanguages__item--selected):hover .portalLanguages__link {
    --t-tc--submenu__link--background--color: var(--custom--BrandSecondary);
    --t-tc--submenu__link--font--color: var(--custom--BrandNeutral05);
}

.menu--visible .submenu__item[aria-current="page"] .submenu__link, .menu--visible .portalLanguages__item--selected .portalLanguages__link {
    --t-tc--submenu__link--background--color: var(--custom--White);
    --t-tc--submenu__link--font--color: var(--custom--BrandNeutral05);
}
.menu--toggleable .menu__item:not([aria-current="page"]):hover .menu__link {
    --t-tc--menu__link--font--color: var(--custom--BrandNeutral03);
    --t-tc--menu__link--background--color: var(--custom--White);
}
.menu--toggleable .menu__item:not([aria-current="page"]):hover .menu__text {
    border-bottom: calc(var(--t-gs--size--base) * 0.75);
    border-style: solid;
    border-color: var(--t-gs--swatch--link--050);
    border-radius: var(--t-gs--border--radius--0);
}

.menu--toggleable .menu__item:not([aria-current="page"]):hover .menu__link[aria-haspopup="true"] .menu__text {
    flex-grow: 1;
}

.menu--toggleable .menu__item:not([aria-current="page"]):hover .menu__link:not([aria-haspopup="true"]) .menu__text {
    flex-grow: 0;
}

.menu--toggleable .menu__item[aria-current="page"]:hover > .menu__link[aria-expanded="true"] .menu__text,
.menu--toggleable .menu__item[aria-current="page"]:hover > .menu__link[aria-expanded="false"] .menu__text {
    border-bottom: calc(var(--t-gs--size--base) * 0.75);
    border-style: solid;
    border-color: var(--t-gs--swatch--link--050);
    border-radius: var(--t-gs--border--radius--0);
}

.menu--toggleable .submenu__item:not([aria-current="page"]):hover .submenu__link, .menu--toggleable .portalLanguages__item:not(.portalLanguages__item--selected):hover .portalLanguages__link {
    --t-tc--submenu__link--background--color: var(--custom--White);
    --t-tc--submenu__link--font--color: var(--custom--BrandNeutral03);
}

.menu--toggleable .submenu__item:not([aria-current="page"]):hover .submenu__text {
    border-bottom: calc(var(--t-gs--size--base) * 0.75);
    border-style: solid;
    border-color: var(--t-gs--swatch--link--050);
    border-radius: var(--t-gs--border--radius--0);
    flex-grow: 0;
}

.menu__link[aria-haspopup=true] .menu__text {
    max-width: 15rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: inline-block;
}

/*
    COMPONENTS/Footer (Override/complement)
*/

.footer {
   --t-tc--footer--background--color: var(--custom--BrandAccent);
   --t-tc--footer--font--color: var(--custom--White);
}

.footer__links__item.link {
    --t-gs--color--text--link: var(--custom--White);
}

.footer__links__item.link:hover {
    --t-gs--color--text--link: var(--custom--White);
}

.footer__links__divider {
    margin-inline-start: var(--t-gs--space--m);
    margin-inline-end: var(--t-gs--space--m);
}

/*
    COMPONENTS/Cards: Articles as cards (Override/complement)
*/

.article--card .article__banner {
    --t-tc--card__banner--height: calc(var(--t-gs--size--base) * 25);
    --t-tc--card__banner--background--color: var(--t-gs--color--surface--brand);
}

.article--card .article__banner {
    position: relative;
    inline-size: 100%;
    block-size: var(--t-tc--card__banner--height);
    background-color: var(--t-tc--card__banner--background--color);
}

.article--card .article__banner__image {
    position: absolute;
    inset-block-start: 0;
    inset-inline-end: 0;
    inset-block-end: 0;
    inset-inline-start: 0;
    background-image: var(--t-tc--card__banner--background--image);
    background-position: center bottom;
    background-size: cover;
}

.article--card .article__banner__logo {
    position: absolute;
    inset-block-start: var(--t-tc--card--padding--outers);
    inset-inline-end: var(--t-tc--card--padding--outers);
    z-index: 1;
}

.article--card .article__banner__date {
    position: absolute;
    inset-block-end: calc(-1 * var(--t-tc--card--padding--outers));
    inset-inline-start: var(--t-tc--card--padding--outers);
}

.article--card .article__banner + .article__header .article__header__text {
    padding-block-start: calc(2 * var(--t-tc--card--padding--outers));
    text-transform: uppercase;
}

.article--card .article__banner + .article__header .article__header__text .link {
    height: calc(var(--t-gs--size--base) * 12);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
}

.article--card .article__banner + .article__header .article__header__text .link:hover {
    text-decoration: none;
    text-decoration-color: transparent;
}

.article--card .article__header__text__subtitle {
    margin-block-start: var(--t-tc--card--padding--inners);
}

.article--card .article__header__text__subtitle > * + * {
    margin-block-start: var(--t-gs--space--xs);
}

.article--card .article__footer * {
    white-space: nowrap;
}

.article--card .article__footer *:first-child {
    text-overflow: ellipsis;
    overflow: hidden;
}

.article--card .button--secondary:hover {
    text-decoration: none;
    text-decoration-color: transparent;
    --t-gs--color--text--link: var(--custom--BrandTiertiary);
}

/*
    COMPONENTS/Cards: Tables as cards (Override/complement)
*/

.table--cards tbody tr td:nth-child(n+2):not(:last-child):not(:nth-last-child(2)) {
    padding-block-end: calc(var(--t-tc--card--padding--inners)*.5);
}

.table--cards tbody tr td[data-th]:nth-child(n+2):not(:last-child):before {
    content: attr(data-th)": ";
    display: inline-block;
}

.table--cards tbody tr td:nth-child(2) {
    border-block-start-width: var(--t-tc--card--border--width);
    border-block-start-style: solid;
    border-block-start-color: var(--t-tc--card--border--color);
    padding-block-start: var(--t-tc--card--padding--inners);
}

.table--cards tbody tr td:nth-child(3) {
    border-block-start-width: 0;
    padding-block-start: calc(var(--t-tc--card--padding--inners)*.5);
    padding-block-end: var(--t-tc--card--padding--inners);
}

.table--cards tbody tr td:nth-child(n+3):not(:last-child) {
    padding-block-start: calc(var(--t-tc--card--padding--inners)*.5);
}

.table--cards tbody tr>:first-child {
    block-size: auto;
    padding-block-end: var(--t-tc--card--padding--inners);
}

/*
    COMPONENTS/Cards: Result (Override/complement)
*/

.article--result {
    --t-tc--result__banner--height: calc(var(--t-gs--size--base) * 10);
    --t-tc--result__banner--background--color: var(--t-gs--color--surface--brand);
}

.article--result .article__banner {
    position: relative;
    inline-size: 100%;
    block-size: var(--t-tc--result__banner--height);
    background-color: var(--t-tc--result__banner--background--color);
}

.article--result .article__banner__image {
    position: absolute;
    inset-block-start: 0;
    inset-inline-end: 0;
    inset-block-end: 0;
    inset-inline-start: 0;
    background-image: var(--t-tc--result__banner--background--image);
    background-position: center bottom;
    background-size: cover;
}

.article--result .article__banner__logo {
    position: absolute;
    inset-block-start: var(--t-tc--card--padding--outers);
    inset-inline-end: var(--t-tc--card--padding--outers);
}

.article--result .article__banner__date {
    position: absolute;
    inset-block-end: calc(-1 * var(--t-tc--card--padding--outers));
    inset-inline-start: var(--t-tc--card--padding--outers);
}

.article--result .article__banner + .article__header {
    padding-block-start: calc(2 * var(--t-tc--card--padding--outers));
}

.article--result .article__header__text__subtitle {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    margin-block-start: var(--t-tc--result--padding--inners--v);
}

.article--result .article__header__text__subtitle > * + * {
    margin-inline-start: var(--t-gs--space--xs);
}

/*
    COMPONENTS/Buttons
*/

.button,.saveButton,.cookiesButton {
    text-transform: uppercase;
}

.button-bar__wrap {
    --t-tc--button-bar--rows--gap: var(--t-gs--space--m);
}

/*
    COMPONENTS/Buttons: Secondary (Override/complement)
*/

.button.button--secondary:active,.downloadAttachmentsButton:active {
    --t-tc--buttons--outline--width: 0;
    --t-tc--buttons--border--color: var(--custom--BrandPrimary);
    --t-tc--buttons--border--width: calc(var(--t-gs--size--base) * 0.75);
}

.downloadAttachmentsButton {
    --t-tc--buttons--background--color: var(--custom--White);
    --t-tc--buttons--font--color: var(--custom--BrandPrimary);
    --t-tc--buttons--border--color: var(--custom--BrandPrimary);
    --t-tc--buttons--border--width: calc(var(--t-gs--size--base) * 0.75);
}

.downloadAttachmentsButton:hover {
    text-decoration-color:transparent;
    --t-tc--buttons--background--color: var(--custom--BrandSecondary);
    --t-tc--buttons--font--color: var(--custom--BrandPrimary);
    --t-tc--buttons--border--color: var(--custom--BrandPrimary);
}

.downloadAttachmentsButton:focus {
    --t-tc--buttons--background--color: var(--custom--BrandSecondary);
    --t-tc--buttons--font--color: var(--custom--BrandPrimary);
    --t-tc--buttons--border--color: var(--custom--Black);
}

.search--visible .form--grid .Section {
    display: flex;
    align-items: end;
}

/* Media query to target mobile and tablet */
@media all and (max-width:1024px) {
    .search--visible .form--grid .Section {
        display: un;
    }
}

/*
    COMPONENTS/Inputs: Select (Override/complement)
*/

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    --t-tc--fields--background--color:var(--custom--BrandPrimary);
    --t-tc--fields--font--color:var(--custom--White);
}

/*
    COMPONENTS/Links (Override/complement)
*/

.link:hover, .list-controls__pagination__item:not(.currentPageLink):hover {
    --t-gs--color--text--link: var(--custom--BrandNeutral05);
    text-decoration: none;
    text-decoration-color: transparent;
}

.link--error {
    color: var(--custom--BrandPrimary);
}

.card__title .link {
    --t-gs--color--text--link: var(--custom--black);
}

.card__title .link:hover {
    --t-gs--color--text--link: var(--custom--BrandPrimary);
}

/*
    COMPONENTS/Action Icons: Search/Toggle (Override/complement)
*/

.toggle.toggle--search,.toggle.toggle--menu {
    --t-tc--toggle--background--color: var(--custom--BrandNeutral01);
}

.toggle.toggle--search:hover,.toggle.toggle--menu:hover {
    --t-tc--toggle--background--color: var(--custom--BrandSecondary);
    --t-tc--toggle--font--color: var(--custom--BrandNeutral03);
}

.toggle.toggle--search:focus {
    --t-tc--toggle--background--color: var(--custom--BrandSecondary);
    --t-tc--toggle--font--color: var(--custom--BrandNeutral03);
    --t-gs--color--outline--link: var(--custom--Black);
    outline-width: var(--t-gs--border--width--m);
    outline-style: solid;
}

/*
    WIDGETS/Cookies (Override/complement)
*/
cookie-banner-widget {
    --a-cookieBannerWidget-wrapper-background-color: var(--custom--BrandNeutral05);
    --a-cookieBannerWidget-text-color: var(--custom--White);

    --a-cookieBannerWidget-rejectAllButton-background-color: transparent;
}

.cookiesButton {
    font-weight: 900;
    border-width: calc(var(--t-gs--size--base) * 0.75);
    border-style: solid;
}

.cookiesButton i:before{
    color: var(--custom--BrandPrimary);
}

/*
    MODULES/XXX
*/

/*
    PAGETYPES/Details: Article (Override/complement)
*/
@media (width <= 750px) {
    .section--details .section__header {
        gap: var(--t-gs--space--m);
    }
}

/* Media query to target mobile and tablet */
@media all and (max-width:1024px) {
    .aside .article:not(.article--actions) {
        border-block-start-width: var(--t-gs--border--width--s);
        border-block-start-style: solid;
        border-block-start-color: var(--t-gs--color--border--default);
        padding-block-start: var(--t-gs--space--l);
    }

}

/* Media query to target only tablet */
@media all and (min-width:751px) and (max-width:1024px) {
    .aside .article:not(.article--actions) .title {
        --t-tc--title--font--size: var(--t-gs--font--size--07);
    }

    .aside .article:not(.article--actions) .article__header + .article__content {
        margin-block-start: var(--t-gs--space--m);
    }

}

/*
    PAGETYPES/Details: Form (Override/complement)
*/

/* Media query to target only tablet */
@media all and (min-width:751px) and (max-width:1024px) {
    .aside .form--step1 .Section {
        margin-inline-start: calc(-1 * var(--t-tc--grid--columns--gap));
        margin-block-end: calc(-1 *var(--t-tc--fieldSpec--padding--outers));
    }

    .aside .form--step1 .Section + .Section {
        margin-block-start:var(--t-tc--fieldSpec--padding--outers);
    }

    .aside .form--step1 .Separator {
        padding-inline-start: var(--t-tc--grid--columns--gap);
    }

    .aside .form--step1 .fieldSpec {
        float: inline-start;
        padding-inline-start: var(--t-tc--grid--columns--gap);
        clear: none;
    }

    .aside .form--step1 .fieldSpec {
        inline-size: 50%;
    }

    .aside .form--step1 .fieldSpec:nth-of-type(2n+1) {
        clear: both;
    }

    .aside .form--step1 .Separator ~ .fieldSpec:nth-of-type(2n+1) {
        clear: none;
    }

    .aside .form--step1 .Separator ~ .fieldSpec:nth-of-type(2n+2) {
        clear: both;
    }

    .aside .form--step1 .fieldSpec.button-bar {
        padding-block-start: var(--t-gs--space--0);
        padding-block-end:var(--t-tc--fieldSpec--padding--outers)
    }

    .aside .form--step1 .fieldSpec.button-bar legend {
        display: none
    }

    .aside .form--step1 .fieldSpec.button-bar:before {
        content: "\00a0 ";
        display: block;
        inline-size: 100%;
        padding-block-end:var(--t-tc--fieldSpec--padding--inners)
    }

}

/*
    PAGETYPES/Search jobs: Cards: Result (Override/complement)
*/

.section--search-jobs .article--result {
    --t-tc--result--border--radius: var(--t-gs--border--radius--0);
    --t-tc--result--padding--outers--h: var(--t-gs--space--0);
}

.section--search-jobs .article--result + .article--result {
    margin-block-start: var(--t-gs--space--0);
}

.section--search-jobs .article--result + .article--result:before {
    content: '';
    position: absolute;
    inset-block-start: 0;
    inset-inline-end: 0;
    inset-inline-start: 0;
    border-block-start-width: var(--t-gs--border--width--s);
    border-block-start-style: solid;
    border-block-start-color: var(--t-gs--color--border--default);
}

/*
    UTILITIES/Wizards: Labels
*/

.article--details .article__content__view__field__label, .article--details .MultipleDataSetFieldLabel,.tc_formLabel:has(>.screenReaderVisibility:only-child) {
    padding-block-end: var(--t-gs--space--s);
}