/* ==========================================================================
    LAYOUTS
    -------------------------------------------------------------------------
    Grid
      : Sidebars (Override/complement)
    Section
      : Registered (Override/complement)
      : 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)
    Labels
      : Form
    Links
    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)
    Search
      : Visible (Override/complement)
      
    MODULES
    -------------------------------------------------------------------------
    Banner
      : Home (New)
      : Secondary (New)
      : Tertiary
    Bottom banner
    Section
    Footer
       : Top
       : Bottom

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

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

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

/*
    LAYOUTS/Grid: Sidebars (Override/complement)
*/
.subtabs__list__item {
    font-size: var(--t-gs--font--size--04);
    font-weight: var(--t-gs--font--weight--semi-bold);
}

/* Media query to target only desktop */
@media all and (min-width:1025px) {
    .grid--profile.grid--2--sidebar--subtabs {
        column-gap: var(--t-gs--space--0);
    }

    .grid--profile > .grid__item--subtabs {
        padding-inline-end: var(--t-tc--grid--columns--1);
    }

}

/*
    LAYOUTS/Section: Registered
*/

/* Media query to target only desktop */
@media all and (min-width:1025px) {
    .section__content--registered {
        margin-inline-start: auto;
        margin-inline-end: auto;
        inline-size: 100%;
        max-inline-size: calc(var(--t-tc--content--w--full) - var(--t-tc--grid--columns--1));
    }

}

/*
    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
*/

.tc_formButton,
.button,
.article--card .button,
.button--secondary {
    font-weight: var(--t-gs--font--weight--regular);
}

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

.methodButton--later,
.methodButton--file,
.methodButton--paste,
.methodButton--dropbox {
    font-weight: var(--t-gs--font--weight--regular);
}

/*
    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(--custom--green-3);
    --t-gs--color--fill--matching--great: var(--custom--green-2);
    --t-gs--color--fill--matching--strong: var(--custom--green-1);

    --t-tc--pill--border--color: var(--custom--blue);
    --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--xl);
    border-start-end-radius: var(--t-gs--border--radius--xl);
    border-end-start-radius: var(--t-gs--border--radius--xl);
    border-end-end-radius: var(--t-gs--border--radius--xl);
    font-size: var(--t-gs--font--size--04);
    padding-block: var(--t-gs--space--xxs);
    padding-inline: var(--t-gs--space--s);
    background-color: var(--t-tc--pill--background--color);
    font-weight: var( --t-gs--font--weight--regular);
    vertical-align: middle;
    font-family: var(--t-gs--font--family--emphasis);
    color: var(--custom--link);
}

.article--card .pill--matching {
    position: absolute;
    z-index: 2;
    inset-inline-start: 0;
    padding-inline: var(--t-gs--space--m);
    color: var(--custom--noir);
    font-family: var(--t-gs--font--family--default);
    margin-block: var(--t-gs--space--s);
    margin-inline: var(--t-gs--space--s);
}

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

.results--listed .pill{
    border-start-start-radius: var(--t-gs--border--radius--xl);
    border-start-end-radius: var(--t-gs--border--radius--xl);
    border-end-start-radius: var(--t-gs--border--radius--xl);
    border-end-end-radius: var(--t-gs--border--radius--xl);
    font-family: var(--t-gs--font--family--default);
    font-size: var(--t-gs--font--size--04);
    padding-block: var(--t-gs--space--xs);
    padding-inline: var(--t-gs--space--m);
}

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

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

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

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

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

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

/*
    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: solid;
    border-color: var(--t-tc--pill--border--color);
}

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

/*
    ELEMENTS/Labels: Form
*/

.tc_formLabel {
    font-family: var(--t-gs--font--family--emphasis);
}

/*
    ELEMENTS/ Links
*/

.breadcrumbs {
    background-color: unset;
}

.breadcrumbs .link {
    text-decoration: underline;
}

.breadcrumbs .link:hover {
    color: var(--custom--linkHover);
    text-decoration: underline;
}

.link:not(.link--job-title) {
    font-weight: var(--t-gs--font--weight--regular);
}

.link:not(.link--job-title) {
    font-size: var(--t-gs--font--size--04);
}
.link,
.link:hover {
    text-decoration: none;
}

.link:hover,
.link:focus {
    color: var(--custom--linkHover);
}

.list-controls__text__reset,
.list-controls__reset {
    font-style: normal;
    font-weight: var(--t-gs--font--weight--semi-bold);
    color: var(--custom--grey);
}

