/* ==========================================================================
    LAYOUTS
    -------------------------------------------------------------------------
    Section
      : Action next to title (Override/complement)
      : Tabs in header (Override/complement)
      : Static pages (Override/complement)

    ELEMENTS
    -------------------------------------------------------------------------
    Buttons
      : Main
        : Primary (Override/complement)
    Indicators
      : Date (New)
      : Pills (New)
        : Good (New)
        : Great (New)
        : Skills (New)
        : Strong (New)

    COMPONENTS
    -------------------------------------------------------------------------
    Billboards
      : Articles as billboards (New)
    Tables
      : Articles as tables(Override/complement)
    Cards
      : Articles as cards (Override/complement)
    Signature
      : Articles as signatures (New)
    Lists
      : Skills (New)
    Navigation
      : Steps bar (Override/complement)
      : Tabs (Inverting clickable colors - commented and ready to use)
    Expandable

    WIDGETS
    -------------------------------------------------------------------------
    Attachment upload (New)
    Registered
      : Article (Override/complement)
    Search
      : Visible (Override/complement)

    MODULES
    -------------------------------------------------------------------------
    Banner
      : Home (New)
      : Secondary (New)
    Bottom banner
    Slider (New)
    Section

    PAGETYPES
    -------------------------------------------------------------------------
    Search jobs
      : Cards
        : Result (Override/complement)
    Static pages
      : Side images

    UTILITIES
    -------------------------------------------------------------------------
    XXX

    PLUGINS
    -------------------------------------------------------------------------
    Glightbox
========================================================================== */

/*
    LAYOUTS/Section: Action next to title (Override/complement)
*/

.section__header--action-next-to-title {
    align-items: baseline;
}

.section__header--action-next-to-title .section__header__text {
    flex-grow: 0;
}

/* Media query to target only mobile */
@media all and (max-width:750px) {
    .section__header--action-next-to-title {
        flex-direction: column;
        align-items: flex-start;
    }

    .section__header--action-next-to-title .section__header__text + .section__header__actions {
        margin-block-start: var(--t-gs--space--s2);
    }

}

/*
    LAYOUTS/Section: Tabs in header (Override/complement)
*/

.section__header.section__header--tabs + *:not([class*="--narrow"]) {
    margin-block-start: var(--t-gs--space--xl);
}

/*
    ELEMENTS/Buttons: Main: Primary (Override/complement)
    ↳ to be deleted when we get the Application Flow wizard properly configured
*/

/*
    LAYOUTS/Section: Share widget tablet/mobile (Override/complement)
*/

@media (width <= 1024px) {
    .aside:has(.list--share) .article--actions {
        & .article__content {
            inline-size: 50%;
            padding-inline-end: calc(var(--t-tc--grid--laterals) / 4);

            & .button-bar--cols-1 {
                --t-tc--button-bar__buttons--width: 100%;
            }
        }
    }
    .aside .article:has(.list--share) {
        display: flex;
        align-items: center;
        inset-inline-start: 50%;
        inline-size: 50%;
        padding-block-start: var(--t-gs--space--m);
        padding-block-end: var(--t-gs--space--m);
        padding-inline-end: var(--t-tc--grid--laterals);
        padding-inline-start: calc(var(--t-tc--grid--laterals) / 4);
        position: fixed;
        justify-content: center;
        z-index: 5;
        background-color: var(--t-gs--color--surface--transparent);
        inset-block-end: 0;
        gap: var(--t-gs--space--s);

        & .article__header {
            --t-tc--title--font--weight: 400;
            --t-tc--title--h9: var(--t-gs--font--size--03);
            inline-size: auto;
        }

        & .article__content {
            margin-block-start: var(--t-gs--space--0);
        }

        .list--share {
            gap: var(--t-gs--space--s);

            & .shareButton {
                inline-size: calc(var(--t-gs--size--base)* 7);
                block-size: calc(var(--t-gs--size--base)* 9);
                background-size: auto calc(var(--t-gs--size--base)* 7);

                &.shareButton--linkedin {
                    inline-size: calc(var(--t-gs--size--base)* 10);
                }
            }
        }
    }
}
@media (width <= 750px) {
    .aside:has(.list--share) .article--actions {
        padding-block-end: calc(var(--t-gs--size--base)* 18);
        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);

        & .article__content {
            inline-size: 100%;
            padding-inline-end: var(--t-gs--space--0);
        }
    }
    .aside .article:has(.list--share) {
        inset-inline-start: 0;
        inline-size: 100%;
    }
}

.gotoButton {
    --t-tc--buttons--border--color: var(--t-gs--color--border--on--fill--primary);
    --t-tc--buttons--background--color: var(--t-gs--color--fill--primary);
    --t-tc--buttons--font--color: var(--t-gs--color--text--on--fill--primary);
}

.gotoButton:hover {
    --t-tc--buttons--border--color: var(--t-gs--color--border--on--fill--primary--hover);
    --t-tc--buttons--background--color: var(--t-gs--color--fill--primary--hover);
    --t-tc--buttons--font--color: var(--t-gs--color--text--on--fill--primary--hover);
}

.gotoButton:focus,
.gotoButton:active {
    --t-tc--buttons--outline--width: var(--t-gs--border--width--m);
    --t-tc--buttons--border--color: var(--t-gs--color--border--on--fill--primary--focus);
    --t-tc--buttons--border--width: var(--t-gs--border--width--m);
    --t-tc--buttons--background--color: var(--t-gs--color--fill--primary--focus);
    --t-tc--buttons--font--color: var(--t-gs--color--text--on--fill--primary--focus);
}

.gotoButton.button--disabled,
.gotoButton:disabled {
    --t-tc--buttons--border--color: var(--t-gs--color--border--on--fill--primary--disabled);
    --t-tc--buttons--background--color: var(--t-gs--color--fill--primary--disabled);
    --t-tc--buttons--font--color: var(--t-gs--color--text--on--fill--primary--disabled);
}

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

