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

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

    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;
    block-size: 1.8rem;
}

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

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

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

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

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

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

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

    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    box-shadow: none;
    border-radius: var(--t-gs--border--radius--s);
    border-width: .1rem;
    border-style: solid;
    border-color: var(---t-gs--swatch--link);
    inline-size: calc(var(--t-gs--size--base) * 15);
    block-size: calc(var(--t-gs--size--base) * 15);
    background-color: var(--t-tc--date--background--color);
    padding: var(--t-gs--space--0);
    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: 3.5rem;
    line-height: normal;
    font-weight: var(--t-gs--font--weight--regular);
}

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

.article--card .article__banner {
    --t-tc--card__banner--height: calc(var(--t-gs--size--base) * 34);
    --t-tc--card__banner--background--color: hsla(0, 0%, 97%, 1);
}

.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(--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;
    overflow: hidden;
}

.article--card .article__footer {
    background-color: var(--t-gs--swatch--button);
}

.article--card .button--secondary, .article--card .button--tertiary, .article--card .button--share {
    color: var(--t-gs--swatch--neutral--100);
}

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

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

.section__header+* {
    margin-block-start: var(--t-gs--space--xxl);
}

/* MODULES: Header
   -------------------------------------------------------------------------- */

.logo.logo--header {
    inline-size: 16.5rem;
    block-size: auto;
}

.menu--toggleable .menu__item {
    border-block-end-style: none;
}

.menu--toggleable .menu__panel {
    border-block-start-style: none;
    box-shadow: none;
}

@media (min-width: 1025px) {
    .menu__item:last-child  .menu__link::after {
        content: url(../images/GoBack.svg);
        margin-block-end: 0.6rem;
    }
}

/* MODULES: Banner
   -------------------------------------------------------------------------- */

.banner__text__title.title {
    color: var(--t-gs--swatch--link);
    font-weight: 300;
    text-transform: uppercase;
    font-size: 5rem;
    font-family: var(--t-gs--font--family--default);
}

.banner--main {
    background-image: none;
}

.banner__section {
    background-image: var(--t-tc--banner--background--image);
    background-position: var(--t-tc--banner--background--image--position);
    background-size: var(--t-tc--banner--background--image--size);
    block-size: 100%;
    inline-size: 100%;
    display: flex;
    border-radius: 1rem;
}

.banner__text {
    display: flex;
    align-self: flex-end;
    padding: 4rem 4rem 1rem 4rem;
    background-color: var(--t-gs--swatch--neutral--100);
    inline-size: 74.5%;
    border-start-start-radius: 1rem;
    border-start-end-radius: 1rem;
    margin-inline-start: 9.4%;
    margin-block-end: -0.1rem;
}

/* Media query to target only mobile */
@media all and (max-width:750px) {
    .banner__text__title.title {
        font-size: 3.6rem;
    }

    .banner__text {
        padding: 4rem 2.4rem 0 2.4rem;
        margin-inline-start: 5%;
        inline-size: 90%;
    }
}

/* STRUCTURE: Footer
   -------------------------------------------------------------------------- */

.footer {
    border-block-start: 0;
    font-size: 1.4rem;
    background-color: var(--color--lightGray);
}

.footer__content {
    flex-wrap: wrap;
}

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

.footer .link {
    color: var(--t-gs--swatch--link);
    padding-inline-start: var(--t-gs--space--m);
    padding-inline-end: var(--t-gs--space--m);
}

.footer__rights__links {
    color: var(--t-gs--swatch--neutral--090);
}

.footer .link:hover,
.footer .link:focus,
.footer .link:active {
    color: var(--t-gs--swatch--button);
    text-decoration: underline;
    text-decoration-color: var(--t-gs--swatch--button);
}

@media (min-width: 1025px) {
    .footer__social__item+.footer__social__item {
        margin-inline-start: var(--t-gs--space--m2);
    }

    .footer__links__divider {
        margin-inline-start: 0;
        margin-inline-end: 0;
    }
}

@media (max-width: 1024px) {
    .footer__content>*+* {
        margin-block-start: 2.6rem;
    }

    .footer__rights {
        text-align: center;
    }

    .footer__content {
        flex-direction: column;
    }

    .footer * {
        line-height: 100%;
    }

    .footer .link {
        padding-inline-start: var(--t-gs--space--xs);
        padding-inline-end: var(--t-gs--space--xs);
    }
}

/*
    COMPONENTS/Fields
*/

.form input:focus, .form select:focus, .form textarea:focus, .select2-container--focus,
.form input:focus-visible, .form select:focus-visible, .form textarea:focus-visible {
    --t-tc--fields--shadow: var(--t-tc--focus-visible--shadow);
    --t-tc--fields--border--width: var(--t-gs--border--width--s);
    --t-tc--fields--border--color: var(--t-gs--swatch--button);
}

.tc_formLabel:has(>.screenReaderVisibility:only-child) {
    padding-block-end: var(--t-tc--fieldSpec--padding--inners);
}

.ButtonBarField .tc_formField {
    padding-block-start: 2.7rem;
}

/*
    COMPONENTS/Events Cards
*/

.date-header {
    inline-size: 100%;
    text-align: center;
    border-block-end: solid 1px var(--t-gs--swatch--link);
}

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

