/****************************/
/** GLOBAL token overrides **/ 
/****************************/
:root {
    /** set the font for all root/body text **/
    --dxp-g-root-font-family: 'Marianne', arial, sans-serif;
    --dxp-s-body-font-family: 'Marianne', arial, sans-serif;
    --dxp-s-body-small-font-family: 'Marianne', arial, sans-serif;

    /** set the font for headings **/
    --dxp-g-heading-font-family: 'Marianne', arial, serif;
    --dxp-s-text-heading-medium-font-family: 'Marianne', arial, sans-serif;
    --dxp-s-text-heading-small-font-family: 'Marianne', arial, sans-serif;

    /** set the font for forms **/
    --dxp-s-form-element-text-font-family: 'Marianne', arial, serif;
    --dxp-s-body-font-family: 'Marianne', arial, serif;
    --dxp-s-form-element-label-font-family: 'Marianne', arial, serif;

    /** set the font for buttons **/
     --dxp-s-button-font-family: 'Marianne', arial, serif;

    /** set the font size for headings **/
    --dxp-s-form-element-label-font-size : 1rem;
    --dxp-s-body-small-font-size : 0.75rem;

    /* Error color overrides */
    --slds-g-color-error-base-40 : var(--text-default-error);
    --lwc-colorTextError : var(--text-default-error);
    --dxp-g-destructive : var(--text-default-error);

    /* Checkbox colors overrides */
    --sds-c-checkbox-color-background : white;
    --sds-c-checkbox-color-background-checked : rgb(0,0,145);
    /*--slds-c-checkbox-shadow: rgb(22,22,22) 0px 0px 0px 1px inset;*/
    --slds-c-checkbox-shadow : transparent;
    --slds-c-checkbox-color-border: var(--border-action-high-blue-france);
    --dxp-c-checkbox-width-border: 1px;
    --sds-c-checkbox-radius-border: .25rem;

     /* Select colors overrides */
    --sds-c-select-color-background : var(--background-contrast-grey, rgb(238,238,238));
    --sds-c-select-color-background-focus : var(--background-contrast-grey, rgb(238,238,238));

    /* Form color overrides */
    --textarea-color-background : var(--background-contrast-grey);
    --input-color-background : var(--background-contrast-grey);
    --input-color-background-focus: var(--background-contrast-grey);
    --slds-c-input-color-background: var(--background-contrast-grey);
    --dxp-g-root-contrast : var(--text-default-grey);

    /* Button color overrides */
    --sds-c-button-brand-color-background: var(--border-action-high-blue-france);
    
    /* Radio button overrides */
    --slds-c-radio-shadow : inset 0 0 0 1px var(--border-action-high-grey), inset 0 0 0 18px var(--background-default-grey);

    /* ul styling reset */
     --ul-type: disc !important;
     --dxp-c-link-text-color : var(--text-action-high-blue-france) !important;

    /* link styling reset */
    --dxp-s-link-text-color-hover : var(--text-action-high-blue-france);
}


/****************************/
/* MISC Technical Overrides */ 
/****************************/

/* Scrollbar width issue on desktops (for Windows) */ 
html {
    width: 100vw;
    overflow-x:hidden;
}

/* Debug/technical display of PEG_LWR components */
.slds-theme_shade,  .slds-theme_shade .slds-text-heading--small, .slds-theme_shade p, .slds-theme_shade h1, .slds-theme_shade h2, .slds-theme_shade h3, .slds-theme_shade h4 {
    color: var(--text-default-grey);
}

/* Display enhacement of richtext content */
h6, .slds-rich-text-editor__output h6, .slds-rich-text-editor__textarea h6 {
    font-weight: 700;
    font-size: 1.125rem;
    line-height: 1.5rem;
    margin: var(--title-spacing);
} 
h5, .slds-rich-text-editor__output h5, .slds-rich-text-editor__textarea h5 {
    font-weight: 700;
    font-size: 1.25rem;
    line-height: 1.75rem;
    margin: var(--title-spacing);
}  
h4, .slds-rich-text-editor__output h4, .slds-rich-text-editor__textarea h4 {
    font-weight: 700;
    font-size: 1.375rem;
    line-height: 1.75rem;
    margin: var(--title-spacing);
}  
h3, .slds-rich-text-editor__output h3, .slds-rich-text-editor__textarea h3 {
    font-weight: 700;
    font-size: 1.5rem;
    line-height: 2rem;
    margin: var(--title-spacing);
}
h2, .slds-rich-text-editor__output h2, .slds-rich-text-editor__textarea h2 {
    font-weight: 700;
    font-size: 1.75rem;
    line-height: 2.25rem;
    margin: var(--title-spacing);
}
h1 {
    font-weight: 700;
    font-size: 2rem;
    line-height: 2.5rem;
    margin: var(--title-spacing);
}
h1.slds-modal__title {
    margin-bottom: 0;
}
p {
    font-size: 1rem;
    line-height: 1.5rem;
    margin: var(--text-spacing);
}
p[class*="ql-indent-"]:has(+ p[class*="ql-indent-"]) {
    margin-bottom: var(--li-bottom);
}
p:has(+ ul){
    margin : var(--li-bottom);
}
p:has(+ h1, + h2, + h3, + h4, + h5), li:has(+ h1, + h2, + h3, + h4, + h5) {
    margin: var(--title-spacing);
}
h2.slds-text-heading_small {
    margin-bottom : 0;
}