:root {
    --t-tc--date--width: calc(var(--t-gs--size--base) * 15);
    --t-tc--date--height: calc(var(--t-gs--size--base) * 15);
    --t-tc--date--border--width: var(--t-gs--border--width--s);
    --t-tc--date--border--color: var(--t-gs--swatch--neutral--000);
    --t-tc--date--border--radius: var(--t-gs--border--radius--s);
    --t-tc--date--background--color: var(--t-gs--swatch--neutral--100);
    --t-tc--date--font--size: var(--t-gs--font--size--05);
    --t-tc--date--font--color: var(--t-gs--swatch--neutral--000);
}

.date {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border-radius: var(--t-tc--date--border--radius);
    border-width: var(--t-tc--date--border--width);
    border-style: solid;
    border-color: var(--t-tc--date--border--color);
    inline-size: var(--t-tc--date--width);
    block-size: var(--t-tc--date--height);
    background-color: var(--t-tc--date--background--color);
    color: var(--t-tc--date--font--color);
}

.date__day {
    font-size: var(--t-tc--date--font--size);
    font-weight: var(--t-gs--font--weight--bold);
    text-align: center;
    border-block-end-width: var(--t-tc--date--border--width);
    border-block-end-style: solid;
    border-block-end-color: var(--t-tc--date--font--color);
    inline-size: 100%;
}

.date__number {
    --t-tc--date--font--size: var(--t-gs--font--size--08);

    font-size: var(--t-tc--date--font--size);
    font-weight: var(--t-gs--font--weight--bold);
}

/* Media query to target only desktop */
@media all and (min-width:1025px) {
    html[data-animations="default"] {
        .article--card--event {
            .date {
                --t-tc--date--font--color--transition--duration: 0.3s;
                --t-tc--date--background--color--transition--duration: 0.3s;

                transition-property: background-color, color;
                transition-duration: var(--t-tc--date--font--color--transition--duration), var(--t-tc--date--background--color--transition--duration);
                transition-timing-function: ease-in-out, ease-in-out;
            }

            &:hover .date {
                --t-tc--date--background--color: var(--t-gs--swatch--link--040);
                --t-tc--date--border--color: var(--t-gs--swatch--link--040);
                --t-tc--date--font--color: var(--t-gs--swatch--neutral--100);

                border: none;
                box-sizing: content-box;
            }
        }
    }

}

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

:root {
    --t-gs--swatch--matching--hue: 160;
    --t-gs--swatch--matching--sat: 70%;
    --t-gs--swatch--matching--100: hsl(var(--t-gs--swatch--matching--hue) var(--t-gs--swatch--matching--sat) 100%);
    --t-gs--swatch--matching--095: hsl(var(--t-gs--swatch--matching--hue) var(--t-gs--swatch--matching--sat) 95%);
    --t-gs--swatch--matching--090: hsl(var(--t-gs--swatch--matching--hue) var(--t-gs--swatch--matching--sat) 90%);
    --t-gs--swatch--matching--070: hsl(var(--t-gs--swatch--matching--hue) var(--t-gs--swatch--matching--sat) 70%);

    --t-gs--color--fill--matching: var(--t-gs--swatch--matching--100);
    --t-gs--color--fill--matching--good: var(--t-gs--swatch--matching--095);
    --t-gs--color--fill--matching--great: var(--t-gs--swatch--matching--090);
    --t-gs--color--fill--matching--strong: var(--t-gs--swatch--matching--070);

    --t-tc--pill--border--color: var(--t-gs--swatch--neutral--000);
    --t-tc--pill--background--color: var(--t-gs--color--fill--matching);
}

.pill,
.list--pills .list .list__item span {
    display: inline;
    border-start-start-radius: var(--t-gs--border--radius--l);
    border-start-end-radius: var(--t-gs--border--radius--l);
    border-end-start-radius: var(--t-gs--border--radius--l);
    border-end-end-radius: var(--t-gs--border--radius--l);
    font-size: var(--t-gs--font--size--02);
    padding-block: var(--t-gs--space--xs);
    padding-inline: var(--t-gs--space--s);
    background-color: var(--t-tc--pill--background--color);
    font-weight: 400;
    vertical-align: middle;
}

.article--card .pill--matching {
    position: absolute;
    z-index: 2;
    inset-inline-start: 0;
    padding-inline: var(--t-gs--space--m2);
}

.results .article--card .pill--matching {
    position: relative;
    padding-inline: var(--t-gs--space--s);
}

/*
    ELEMENTS/Indicators: Pills (Within COMPONENTS/Cards: Articles as cards)
*/

/* Inside a card but 100% wide */
.article--full-pill .pill {
    position: absolute;
    z-index: 2;
    inset-inline-start: 0;
    inset-block-start: 0;
    border-start-start-radius: var(--t-gs--border--radius--0);
    border-start-end-radius: var(--t-gs--border--radius--0);
    border-end-start-radius: var(--t-gs--border--radius--0);
    border-end-end-radius: var(--t-gs--border--radius--0);
    padding-inline: var(--t-gs--space--m2);
}

/* Inside a card, in header regular flow */
.article--card .pill--skills,
.article--card .pill--blog {
    align-self:baseline;
    margin-block-start: var(--t-tc--card--padding--outers); /* replicating padding of header__content */
    margin-inline-start: var(--t-tc--card--padding--outers); /* replicating padding of header__content */
}

/*
    ELEMENTS/Indicators: Pills (Within WIDGETS/Details)
*/

.article--details .article__content__view__field.pill {
    padding-block-end: var(--t-gs--space--xs);
}

/*
    ELEMENTS/Indicators: Pills: Blog (New)
*/

.pill--blog {
    --t-tc--pill--border--color: var(--t-gs--color--border--brand);
    --t-tc--pill--background--color: var(--t-gs--color--surface--brand);
}

/*
    ELEMENTS/Indicators: Pills: Detail (New)
*/

.pill--detail {
    --t-tc--pill--border--color: var(--t-gs--color--border--brand);
    --t-tc--pill--background--color: var(--t-gs--color--surface--brand);

    display: inline-block;
    margin-block-end: var(--t-gs--space--s);
    border-width: var(--t-gs--border--width--s);
    border-style: solid;
    border-color: var(--t-tc--pill--border--color);
}