.link.link--job-title {
    font-weight: var(--t-gs--font--weight--semi-bold);
}

.section__header__actions .link {
    font-weight: var(--t-gs--font--weight--semi-bold);
}

/*
    ELEMENTS/ Stepper bar
*/

@media (width>=751px) {

    .list--steps .list__item--current .list__item__text__subtitle,
    .list--steps .list__item--filled .list__item__text__subtitle {
        background-color: var(--t-gs--swatch--brand--050);
    }
    .list--steps .list__item__text__subtitle {
        background-color: var(--t-gs--swatch--neutral--090);
        border-color: var(--t-gs--swatch--neutral--090);
    }
}

.list--steps:after {
        background-color: var(--t-gs--swatch--neutral--090);
        border-block-end-color: var(--t-gs--swatch--neutral--090);
}

.list--steps .list__item .list__item__text:after {
    border-block-end-color: var(--t-gs--swatch--brand--050);
}

.list--steps .list__item__text__title {
    text-transform: inherit;
}

@media (width >= 751px) {
    .list--steps .list__item--current .list__item__text__subtitle, 
    .list--steps .list__item--filled .list__item__text__subtitle {
        --t-gs--color--background--default: var(--t-gs--swatch--brand--050);
        border-color: var(--t-gs--swatch--brand--050);
    }

    .list--steps .list__item .list__item__text:after {
        border-radius: 0 0 0 0;
    }
    
    .list--steps .list__item:first-child .list__item__text:after {
        border-radius: var(--t-gs--border--radius--full) 0 0 var(--t-gs--border--radius--full);
    }
    
    .list--steps .list__item:last-child .list__item__text:after {
        border-radius: 0 var(--t-gs--border--radius--full) var(--t-gs--border--radius--full) 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--100);

                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-top: 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: 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);
        width: 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: none;
    padding: 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/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: 42.1rem;
    background-image: var(--t-tc--home__banner--background--image);
    background-position: top;
}

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

.banner__text__title.title--hero,
.banner__form .tc_formLabel {
    color: var(--t-gs--color--text--light);
}

.banner__form .form input[type=text]:not([class*=select2]):not(.LiveSearchInput) {
    border-radius: 4rem;
}

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

}

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

}

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

.banner--secondary {
    --t-tc--banner--background--color: var(--custom--navbarfill);
}

.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--skills .banner__wrapper {
        padding-block-start: var(--t-gs--space--l);
        padding-block-end: var(--t-gs--space--l);
    }

    .banner--secondary--skills .banner__text {
        flex-direction: column;
    }

    .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 {
        --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);
    }
}

/* 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--inline .banner__text__title {
        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);
    }

}

/*
    MODULES/Banner: Tertiary
*/

.banner--tertiary--image {
    background-image: var(--t-tc--banner--tertiary--background--image);
    background-size: cover;
}

/*
    MODULES/Bottom banner
*/

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

/*
    MODULES/Section
*/
.section--w--full{
    padding-block-start: var(--t-gs--space--xxxl);
    padding-block-end: var(--t-gs--space--xl);
    background-color: var(--custom--navbarfill);
}

/*
    MODULES/Footer
*/
.footer__wrapper {
    padding-block-start: 0;
    padding-block-end: 0;
}

.footer {
    border-top: unset;
}

.footer__wrapper {
    max-inline-size: unset;
}

.footer__content {
    max-inline-size: 95rem;
    margin-inline: auto;
}

/*
    MODULES/Footer: Top
*/

.footer__wrapper.footer__wrapper--top {
    background-color: hsla(0, 0%, 98%, 1) ;
}

.footer__content.footer__content--top {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding-block-start: var(--t-gs--space--xxxl);
    padding-block-end: var(--t-gs--space--xxxl);
}

.footer__content--top__list {
    display: flex;
    margin-block-start: var(--t-gs--space--l);
    margin-block-end: var(--t-gs--space--xxl);
    min-inline-size: 100%;
    justify-content: space-around;
    flex-wrap: wrap;
    row-gap: var(--t-gs--space--l);
}

.footer__content--top__item {
    padding-inline: var(--t-gs--space--l);
}

@media all and (min-width:750px) {
    .footer__content--top__item {
        width: calc(var(--t-gs--size--base) * 70);
    }
}

.footer__content--top__link {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    text-decoration: none;
}