/****************************/
/* GLOBAL State Overrides   */
/****************************/

/* Selection colors */ 
::selection {
    background: #d5d5d5;
}
:focus::selection {
    background: #a7caed;
}


/****************************/
/* FORM Global Overrides    */
/****************************/

/* STANDARD required star position */
.fr-input-group abbr.slds-required {
    position: relative !important;
    float: right;
    padding-bottom: 4px;
}
/* specific FLOW behaviour for required star */
.flowruntime-input-label {
    width: fit-content;
}
.flowruntime-input-label abbr.slds-required {
    position: absolute !important;
    top: -.25rem;
}

/* STANDARD lightning-input-field OVERRIDES */
.slds-form-element__static {
    font-size: 1rem !important;
    /*color: var(--text-default-grey);*/
}
/* Handling of compound fields like addresses */
.slds-form-element__row:has(+ .slds-form-element__row ){
    margin-bottom: 1rem;
}
/* Handling of disabled and output field labels */
.fr-input-group--disabled .slds-form-element__label {
    color: var(--text-disabled-grey);
}

/* STANDARD input FIELD matched to fr-input */
.slds-input {
    border-radius: 0.25rem 0.25rem 0 0;
    /*border-bottom: 2px solid var(--border-plain-grey);*/
    font-size: 1rem;
    line-height: 1.5rem;
    padding: 0.5rem 1rem;
    margin-top: 0.5rem;
}

input.slds-input, textarea.slds-textarea {
    background-color: var(--background-contrast-grey) !important;
    color: var(--text-default-grey) !important;
}

.slds-input::placeholder {
      opacity: 1;
      font-style: italic;
      color: var(--text-mention-grey);
}
.slds-input:disabled::placeholder {
    opacity: 1;
    font-style: italic;
    color: var(--text-disabled-grey);
    background-color: var(--background-contrast-grey);
}

.slds-input:not(textarea) {
      max-height: 2.5rem;
}

.slds-input {
    box-shadow: inset 0 -2px 0 0 #3a3a3a;
}


a.fr-link--icon-right::after, a.fr-download__link::after {
    margin-right: 0 !important;
}
a.fr-link--icon-left::before {
    margin-left: 0 !important;
}

.slds-input:disabled {
    color: var(--text-disabled-grey);
    background-color: var(--background-contrast-grey);
    box-shadow: inset 0 -2px 0 0 var(--border-disabled-grey);
}
.slds-input[readonly] {
    border-top-left-radius: 0.25rem !important;
    border-top-right-radius: 0.25rem !important;
}
.slds-input[readonly]:disabled {
    color: var(--text-disabled-grey);
    background-color: var(--background-contrast-grey);
}