/*
    ELEMENTS/Indicators: Pills: Good (New)
*/

.pill--good {
    --t-tc--pill--background--color: var(--t-gs--color--fill--matching--good);
}

/*
    ELEMENTS/Indicators: Pills: Great (New)
*/

.pill--great {
    --t-tc--pill--background--color: var(--t-gs--color--fill--matching--great);
}

/*
    ELEMENTS/Indicators: Pills: Strong (New)
*/

.pill--strong {
    --t-tc--pill--background--color: var(--t-gs--color--fill--matching--strong);
}

/*
    ELEMENTS/Indicators: Pills: Skills (New)
*/

.pill--skills,
.pill--blog,
.list--pills .list .list__item span {
    border-width: var(--t-gs--border--width--s);
    border-style: solid;
    border-color: var(--t-tc--pill--border--color);
}

.pill--skills-b {
    border-width: var(--t-gs--border--width--s);
    border-style: dashed;
    border-color: var(--t-tc--pill--border--color);
}

/*
    ELEMENTS/Indicators: Pills: Cards (New)
*/
.pill--onCard{
    border-start-start-radius: var(--t-gs--border--radius--0);
    border-start-end-radius: var(--t-gs--border--radius--0);
    border-end-start-radius: var(--t-gs--border--radius--0);
    border-end-end-radius: var(--t-gs--border--radius--0);
}

/*
    COMPONENTS/Cards: Billboards (New)
*/

:root {
    --t-tc--billboard--height: calc(var(--t-gs--size--base) * 80);
    --t-tc--billboard--border--radius: var(--t-gs--border--radius--m);
    --t-tc--billboard--background--position: center center;
    --t-tc--billboard--transform--scale: 1.2;
    --t-tc--billboard--filter--blur: calc(var(--t-gs--size--base) * 2);
    --t-tc--billboard__content--line--height: calc(var(--t-gs--size--base) * 6);
    --t-tc--billboard__content--font--color: var(--t-gs--swatch--neutral--100);
    --t-tc--billboard__content--height--max: calc(var(--t-gs--size--base) * 50);
    --t-tc--billboard__after--background--color: var(--t-gs--swatch--link--040);
    --t-tc--billboard__after--opacity: 0.6;
    --t-tc--billboard__after--transform--scale: 3;
}

.article--billboard {
    position: relative;
    block-size: var(--t-tc--billboard--height);
    border-radius: var(--t-tc--billboard--border--radius);
    overflow: hidden;
}

.article--billboard .article__banner__image {
    position: absolute;
    inset-block-start: 0;
    inset-block-end: 0;
    inset-inline-start: 0;
    inset-inline-end: 0;
    object-fit: cover;
    z-index: -1;
    block-size: 100%;
    inline-size: 100%;
}

.article--billboard .article__wrapper {
    position: absolute;
    inset-block-end: 0;
    inset-inline-start: 0;
    inset-inline-end: 0;
    padding-block-end: var(--t-gs--space--s);
    padding-inline: var(--t-gs--space--l);
    z-index: 1;
    inline-size: initial;
}