.footer__content--top__link__icon {
    display: block;
    inline-size: 4.4rem;
    block-size: 4.4rem;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    margin-block-end: var(--t-gs--space--s);
}

.footer__content--top__link__icon.icon--ecoute {
    background-image: var(--t-tc--footer__icon--ecoute);
}

.footer__content--top__link__icon.icon--exigence {
    background-image: var(--t-tc--footer__icon--exigence);
}

.footer__content--top__link__icon.icon--transparence {
    background-image: var(--t-tc--footer__icon--transparence);
}

/* Media query to target only tablet */
@media all and (min-width:751px) and (max-width:1024px) {
    .footer__content.footer__content--top {
        padding-block-start: var(--t-gs--space--l);
        padding-block-end: var(--t-gs--space--l);
    }

    .title--h8.footer__content--subtext {
        font-size: var(--t-gs--font--size--03);
    }
}

/* Media query to target mobile and tablet */
@media all and (max-width:1024px) {
    .footer__content--top__link {
        font-size: var(--t-gs--font--size--04);
    }
}


/*
    MODULES/Footer: Bottom
*/

.footer__wrapper.footer__wrapper--bottom {
    background-color: hsla(0, 0%, 95%, 1);
    padding-block-start: var(--t-gs--space--xxxl);
    padding-block-end: 2.2rem;
}

.footer__content.footer__content--bottom {
    display: flex;
    flex-direction: column;
    align-items: self-start;
}

.title__bar {
    inline-size: 5.6rem;
    block-size: 0.4rem;
    background-color: hsla(218, 100%, 53%, 1);
    margin: var(--t-gs--space--m) 0;
}

.footer__content--bottom .footer__content--list {
    padding-block-start: var(--t-gs--space--l);
    padding-block-end: var(--t-gs--space--l);
}

.footer__content--bottom__item:first-child,
.footer__content--bottom__item + .footer__content--bottom__item {
    margin-block-end: var(--t-gs--space--m);
}

.footer__content--bottom__list .link {
    font-weight: var(--t-gs--font--weight--regular);
    color: var(--t-gs--color--text--default);
    font-size: var(--t-gs--font--size--03);
}

.footer__content__text {
    margin-block-end: var(--t-gs--space--s);
    font-size: var(--t-gs--font--size--03);
    color: hsla(0, 0%, 4%, 1);
}

.footer__content--note-social {
    display: flex;
    flex-wrap: wrap;
}

.footer__content--list .title,
.footer__content--subtext {
    color: var(--custom--noir);
}

.footer__content--note {
    max-inline-size: 23.5rem;
    padding-inline-end: var(--t-gs--space--m);
}
.footer__content--social {
    max-inline-size: 22.6rem;
}

.footer__content--social__list {
    display: flex;
    gap: var(--t-gs--space--s);
}

.footer__rights {
    inline-size: 100%;
}

.footer__rights {
    justify-content: center;
    padding-block-start: var(--t-gs--space--l);
    font-size: var(--t-gs--font--size--03);
}

@media all and (max-width:1024px) {
    .footer__rights {
        font-size: var(--t-gs--font--size--02);
    }
}

/* Media query to target only tablet */
@media all and (max-width:1024px) {

    .footer__content {
        max-inline-size: 100%;
    }

    .footer__content--note-social {
        order: 1;
    }

    .footer__content--bottom__logo {
        order: 2;
    }

    .footer__content--bottom .footer__content--list {
        order: 3;
        padding-block-start: 0;
        margin-block-start: 0;
        padding-block-end: 0;
    }

    .footer__content--bottom__item:last-child {
        margin-block-end: 0;
    }

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

    .footer__content.footer__content--top {
        padding-block-start: var(--t-gs--space--l);
        padding-block-end: var(--t-gs--space--l);
    }

    .footer__content--note-social {
        flex-direction: column;
        inline-size: 100%;
    }

    .footer__content--note,
    .footer__content--social {
        max-inline-size: 100%;
    }

    .footer__content--note {
        padding-inline-end: 0;
        margin-bottom: var(--t-gs--space--l);
    }
}

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

    .footer__content .footer__content--note-social {
        margin-block-start: 0;
    }
}

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

.list-controls__sort .dropdown__placeholder {
    --t-tc--fields--font--color: var(--t-tc--main--font--color);
}


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

/* 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--secondary--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 mobile */
@media all and (max-width:750px) {
    .section--discover-our-culture {
        text-align: center;
    }

}

