/* =================================== *\
 *  BASE
 * =================================== */
:root {
    --standard-easing: cubic-bezier(0.4, 0.0, 0.2, 1);
    --decelerate-easing: cubic-bezier(0.0, 0.0, 0.2, 1);
    --accelerate-easing: cubic-bezier(0.4, 0.0, 1, 1);
}
body, h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4
{
    font-family: 'Mulish', 'Roboto', 'Helvetica', 'Arial', sans-serif !important;
}
/*html {
    height: auto;
    min-height: 100%;
}
body {
    height: auto;
    min-height: 100%;
}*/


/* =================================== *\
 *  ELEMENTS
 * =================================== */
.no-borders {
    border: 0 !important;
}
.no-paddings {
    padding: 0 !important;
}
.no-margins {
    margin: 0 !important;
}
/* Champ caché accessible */
.a11y-hidden-input {
    width: 0.5px;
    height: 0.5px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    z-index: -1;
}
select.a11y-hidden-select {
    opacity: 0;
    overflow: hidden;
    position: absolute;
    left: 0;
    z-index: -1;
}
/* Label contenant un champ caché accessible */
.a11y-hidden-input-label * {
    pointer-events: none;
}

/* Spinner Point in rotation */
.loader {
    --loader-width: 4rem;
    --loader-point-width: 3px;
    --loader-animation: rotation 0.8s linear infinite;
    width: var(--loader-width);
    height: var(--loader-width);
    border-top: var(--loader-point-width) solid rgba(0, 0, 0, 0.5);
    border-right: var(--loader-point-width) solid transparent;
    border-radius: 50%;
    -webkit-animation: var(--loader-animation);
    animation: var(--loader-animation);
}
@-webkit-keyframes rotation {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}
@keyframes rotation {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* Spinner Waves */
.spinner-container {
    display: flex;
    flex-flow: column nowrap;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}
.spinner-container .spinner {
    position: relative;
    width: 125px;
    height: 125px;
}
.spinner-container .spinner:before, .spinner-container .spinner:after {
    content: "";
    display: block;
    position: absolute;
    border-width: 4px;
    border-style: solid;
    border-radius: 50%;
}
/* spinner pulse styles */
@-webkit-keyframes spinner-pulse {
    0% {
        -webkit-transform: scale(0);
        transform: scale(0);
        opacity: 0;
    }
    50% {
        -webkit-transform: scale(0.7);
        transform: scale(0.7);
        opacity: 1;
    }
    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 0;
    }
}
@keyframes spinner-pulse {
    0% {
        -webkit-transform: scale(0);
        transform: scale(0);
        opacity: 0;
    }
    50% {
        -webkit-transform: scale(0.7);
        transform: scale(0.7);
        opacity: 1;
    }
    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 0;
    }
}
.spinner-container .spinner.pulsing-waves:before {
    width: 117px;
    height: 117px;
    /*border-color: #ffc67f;*/
    border-color: var(--accent);
    top: 0px;
    left: 0px;
    -webkit-animation: spinner-pulse 1.5s linear 0s infinite;
    animation: spinner-pulse 1.5s linear 0s infinite;
}
.spinner-container .spinner.pulsing-waves:after {
    width: 117px;
    height: 117px;
    /*border-color: #ffc67f;*/
    border-color: var(--accent);
    top: 0;
    left: 0;
    opacity: 0;
    -webkit-animation: spinner-pulse 1.5s linear 0.75s infinite;
    animation: spinner-pulse 1.5s linear 0.75s infinite;
}

/* =================================== *\
 *  Rounded
 * =================================== */
/*.theme-slightly-rounded .theme-button,
.theme-slightly-rounded .theme-form-field-container {
    border-radius: 5px;
}

.theme-rounded .theme-button,
.theme-rounded .theme-form-field-container {
    border-radius: 24px;
}*/

/* =================================== *\
 *  FILES
 * =================================== */
.theme-label-file {
    margin: 0;
}

/* =================================== *\
 *  BOUTONS
 * =================================== */