/* STANDARD date input FIELD matched to fr-input */
.slds-input[type=date] {
      min-height: 2.5rem;
      background-repeat: no-repeat;
      background-position: calc(100% - 0.75rem) 50%;
      background-size: 1rem 1rem;
      --data-uri-svg: url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' viewBox='0 0 24 24'><path fill='%23161616' d='M17 3h4c.55 0 1 .45 1 1v16c0 .55-.45 1-1 1H3c-.55 0-1-.45-1-1V4c0-.55.45-1 1-1h4V1h2v2h6V1h2v2zm-2 2H9v2H7V5H4v4h16V5h-3v2h-2V5zm5 6H4v8h16v-8z'/></svg>");
      background-image: var(--data-uri-svg);
}
.slds-input[type=date]::-webkit-calendar-picker-indicator {
      display: block;
      margin-right: -0.375rem;
      opacity: 0;
}
.slds-input[type=date]:disabled {
    --data-uri-svg: url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' viewBox='0 0 24 24'><path fill='%23929292' d='M17 3h4c.55 0 1 .45 1 1v16c0 .55-.45 1-1 1H3c-.55 0-1-.45-1-1V4c0-.55.45-1 1-1h4V1h2v2h6V1h2v2zm-2 2H9v2H7V5H4v4h16V5h-3v2h-2V5zm5 6H4v8h16v-8z'/></svg>");
    background-image: var(--data-uri-svg);
    color: var(--text-disabled-grey);
    box-shadow: inset 0 -2px 0 0 var(--border-disabled-grey);
}
.slds-datepicker__filter h2 {
    margin: 0;
    line-height: 1rem;
    font-size: 1rem;
    font-weight: 600;
}
.slds-datepicker__filter .slds-select_container {
    /*padding: 0.5rem 0.5rem 0.25rem 0.75rem;*/
    margin-top: 0;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1rem;
    box-shadow: none;
}
.slds-datepicker__filter .slds-select_container select {
    font-weight: 600;
}
.slds-datepicker__filter .slds-button.slds-button_icon-container:focus, .slds-datepicker__filter .slds-button.slds-button_icon-container:active, .slds-dropdown-trigger .slds-input__icon
:focus, .slds-dropdown-trigger .slds-input__icon:active {
    box-shadow: none;
    outline-color: rgb(10,118,246);
    outline-style: solid;
    outline-width: 2px;
    outline-offset: 1px;
}

/* STANDARD picklist FIELD matched to fr-select */
.slds-combobox__input {
    border-radius: 0.25rem 0.25rem 0 0;
    font-size: 1rem;
    line-height: 1.5rem;
    padding: 0.5rem 1rem;
    padding-left: 1rem !important;
    margin-top: 0.5rem;
    color: #161616;
    background-color: var(--background-contrast-grey);
    /*background-color: #eee;*/
    box-shadow: inset 0 -2px 0 0 #3a3a3a;
    /*background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' viewBox='0 0 24 24' %3E%3Cpath fill='%23161616' d='M12,13.1l5-4.9l1.4,1.4L12,15.9L5.6,9.5l1.4-1.4L12,13.1z'/%3E%3C/svg%3E");*/
}
.slds-combobox__input.fix-slds-input_faux {
    line-height: 1.5rem !important;
}
button.slds-combobox__input-value {
    border-left-width: 0px !important;
    border-right-width: 0px !important;
    border-bottom-width: 0px !important;
    border-top-width: 0px !important;
}
.slds-combobox__input:disabled {
    color: #929292;
    box-shadow: inset 0 -2px 0 0 #e5e5e5;
    background-color: var(--background-contrast-grey);
    /*background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' viewBox='0 0 24 24' %3E%3Cpath fill='%23929292' d='M12,13.1l5-4.9l1.4,1.4L12,15.9L5.6,9.5l1.4-1.4L12,13.1z'/%3E%3C/svg%3E");*/
}
.slds-combobox__input:-webkit-autofill,
.slds-combobox__input:-webkit-autofill:hover,
.slds-combobox__input:-webkit-autofill:focus {
    box-shadow: inset 0 -2px 0 0 #3a3a3a, inset 0 0 0 1000px #ececfe;
    -webkit-text-fill-color: #161616;
}
.slds-listbox__option {
    padding-top: 0.0625rem !important;
    padding-bottom: 0.0625rem !important;
}
.slds-listbox_vertical .slds-listbox__option.slds-has-focus,
.slds-listbox_vertical .slds-listbox__option.slds-has-focus:focus,
.slds-listbox_vertical .slds-listbox__option.slds-has-focus:active,
.slds-listbox_vertical .slds-listbox__option:hover, 
.slds-listbox_vertical .slds-listbox__option:active, 
.slds-listbox_vertical .slds-listbox__option:focus {
    background-color: #459bf9 !important;
    border-style: none !important;
    box-shadow: none !important;
    outline-style: none !important;
}


