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

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

    COMPONENTS
    -------------------------------------------------------------------------
    Cards
      : Articles as cards (Override/complement)
      : Result (Override/complement)

    WIDGETS
    -------------------------------------------------------------------------
    XXX

    MODULES
    -------------------------------------------------------------------------
    Footer
    Banner

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

    UTILITIES
    -------------------------------------------------------------------------
    XXX
========================================================================== */

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

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

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

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

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

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

    background-image: unset;
}

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

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

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

.date {
    --t-tc--date--border--color: var(--t-gs--swatch--neutral--100);
    --t-tc--date--background--color: var(--t-gs--swatch--neutral--040);
    --t-tc--date--text--color: var(--t-gs--swatch--neutral--100);

    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    box-shadow: var(--t-gs--shadow--s);
    border-radius: var(--t-gs--border--radius--default);
    border-width: .3rem;
    border-style: solid;
    border-color: var(--t-tc--date--border--color);
    inline-size: calc(var(--t-gs--size--base) * 17);
    block-size: calc(var(--t-gs--size--base) * 17);
    background-color: var(--t-tc--date--background--color);
    padding: var(--t-gs--space--s);
    color: var(--t-tc--date--text--color);
}

.date:before,
.date:after {
    content: '';
    position: absolute;
    inset-block-start: 50%;
    transform: translateY(-50%);
    block-size: .6rem;
    inline-size: .3rem;
    background-color: var(--t-tc--date--border--color);
}

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

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

.date__day {
    font-size: var(--t-gs--font--size--02);
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/*
    WIDGETS/XXX
*/

/*
    MODULES/Banner
*/

.banner.banner--main {
    background-color: var(--custom--contrast--blue);
}

.banner__text__title {
    color: var(--t-gs--color--surface--default);
    font-size: var(--t-gs--font--size--15);
}

.banner__text .banner__text__subtitle {
    color: var(--custom--white);
    padding-block-end: 1rem;
}

@media all and (max-width:750px) {
    :root {
        --t-tc--banner--background--image--position: center right;
    }
}

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

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

}

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

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

}

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

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

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

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

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

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

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

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

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

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

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

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

}

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

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

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

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

.results__panel .article__header__text__title .link {
    color: var(--t-gs--color--text--default);
}

.results__panel .article.article--card {
    justify-content: space-between;
}

.body--events-list .article.article--no-results {
    border: none;
}

.article__header__text__subtitle [data-tc-icon]:before {
    padding-block-end: var(--t-gs--space--xs);
}

.section--search-jobs .section__header__text:after {
    display: none;
}

/*
    PAGETYPES/Profile (Override/complement)
*/

.body--profile .link--error {
    color: var(--custom--contrast--red);
}

/*
    UTILITIES/XXX
*/

/* Menu */

.menu.menu--visible .menu__item {
    display: flex;
    height: 6rem;
    border-block-end-width: var(--t-gs--space--xs);
    border-block-end-color: transparent;
}

.menu.menu--visible .menu__item .menu__link {
    border-block-end-width: var(--t-gs--space--xs);
    border-block-end-color: transparent;
    border-block-start-width: var(--t-gs--space--xs);
    box-shadow: none;
}

.menu.menu--visible .menu__item:hover .menu__link {
    border-block-end-color: var(--custom--black);
    border-block-end-width: var(--t-gs--space--xs);
}

.menu--visible .menu__item.menu__item--separator-left {
    border-inline-start-color: var(--custom--gray);
    padding-inline-start: 0;
    margin-inline-start: 0;
}

.menu--visible .menu__item.menu__item--languages.menu__item--separator-left {
    border-inline-start-color: transparent;
    padding-inline-start: 0;
}

.menu .menu__panel .menu__item .menu__link .menu__text {
    text-transform: uppercase;
}

.menu.menu--visible .menu__panel .submenu__list,
.menu.menu--visible .menu__panel .submenu__list--overflows-not {
    border-color: var(--custom--medium--gray);
    border-radius: .5rem;
}

.menu--visible .menu__item:hover .menu__link[aria-haspopup="true"],
.menu--visible .menu__link[aria-haspopup="true"][aria-expanded="true"] {
    box-shadow: none;
    --t-tc--menu__link--border--color: transparent;
    border-block-end-color: var(--custom--black);
    border-block-end-width: var(--t-gs--space--xs);
    --t-tc--menu__link--background--color: transparent;
}