/* BOTH */
.theme-button,
.theme-fab-button {
    display: inline-flex;
    align-items: center;
    flex-wrap: nowrap;
    font-weight: 600;
    transition: all 0.3s var(--standard-easing);
    text-decoration: none;
    cursor: pointer;
}
/* BUTTON */
.theme-button {
    padding: 2px 12px;
    /*padding: 2px 10px;*/
    min-height: 32px;
    white-space: nowrap;
}
/* FAB BUTTON */
.theme-fab-button {
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50% !important;
}
.theme-button[disabled],
.theme-fab-button[disabled] {
    cursor: not-allowed;
    opacity: 0.65;
}
.theme-button-column {
    flex-flow: column nowrap;
    justify-content: center;
}
/* ICON */
.theme-fab-button:not(.bs-adapt),
.theme-button:not(.bs-adapt) {
    color: inherit;
    background-color: rgba(0, 0, 0, 0);
}
.theme-button:not(.focus-invisible):not(.no-borders) {
    border-radius: 10px;
}
.theme-button:not(.bs-adapt):not(.focus-invisible),
.theme-fab-button:not(.bs-adapt):not(.focus-invisible) {
    --active-bg-color: var(--accent);
    --active-color: white;
}
.theme-button:not(.bs-adapt):not(.focus-invisible):not(.no-borders),
.theme-fab-button:not(.bs-adapt):not(.focus-invisible):not(.no-borders) {
    border: 1px solid rgba(0, 0, 0, 0.3);
}
.theme-fab-button:not(.bs-adapt):not(.focus-invisible):active,
.theme-fab-button:not(.bs-adapt):not(.focus-invisible):focus,
.theme-fab-button:not(.bs-adapt):not(.focus-invisible):hover {
    background-color: hsla(0 ,0% ,60% ,0.2);
    border-color: hsla(0 ,0% ,60% ,0.2);
}
.theme-button:not(.bs-adapt):not(.focus-invisible):active,
.theme-button:not(.bs-adapt):not(.focus-invisible):focus,
.theme-button:not(.bs-adapt):not(.focus-invisible):hover {
    background-color: hsla(0 ,0% ,60% ,0.2);
    border-color: hsla(0 ,0% ,60% ,0.2);
}
.theme-button:not(.bs-adapt):not(.focus-invisible).is-active,
.theme-fab-button:not(.bs-adapt):not(.focus-invisible).is-active {
    background-color: var(--active-bg-color);
    border-color: var(--active-bg-color);
    color: var(--active-color)
}
.theme-fab-button.bs-adapt:active,
.theme-fab-button.bs-adapt:focus,
.theme-fab-button.bs-adapt:hover {
    outline: none;
}
.theme-button.bs-adapt:active,
.theme-button.bs-adapt:focus,
.theme-button.bs-adapt:hover {
    outline: none;
}
/* Small size */
.theme-fab-button-sm {
    width: 24px;
    height: 24px;
}
.theme-button-sm {
    min-height: 24px;
    padding: 1px 6px;
}
/* Large size */
.theme-fab-button-lg {
    width: 48px;
    height: 48px;
}
.theme-button-lg {
    min-height: 48px;
    padding: 0 12px;
}
/* Extra-large size */
.theme-fab-button-xl {
    width: 64px;
    height: 64px;
}
.theme-button-xl {
    min-height: 64px;
    padding: 0 16px;
}

/* Rounded */
.theme-button.no-border-radius {
    border-radius: 0 !important;
}
.theme-button.theme-rounded {
    border-radius: 16px;
}
.theme-button-sm.theme-rounded {
    border-radius: 12px;
}
.theme-button-lg.theme-rounded {
    border-radius: 24px;
}
.theme-button-xl.theme-rounded {
    border-radius: 32px;
}

.theme-button.focus-invisible,
.theme-fab-button.focus-invisible {
    background-color: rgba(255, 255, 255, 0) !important;
    cursor: auto;
    border: none;
}

.theme-button-fake-bg,
.theme-fab-button-fake-bg {
    position: relative;
}
.theme-button-fake-bg::before,
.theme-fab-button-fake-bg::before {
    content: "";
    position: absolute;
    height: 100%;
    width: 100%;
    background: currentColor;
}
.theme-fab-button-fake-bg::before {
    border-radius: 50%;
}
/* ICON */
.theme-button:not(.theme-button-column) > i + *,
.theme-button:not(.theme-button-column) > * + i {
    margin-left: 1rem;
}
/* Accent Styles */
.theme-button.accent,
.theme-fab-button.accent {
    background: var(--accent) !important;
    border: 0 !important;
    color: white;
}

.theme-button.accent:hover,
.theme-fab-button.accent:hover,
.theme-button.accent:not(.bs-adapt):not(.focus-invisible):active,
.theme-button.accent:not(.bs-adapt):not(.focus-invisible):focus
{
    background: var(--accent-lightest) !important;
    color: var(--accent) !important;
}

/* Accent lightest Styles */
.theme-button.accent-lightest,
.theme-fab-button.accent-lightest {
    background: var(--accent-lightest);
    border: 0 !important;
    color: var(--accent);
}

.theme-button.accent-lightest:hover,
.theme-fab-button.accent-lightest:hover,
.theme-button.accent-lightest:not(.bs-adapt):not(.focus-invisible):active,
.theme-button.accent-lightest:not(.bs-adapt):not(.focus-invisible):focus
{
    background: var(--accent) !important;
    color: white !important;
}