/* STANDARD longtext FIELD matched to fr-input */
/*border-bottom: 1px solid var(--border-plain-grey);*/
.slds-textarea {
    border-top-left-radius: 0.25rem !important;
    border-top-right-radius: 0.25rem !important;
    font-size: 1rem;
    line-height: 1.5rem;
    padding: 0.5rem 1rem;
    margin-top: 0.5rem;
}
.slds-textarea::placeholder {
    opacity: 1;
    font-style: italic;
    color: var(--text-mention-grey);
}
.slds-textarea:disabled::placeholder {
    opacity: 1;
    font-style: italic;
    color: var(--text-disabled-grey);
    background-color: var(--background-contrast-grey);
}
.slds-textarea:disabled {
    color: var(--text-disabled-grey);
    background-color: var(--background-contrast-grey);
    box-shadow: inset 0 -2px 0 0 var(--border-disabled-grey);
}
.slds-textarea[readonly]:disabled {
    background-color: var(--background-contrast-grey);
    color: var(--text-disabled-grey);
}
.slds-textarea {
    color: #161616;
    background-color: #eee;
    box-shadow: inset 0 -2px 0 0 #3a3a3a;
}
.slds-textarea:active, .slds-textarea:focus {
    outline-color: rgb(10,118,246);
    outline-style: solid;
    outline-width: 2px;
    outline-offset: 3px;
    border-style: none;
    border-bottom-style: solid;
    background-color: var(--background-contrast-grey);
    box-shadow: inset 0 -2px 0 0 #3a3a3a;
}

/* Remove Salesforce icons in lookups */
.slds-icon_container {
    display: none !important;
}

/* Remove Help-text icons */
.slds-form-element__icon {
    display: none !important;
}
.fr-hint-text {
    margin-bottom: 0px !important;
}


/****************************/
/** ACTIVE/FOCUS state mgt **/
/****************************/
.slds-input:active, .slds-input:focus, .slds-input.slds-has-error:focus, .slds-combobox__input.slds-has-focus, .slds-combobox__input:focus, .slds-combobox__input:active, .slds-combobox.slds-is-open .slds-combobox__input, .slds-has-error .slds-input:focus {
    outline-color: rgb(10,118,246);
    outline-style: solid;
    outline-width: 2px;
    outline-offset: 2px;
    border-style: none;
    border-bottom-style: solid;
    background-color: var(--background-contrast-grey);
    box-shadow: inset 0 -2px 0 0 #3a3a3a;
}

.slds-button--brand:focus,.slds-button--destructive:focus,.slds-button--success:focus,.slds-button_brand:focus,.slds-button_destructive:focus,.slds-button_success:focus {
    outline-color: #0a76f6 !important;
    outline-style: solid;
    outline-offset: 2px !important;
    outline-width: 2px !important;
}

a:focus, a.fr-link:focus, a.fr-link:active, a:active {
    outline-color: #0a76f6 !important;
    outline-offset: 2px !important;
    outline-width: 2px !important;
}

/****************************/
/****** ERROR HANDLING ******/
/****************************/

/* Messages d'erreur */
/* STANDARD ERROR messages */ 
.slds-notify.slds-notify_toast.slds-theme_error::before {
    --icon-size: 1rem;
    background-color: currentColor;
    content: "";
    display: inline-block;
    flex: 0 0 auto;
    height: var(--icon-size);
    /*margin-right: .25rem;*/
    margin-right: .5rem;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    vertical-align: calc((.75em - var(--icon-size))*.5);
    width: var(--icon-size);
    margin-top: .25rem;
    -webkit-mask-image: url(dsfr/icons/system/fr--error-fill.svg);
    mask-image: url(dsfr/icons/system/fr--error-fill.svg)
}
.slds-has-error .slds-form-element__label, .flowruntime-input-label:has(+ .slds-has-error) .slds-form-element__label {
    color: var(--text-default-error);
}
.fr-input-group:has(.slds-has-error)::before, .flowruntime-input:has(.slds-has-error)::before {
    background-image: linear-gradient(0deg, var(--border-plain-error), var(--border-plain-error));
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: .125rem 100%;
    bottom: 0;
    content: "";
    display: block;
    left: -.75rem;
    pointer-events: none;
    position: absolute;
    right: -.75rem;
    top: 0
}
.slds-has-error .slds-form-element__help {
    color: var(--text-default-error);
    margin-top: 1rem;
    font-size: .75rem;
    line-height: 1.25rem;
}
.flowruntime-input-error::before, .slds-has-error .slds-form-element__help::before {
    --icon-size: 1rem;
    background-color: currentColor;
    content: "";
    display: inline-block;
    flex: 0 0 auto;
    height: var(--icon-size);
    margin-right: .25rem;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    vertical-align: calc((.75em - var(--icon-size))*.5);
    width: var(--icon-size);
    margin-top: .25rem;
    -webkit-mask-image: url(dsfr/icons/system/fr--error-fill.svg);
    mask-image: url(dsfr/icons/system/fr--error-fill.svg);
    /*color: var(--text-default-error);
    font-size: .75rem;
    display: inline-block;
  	margin-right: 0.25rem;
    width: var(--icon-size);
    height: var(--icon-size);
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    content:'❌ ';*/
}