.article--billboard .article__header__text__title {
    --t-tc--title--font--color: var(--t-gs--swatch--neutral--100);

    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.article--billboard .article__content {
    line-height: var(--t-tc--billboard__content--line--height);
    overflow: hidden;
    color: var(--t-tc--billboard__content--font--color);
    padding-block-end: var(--t-gs--space--l);
}

.article--billboard:after {
    content: "";
    position: absolute;
    inset-block-end: -50%;
    inset-inline-end: -50%;
    inline-size: 100%;
    block-size: 100%;
    background-color: var(--t-tc--billboard__after--background--color);
    border-radius: 50%;
    opacity: var(--t-tc--billboard__after--opacity);
    transform: scale(var(--t-tc--billboard__after--transform--scale));
}

/* Media query to target only desktop */
@media all and (min-width:1025px) {
    html[data-animations="default"] {
        .article--billboard {
            --t-tc--billboard--transform--transition--duration: 0.3s;
            --t-tc--billboard--filter--transition--duration: 0.3s;
            --t-tc--billboard--color--transition--duration: 0.25s;
            --t-tc--billboard__content--height--max--transition--duration: 0.5s;
            --t-tc--billboard__content--opacity--transition--duration: 0.5s;
            --t-tc--billboard__content--padding--transition--duration: 0.25s;

            .article__banner__image {
                transition-property: transform, filter;
                transition-duration: var(--t-tc--billboard--transform--transition--duration), var(--t-tc--billboard--filter--transition--duration);
                transition-timing-function: ease-in-out, ease-in-out;
            }

            &:hover .article__banner__image {
                transform: scale(var(--t-tc--billboard--transform--scale));
                filter: blur(var(--t-tc--billboard--filter--blur));
            }

            .article__header__text__title {
                --t-tc--title--font--color: var(--t-gs--swatch--neutral--020);

                transition-property: color;
                transition-duration: var(--t-tc--billboard--color--transition--duration);
                transition-timing-function: ease-in-out;
            }

            &:hover .article__header__text__title {
                --t-tc--title--font--color: var(--t-gs--swatch--neutral--100);
            }

            .article__content {
                max-block-size: 0;
                opacity: 0;
                padding-block-end: var(--t-gs--space--0);
                transition-property: max-block-size, opacity, padding;
                transition-duration: var(--t-tc--billboard__content--height--max--transition--duration), var(--t-tc--billboard__content--opacity--transition--duration), var(--t-tc--billboard__content--padding--transition--duration);
                transition-timing-function: ease-in-out, ease-in-out, linear;
            }

            &:hover .article__content {
                max-block-size: var(--t-tc--billboard__content--height--max);
                opacity: 1;
                padding-block-end: var(--t-gs--space--l);
            }

            &::after {
                transform: scale(0);
                transition-property: transform;
                transition-duration: var(--t-tc--billboard--transform--transition--duration);
                transition-timing-function: ease-in-out;
            }

            &:hover::after {
                transform: scale(var(--t-tc--billboard__after--transform--scale));
            }
        }
    }

}

/*
    COMPONENTS/Tables: Articles as Tables (Override/complement)
*/

@media all and (min-width:751px) {
    .grid__item>.article--table:not(:last-of-type) {
        padding-block-end: var(--t-gs--space--xxl);
    }

    .grid__item>.article--table:not(:first-of-type) {
        padding-block-start: var(--t-gs--space--xxl);
    }
}

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

:root {
    --t-tc--card__banner--height: calc(var(--t-gs--size--base) * 42);
}

.article--card {
    overflow: hidden;
}

.article--card .article__banner {
    block-size: var(--t-tc--card__banner--height);
    inline-size: 100%;
    overflow: hidden;
}

.article--card .article__banner__image {
    block-size: 100%;
    inline-size: 100%;
    object-fit: cover;
}

.article--card .article__banner__date {
    position: absolute;
    inset-block-start: calc(var(--t-tc--card__banner--height) + var(--t-tc--card--padding--outers) - var(--t-tc--date--height));
    inset-inline-start: var(--t-tc--card--padding--outers);
}

.article--card .button--secondary,
.article--card .button--tertiary,
.article--card .button--share {
    --t-tc--buttons--font--size: initial;
}

.article--card .article__footer {
    padding-block-start: calc(var(--t-tc--card--padding--inners));
    padding-block-end: calc(var(--t-tc--card--padding--inners));
}

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

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

.article--card .article__footer > * + * {
    margin-inline-start: var(--t-tc--card--padding--outers);
}

.article--card--event {
    position: relative;
}

.article--card--event .article__banner {
    --t-tc--card__banner--height: calc(var(--t-gs--size--base) * 35);
}

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

/* Media query to target only desktop */
@media all and (min-width:1025px) {
    html[data-animations="default"] {
        .article--card {
            --t-tc--card--color--shadow: rgba(0,0,0,0.10);
            --t-tc--card--border--transition--duration: 0.3s;
            --t-tc--card--border--radius--transition--duration: 0.3s;
            --t-tc--card--box--shadow--transition--duration: 0.3s;
            --t-tc--card__banner--transform--scale: 1.2;
            --t-tc--card__banner--transform--transition--duration: 0.3s;

            transition-property: border, border-radius, box-shadow;
            transition-duration: var(--t-tc--card--border--transition--duration), var(--t-tc--card--border--radius--transition--duration), var(--t-tc--card--box--shadow--transition--duration);
            transition-timing-function: ease-in-out, ease-in-out, ease-in-out;

            &:hover {
                border-color: var(--t-tc--card--color--shadow);
                box-shadow: 0 .4rem .8rem .2rem var(--t-tc--card--color--shadow);
            }

            .article__banner:has(.pill) {
                transition-property: border-radius;
                transition-duration: var(--t-tc--card--border--radius--transition--duration);
                transition-timing-function: ease-in-out;
            }

            &:hover .article__banner:has(.pill) {
                border-start-start-radius: calc(var(--t-tc--card--border--radius) + var(--t-tc--card--border--width));
            }

            .article__banner__image {
                transition-property: transform;
                transition-duration: var(--t-tc--card__banner--transform--transition--duration);
                transition-timing-function: ease-in-out;
            }

            &:hover {
                .article__banner__image {
                    transform: scale(var(--t-tc--card__banner--transform--scale));
                }
            }
        }
    }

}

/*
    COMPONENTS: Signature (New)
*/

.article--signature {
    inline-size: auto;
    border-start-start-radius: 50% 50%;
    margin-inline: var(--t-gs--space--s);
    margin-block: var(--t-gs--space--s2);
    box-shadow: 0 .4rem .8rem .2rem rgba(0,0,0,0.10);
    padding-inline: var(--t-gs--space--l);
    padding-block: var(--t-gs--space--l);
}

.article--signature .article__header {
    --t-tc--thumbnail--width: calc(var(--t-gs--size--base) * 32);
    --t-tc--thumbnail--height: calc(var(--t-gs--size--base) * 32);
    display: flex;
    flex-direction: column;
}

.article--signature .article__header__text__title__phrase {
    padding-block-end: var(--t-gs--space--s);
    display: block;
}

.article--signature .article__header__image {
     align-self: flex-end;
}

.article--signature .article__header__text {
     align-self: flex-start;
     margin-block-start: var(--t-gs--space--l);
}

.article--signature .article__content__footer {
    display: inline-block;
    block-size: calc(var(--t-gs--size--base) * 7);
    margin-block-start: var(--t-gs--space--m2);
}

/* Media query to target mobile and tablet */
@media all and (max-width:1024px) {
    .article--signature {
        box-shadow: unset;
    }

    .article--signature {
        padding-block: var(--t-gs--space--0);
        padding-inline: var(--t-gs--space--0);
    }

    .article--signature .article__header {
        flex-direction: row;
        column-gap: var(--t-gs--space--s2);
    }
    .article--signature .article__header__image {
        --t-tc--thumbnail--width: calc(var(--t-gs--size--base) * 24);
        --t-tc--thumbnail--height: calc(var(--t-gs--size--base) * 24);
    }
}

/*
    COMPONENTS/Lists: Skills (New)
*/

.list--pills .list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--t-gs--space--xs);
}

.list--skills .list__item,
.list--pills .list .list__item {
    display: inline-flex;
}

/*
    COMPONENTS/Lists: Skills (Within WIDGETS/Details)
*/

.article--details .article__content__view__field__value .list--pills .list {
    margin-inline-start: var(--t-gs--space--0);
    padding-inline-start: var(--t-gs--space--0);
}

.article--details .article__content__view__field__value .list--pills .list li + li {
    margin-block-start: var(--t-gs--space--0);
}

/*
    COMPONENTS/Lists: Skills (Within WIDGETS/Skills)
*/

.skills .list--skills:not(.list--skills--active) {
    display: none;
}

.skills .list--skills .list__item {
    margin-block-end: var(--t-gs--space--s);
}

/* Media query to target mobile and tablet */
@media all and (max-width:1024px) {
    .skills .list--skills::-webkit-scrollbar {
        display: none;
    }

}