/* Secondary Styles */
.theme-button.secondary,
.theme-fab-button.secondary {
    --base-color: white;
    --base-bg: var(--secondary-color);
    background: var(--base-bg);
    border: 0 !important;
    color: var(--base-color);
}

.theme-button.secondary:hover,
.theme-fab-button.secondary:hover
{
    --active-hover-color: var(--secondary-color);
    --active-hover-bg: var(--secondary-color-lighter);
    background: var(--active-hover-bg) !important;
    color: var(--active-hover-color) !important;
}

.theme-button.secondary:not(.bs-adapt):not(.focus-invisible):active,
.theme-button.secondary:not(.bs-adapt):not(.focus-invisible):focus
{
    --active-focus-color: var(--secondary-color);
    --active-focus-bg: var(--secondary-color-lighter);
    background: var(--active-focus-bg) !important;
    color: var(--active-focus-color) !important;
}

/* Accent lightest Styles */
.theme-button.secondary-lightest,
.theme-fab-button.secondary-lightest {
    background: var(--secondary-color-lighter);
    border: 0 !important;
    color: var(--secondary-color);
}

.theme-button.secondary-lightest:hover,
.theme-fab-button.secondary-lightest:hover,
.theme-button.secondary-lightest:not(.bs-adapt):not(.focus-invisible):active,
.theme-button.secondary-lightest:not(.bs-adapt):not(.focus-invisible):focus
{
    background: var(--secondary-color) !important;
    color: white !important;
}

/* =================================== *\
 *  COMPOSANTS
 * =================================== */
/* PAGE */
.theme-page-content {
    padding: 3rem;
    /*padding-top: 6rem;*/
}
.page-breadcrumb ~ .theme-page-content {
    padding-top: 0;
}
.theme-page-title {
    margin: 3rem 1rem;
    font-size: 24px;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase;
}

/* =================================== *\
 *  FORMULAIRE
 * =================================== */