/* Media query to target only tablet */
@media all and (min-width:751px) and (max-width:1024px) {
    .section--discover-our-culture .grid--2 > .grid__item {
        flex: 0 0 100%;
        max-inline-size: 100%;
    }

}

/* Media query to target only desktop */
@media (min-width: 1025px) {
    .section--discover-our-culture .grid__item:first-of-type {
        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);
    }

}

/*
    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: var(--t-gs--space--0);
}

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

.section--content-page {
    margin: var(--t-gs--space--0);
    min-height: 9rem;
    padding: 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-right: 5%;
    }

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

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

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

/*
    COMPONENTS - Cards
*/

.article--card .article__banner {
    border-bottom-right-radius: calc(var(--t-gs--border--radius--base) * 8);
}

.article--card .article__header__text .link {
    font-weight: var(--t-gs--font--weight--semi-bold);
}

.article--card .article__footer .button.button--secondary,
.article--card .article__footer .button.button--share {
    font-size: var(--t-gs--font--size--04)
}

/*
    COMPONENTS - List Controls
*/

@media (width >= 751px) {
    [class*=list-controls__]+[class*=list-controls__] {
        margin-inline-start: var(--t-gs--space--xs);
    }
}

.list-controls__text__legend {
    color: var(--custom--grey);
}

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

.list-controls {
    font-size: var(--t-gs--font--size--04);
}

.list-controls__text__legend--no-focous {
    outline: none;
}


/*
    ERRORS
*/

:root {
    --t-tc--message--font--size: var(--t-gs--font--size--02);
}

.duplicateWarningMessage, .alert--error,
.errorMessage, .warningMessage, .errorMsgBottom, .message--error {
    --t-tc--icon--content: "info";
    --t-tc--icon--fill: 0;
}

.errorMessage {
    --t-tc--icon--font--size: 1.3em;
    --t-tc--icon--font--weight: var(--t-tc--icon--wght);
    --t-tc--icon--wght: 400;

    gap: var(--t-gs--space--xs);
}

.alert {
    color: var(--t-gs--swatch--neutral--20);
}

.duplicateWarningMessage,
.alert {
    border-radius: var(--t-gs--border--radius--m);
}

.alert--info {
    --t-tc--icon--fill: 0;
    border-color: var(--custom--blue);
    border-width: var(--t-gs--border--width--s);
    border-style: solid;
    --t-tc--icon--font--color: var(--custom--darkblue);
}

/*
    COMPONENTS - Table
*/

.table--default thead tr th,
.tableField thead tr th,
.table--default td[data-th]:before {
    font-weight: var(--t-gs--font--weight--semi-bold);
}

.table--default tbody tr td:last-child .link {
    font-weight: var(--t-gs--font--weight--semi-bold);
}

/*
    COMPONENTS - Matching Score
*/

.article--matching .article__header__text .title {
    --t-tc--title--font--size: var(--t-gs--font--size--03);
    --t-tc--title--font--family: var(--t-gs--font--family--default);
    font-weight: var(--t-gs--font--weight--semi-bold);

}

svg text {
    font-family: var(--t-gs--font--family--emphasis),Arial,Helvetica,sans-serif;
}

/*
    COMPONENTS - Tabs
*/

.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: var(--t-gs--swatch--neutral--030);
}

@media (width >= 1025px) {
    .tabs__list__item {
        font-weight: var(--t-gs--font--weight--regular);
        font-size: var(--t-gs--font--size--03);
        font-family: var(--t-gs--font--family--emphasis);
    }
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
    border-color: var(--t-gs--color--border--on--fill--secondary);
    border-radius: var(--t-gs--border--radius--l);
    padding-inline: var(--t-gs--space--s);
    font-weight: var(--t-gs--font--weight--semi-bold);
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    color: var(--custom--linkHover);
}

/*
    COMPONENT: TimeOut Modal
*/

.ui-button.ui-dialog-titlebar-close {
    &:hover &:focus, &:focus-visible, &:active {
        display: none;
    }
}

.session-dialog .session-dialog-title {
    font-size: var(--t-tc--title--h3);
}

.ui-dialog button.ui-button:not(.ui-dialog-titlebar-close):not(:disabled) {
    font-weight: var(--t-gs--font--weight--semi-bold);
}

/*
    COMPONENT: Cookie Banner
*/

.cookies__wrapper .cookiesButton {
    border-radius: var(--t-tc--buttons--border--radius);
    border-color: var(--t-gs--swatch--emphasis);
    border-width: var(--t-gs--border--width--s);
    border-style: solid;
}