.menu--visible .portalLanguages__item + .portalLanguages__item,
.menu--visible .submenu__list .submenu__item {
    border-block-start-color: var(--custom--light--gray);
}

.menu.menu--toggleable .menu__panel {
    border-block-start-color: transparent;
    background-color: var(--custom--light--gray);
}

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

.menu--visible .menu__item.menu__item--separator-left {
    margin-inline-start: var(--t-gs--space--s);
    padding-inline-start: var(--t-gs--space--s);
}

.menu--visible .submenu__list {
    margin-top: .1rem;
}

@media all and (min-width: 750px) and (max-width: 1050px) {
    .body .menu.menu--toggleable .menu__panel {
        width: 50%;
    }
}

@media all and (max-width: 750px) {
    .body .menu.menu--toggleable .menu__panel {
        width: 100%;
    }
}

/* Language Switcher */

.menu__item .submenu__list--with-flags .portalLanguages .portalLanguages__item .portalLanguages__link .portalLanguages__thumbnail {
    display: none;
}

.menu__item .submenu__list--with-flags .portalLanguages .portalLanguages__item .portalLanguages__link .portalLanguages__text {
    margin-inline-start: 1rem;
}

/* Session */

.body .ui-dialog .ui-dialog-titlebar {
    --dividers--border--color: var(--custom--light--gray);
}

.body .ui-dialog button.ui-button.ui-dialog-titlebar-close .ui-button-icon {
    display: inline-flex;
    color: var(--custom--darkest--gray);
    height: 1.5rem;
    width: 1.5rem;
}

/* Footer */

.footer__content {
    flex-direction: column-reverse;
    align-items: flex-start;
}

.footer {
    background-image: var(--t-tc--footer--background--image);
    background-position: center top;
    background-size: cover;
    height: 32.7rem;
    display: flex;
    justify-content: center;
    align-items: center;
    border-block-start: none;
    background-color: var(--custom--brand--berry);
}

.footer__social__item__icon {
    height: 2.2rem;
}

.footer__links__item {
    margin-inline-end: var(--t-gs--space--m);
    color: var(--t-gs--color--surface--default);
    font-weight: var(--t-gs--font--weight--regular);
}

.footer__links {
    margin-block-end: 1.1rem;
    margin-block-start: 0;
    font-size: var(--t-gs--font--size--04);
    font-weight: var(--t-gs--font--weight--semibold);
}

.footer__rights__copy {
    color: var(--t-gs--color--surface--default);
    font-weight: var(--t-gs--font--weight--semibold);
}

.footer__rights__copy p {
    background-color: transparent;
}

.footer__social {
    margin-block-end: .9rem;
    margin-block-start: 0;
}

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

/* Header */

.header__wrapper {
    margin: 0;
    max-inline-size: 100%;
}

@media screen and (max-width: 750px) {
    .logo.logo--header {
        max-height: 2.2rem;
    }
}

@media all and (min-width:750px) and (max-width:1050px) {
    .footer {
        height: 16rem;
    }
}

@media all and (max-width:750px) {
    .footer__links {
        column-gap: 1rem;
    }

    .footer__links__item {
        margin-inline-end: 0;
    }

    .footer {
        height: 20.2rem;
    }
}

/* Sort By */

.list-controls .list-controls__sort .dropdown__placeholder {
    border-color: var(--custom--black);
    border-width: .2rem;
}


[class*=list-controls__]+[class*=list-controls__] {
    margin-inline-start: 4.8rem;
}

@media all and (max-width: 750px) {
    [class*=list-controls__]+[class*=list-controls__] {
        margin-inline-start: 1.6rem;
    }

    .list-controls.list-controls--bottom {
        flex-direction: column;
        align-items: center;
    }
}

/* Search Filter */

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

/* Event Detail */

.grid__item--aside-right .aside {
    overflow: visible;
}

/* Registration Wizard */

.errorMessage,
.warningMessage,
.errorMsgBottom,
.message--error {
    color: var(--custom--brand--berry);
}

.alert__text .link {
    color: var(--custom--white);
}

.form.form--has-errors .tc_formLabel {
    color: var(--custom--dark--gray);
}

.form .labelRequiredIcon {
    color: var(--custom--brand--berry);
}

/* Profile layout fix */

@media (width >= 1025px) {
    .body--profile .grid--2--sidebar {
        column-gap: normal;
    }
}