.theme-form-fieldset {
    --label-width: 145px;
    --form-font-size: 12px;
}
.theme-form-fieldset:not(:last-child) {
    margin-bottom: 3rem;
}
/* LEGENDES */
.theme-form-legend {
    margin-bottom: 1.5rem;
}
.theme-form-legend-title {
    display: inline-block;
    margin: 0;
    font-size: 16px;
    font-weight: bold;
}
.theme-form-legend-icon {
    margin-right: 0.5rem;
}
.theme-form-legend-subtitle {
    margin: 0.5rem 0 0;
    font-size: 14px;
}
/* GROUPES */
.theme-form-group {
    margin: 1rem 0;
}
.theme-form-group:not(.theme-form-group-inline) .theme-form-label {
    margin: 0.5rem 0;
}
@media (min-width: 490px) {
    .theme-form-group.theme-form-group-inline {
        display: flex;
        flex-wrap: nowrap;
        align-items: baseline;
    }
}
.theme-form-group.theme-form-group-inline .theme-form-label {
    width: var(--label-width);
    margin-right: 1rem;
}
/* LABELS */
.theme-form-label,
.theme-form-checkbox-label {
    flex: 0 0 auto;
    font-size: var(--form-font-size) !important;
    font-weight: bold;
    color: rgba(0, 0, 0, 0.65);
    margin: 0;
}
.theme-form-label:not([for]),
.theme-form-checkbox-label:not([for]) {
    cursor: auto;
}
.theme-form-group .theme-form-field-container .theme-form-label {
    margin: 0;
    width: auto;
}
/* CASES A COCHER */
.theme-checkbox-container,
.theme-form-checkbox-container {
    --checkbox-color-active: var(--secondary-color);
}
.theme-checkbox {
    appearance: none;
    -webkit-appearance: none;
    width: calc(16px * 1.2);
    height: calc(16px * 1.2);
    margin: 0 !important;
    vertical-align: text-bottom;
}
.theme-form-checkbox {
    position: absolute;
    left: 0;
    opacity: 0.01;
}
/* Label à DROITE */
.theme-checkbox,
.theme-form-checkbox + .theme-form-checkbox-label {
    position: relative;
}
.theme-form-checkbox + .theme-form-checkbox-label {
    padding-left: calc(16px * 1.2 + 1rem);
}
.theme-form-checkbox + .theme-form-checkbox-label.hidden-label {
    position: relative;
    width: calc(16px * 1.2 + 1rem);
    min-height: calc(16px * 1.2);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* Aspect de la case */
.theme-checkbox::before,
.theme-form-checkbox + .theme-form-checkbox-label:not(.hidden-checkbox)::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: calc(16px * 1.2);
    height: calc(16px * 1.2);
    /*border: 1px solid #aaa;*/
    border: 2px solid rgba(0, 0, 0, 0.075);
    background: white;
    border-radius: 0;
    /*box-shadow: none;*/
    /*transition: border-color 0.275s var(--standard-easing);
    will-change: border-color;*/
}
.theme-form-checkbox.align-top + .theme-form-checkbox-label:not(.hidden-checkbox)::before {
    top: 0;
    transform: translateY(0);
}
/* Aspect de la coche */
.theme-checkbox::after,
.theme-form-checkbox + .theme-form-checkbox-label:not(.hidden-checkbox)::after {
    content: '\2713';
    speak: never; /* Pour être sûr que le lecteur d'écran ne lira pas "fois" */
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(16px * 1.2);
    height: calc(16px * 1.2);
    font-size: calc(16px * 1.2);
    color: var(--checkbox-color-active, var(--secondary-color));
    line-height: 0;
    /*transition: opacity 0.3s var(--standard-easing), transform 0.3s var(--standard-easing);
    will-change: transform, opacity;*/
}
.theme-form-checkbox.align-top + .theme-form-checkbox-label:not(.hidden-checkbox)::after {
    top: 0;
    transform: translateY(0);
}
/* Case - aspect coché */
.theme-checkbox:checked::before,
.theme-form-checkbox:checked + .theme-form-checkbox-label:not(.hidden-checkbox)::before {
    border-color: var(--checkbox-color-active, var(--secondary-color));
    box-shadow: 0 0 5px 3px rgba(0, 0, 0, 0.04) !important;
}
/* Coche - aspect non coché */
.theme-checkbox:not(:checked)::after,
.theme-form-checkbox:not(:checked) + .theme-form-checkbox-label:not(.hidden-checkbox)::after {
    opacity: 0;
    transform: translateY(-50%) scale(0) rotate(45deg);
}
.theme-form-checkbox:not(:checked).align-top + .theme-form-checkbox-label:not(.hidden-checkbox)::after {
    transform: translateY(0) scale(0) rotate(45deg);
}
/* Coche - aspect coché */
.theme-checkbox:checked::after,
.theme-form-checkbox:checked + .theme-form-checkbox-label:not(.hidden-checkbox)::after {
    opacity: 1;
    transform: translateY(-50%) scale(1) rotate(0);
}
.theme-form-checkbox:checked.align-top + .theme-form-checkbox-label:not(.hidden-checkbox)::after {
    transform: translateY(0) scale(1) rotate(0);
}
/* Case & Label - Comportement désactivé */
.theme-checkbox:disabled,
.theme-form-checkbox:disabled + .theme-form-checkbox-label:not(.hidden-checkbox) {
    pointer-events: none;
    user-select: none;
}
/* Case - aspect désactivé */
.theme-checkbox:disabled::before,
.theme-form-checkbox:disabled + .theme-form-checkbox-label:not(.hidden-checkbox)::before {
    background: rgba(0, 0, 0, 0.1);
    border-color: grey;
}
/* Coche - aspect désactivé */
.theme-checkbox:disabled::after,
.theme-form-checkbox:disabled + .theme-form-checkbox-label:not(.hidden-checkbox)::after {
    color: grey;
}


.theme-radio-buttons-container {
    position: relative;
}
.theme-radio-buttons-container.field-input--invalid {
    border-width: 2px;
    border-color: rgb(244, 94, 41);
    padding: 0.5rem;
}
.theme-radio-buttons-container.field-input--required {
    border-width: 2px;
    border-color: rgb(244, 66, 41);
    padding: 0.5rem;
}
.theme-radio-buttons-container.field-input--valid {
    border-width: 2px;
    border-color: rgb(16, 185, 103);
    padding: 0.5rem;
}
.theme-radio-buttons-container label {
    position: relative;
    display: block;
    margin: 0;
    padding-inline-start: calc(16px * 1.2 + 1rem);
    text-align: start;
    font-size: var(--form-font-size) !important;
    font-weight: bold;
    color: rgba(0, 0, 0, 0.65);
    cursor: pointer;
}
.theme-radio-buttons-container input {
    width: auto;
    opacity: 0.00000001;
    position: absolute;
    left: 0;
}
.theme-radio-button .helper {
    --active-color: var(--secondary-color);
    position: absolute;
    top: -0.25rem;
    left: -0.25rem;
    cursor: pointer;
    display: block;
    font-size: 1rem;
    user-select: none;
    color: rgba(0, 0, 0, 0.075);
}
.theme-radio-button .helper::before,
.theme-radio-button .helper::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    margin: 0.25rem;
    width: calc(16px * 1.2);
    height: calc(16px * 1.2);
    transition: transform 0.28s ease;
    border-radius: 50%;
    border: 2px solid currentColor;
}
.theme-radio-button .helper::after {
    transform: scale(0);
    background-color: var(--active-color);
    border-color: var(--active-color);
}
.theme-radio-button label:hover .helper {
    color: var(--active-color);
}
.theme-radio-button input:checked ~ .helper::after {
    transform: scale(0.5);
}
.theme-radio-button input:checked ~ .helper::before {
    color: var(--active-color);
}
.theme-radio-button + .theme-radio-button {
    margin-top: 0.5rem;
}