/*
    COMPONENTS/Navigation: Steps bar (Override/complement)
*/

/* Media query to target tablet and desktop */
@media all and (min-width:751px) {
    .list--steps .list__item__text__subtitle {
        margin-block-end: -.6rem;
        inline-size: calc(var(--t-gs--size--base) * 4);
        block-size: calc(var(--t-gs--size--base) * 4);
        text-indent: -999.9rem;
        overflow: hidden;
    }

}

/*
    COMPONENTS/Navigation: Tabs (Inverting clickable colors - commented and ready to use)
*/

/*
.tabs__list__item:not(.tabs__list__item--active),
.tabs__list__item:not(.tabs__list__item--active):link,
.tabs__list__item:not(.tabs__list__item--active):visited {
    color: inherit;
}

.tabs__list__item:not(.tabs__list__item--active):hover,
.tabs__list__item:not(.tabs__list__item--active):focus,
.tabs__list__item:not(.tabs__list__item--active):active {
    color: var(--t-gs--color--text--link);
}

.tabs__list__item--active,
.tabs__list__item--active:link,
.tabs__list__item--active:visited,
.tabs__list__item--active:hover,
.tabs__list__item--active:focus,
.tabs__list__item--active:active {
    color: var(--t-gs--color--text--link);
}

+TBD+
*/

/*
    COMPONENTS/Navigation: Tabs: Skills (Override/complement)
*/

.tabs--skills .tabs__list__item {
    padding-block: 1rem 0.7rem;
    padding-inline: 1rem;
}

.tabs--skills + * {
    margin-block-start: var(--t-gs--space--l);
}

/* Media query to target mobile and tablet */
@media all and (max-width:1024px) {
    .tabs--skills .tabs__list {
        display: flex;
        position: unset;
        border-block-start: var(--t-gs--border--width--0);
        border-inline-start: var(--t-gs--border--width--0);
        border-inline-end: var(--t-gs--border--width--0);
    }

    .tabs--skills .tabs__list {
        inline-size: 100%;
    }

    .tabs--skills .tabs__list__item {
        float: inline-start;
        margin-block-end: -.1rem;
        border-block-end-width: .3rem;
        border-block-end-style: solid;
        padding-block: 1rem 0.7rem;
        padding-inline: 2rem;
        font-weight: var(--t-gs--font--weight--bold);
        inline-size: 50%;
        text-transform: unset;
        text-align: center;
    }

    .tabs--skills .tabs__list__item:not(.tabs__list__item--active) {
        border-block-end-color: var(--t-gs--color--border--transparent);
    }

    .tabs--skills .tabs__list__item--active {
        border-block-end-color: var(--t-gs--color--border--brand);
    }

}

/*
    COMPONENTS: Expandable
*/

.js-expandable-items {
    display: flex;
    flex-wrap: wrap;
}

.js-expandable-items__item.hidden {
    display: none;
}

.js-expandable-items__item {
    display: flex;
}

.js-expandable-items__item .separator {
    margin-inline-start: var(--t-gs--space--s);
    margin-inline-end: var(--t-gs--space--s);
}

.js-expandable-items__toggle {
    border-width: 0;
    border-style: none;
    border-color: transparent;
    padding-block: var(--t-gs--space--0);
    padding-inline: var(--t-gs--space--0);
    background: none;
    font-size: inherit;
    cursor: pointer;
    text-decoration: none;
}

/*
    WIDGETS/Attachment upload (New)
*/

.article--attachments-upload {
    border-radius: var(--t-tc--boxes--border--radius);
    border-width: var(--t-gs--border--width--s);
    border-style: dashed;
    border-color: var(--t-tc--boxes--border--color);
    background-color: var(--t-tc--boxes--background--color);
    padding-block: var(--t-tc--boxes--padding--outers);
    padding-inline: var(--t-tc--boxes--padding--outers);
}

.article--attachments-upload .article__header {
    margin-block-end: var(--t-tc--boxes--padding--outers);
    border-block-end-width: var(--t-gs--border--width--s);
    border-block-end-style: solid;
    border-block-end-color: var(--t-gs--color--border--default);
    padding-block-end: var(--t-tc--boxes--padding--outers);
}

.article--attachments-upload .article__header [data-tc-icon] {
    vertical-align: middle;
}

/*
    WIDGETS/Registered: Article (Override/complement)
*/

/* Media query to target only mobile */
@media all and (max-width:750px) {
    .article--registered {
        margin-block: var(--t-gs--space--0);
        margin-inline: var(--t-gs--space--0);
        background-color: unset;
        padding-block: var(--t-gs--space--0);
        padding-inline: var(--t-gs--space--0);
    }

}

/*
    WIDGETS/Search: Visible (Override/complement)
*/

/* Media query to target only desktop */
@media all and (min-width:1025px) {
    .section[search-type="visible"] .section__header__text {
        display: flex;
        margin-block-end: var(--t-gs--space--l);
    }

}

/*
    MODULES/Banner: Home (New)
*/

.banner--main--home {
    --t-tc--banner--height: 23.2rem;
    background-image: var(--t-tc--home__banner--background--image);
}

.banner--main--home .banner__wrapper {
    flex-direction: column;
    align-content: center;
    justify-content: center;
}

.banner--main--home .banner__wrapper > * {
    inline-size: 100%;
}

.banner--main--home .banner__form {
    margin-block-start: var(--t-gs--space--l);
}

/* Media query to target only mobile */
@media all and (max-width:750px) {
    .banner--main--home {
        --t-tc--banner--height: auto;
        min-height: 29.4rem;
        block-size: var(--t-tc--banner--height);
    }
}

.banner--main .title,
.banner--main .banner__text__title__phrase {
    color: var(--t-gs--swatch--neutral--100);
    font-weight: var(--t-gs--font--weight--bold);
}

.banner--main .banner__text__title__phrase {
    margin-top: var(--t-gs--space--xs);
}

.banner--main.banner--main--home .title {
    color: var(--t-gs--swatch--neutral);
    max-width: calc(var(--t-gs--space--m2) * 20);
}

@media (max-width: 768px) {
    .banner--main.banner--main--home .title {
        max-width: 25rem;
    }
}