.slds-has-error .slds-input, .slds-has-error .slds-input:focus, .slds-has-error .slds-input:active {
    box-shadow: inset 0 -2px 0 0 var(--border-plain-error);
    border-top-width : 0px;
    border-bottom-width : 0px;
    border-left-width : 0px;
    border-right-width : 0px;
}
.slds-has-error .slds-textarea, .slds-has-error .slds-textarea:focus, .slds-has-error .slds-textarea:active {
    box-shadow: inset 0 -2px 0 0 var(--border-plain-error) !important;
    border-top-width : 0px;
    border-bottom-width : 0px;
    border-left-width : 0px;
    border-right-width : 0px;
}
.slds-has-error .slds-combobox__input, .slds-has-error .slds-combobox__input:focus, .slds-has-error .slds-combobox__input:active {
    box-shadow: inset 0 -2px 0 0 var(--border-plain-error) !important;
}
.slds-has-error .slds-select_container, .slds-has-error .slds-select_container:focus, .slds-has-error .slds-select_container:active {
    box-shadow: inset 0 -2px 0 0 var(--border-plain-error) !important;
}
.slds-has-error .slds-select, .slds-has-error .slds-select:focus, .slds-has-error .slds-select:active {
    box-shadow: unset;
}
.slds-select_container:has(> select:active), .slds-select_container:has(> select:focus) {
    outline-color: rgb(10,118,246);
    outline-style: solid !important;
    outline-width: 2px !important;
    outline-offset: 2px !important;
}

.flowruntime-input-error, .flowruntime-input-error .slds-rich-text-editor__output, .flowruntime-input-error .slds-rich-text-editor__output span, .flowruntime-input-error .slds-rich-text-editor__output span > p {
    color: var(--text-default-error);
    font-size: .75rem;
    display: inline;
}

.slds-has-error .slds-form-element__help:blank {
    display: none !important;
}
.slds-has-error .slds-form-element__help::before, .slds-text-color_error.slds-text-body_small::before {
    --icon-size: 1rem;
    background-color: currentColor;
    content: "";
    display: inline-block;
    flex: 0 0 auto;
    height: var(--icon-size);
    margin-right: .25rem;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    vertical-align: calc((.75em - var(--icon-size))*.5);
    width: var(--icon-size);
    margin-top: .25rem;
    -webkit-mask-image: url(dsfr/icons/system/fr--error-fill.svg);
    mask-image: url(dsfr/icons/system/fr--error-fill.svg)
}


.flowruntime-inline-container .slds-has-error .slds-form-element__help {
    display: none !important;
}
.flowruntime-input .slds-has-error .slds-form-element__help:blank {
    display: none !important;
} 
.flowruntime-input .slds-has-error .slds-form-element__help::before {
    display: none !important;
}

.slds-text-color_error.slds-text-body_small span {
    font-size: 0.75rem !important;
}
/*.slds-text-color_error.slds-text-body_small::before {
    content: '❌ ';
    font-size: 0.75rem !important;
}*/



    
/* START FLOW OVERRIDES */ 
.field-element {
        margin-top: 0.5rem;
        margin-bottom: 0.5rem;
    }
    .slds-form-element__label  {
        margin-bottom: 0px !important;
    }

    .slds-radio {
        margin-bottom: 1rem !important;
    }
   .slds-rich-text-editor__output span {
        font-size: 1rem;
        font-weight: 400;
    }
    .fr-hint-text .slds-rich-text-editor__output span {
        font-size: .75rem;
    }
    .slds-radio_faux {
	    height: 1.5rem !important;
	    width: 1.5rem !important;
        margin-top: 0px !important;
        margin-left: 1px !important;
    }
    .slds-radio_faux::after {
	    height: 12px !important;
	    width: 12px !important;
        background-color: var(--background-action-high-blue-france) !important;
    }
    /* COMPOUND field (e.g. address) Management */
    legend.slds-form-element__label + .slds-form-element__control {
        padding-top: .75rem;
    }
    

    /* STANDARD dropdown FIELD in Flows */
.slds-select_container {
    border-radius: 0.25rem 0.25rem 0 0;
	padding: 0.5rem 0.5rem 0.25rem 0.75rem;
    margin-top: 0.5rem;
    font-size: 1rem;
    line-height: 1.5rem;
    color: #161616;
    background-color: #eee;
    box-shadow: inset 0 -2px 0 0 #3a3a3a;
    /*background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' viewBox='0 0 24 24' %3E%3Cpath fill='%23161616' d='M12,13.1l5-4.9l1.4,1.4L12,15.9L5.6,9.5l1.4-1.4L12,13.1z'/%3E%3C/svg%3E");*/
}