/* CONTAINER DE CHAMP */
.theme-form-field-container {
    --field-container-width: auto;
    --field-container-grow: 1;
    --field-container-shrink: 1;
    --field-container-border-width: 2px;
    --field-container-border-color: rgba(0, 0, 0, 0.075);
    --field-container-border-color-focused: var(--secondary-color);
    --field-placeholder-color: inherit;
    --field-container-padding: 0.5rem;
    position: relative;
    display: flex;
    flex: var(--field-container-grow) var(--field-container-shrink) auto;
    padding: var(--field-container-padding);
    border: var(--field-container-border-width) solid var(--field-container-border-color);
    /* Standard easing */
    transition: border-color 0.3s var(--standard-easing);
    width: var(--field-container-width);
}
.theme-form-field-container.focused {
    border-color: var(--field-container-border-color-focused);
}
.theme-dark.theme-form-field-container,
.theme-dark .theme-form-field-container {
    --field-container-border-color: rgba(255, 255, 255, 0.25);
    --field-placeholder-color: rgba(255, 255, 255, 0.5);
}

.theme-form-field-container.has-error {
    border-color: #f44336;
}
.theme-form-field-container.has-warning {
    border-color: #ff9800;
}
.theme-form-field-container.has-success {
    border-color: #4caf50;
}
.theme-form-field-container.read-only {
    border-color: rgba(255, 255, 255, 0);
}
/* replaced by JS lock without affect user selection
.theme-form-field-container.read-only * {
    pointer-events: none;
}
*/
/* CHAMP */
.theme-form-field {
    --field-color: inherit;
    padding: 0;
    width: 100%;
    font-size: var(--form-font-size);
    color: var(--field-color);
    background-color: rgba(255, 255, 255, 0);
}

.theme-form-field:not(select):not(input):not(textarea) {
    word-break: break-word;
}

.theme-form-field::placeholder {
    color: var(--field-placeholder-color);
    opacity: 0.33; /* Firefox */
}

.theme-form-field-info:not(.theme-form-field-external-message):not(:empty),
.theme-form-field-error:not(.theme-form-field-external-message):not(:empty),
.theme-form-field-warning:not(.theme-form-field-external-message):not(:empty),
.theme-form-field-success:not(.theme-form-field-external-message):not(:empty) {
    position: absolute;
    transform: translateY(50%);
    right: 0;
    bottom: 0;
    margin-right: 0.5rem;
    background-color: white;
}

.theme-form-field-info:not(:empty),
.theme-form-field-error:not(:empty),
.theme-form-field-warning:not(:empty),
.theme-form-field-success:not(:empty) {
    padding: 0.25rem 0.5rem 0.25rem 0.25rem;
}
.theme-form-field-info:not(:empty) {
    color: inherit;
}
.theme-form-field-error:not(:empty) {
    color: #f44336;
}
.theme-form-field-warning:not(:empty) {
     color: #ff9800;
}
.theme-form-field-success:not(:empty) {
    color: #4caf50;
}
.theme-form-field-info:not(:empty)::before,
.theme-form-field-error:not(:empty)::before,
.theme-form-field-warning:not(:empty)::before,
.theme-form-field-success:not(:empty)::before {
    padding: 0.25rem 0.25rem 0.25rem 0.5rem;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    font-family: "Font Awesome 5 Pro";
    font-weight: 300;
}
.theme-form-field-info:not(:empty)::before {
    content: "\f05a";
}
.theme-form-field-error:not(:empty)::before {
    content: "\f071";
}
.theme-form-field-warning:not(:empty)::before {
    content: "\f06a";
}
.theme-form-field-success:not(:empty)::before {
    content: "\f058";
}

/* SELECTEURS */
.theme-form-select {
    position: relative;
}
.theme-form-select:not(.read-only)::after {
    position: absolute;
    top: 50%;
    /*bottom: 0;*/
    right: 0;
    transform: translateY(-50%);
    padding: 0 1rem;
    content: "\f107";
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    font-family: "Font Awesome 5 Pro";
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    background-color: white;
    pointer-events: none;
    user-select: none;
}

/* TEXTAREA */
.theme-form-textarea > *:not(.theme-form-field-error) {
    width: 100%;
}

/* GROUPE DE CHAMPS */
.theme-form-multiple-fields-group {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    width: 100%;
}
.theme-form-multiple-fields-group > .theme-form-fields-group:not(:last-child) {
    margin-bottom: 1rem;
}
.theme-form-fields-group {
    display: flex;
    flex-wrap: nowrap;
    align-items: baseline;
    width: 100%;
}

