/* ==========================================================================
    COMMON
    -------------------------------------------------------------------------
    Text-level semantics (Override/complement)

    LAYOUTS
    -------------------------------------------------------------------------
    Autoscheduler as a section (Imitation)

    ELEMENTS
    -------------------------------------------------------------------------
    Buttons
      : Main
        : Tertiary (Override/complement)

    COMPONENTS
    -------------------------------------------------------------------------
    Availability chart (New)
    Bars
      : Buttons (Imitation)
    Dialog

    WIDGETS
    -------------------------------------------------------------------------
    Error-Success (Imitation)
    Forms
      : Types
        : Autoscheduler checkbox (New)

    MODULES
    -------------------------------------------------------------------------
    Autoscheduler calendar (Override/complement)
    Banner
      : Main (Override/complement)
    Header (Override/complement)

    PAGETYPES
    -------------------------------------------------------------------------
    XXX

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

/*
    COMMON/Text-level semantics (Override/complement)
*/

a:hover,
a:focus,
button:hover,
button:focus {
    text-decoration: none;
}

/*
    LAYOUTS/Autoscheduler as a section (Imitation)
*/

.autoschedule_Availability,
.autoschedule_Availability_Mobile {
    background-color: unset;
    padding: unset;
    font-size: inherit;
    font-family: inherit;
}

.autoschedule_Availability .autoschedule_Availability_Content,
.autoschedule_Availability_Mobile .autoschedule_Availability_Content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin: 0 auto;
    border-radius: unset;
    max-inline-size: unset;
    background-color: unset;
    padding: unset;
    font-weight: inherit;
    overflow: unset;
    box-shadow: unset;
}

/* Media query to target only desktop */
@media all and (min-width:1025px) {
    .autoschedule_Availability .autoschedule_Availability_Content {
        max-inline-size: var(--t-tc--content--w--reduced);
    }

}

.autoschedule_Availability_Mobile .autoschedule_Availability_Title {
    position: static;
    z-index: unset;
    inline-size: auto;
    block-size: auto;
    background-color: unset;
    padding: unset;
    text-align: start;
    white-space: wrap;
}

.autoschedule_editor_availability_ModelAdapter,
.autoschedule_editor_availability_ModelAdapter_Mobile {
    margin-block-start: var(--t-gs--space--xl);
    inline-size: 100%;
}

.autoschedule_Availability .autoschedule_editor_availability_Base,
.autoschedule_Availability .autoschedule_editor_availability_Base_Mobile {
    block-size: auto; /* up until we get how to make he scrollable container elastic to available height */
}

.autoschedule_editor_availability_FullView,
.autoschedule_editor_availability_FullView_Mobile {
    block-size: 100%;
}

.autoschedule_editor_availability_FullView_Top,
.autoschedule_editor_availability_FullView_Mobile .autoschedule_editor_availability_FullView_Top {
    position: static;
    z-index: unset;
    margin: unset;
    margin-block-end: var(--t-gs--space--l);
    font-size: inherit;
}

.autoschedule_Availability.autoschedule_Availability_Mobile .autoschedule_Availability_saveBarContainer {
    display: block;
    position: static;
    z-index: unset;
    block-size: unset;
    background: unset;
}

.autoschedule_Availability .TIN_input_button_Container.ButtonsContainer,
.autoschedule_Availability_Mobile .TIN_input_button_Container.ButtonsContainer {
    margin-block-start: var(--t-gs--space--xl);
    margin-inline-start: unset;
    border-block-start: unset;
    inline-size: 100%;
    font-size: unset;
}

/*
    ELEMENTS/Buttons: Main: Tertiary (Override/complement)
*/

.autoschedule_Availability .TIN_display_Anchor_disabled,
.autoschedule_Availability .TIN_display_Anchor_disabled:hover {
    color: var(--t-tc--buttons--font--color);
}

/*
    COMPONENTS/Availability chart (New)
*/

.autoschedule_Availability_legendChart {
    display: flex;
    margin: unset;
    float: unset;
    font-size: inherit;
}

.autoschedule_Availability_legendChart > * {
    display: flex;
    column-gap: var(--t-gs--space--xs);
    row-gap: var(--t-gs--space--xxs);
    align-items: center;
    color: inherit;
}

/* Media query to target only mobile */
@media all and (max-width:750px) {
    .autoschedule_Availability_legendChart {
        column-gap: var(--t-gs--space--xs);
        align-items: flex-end;
        margin-block-start: var(--t-gs--space--s2);
    }

    .autoschedule_Availability_legendChart > * {
        flex-direction: column;
        flex-basis: 20%;
        font-size: var(--t-gs--font--size--03);
        white-space: nowrap;
    }

}

/* Media query to target tablet and desktop */
@media all and (min-width:751px) {
    .autoschedule_Availability_legendChart {
        column-gap: var(--t-tc--button-bar--cols--gap);
        align-items: center;
        margin-block-start: var(--t-gs--space--xl);
    }

    .autoschedule_Availability_legendChart > * {
        font-size: inherit;
    }

}

/*
    COMPONENTS/Bars: Buttons (Imitation)
*/