.slds-select_container:disabled {
    color: #929292;
    box-shadow: inset 0 -2px 0 0 #e5e5e5;
    background-color: var(--background-contrast-grey);
    color: var(--text-disabled-grey);
    /*background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' viewBox='0 0 24 24' %3E%3Cpath fill='%23929292' d='M12,13.1l5-4.9l1.4,1.4L12,15.9L5.6,9.5l1.4-1.4L12,13.1z'/%3E%3C/svg%3E");*/
}

/*.slds-select_container:-webkit-autofill,
.slds-select_containert:-webkit-autofill:hover,
.slds-select_container:-webkit-autofill:focus {
    box-shadow: inset 0 -2px 0 0 #3a3a3a, inset 0 0 0 1000px #ececfe;
    -webkit-text-fill-color: #161616;
}*/
   
.slds-select_container select, .slds-select_container select:focus {
    box-shadow: unset;
    border-image-width: 0px;
}

    /*
.slds-select_container:focus-within {
    background-color: #eee !important;
    box-shadow: inset 0 -2px 0 0 #3a3a3a, inset 0 -2px 0 0 #3a3a3a, inset 0 0 0 1000px #ececfe;
    -webkit-text-fill-color: #161616;
}
    
	/* STANDARD sections in Flows */
    .slds-accordion__section, .slds-accordion__summary {
		background-color: rgba(0,0,0,0);
        margin-top:0;
        margin-bottom:0;
		margin-left:0;
        margin-right:0;
        padding-top:0;
        padding-bottom:0;
		padding-left:0;
        padding-right:0;
    }    
	/*.slds-accordion__summary-action {*/
    .slds-accordion__summary * button {
        margin-top:0;
        margin-bottom:0;
		margin-left:0;
        margin-right:0;
        padding-top:0.75rem;
        padding-bottom:0.75rem;
		padding-left:1rem;
        padding-right:1rem;
        line-height: 1.5rem;
    }
    .slds-accordion__summary-action * button, .slds-accordion__summary-heading .slds-button:focus, .slds-accordion__summary-heading .slds-button:visited {
        color: var(--text-action-high-grey);
        text-decoration-style: unset !important;
        text-decoration-line: unset !important;
    }
    
    .slds-is-open * button {
        font-weight: 700;
    }
    .slds-accordion__summary::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    box-shadow: inset 0 1px 0 0 var(--border-default-grey), 0 1px 0 0 var(--border-default-grey);
  }
    
    /* Text area **/
    .textarea-container textarea, .slds-textarea {
        border-top-left-radius: 0.25rem !important;
    	border-top-right-radius: 0.25rem !important;
    	font-size: 1rem;
    	line-height: 1.5rem;
    	padding: 0.5rem 1rem;
    	margin-top: 0.5rem;
        box-shadow: inset 0 -2px 0 0 #3a3a3a;
    }
    

    /*******************************/
    /******* Checkbox INPUTS *******/
    /*******************************/
    .slds-checkbox .slds-checkbox_faux {
        height: 1.5rem;
        width: 1.5rem;
        font-size: 1rem;
        margin-top: 0px;
        margin-left: 0px;
    }
    .slds-checkbox_faux::after {
        font-size: 1rem !important;
        border-top-color: white !important;
        border-bottom-color: white !important;
        border-left-color: white !important;
        border-left-color: white !important;
        border-bottom-width: 2px !important;
		border-left-width: 2px !important;
        top: 45% !important;
        height: .35rem !important;
        width: .65rem !important;
    }
    .slds-checkbox [type=checkbox]:focus-visible+.slds-checkbox--faux,.slds-checkbox [type=checkbox]:focus-visible+.slds-checkbox__label .slds-checkbox--faux,.slds-checkbox [type=checkbox]:focus-visible+.slds-checkbox__label .slds-checkbox_faux,.slds-checkbox [type=checkbox]:focus-visible+.slds-checkbox_faux,.slds-checkbox [type=checkbox]:focus-visible~.slds-checkbox--faux,.slds-checkbox [type=checkbox]:focus-visible~.slds-checkbox_faux {
        outline-color: rgb(10,118,246);
        outline-style: solid !important;
        outline-width: 2px !important;
        outline-offset: 2px !important;
    }
    /* special case for lightning-input of type checkbox when setting fr-checkbox-group--sm class*/
    .fr-checkbox-group--sm .slds-checkbox .slds-checkbox_faux {
        height: 1em ;
        width: 1em ;
    }
    .fr-checkbox-group--sm input[type='checkbox'] {
        height: 1px;
        width: 1px;
    }
    .fr-checkbox-group--sm input[type='checkbox'] + label {
        margin-left: unset;
    }
    .fr-checkbox-group--sm .slds-checkbox_faux::after {
        top: 45% !important;
    }
    /* special case for flow display */
    .flowruntime-input-label.flowruntime-inline {
        margin-bottom: 1rem !important;
        padding-left: .5rem !important;
    }
    .slds-form-element__control .slds-checkbox {
        display: inline-block;
    }


    /*******************************/
    /**** Multi-Picklist INPUTS ****/
    /*******************************/
    .slds-form-element__label.slds-form-element__legend {
        font-weight: 400;
    }
    .slds-dueling-list__column .slds-form-element__label  {
        font-size: .75rem !important;
        line-height: 1.25rem !important;
    }    
    .slds-dueling-list__options {
    	color: #161616;
    	background-color: #eee;
    	box-shadow: inset 0 -2px 0 0 #3a3a3a;
        padding-bottom: 2px;
        border-radius: 0.25rem 0.25rem 0 0;
        border-width: 0px !important;
    	font-size: 1rem;
    	line-height: 1.5rem;
    	margin-top: 0.5rem;
	}
	.slds-dueling-list__options:focus-within, .slds-dueling-list__options:focus {
    	outline-color: rgb(10,118,246);
    	outline-style: solid;
    	outline-width: 2px;
        outline-offset: 2px;
        margin-left: 4px;
        margin-right: 4px;
        margin-bottom: 4px;
        width: calc(100% - 8px);
	}
    .slds-dueling-list__options.slds-is-disabled {
    	color: var(--text-disabled-grey);
   		background-color: var(--background-contrast-grey);
    	box-shadow: inset 0 -2px 0 0 var(--border-disabled-grey);
        padding-bottom: 3px;
	}
    .fr-input-group--disabled .dsfrInput * .slds-dueling-list__column .slds-form-element__label  {
        color: var(--text-disabled-grey) !important;
    }
    .slds-dueling-list__options.slds-is-disabled, .slds-dueling-list__options.slds-is-disabled ul li, .slds-dueling-list__options.slds-is-disabled ul li .slds-listbox__option {
        color: var(--text-disabled-grey) !important;
    	background-color: var(--background-contrast-grey) !important;
    }
    .slds-dueling-list__column .slds-button.slds-button_icon-container:focus, .slds-dueling-list__column .slds-button.slds-button_icon-container:active {
        box-shadow: none;
        outline-color: rgb(10,118,246);
    	outline-style: solid;
    	outline-width: 2px;
        outline-offset: 1px;
    }
    

    /*******************************/
    /****** Richtext OUTPUTS *******/
    /*******************************/
    /* CARD fixes for lightning-formatted-richtext*/
    
    [class*=" fr-icon-"]:before {
    	vertical-align: calc((0.75rem - var(--icon-size))*.5) !important;
	}
    
    .fr-card__desc span {
    	line-height: 1.5rem !important;
    	font-size: .875rem !important;
	}
	.fr-card__detail span {
    	line-height: 1.25rem !important;
    	font-size: .75rem !important;
	}
    
	/* Header / Footer fixes for lightning-formatted-richtext*/
    @media(min-width: 48em) {
	    .fr-footer__brand .fr-logo span {
    	    font-size: 1.3125rem;
    	    margin: -1.25rem;
    	    padding: 1.25rem;
        }
    }
    .fr-footer__brand .fr-logo span {
    	font-size: 1.05rem;
    	margin: -1rem;
    	padding: 1rem;
	}
    
    .fr-header__logo .fr-logo span {
    	font-size: .7875rem;
    	margin: -0.75rem;
    	padding: 0.75rem;
	}
    
    .fr-logo span {
	    --text-spacing: 0;
    	--underline-img: none;
    	color: var(--text-title-grey);
    	display: inline-block;
    	font-size: 1.05rem;
    	font-weight: 700;
    	letter-spacing: -.01em;
    	line-height: 1.0317460317em;
    	text-indent: -0.1em;
    	text-transform: uppercase;
    	vertical-align: middle;
    }
    
    /* Flow required star position */ 
    /* .slds-form-element__label span,  */
    .flowruntime-input-label {
        position:relative;
    }
    .slds-required {
        position: absolute;
        top: -0.25rem;
        right: -0.25rem;
        font-size: 1rem;
        line-height: 20px;
    }
    
    /* SLDS Button OVERRIDES */
    .slds-button_brand,  .slds-button_neutral {
        border-bottom-left-radius: 0px;
        border-bottom-right-radius: 0px;
        border-top-left-radius: 0px;
        border-top-right-radius: 0px;
  		--text-spacing: 0;
  		--title-spacing: 0;
  		z-index: 1;
 		display: inline-flex;
  		flex-direction: row;
  		align-items: center;
  		width: -moz-fit-content;
  		width: fit-content;

  		--underline-img: none;
  		--hover-tint: var(--hover);
  		font-weight: 500;
  		font-size: 1rem;
  		line-height: 1.5rem;
  		min-height: 2.5rem;
  		padding: 0.5rem 1rem;
    }
    
    .slds-button_brand {
  		background-color: var(--background-action-high-blue-france) !important;
  		--idle: transparent;
  		--hover: var(--background-action-high-blue-france-hover) !important;
  		--active: var(--background-action-high-blue-france-active) !important;
  		color: var(--text-inverted-blue-france) !important;
	}
    
    