.theme-form-fields-group .theme-form-field-container {
    flex: var(--field-container-grow) var(--field-container-shrink) auto;
    border-left-width: 1px;
    border-right-width: 1px;
}
.theme-form-fields-group .theme-form-field-container:not(:first-child):not(:last-child) {
    border-radius: 0;
}
.theme-form-fields-group .theme-form-field-container:first-child {
    border-left-width: 2px;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}
.theme-form-fields-group .theme-form-field-container:last-child {
    border-right-width: 2px;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

/* CARTE */
.theme-card {
    position: relative;
    display: flex;
    flex-flow: column nowrap;
    width: 100%;
    background-color: white;
    box-shadow: 0 3px 10px 4px rgba(0,0,0,.04) !important;
    border: none;
    border-radius: 0;
}
.theme-card-content {
    flex-grow: 1;
}
.theme-card-header,
.theme-card-content,
.theme-card-footer {
    padding: 1.5rem;
}
.theme-card .theme-card .theme-card-header,
.theme-card .theme-card .theme-card-content,
.theme-card .theme-card .theme-card-footer,
.theme-card.theme-card--dense .theme-card-header,
.theme-card.theme-card--dense .theme-card-content,
.theme-card.theme-card--dense .theme-card-footer {
    padding: 1rem;
}
.theme-card-header,
.theme-card-subheader,
.theme-card-footer {
    display: flex;
    /*flex-wrap: nowrap;*/
    flex-flow: row wrap;
    align-items: baseline;
    justify-content: space-between;
    flex-shrink: 0;
    width: 100%;
}
.theme-card-title-block {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
:not(.theme-card-header) .theme-card-title-block {
    padding: 1.5rem 0;
}
:not(.theme-card-header) .theme-card-title-block:first-child {
    padding-top: 0;
    /*padding-bottom: 0;*/
}
.theme-card-header .theme-card-title-block {
    padding-bottom: 0;
}
.theme-card-title {
    margin: 0;
    font-size: 18px;
    font-weight: 500;
    text-transform: uppercase;
}
.theme-card-subtitle {
    flex-basis: 100%;
}
.theme-card-title-icon-container + .theme-card-title + .theme-card-subtitle {
    margin-left: calc(32px + 1rem);
}

.theme-card-secondary-title-container {
    margin-bottom: 1.5rem;
}
.theme-card-secondary-title {
    display: inline;
    margin: 0;
    font-size: 16px;
    font-weight: bold;
}
.theme-card-secondary-icon {
    margin-right: 0.5rem;
}
.theme-card-secondary-subtitle {
    margin: 0.5rem 0 0;
    font-size: 14px;
}

.theme-card-title-icon-container {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    color: white;
    background-color: var(--accent);
    border-radius: 50%;
}
.theme-card-title-icon {
    font-size: 17px;
}
.theme-card-title-icon-container + .theme-card-title {
    margin-left: 1rem;
}

/* =================================== *\
 *  NICE SELECT
 * =================================== */
.theme-nice-select.nice-select {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    box-sizing: border-box;
    clear: both;
    cursor: pointer;
    display: block;
    float: left;
    outline: none;
    position: relative;
    text-align: left !important;
    transition: all 0.2s ease-in-out;
    user-select: none;
    white-space: nowrap;
    width: auto;
    /*z-index: 99;*/
}
.theme-nice-select.nice-select.open:after {
    transform: rotate(-135deg);
}
.theme-nice-select.nice-select.open .nice-select-dropdown {
    opacity: 1;
    pointer-events: auto;
    transform: scale(1) translateY(0);
}
.theme-nice-select.nice-select.disabled {
    border-color: #ededed;
    color: #999;
    pointer-events: none;
}
.theme-nice-select.nice-select.disabled:after {
    border-color: #ccc;
}
.theme-nice-select.nice-select.wide {
    width: 100%;
}
.theme-nice-select.nice-select.wide .nice-select-dropdown {
    left: 0 !important;
    right: 0 !important;
}
.theme-nice-select.nice-select.right {
    float: right;
}
.theme-nice-select.nice-select.right .nice-select-dropdown {
    left: auto;
    right: 0;
}
.theme-nice-select.nice-select.small {
    font-size: 12px;
    height: 36px;
    line-height: 34px;
}
.theme-nice-select.nice-select.small:after {
    height: 4px;
    width: 4px;
}
.theme-nice-select.nice-select.small .option {
    line-height: 34px;
    min-height: 34px;
}
.theme-nice-select.nice-select .nice-select-dropdown {
    margin-top: 4px;
    background-color: #fff;
    /*border-radius: 5px;*/
    box-shadow: 0 0 0 1px rgba(68, 68, 68, .11);
    pointer-events: none;
    position: absolute;
    top: 100%;
    left: 0;
    transform-origin: 50% 0;
    transform: scale(0.75) translateY(-19px);
    transition: all 0.2s cubic-bezier(0.5, 0, 0, 1.25), opacity 0.15s ease-out;
    z-index: 9;
    opacity: 0;
}
.theme-nice-select.nice-select .list {
    /*border-radius: 5px;*/
    box-sizing: border-box;
    overflow: hidden;
    padding: 0;
    max-height: 210px;
    overflow-y: auto;
}
.theme-nice-select.nice-select .list:hover .option:not(:hover) {
    background-color: transparent !important;
}
.theme-nice-select.nice-select .option {
    cursor: pointer;
    font-weight: 400;
    line-height: 40px;
    list-style: none;
    outline: none;
    padding-left: 18px;
    padding-right: 29px;
    text-align: left;
    transition: all 0.2s;
}
.theme-nice-select.nice-select .option:hover, .nice-select .option.focus, .nice-select .option.selected.focus {
    background-color: #f6f6f6;
}
.theme-nice-select.nice-select .option.selected {
    font-weight: bold;
}
.theme-nice-select.nice-select .option.disabled {
    background-color: transparent;
    color: #999;
    cursor: default;
}
.no-csspointerevents .theme-nice-select.nice-select .nice-select-dropdown {
    display: none;
}
.no-csspointerevents .theme-nice-select.nice-select.open .nice-select-dropdown {
    display: block;
}
.theme-nice-select.nice-select .list::-webkit-scrollbar {
    width: 0;
}
.theme-nice-select.nice-select .has-multiple {
    white-space: inherit;
    height: auto;
    padding: 7px 12px;
    min-height: 36px;
    line-height: 22px;
}
.theme-nice-select.nice-select .has-multiple span.current {
    border: 1px solid #ccc;
    background: #eee;
    padding: 0 10px;
    /*border-radius: 3px;*/
    display: inline-block;
    line-height: 24px;
    margin-bottom: 3px;
    margin-right: 3px;
}
.theme-nice-select.nice-select .has-multiple .multiple-options {
    display: block;
    line-height: 24px;
    padding: 0;
}
.theme-nice-select.nice-select .nice-select-search-box {
    box-sizing: border-box;
    width: 100%;
    padding: 5px;
    pointer-events: none;
    /*border-radius: 5px 5px 0 0;*/
}
.theme-nice-select.nice-select .nice-select-search {
    box-sizing: border-box;
    background-color: #fff;
    border: 1px solid #e8e8e8;
    /*border-radius: 3px;*/
    color: #444;
    display: inline-block;
    vertical-align: middle;
    padding: 7px 12px;
    margin: 0 10px 0 0;
    width: 100%;
    min-height: 36px;
    line-height: 22px;
    height: auto;
    outline: 0 !important;
}
.theme-nice-select.nice-select.fixed {
    position: static;
}
.theme-nice-select.nice-select.fixed .nice-select-dropdown {
    position: fixed;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    color: black;
}
.theme-form-field-container .theme-nice-select.nice-select {
    width: 100%;
}

/* =================================== *\
 *  LIST GROUP
 * =================================== */
.theme-list-group {
    padding-left: 0;
}
.theme-list-group-item {
    position: relative;
    display: block;
    padding: 0.65rem 1rem;
    transition: all 0.3s var(--standard-easing);
}
.theme-list-group-item + .theme-list-group-item {
    border-top: 1px solid rgba(0, 0, 0, 0.05);
}

a.theme-list-group-item,
button.theme-list-group-item {
    color: inherit;
}

button.theme-list-group-item {
    width: 100%;
    text-align: left;
}

.theme-list-group-item.disabled,
.theme-list-group-item.disabled:focus,
.theme-list-group-item.disabled:hover {
    color: #777;
    cursor: not-allowed;
    background-color: #eee;
}

.theme-list-group-item.active,
.theme-list-group-item.active:focus,
.theme-list-group-item.active:hover {
    z-index: 2;
    background-color: #eee;
}

.theme-list-group-item.active .theme-list-group-item-title {
    font-weight: bold;
}


.theme-step-progress-bar {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    margin-bottom: 0;
}
.theme-step-progress-bar-item {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 15px;
    height: 15px;
    font-size: 8px;
    font-weight: bold;
    color: #eeeeee;
    background-color: currentColor;
    border-radius: 50%;
    box-shadow: inset 0px 1px 3px -2px;
}
.theme-step-progress-bar-item:not(:first-child) {
    margin-left: 5px;
}
.theme-step-progress-bar-item:not(:empty) {
    color: var(--accent);
}
.theme-step-progress-bar.is-finished .theme-step-progress-bar-item {
    color: limegreen;
}
.theme-step-progress-bar-item:not(:first-child)::after {
    position: absolute;
    top: 50%;
    left: -5px;
    transform: translateY(-50%);
    content: '';
    width: 5px;
    height: 3px;
    background-color: currentColor;
    box-shadow: inset 0px 1px 2px -2px;
}
.theme-step-progress-bar-item * {
    color: white;
}

/* =================================== *\
 *  TABS
 * =================================== */
.theme-nav-tabs {
    border-top: 1px solid rgba(0, 0, 0, 0.10);
    border-bottom: 1px solid rgba(0, 0, 0, 0.10);
    overflow-x: auto;
    overflow-y: hidden;
    flex: 0 0 auto;
}

.theme-nav-tabs .nav-tabs {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    padding: 0;
    background: rgba(0, 0, 0, 0.05);
}

.theme-nav-tabs .nav-tabs > li > a {
    color: #111111 !important;
    border-radius: 0;
    white-space: nowrap;
}

.theme-nav-tabs .nav-tabs > li.active > a,
.theme-nav-tabs .nav-tabs > li.active > a:hover,
.theme-nav-tabs .nav-tabs > li.active > a:focus {
    font-weight: bold;
    color: var(--accent) !important;
    background: white;
}

/* =================================== *\
 *  SWITCH
 * =================================== */
/* https://miladd3.github.io/clean-switch/ */
.theme-switch {
    --switch-color-active: var(--accent);
    --switch-background-color-active: var(--accent-lighter);
}

.theme-switch input[type="checkbox"] {
    display: none;
    visibility: hidden;
}

.theme-switch .theme-switch-switcher {
    position: relative;
    display: inline-block;
    width: 36px;
    height: 24px;
    vertical-align: middle;
    /*background-color: rgba(255, 255, 255, 0.8);*/
    background-color: rgba(0, 0, 0, 0.1);
    border-radius: 100px;
    cursor: pointer;
}

.theme-switch .theme-switch-switcher:before {
    position: absolute;
    top: 2px;
    left: 0;
    content: "";
    display: block;
    margin-right: 0;
    width: 20px;
    height: 20px;
    background-color: white;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);
    border-radius: 50%;
    transition: all 0.2s;
}

.theme-switch .theme-switch-switcher:active:before {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.6), 0 0 0 10px rgba(63, 81, 181, 0.3);
    transition: all, 0.1s;
}