.cookies__wrapper{
    --a-cookieBannerWidget-text-font-family: var(--t-gs--font--family--default);
    --a-cookieBannerWidget-label-font-family: var(--t-gs--font--family--default);
    --a-cookieBannerWidget-toggle-disabled-background-color: var(--t-gs--swatch--neutral--080);
    --a-cookieBannerWidget-text-font-size: var(--t-gs--font--size--03);
}

.cookies__wrapper .cookies__info {
    --a-cookieBannerWidget-text-font-size: var(--t-gs--font--size--04);
}

.cookies__settings__option__title {
    margin-block-end: var(--t-gs--space--s2);
}

.cookies__open .cookies__info {
    border-color: var(--t-gs--swatch--neutral--080);
}

.cookies__settings__buttons {
    border-color: var(--t-gs--swatch--neutral--transparent);
}

/*
    COMPONENTS: Submenu
*/

.submenu__link,
.portalLanguages__link {
    .submenu__item:first-child & {
        border-start-start-radius: var(--t-gs--border--width--0);
        border-start-end-radius: var(--t-gs--border--width--0);
    }
}

/*
    COMPONENTS: Slider
*/
:root {
    --t-tc--swiper__navigation--background--color: var(--t-gs--swatch--neutral--transparent);
}

/*
    COMPONENTS: Table in Multiple Dataset Entry
*/

.FormField .schema_field_MultipleDatasetEntryInput,
.MultipleDatasetEntryFormField .tc_formField div[id*=multipleDatasetEntry_] {
    border-radius: var(--t-gs--border--radius--xl);
}

.addDatasetRow,
.removeDatasetRow,
.RowEditorAddAnotherLink,
.action--remove,
.action--add {
    text-transform: capitalize;
    font-weight: var(--t-gs--font--weight--regular);
    font-size: var(--t-gs--font--size--04);
    gap: var(--t-gs--space--xs);
}

.addDatasetRow:before,
.removeDatasetRow:before,
.action--add:before,
.action--remove:before {
    --t-tc--icon--font--weight: var(--t-gs--font--size--04);
    --t-tc--icon--font--size: 1em;
    line-height: 1.3;
}

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

.fieldSpec.hasErrors:not(.formfieldSpec,.datasetField,.MultipleDatasetEntryFormField,.fieldSpec--in-dataset),
.formfieldSpec.hasErrors:not(.MultipleDatasetEntryFormField), .datasetField.hasErrors>.tc_formLabel,
.fieldSpec--in-dataset.hasErrors, .MultipleDatasetEntryFormField.hasErrors>.tc_formLabel, .datasetfieldSpec.hasErrors {
    --t-tc--labels--font--color: inherit;
    --t-tc--sublabels--font--color: inherit;
}

.form input[type=radio],
.form input[type=checkbox] {
    --t-gs--color--fill--brand: var(--t-gs--swatch--button--030);
}

.RadioButtonList .RadioButton label,
.RadioButtonListFormField .tc_formField .cb label {
    font-size: var(--t-gs--font--size--03);
}

/*
    COMPONENTS: Menú
*/

.toggle__icon,
.menu__link:after,
.tabs__placeholder:after {
    color: var(--t-tc--toggle--font--color);
}

@media (width<=1024px) {
    .menu__link {
        --t-tc--menu__link--font--color: var(--custom--noir);
        font-weight: var(--t-gs--font--weight--semi-bold);
        font-size: var(--t-gs--font--size--04);
        --t-tc--menu__link--padding--v: var(--t-gs--space--s2);
        padding-block-start: var(--t-gs--space--m);
        padding-block-end: var(--t-gs--space--s2);
        padding-inline-start: var(--t-gs--space--s);
    }

    .submenu__link,
    .portalLanguages__link {
        --t-tc--submenu__link--font--color: var(--t-gs--swatch--neutral--030);
        font-weight: var(--t-gs--font--weight--regular);
        --t-tc--submenu__link--padding--v: var(--t-gs--space--s2);
    }

    .menu--toggleable .menu__item {
       --t-tc--menu--dividers--color :var(--t-gs--swatch--neutral--090);
    }

    .toggle__icon:before,
    .menu__link:after,
    .tabs__placeholder:after {
        font-size: 3.4rem;
    }

}

/*
    Toggle Search
*/

.toggle.toggle--search,
.toggle--search[aria-expanded=true] {
    --t-tc--toggle--background--color: var(--t-gs--swatch--neutral--neutral);
}