/*
    MODULES/Banner: Secondary (New)
*/

.banner--secondary {
    --t-tc--banner--background--color: hsla(202, 100%, 18%, 1);
}

.banner--secondary--bottom .banner__text__title__phrase {
    color: var(--t-gs--swatch--neutral);
}

@media (max-width: 750px) {
    .banner--secondary--bottom .banner__text__title__phrase {
        color: var(--t-gs--swatch--neutral--100);
    }
}

.banner--secondary .title {
    color: var(--t-gs--swatch--neutral--100);
}

.banner--secondary .banner__wrapper {
    block-size: auto;
    justify-content: center;
}

.banner--secondary--bottom {
    margin-block: var(--t-gs--space--xxl);
}

/* Media query to target only desktop */
@media all and (min-width:1025px) {
    .banner--secondary .banner__wrapper {
        padding-block-start: var(--t-gs--space--xxxl);
        padding-block-end: var(--t-gs--space--xxxl);
    }

    .banner--secondary--top + * {
        margin-block-start: var(--t-gs--space--xl);
    }

    .banner--secondary .banner__text__title * + * {
        margin-inline-start: var(--t-gs--space--m);
    }
}

/* Media query to target tablet and desktop */
@media all and (min-width:751px) {
    .banner--secondary .banner__text__title * + * {
        margin-inline-start: var(--t-gs--space--m);
    }

    .banner--secondary--bottom {
        --t-tc--banner--background--color: var(--t-gs--color--background--transparent);
    }

    .banner--secondary--bottom .banner__wrapper {
        background-image: var(--t-tc--banner--bottom--background--image);
        --t-tc--banner--background--color: var(--t-gs--color--surface--tertiary);
        background-color: var(--t-tc--banner--background--color);
        border-radius: var(--t-gs--border--radius--s);
        background-position-x: right;
        background-size: cover;
    }
}

/* Media query to target mobile and tablet */
@media all and (max-width:1024px) {
    .banner--secondary .banner__wrapper {
        padding-block-start: var(--t-gs--space--xl);
    }

    .banner--secondary .banner__text__title {
        text-align: center;
    }

    .banner--secondary .banner__text__title .banner__text__title__phrase {
        display: block;
        margin-block-end: var(--t-gs--space--l);
    }

    .banner--secondary--top + * {
        margin-block-start: var(--t-gs--space--s2);
    }

}

/* Media query to target only tablet */
@media all and (min-width:751px) and (max-width:1024px) {
    .banner--secondary .banner__text__title .button + .banner__text__title__conjunction,
    .banner--secondary .banner__text__title .banner__text__title__conjunction + .button {
        margin-inline-start: var(--t-gs--space--m);
    }

    .banner--secondary .banner__wrapper {
        padding-block-end: var(--t-gs--space--xl);
    }

}

/* Media query to target only mobile */
@media all and (max-width:750px) {
    .banner--secondary .banner__wrapper {
        padding-block-end: var(--t-gs--space--xxxl);
    }

    .banner--secondary .banner__text__title .button {
        inline-size: 100%;
    }

    .banner--secondary .banner__text__title .button:nth-of-type(2) {
        margin-block-start: var(--t-gs--space--l);
    }

    .banner--secondary .banner__text__title .banner__text__title__conjunction {
        display: none;
    }

}

/*
    MODULES/Bottom banner
*/

.body--students .section--content-page:has(.bottom-banner) {
    position: relative;
}

/*
    MODULES/Slider (New)
*/

:root {
    --swiper__slide--gap: var(--t-tc--grid--columns--gap);
    --swiper-navigation-size: var(--t-gs--space--xxxl);
    --swiper-navigation-radius: 50%;
    --swiper-navigation-padding: var(--t-gs--space--s2);
    --swiper-navigation-color: var(--t-gs--color--fill--primary);
    --swiper-navigation-hover-color: var(--t-gs--swatch--button--090);
    --swiper-pagination-icon-color: var(--t-gs--color--fill--primary);
    --swiper-pagination-text-color: var(--t-gs--swatch--neutral--010);
    --swiper-pagination-font-family: Arial, Helvetica, sans-serif;
}

.slider {
    position: relative;
    z-index: 1;
    margin-inline: calc(var(--t-gs--space--s) * -1);
}

.swiper-container {
    position: static;
    inline-size: 100%;
    scroll-behavior: smooth;
}

.swiper-slide {
    block-size: auto;
    padding-block-end: .1rem;
}

.swiper-slide .article--card {
    position: relative;
    box-sizing: border-box;
    block-size: 100%;
}

.swiper-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--t-gs--space--s2);
    margin-block: var(--t-gs--space--s);

    .swiper-button-next,
    .swiper-button-prev {
        position: relative;
        z-index: 3;
        margin-top: var(--t-gs--space--0);
        margin-right: var(--t-gs--space--0);
        margin-bottom: var(--t-gs--space--0);
        margin-left: var(--t-gs--space--0);
        inline-size: var(--swiper-navigation-size);
        block-size: var(--swiper-navigation-size);
        padding: var(--swiper-navigation-padding);
        box-sizing: border-box;

        &:hover {
            background-color: var(--swiper-navigation-hover-color);
            border-radius: var(--swiper-navigation-radius);
        }

        &:after {
            font-size: calc(var(--swiper-navigation-size) / 2);
            font-family: var(--t-tc--icon--font--family);
        }

        &:focus {
            outline-width: .125rem;
            outline-style: solid;
            outline-color: var(--t-gs--swatch--neutral--000);
            border-radius: var(--swiper-navigation-radius);
            border-width: .0625rem;
            border-style: solid;
            border-color: var(--t-gs--swatch--neutral--100);
        }

        &.swiper-button-disabled {
            --swiper-theme-color: var(--t-gs--swatch--neutral--090);
        }
    }

    .swiper-button-prev::after {
        content: 'arrow_back';
    }

    .swiper-button-next::after {
        content: 'arrow_forward';
    }

    .swiper-pagination {
        position: static;
        display: flex;
        width: auto;
        gap: var(--t-gs--space--s);
        font-family: var(--swiper-pagination-font-family);
        font-weight: var(--t-gs--font--weight--bold);
        color: var(--swiper-pagination-text-color);

        .swiper-pagination-bullet {
            border-width: 0.063rem;
            border-style: solid;
            border-color: var(--swiper-pagination-icon-color);
            background: var(--t-gs--color--fill--transparent);
            opacity: 1;

            &.swiper-pagination-bullet-active {
                background: var(--swiper-navigation-color);
            }
        }

        &.swiper-pagination-lock {
            display: none;
        }
    }
}