.autoschedule_Availability_Mobile .autoschedule_Availability_SaverBar {
    position: static;
}

.autoschedule_Availability.autoschedule_Availability_Mobile .TIN_form_SaverBar_SaverBarRightWidgets {
    display: block;
    margin-inline-end: unset;
    font-size: inherit;
}

/* Media query to target only mobile */
@media all and (max-width:750px) {
    .autoschedule_Availability .TIN_input_button_Container.ButtonsContainer .TIN_form_SaverBar_SaverBarRightWidgets .TIN_display_Anchor {
        inline-size: var(--t-tc--button-bar__buttons--width);
    }

}

/* Media query to target tablet and desktop */
@media all and (min-width:751px) {
    .autoschedule_Availability .TIN_input_button_Container.ButtonsContainer {
        display: block;
    }

    .autoschedule_Availability .TIN_input_button_Container.ButtonsContainer .TIN_input_button_Primary {
        float: inline-start;
    }

    .autoschedule_Availability .TIN_input_button_Container.ButtonsContainer .TIN_form_SaverBar_SaverBarRightWidgets {
        display: block;
    }

    .autoschedule_Availability .TIN_input_button_Container.ButtonsContainer .TIN_form_SaverBar_SaverBarRightWidgets .TIN_display_Anchor {
        margin-inline-start: var(--t-tc--button-bar--cols--gap);
    }

}

/*
    COMPONENTS/Dialog
*/

/* Media query to target only desktop */
@media all and (min-width:1025px) {
    .DialogContainer {
        max-inline-size: var(--t-tc--content--w--narrow);
        background-color: #FFFFFF;
    }

}

/*
    WIDGETS/Error-Success (Imitation)
*/

.body:has(.autoschedule_Availability_endPage) .title--hero {
    display: none;
}

.autoschedule_Availability_endPage,
.autoschedule_Availability_Mobile .autoschedule_Availability_endPage {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0 auto;
    inline-size: 100%;
    block-size: unset;
    text-align: center;
}

/* Media query to target only desktop */
@media all and (min-width:1025px) {
    .autoschedule_Availability_endPage {
        max-inline-size: var(--t-tc--content--w--narrower);
    }

}

.autoschedule_Availability_endPageImage {
    display: none;
    margin-block-end: var(--t-gs--space--l);
    inline-size: 8.3rem;
    block-size: 8.3rem;
    background-image: url('../images/success-yes--bg.svg');
    background-position: center;
    background-size: contain;
}

.autoschedule_Availability_endPageImageError {
    background-image: url('../images/success-not--bg.svg');
}

.autoschedule_Availability_endPage div:not([class]) {
    margin-block-start: var(--t-gs--space--m);
}

/*
    WIDGETS/Forms: Types: Autoscheduler checkbox (New)
*/

.labeledCheckbox {
    display: flex;
    gap: var(--t-tc--fieldSpec--padding--inners);
    align-items: center;
}

.labeledCheckbox .ICO_components_input_Checkbox[type="checkbox"] {
    flex-shrink: 0;
    margin: var(--t-gs--space--xs);
}

.labeledCheckbox .labeledCheckboxLabel {
    margin: unset;
    text-transform: uppercase;
}

.ICO_components_input_Checkbox_Checked {
    background-image: url('../images/checkbox-icon.svg');
    background-size: contain;
    background-position: center;
}

.ICO_components_input_Checkbox:focus-visible, .ICO_components_input_Checkbox.ICO_components_input_Checkbox_Checked:focus-visible {
    outline-color: #000000;
    outline-offset: .2rem;
    background-color: #000000;
    box-shadow: none;
}

.ICO_components_input_Checkbox:focus-visible {
    background-color: #000000;
}

.ICO_components_input_Checkbox:hover {
    background-color: none;
    background-image: url('../images/checkbox-hover.svg');
    background-size: contain;
    background-position: center;
}

.TIN_display_Button[id*="TIN_display_Button"].autoschedule_editor_availability_header_Container_HeaderButton {
    color: #000000
}

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

.banner--main {
    background-image: url('../images/banner--main--desktop.jpg');
}

/* Media query to target only tablet */
@media all and (min-width:751px) and (max-width:1024px) {
    .banner--main {
        background-image: url('../images/banner--main--tablet.jpg');
    }

}

/* Media query to target only mobile */
@media all and (max-width:1025px) {
    .banner--main {
        background-image: url('../images/banner--main--mobile.jpg');
    }
}

/*
    MODULES/Header (Override/complement)
*/

.body--header-fixed-on-scroll .header {
   z-index: 1100;
   background-color: #FFFFFF;
}

.banner--main {
    height: 36rem;
}

.banner__text__title.title.title--hero {
    color: #FFFFFF;
    font-size: 4rem;
}

/*
    Footer
*/
.body--footer-sticky .footer {
    background-color: #000000;
}

.footer .footer__rights__copy {
    color: #FFFFFF;
}

.footer__content .footer__links .footer__links__item.link{
    color: #FFFFFF;
}

/* General Images */

.header__logo .logo--header img {
    margin-bottom: 0;
}

.footer__rights__logo .logo.logo--footer img {
    margin-bottom: 0;
}