.article.article--card .article__header__text__title.title .link {
    font-weight: 600;
    font-size: 2.5rem;
}

.article.article--card .article__header__text__title.title .link:hover {
    color: var(--t-gs--swatch--brand);
}

.article--card .article__footer {
    min-block-size: 4.4rem;
}

.article--card .article__footer .button.button--secondary {
    font-size: var(--t-gs--font--size--04);
    &:hover, &:active, &:focus {
        --t-tc--buttons--border--color: transparent;
        --t-tc--buttons--background--color: transparent;
        --t-tc--buttons--font--color: var(--t-gs--color--text--on--fill--secondary--hover);
    }
}

.article--card .article__header__text__subtitle {
    font-size: var(--t-gs--font--size--04);
}

.article--card .article__header {
    flex-grow: 1;
}

@media (width >= 751px) {
    .article--card .article__header__text>* {
        padding: .1rem;
    }
}

/*
    COMPONENTS/Buttons
*/

.button--primary,
.saveButton,
.article--alert .submitButton,
.nextButton,
.formNextButton,
.redirectUrlButton,
.gotoButton,
.ui-dialog-buttonset .ui-button:nth-of-type(1),
.TIN_input_button_Primary,
.submitButton.tc_formButton {
    &:focus {
        border-width: 0.2rem;
        outline-color: var(--t-gs--swatch--button);
    }
}

.ui-dialog button.ui-button.ui-dialog-titlebar-close .ui-button-icon {
    display: block;
}

@media (width>=1441px) {
    html {
        font-size: 62.5%
    }
}

/*
    PAGETYPES/Event Detail
*/

.grid__item--main .article.article--details .article__header__text__title.title {
    font-weight: normal;
    font-size: 3.5rem;
    font-family: var(--t-gs--font--family--default);
}

.grid__item--aside-right .form .saveButton {
    inline-size: 100%;
}

.link:hover,
.link:focus {
    text-decoration-color: var(--t-gs--swatch--brand);
}

.link:active {
    text-decoration-color: currentColor;
}

.link.back[data-tc-icon] {
    --t-tc--icon--content: 'arrow_back';
}

.link.back[data-tc-icon]::before {
    color: var(--t-gs--swatch--brand);
}

.link.back[data-tc-icon]:active::before {
    color: currentColor;
}

.grid.grid--2--sidebar.grid--2--sidebar--aside-right .section__content {
    margin-block-start: 0;
}

.grid__item.grid__item--aside-right .article__header__text__title.title {
    margin-block-end: var(--t-gs--space--m);
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
    border-color: var(--t-gs--swatch--brand);
    color: var(--t-gs--swatch--brand);
    border-radius: var(--t-gs--border--radius--s);
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    font-weight: var(--t-gs--font--weight--regular);
}

.fv-address-book-o .article__header__text__title.title::before {
    content: url(../images/fv-address-book-o.svg);
    margin-block-start: .5%;
    margin-inline-end: var(--t-gs--space--s2);
}

.fv-comment-o .article__header__text__title.title::before {
    content: url(../images/fv-comment-o.svg);
    margin-block-start: .5%;
    margin-inline-end: var(--t-gs--space--s2);
}

.grid.grid--2--sidebar.grid--2--sidebar--aside-right .section__header .article__header__text__title.title {
    font-family: var(--t-gs--font--family--default);
    font-weight: normal;
    font-size: 2.5rem;
}

.grid.grid--2--sidebar.grid--2--sidebar--aside-right .section__header .article__content {
    margin-block-start: var(--t-gs--space--s);
    margin-block-end: var(--t-gs--space--xl);
}

@media (width >= 1025px) {
    .aside {
        padding-inline: var(--t-gs--space--xxs);
    }
}

/*
    PAGETYPES/Event List
*/

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

.list-controls__text__bold {
    font-weight: var(--t-gs--font--weight--bold);
}

.list-controls__pagination__item:not(.currentPageLink) {
    color: var(--t-gs--color--text--link);
}

.list-controls__pagination__item {
    font-weight: normal;
    font-size: var(--t-gs--font--size--03);
    padding: var(--t-gs--space--s2) var(--t-gs--space--m);
    border: solid 0.1rem hsl(210, 2.17%, 81.96%);
    display: inline;
    transition: none;
}

.list-controls__pagination__item:first-child {
    border-radius: 0.6rem 0 0 0.6rem;
}

.list-controls__pagination__item:last-child {
    border-radius: 0 0.6rem 0.6rem 0;
}

.list-controls__pagination__item.currentPageLink {
    background-color: var(--t-gs--swatch--brand);
    color: var(--t-gs--swatch--neutral--100);
    border: solid 0.1rem var(--t-gs--swatch--brand);
}

.list-controls__pagination__item+.list-controls__pagination__item {
    margin-inline-start: 0;
}

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

@media (min-width: 1025px) {
    .list-controls--bottom {
        margin-block-start: var(--t-gs--space--xl);
    }
}

/*
    PAGETYPES/Success
*/

.article--success .article__header__text__title .title {
    font-size: 4.5rem;
    font-family: var(--t-gs--font--family--default);
}

@media (width <= 750px) {
    .article--success .article__header__text__title .title {
        font-size: var(--t-gs--font--size--08);
    }
}


@media (width >= 1600px) {
    html {
        font-size: 70.3125%;
    }
}