.swiper-button-next,
.swiper-container-rtl .swiper-button-prev {
    inset-inline-end: 0;
}

.swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
    inset-inline-start: 0;
}

/* Media query to target only desktop */
@media all and (min-width:1025px) {
    .swiper {
        padding-block-end: var(--t-gs--space--s2);
        padding-inline: var(--t-gs--space--s);
        margin-block-end: calc(var(--t-gs--space--s2) * -1);
    }

}

/*
    MODULES/Section
*/
.section--w--full{
    padding-block-start: var(--t-gs--space--xxxl);
    padding-block-end: var(--t-gs--space--xl);
    background-color: hsla(203, 50%, 97%, 1);
}

/*
    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);
}

/*
    PAGETYPES/Search blogs and Search events: Cards: Result (Override/complement)
*/
@media all and (min-width:750px) {
    .section--search-cards {
        .results__panel>* {
            flex-basis: calc(50% - var(--t-tc--grid--columns--gap));
            max-inline-size: calc(50% - var(--t-tc--grid--columns--gap));
        }
        .article--card .article__header {
            flex-grow:1;
        }
        .article--card .article__content {
            flex-grow:unset;
        }
    }
}

@media all and (min-width:750px) {
    .section--search-cards {
        .article--card .article__header__text>*{
            overflow: auto;
            white-space: unset;
            text-overflow: unset;
        }
    }
}

/* PAGETYPES: Open positions: Results without toggle (Override/complement)
   -------------------------------------------------------------------------- */

/* Media query to target only desktop */
@media all and (min-width:750px) {
    .article--result.article--non-toggle .article__content {
        max-block-size: unset;
        visibility: visible;
        margin-block-start: var(--t-tc--result--padding--inners--v);
    }

    .article--non-toggle .article__header__actions {
        display: none;
    }
 }

/* PAGETYPES: Reg/App methods: Article
   -------------------------------------------------------------------------- */

/* Media query to target only mobile */
@media all and (max-width:750px) {
    .article--registered {
        margin-block: var(--t-gs--space--0);
        margin-inline: var(--t-gs--space--0);
        background-color: unset;
        padding-block: var(--t-gs--space--0);
        padding-inline: var(--t-gs--space--0);
    }
}

/* UTILITIES: XXX
   -------------------------------------------------------------------------- */
.paragraph--inline {
    margin-inline-end: var(--t-gs--space--s);
}

.section__header__text__subtitle--margin-start {
    margin-block-start: var(--t-gs--space--l);
}

.paragraph--padding-end {
    padding-block-end: var(--t-gs--space--m2);
}

.section--discover-our-culture {
    margin-block-start: var(--t-gs--space--xxxl);
    margin-block-end: var(--t-gs--space--xxxl);
}