.theme-switch input[type="checkbox"]:checked+.theme-switch-switcher {
    background-color: var(--switch-background-color-active);
}

.theme-switch input[type="checkbox"]:checked+.theme-switch-switcher:before {
    transform: translate(16px, 0);
    background-color: var(--switch-color-active);
}

.theme-switch [disabled]:not([disabled="false"])+.theme-switch-switcher {
    background: #ccc !important;
}

.theme-switch [disabled]:not([disabled="false"])+.theme-switch-switcher:active:before {
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2) !important;
}

.theme-switch [disabled]:not([disabled="false"])+.theme-switch-switcher:before {
    background-color: #e2e2e2 !important;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2) !important;
}

.theme-switch.theme-switch-lg .theme-switch-switcher {
    width: 48px;
    height: 32px;
}

.theme-switch.theme-switch-lg .theme-switch-switcher:before {
    width: 28px;
    height: 28px;
}

.theme-switch.theme-switch-lg input[type="checkbox"]:checked+.theme-switch-switcher:before {
    transform: translate(20px, 0);
}

.theme-switch.theme-switch-xl .theme-switch-switcher {
    width: 70px;
    height: 40px;
}

.theme-switch.theme-switch-xl .theme-switch-switcher:before {
    width: 36px;
    height: 36px;
}

.theme-switch.theme-switch-xl input[type="checkbox"]:checked+.theme-switch-switcher:before {
    transform: translate(34px, 0);
}
.theme-group-item {
    padding: 1rem;
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 2rem;
}

.theme-react-select {
    font-size: 0.9em;
    flex: 1 1 auto;
}
.theme-react-select .react-select__control {
    min-height: 30px;
    border-radius: 0 !important;
    border-width: 2px !important;
}
.theme-react-select .react-select__control:not(:hover) {
    border-color: rgba(0, 0, 0, 0.075) !important;
}
.theme-react-select .react-select__control:hover {
    border-color: var(--secondary-color) !important;
}
.theme-react-select .react-select__value-container {
    padding: 0 6px;
}
.theme-react-select .react-select__value-container > div {
    padding-top: 0;
    padding-bottom: 0;
}
.theme-react-select .react-select__multi-value__label {
    padding: 0 0 0 6px;
}
.theme-react-select .react-select__indicator {
    padding: 0 6px;
}