/* LOGIN FORM OVERRIDES */ 
.comm-login-form__container {
    border-width: 0px !important;
    border-color: transparent !important;
    box-shadow: none !important;
}
.comm-login-form__login-button {
    width: 100%;
}
.comm-login-form__link-section a {
    --text-spacing: 0;
	--title-spacing: 0;
  	z-index: 1;
	display: inline;
  	font-size: 1rem;
  	line-height: 1.5rem;
  	padding: 0 0;
  	color: var(--text-action-high-blue-france);
}
    
.comm-login-form__container .slds-border_top {
    border-top-width: 0px !important;
	border-top-color: transparent !important;
}

/* TAB OVERRIDES, leveraging fr-tabs, fr-tabs__list, fr-tabs__tab, fr-tabs__panel DSFR classes */
ul.dxp-tab-bar-container{
    margin: -4px 0;
    margin-top: 5px;
    padding: 4px .75rem;
    border-bottom-style: none;
    border-bottom-width: 0;
    width: calc(100% - 1.5rem);
    z-index: 10;
} 
li.dxp-tab.dxp-tab-nav-container, li.dxp-tab.dxp-tab-nav-container[data-active=false]:hover, li.dxp-tab.dxp-tab-nav-container[data-active=false]:active {
    margin-left: 0.25rem;
    margin-right: 0.25rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 1rem;
    padding-right: 1rem;
}
li.dxp-tab[data-active=false] {
    background-color: var(--background-action-low-blue-france);
    color: var(--text-action-high-grey);
    font-weight: 700;
}
li.dxp-tab[data-active=false]:hover  {
    background-color: var(--background-action-low-blue-france-hover) !important;
    border-bottom-style: none !important;
}
li.dxp-tab[data-active=false]:active  {
    background-color: var(--background-action-low-blue-france-active) !important;
    border-bottom-style: none !important;
}    
p.dxp-active-tab-text-style, p.dxp-tab-text-style {
    margin-bottom: 0;
}
.dxp-text-body.dxp-active-tab-text-style {
    color: var(--text-active-blue-france);
}
li.dxp-tab[data-active=true]  {
    background-color: var(--background-default-grey);
    border-bottom-width: 0;
    background-image: linear-gradient(0deg, var(--border-active-blue-france), var(--border-active-blue-france)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey));
    background-position: 0 0, 0 calc(100% - 1px), 100% calc(100% - 1px), 100% 100%;
    background-size: 100% 2px, 1px calc(100% - 1px), 1px calc(100% - 1px), 0 1px;
    background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
}
.dxp-tab-container {
    box-shadow: inset 0 1px 0 0 var(--border-default-grey), inset 1px 0 0 0 var(--border-default-grey), inset -1px 0 0 0 var(--border-default-grey), inset 0 -1px 0 0 var(--border-default-grey);
}
.dxp-tab-container  {
    padding: 1rem;
}
@media (min-width: 48em) {
    .dxp-tab-container  {
        padding: 2rem;
    }
}
.dxp-tab-overflow-menu {
    margin-left: 0.25rem;
    margin-right: 0.25rem;
    padding-bottom: calc(0.5rem - 1px);
}
.dxp-more-tab {
    color: var(--text-active-blue-france);
}