.banner--secondary--image {
    background-image: var(--t-tc--home__banner--background--image);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

.table--default tbody tr td:last-child .action+.action--td {
     margin-inline-start: var(--t-gs--space--xs);
}

.action .action--td {
    display: flex;
    justify-content: center;
    gap: 1rem;
}

.action .action--td a {
    text-decoration: none;
    color: inherit;
    font-size: 2.00rem;
}

/* Media query to target only desktop */
@media (min-width: 1025px) {
    .grid-home {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
    .grid-home .grid__item.grid__item--aside-left {
        padding-inline-end: calc(var(--t-tc--grid--columns--gap) + var(--t-tc--grid--columns--1))
    }
    .subtabs__list__item + .subtabs__list__item {
        margin-inline-start: var(--t-gs--space--0);
    }
}

/* Media query to target only mobile */
@media all and (max-width:750px) {
    .section--discover-our-culture {
        text-align: center;
    }
}

/*
    PLUGINS/Glightbox
*/

.glightbox-container {
    padding-inline-end: var(--t-tc--grid--laterals);
    padding-inline-start: var(--t-tc--grid--laterals);
}

.glightbox-container .ginner-container,
.gslide-external {
    block-size: 50vh;
}

.goverlay,
.glightbox-mobile .goverlay {
    background: var(--t-gs--color--surface--overlay--dark);
    will-change: unset;
}

.glightbox-clean .gslide-media {
    box-shadow: none;
    border-radius: var(--t-gs--space--s);
    padding-block-start: var(--t-gs--space--xxl);
}

.glightbox-clean .gprev,
.glightbox-clean .gnext {
    display: none;
}

.body--popup .main__wrapper {
    padding-block-start: var(--t-gs--space--0);
    padding-block-end: var(--t-gs--space--0);
}

.body--popup, .glightbox-open {
    block-size: 100%;
}

/* Media query to target only mobile */
@media all and (max-width:750px) {
    .glightbox-container .ginner-container,
    .gslide-external {
        block-size: calc(100vh - var(--t-tc--grid--laterals)*2);
        max-block-size: 100vh;
    }
}

/*
    PAGETYPES/Students:
*/

.body--students .section--content-page:has([class*="--bottom-image"]) {
    padding-block: var(--t-gs--space--0);
    padding-inline: var(--t-gs--space--0);
}

.body--students [class*="--bottom-image"] .image__container img {
    width: 100%;
}

.section--content-page {
    margin-top: var(--t-gs--space--0);
    margin-right: var(--t-gs--space--0);
    margin-bottom: var(--t-gs--space--0);
    margin-left: var(--t-gs--space--0);
    min-height: 9rem;
    padding-top: var(--t-gs--space--m2);
    padding-right: var(--t-gs--space--m2);
    padding-bottom: var(--t-gs--space--m2);
    padding-left: var(--t-gs--space--m2);
}

.section--content-page:nth-child(1) {
    background: var(--t-gs--color--background--default);
    .body--students & {
        background: var(--t-gs--color--background--default);
    }
}

.section--content-page:nth-child(2) {
    background: linear-gradient(hsla(214, 100%, 95%, 1), var(--t-gs--color--background--default) 50%);
    .body--students & {
        background: linear-gradient(var(--t-gs--color--background--default), hsla(214, 100%, 95%, 1));
    }
}

.section--content-page:nth-child(3) {
    background: hsla(var(--t-gs--swatch--brand--base--hue) var(--t-gs--swatch--brand--base--sat), 98%, 1);
    .body--students & {
        background: hsl(214, 100%, 95%);
    }
}

.section--content-page:nth-child(4) {
    background: var(--t-gs--color--background--default);
    .body--students & {
        background: var(--t-gs--color--background--default);
    }
}

.body--students .section--content-page:nth-child(5) {
    background: hsl(214, 100%, 95%);
}

.body--students .section--content-page:nth-child(6) {
    background: var(--t-gs--color--background--default);
}

.body--students .section--content-page:nth-child(7) {
    background:
        linear-gradient(hsla(250, 100%, 93%, 0.48), hsla(250, 100%, 93%, 0)),
        hsl(214, 100%, 95%);
}

.body--students .section--content-page:nth-child(8) {
    background: hsl(214, 100%, 95%);
}

.section--content-page * ~ article {
    margin-block-start: calc(var(--t-gs--space--base) * 16);
}

/*
    PAGETYPES/Static pages: Text content
*/

.section--content-page .section__content p ~ p,
.section--content-page .article__content p ~ p {
    margin-block-start: var(--t-gs--space--m2);
}

/*
    PAGETYPES/Static pages: Side images
*/

.section--content-page [class*="--with-image"] {
    --floating-image--width: calc(var(--t-gs--size--base) * 128);
    .body--students & {
        --floating-image--width: 47.5%;
    }

    display: flex;
    flex-direction: row;
    align-items: center;
}

.section--content-page [class*="--with-image"] .image__container {
    width: var(--floating-image--width);
    max-width: var(--floating-image--width);

    &.image--left {
        order: -1;
        margin-inline-end: 5%;
    }

    &.image--right {
        order: 99;
        margin-inline-start: 5%;
    }
}

.section--content-page [class*="--with-image"] .image__container ~ * {
    max-width: calc(95% - var(--floating-image--width));
}

@media all and (min-width: 751px) {
    [class*="--w--narrow--2"] {
        margin-inline-start: auto;
        margin-inline-end: auto;
        inline-size: 100%;
        max-inline-size: var(--t-tc--content--w--narrow--2)
    }
}

/*
    PAGETYPES/Blog detail
*/
.grid--blog-detail>.grid__item:not(:first-of-type):before {
    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);
    inset-block: var(--t-gs--space--s2);
    position: relative;
    content: '';
    margin-block-end: var(--t-gs--space--xl);
}

/*
    OVERRIDES
*/

:root {
    --t-tc--buttons--border--radius: var(--t-gs--border--radius--full);
    --t-tc--footer--background--color: var(--t-gs--swatch--neutral);
    --t-tc--footer--font--color: var(--t-gs--swatch--neutral--100);
    --t-tc--menu__link--font--color: var(--t-gs--swatch--neutral);
}

.menu--visible {
    --t-tc--menu__link--font--color: var(--t-gs--swatch--neutral);
}

.menu__text {
    font-weight: var(--t-gs--font--weight--regular);
}

@media all and (min-width:751px) and (max-width:1315px) {
    .banner--main--home {
        height: auto;
        --t-tc--banner--background--image--position: center left calc(var(--t-gs--space--m2) * 10);
    }
}

@media all and (max-width:750px) {
    .banner--main--home {
        --t-tc--banner--background--image--position: center right -13rem;
    }
}

@media (max-width: 768px) {
    .title--hero {
        max-inline-size: calc(var(--t-gs--space--m2) * 10);
        --t-tc--title--font--size: var(--t-gs--font--size--10);
    }
}

.footer {
    border-block-start-color: var(--t-gs--swatch--neutral);
    font-size: var(--t-gs--font--size--03);
}

.footer__wrapper {
    padding-block-end: var(--t-gs--space--xl);
}

.footer__content--bottom {
    margin-block-start: var(--t-gs--space--m2);
}

.footer__links {
    margin-block-start: var(--t-gs--space--m2);
}

.footer__links__item {
    color: var(--t-gs--swatch--neutral--100)
}

.breadcrumbs .link {
    color: var(--t-gs--swatch--neutral);
}

.breadcrumbs .list__item--active {
    color: var(--t-gs--color--text--link);
    font-weight: bold;
}

.button--tertiary.downloadAttachmentsButton {
    padding-inline-start: 0;
}

.grid__item--filters .submitButton {
    inline-size: 100%;
}

.methodButton--later,
.methodButton--file,
.methodButton--paste,
.methodButton--dropbox {
    min-inline-size: calc(var(--t-gs--space--m2) * 10);
    padding-inline-start: var(--t-gs--space--xs);
    padding-inline-end: var(--t-gs--space--xs);
    white-space: nowrap;
}

.banner__image--profile img {
    border-radius: 50%;
    inline-size: 6rem;
    block-size: 6rem;
}

.article__header__actions {
    position: absolute;
    inset-block-start: 0;
    inset-inline-end: 0;
}

.article--result .article__header__text__title {
    position: relative;
}

.article--result .article__header__text__title .link {
    max-width: 70rem;
    display: block;
}

.article__header__title__logo {
    position: absolute;
    inset-block-start: var(--t-gs--space--s);
    inset-inline-end: 0;
    text-align: end;
}

.article__header__title__logo img {
    max-inline-size: calc(var(--t-gs--space--m2) * 10);
}

@media (max-width: 768px) {
    .article__header__title__logo {
        position: static;
        text-align: start;
        margin-block: var(--t-gs--space--xs);
        margin-inline: 0;
    }
}