.toggle.toggle--search:focus,
.toggle.toggle--search:focus-visible{
    --t-tc--fields--outline--width: var(--t-gs--border--width--0);
}

.button--secondary,
.button--tonal .submitButton,
.previousButton,
.formPreviousButton,
.partialSaveButton,
.homeButton,
.ui-dialog-buttonset .ui-button:nth-of-type(2),
.button--tertiary,
.button--cancel,
.cancelButton,
.clearButton,
.TIN_display_Anchor,
.TIN_input_button_Cancel {

    &:focus {
        outline-color: var(--custom--blue);
    }

    &:focus-visible {
        outline-color: var(--custom--blue);
    }
}

/*
    Buttons - Workaround due to bug
    with buttons in aside columns
*/

.button--primary,
.saveButton,
.submitButton,
.article--alert .submitButton,
.button--secondary,
.button--tertiary {

    &:focus {
        --t-tc--buttons--border--width: var(--t-gs--border--width--m);
        outline: none;
        border-color: var(--custom--blue);
    }

    &:focus-visible {
        --t-tc--buttons--border--width: var(--t-gs--border--width--m);
        outline: none;
        border-color: var(--custom--blue);
    }
}

.button--tertiary:hover {
    text-decoration: none;
}

/*
    COMPONENTS/Tabs (Override/complement)
*/

.tabs__list__item {
    text-transform: unset;
}

.tabs__placeholder:after {
    --t-tc--toggle--width: 4rem;
    --t-tc--toggle--height: 4rem;
    --t-tc--toggle--font--size: 4rem;
    --t-tc--icon--font--weight: 300;
}

@media (width >= 1025px) {
    .tabs__list__item {
        font-weight: var(--custom--font--weight--semibold);
    }

    .tabs__list__item--active {
        border-block-end-color: var(--custom--linkHover);
        color: var(--custom--grey);
    }
}

@media (width <= 1024px) {

    .tabs.tabs--open .tabs__list {
        width: 100%;
        border: none;
    }

    .tabs__placeholder {
        padding-block: var(--t-gs--space--0);
        padding-inline: var(--t-gs--space--m);
        padding-right: var(--t-gs--space--0);
        color: var(--t-gs--swatch--neutral--030);
    }

    .tabs__placeholder.title {
        --t-tc--title--font--size: var(--t-gs--font--size--03);
        --t-tc--title--font--family: var(--t-gs--font--family--default);
        --t-tc--title--font--weight: var(--t-gs--font--weight--regular);
        --t-tc--title--font--color: var(--custom--noir);
        border-bottom-width: var(--t-gs--border--width--s);
        border-bottom-color: var(--custom--linkHover);
        border-bottom-style: solid;
    }

    .tabs .tabs__list {
        width: 100%;
        border-right-width: var(--t-gs--border--width--0);
        border-left-width: var(--t-gs--border--width--0);
        border-color: var(--custom--noir);
        font-weight: var(--t-gs--font--weight--regular);
        border-radius: var(--t-gs--border--radius--0);
    }

    .tabs__list__item:first-of-type {
        padding-block-start: var(--t-gs--space--m);
        border-top-width: var(--t-gs--border--width--s);
        border-top-color: var(--custom--linkHover);
        border-top-style: solid;
    }

    .tabs__list__item {
        text-transform: unset;
        border-bottom-width: var(--t-gs--border--width--s);
        border-bottom-color: var(--t-gs--swatch--neutral--080);
        border-bottom-style: solid;
        color: var(--t-gs--swatch--neutral--030);
        font-size: var(--t-gs--font--size--03);
        padding-block: var(--t-gs--space--m);
    }
}

/*
    Elements/Close Icon (Override/complement)
*/

.gclose:before {
    font-weight: var(--t-gs--font--weight--semi-bold);
}

.ui-dialog button.ui-button.ui-dialog-titlebar-close:focus,
.ui-dialog button.ui-button.ui-dialog-titlebar-close:focus-visible {
    outline: none;
    border: none;
    background-color: transparent;
}

/*
    PAGETYPES/ProfileJobAlerts: - Workaround due to bug
    with dividers when no result in profile jobs alerts.
*/

.profile-jobs-alerts.grid--dividers {
    margin-block-start: 0
}

.profile-jobs-alerts.grid--dividers>.grid__item {
    padding-block-start: var(--t-gs--space--0);
}