/**
  Styles généraux
 **/

:root[data-rf-theme="dark"] {
    --bf500: #bfbfe3;
    --w-bf500: #000091;
    --t-plain: transparent;
    --g800: #fff;
    --g700: #f0f0f0;
    --g600: #e7e7e7;
    --g400: #9c9c9c;
    --g300: #6a6a6a;
    --g200: #383838;
    --w: #1e1e1e;
    --g100-g800: #1e1e1e;
    --focus: #5398ff;
    --rm500: #f7bfc3;
    --overlay: rgba(206, 206, 206, 0.08);
}

:root {
    --bf500: #000091;
    --w-bf500: #fff;
    --t-plain: transparent;
    --g800: #1e1e1e;
    --g700: #383838;
    --g600: #6a6a6a;
    --g400: #cecece;
    --g300: #e7e7e7;
    --g200: #f0f0f0;
    --w: #fff;
    --g100-g800: #f8f8f8;
    --focus: #2a7ffe;
    --rm500: #e1000f;
    --overlay: rgba(156, 156, 156, 0.32);
    --focus-z-index: 2000;
}

@font-face {
    font-family: "dsfr-tac-icons";
    src: url("data:font/truetype;charset=utf-8;base64,d09GRgABAAAAAASYAAsAAAAABtgAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADsAAABUIIslek9TLzIAAAFEAAAAQwAAAFY4wUKAY21hcAAAAYgAAABVAAABjOEvI+NnbHlmAAAB4AAAALEAAAC8RwSAoGhlYWQAAAKUAAAAMAAAADYcco6VaGhlYQAAAsQAAAAeAAAAJAgEA+1obXR4AAAC5AAAAA8AAAAQDhAAAGxvY2EAAAL0AAAACgAAAAoAcgAubWF4cAAAAwAAAAAeAAAAIAEQAChuYW1lAAADIAAAATEAAAIuRB1J2XBvc3QAAARUAAAAQwAAAF18Wox+eJxjYGRgYOBiMGCwY2BycfMJYeDLSSzJY5BiYGGAAJA8MpsxJzM9kYEDxgPKsYBpDiBmg4gCACY7BUgAeJxjYGRuYZzAwMrAwPST2YOBgWEFhGZyYLBiNAXSDKzMDFhBQJprCoPDA4YHTMwv/lsw5DC/YDgBFGYEyQEA8HwMsgB4nO2QsQ2AQAwDL59AgZiDipJJqBifTR4n/2Ng6SzZilIYWAAXpwiwByN1q7Xqna364KibyP5tvctJV47ylp9s5ddefs3kudSgtptoL+04wD9smw0NAAAAeJxjYGQAAuZpTL4MrAwMjObinIzmTBE/XP8d/nfIjTHsu/u/Q4x27kAlEHXTmc4xcIPVsYuzq7Orm6uDVX/74fbzu9u3726M1364/QCygPwfbgxMDAz/z7FIMQcxCDFIA3WJKgsqmhoLirApKyqpmQqamBmrCiqbMqozAokvv5jUUmRF/5aJysqKMgel/KtyY2x7xrQn5e+tX/+ugASZukRlp/0reAaWSQG6BgBlHzlCAAAAeJxjYGRgYADiImfHBfH8Nl8ZuFk2AEUY7sxZ8gRB/z/HIsUcBORyMDCBRAFWOQxBeJxjYGRgYH7x34KBgWUDAxCwSDEwMqACFgBU5AL7AAB4nGNgYGBg2YDAAA7gAh0AAAAAAAAUAC4AXgAAeJxjYGRgYGBhkGFgYgABEMkFhAwM/8F8BgALoAE5AAB4nG2RPU7DMBiG3/QP0UoIBGJh8QILavozdmRo9w7d08RJUyVx5LgVvQMn4BAcgoEzcAgOwVvzSZVQbcl+vsfvFysJgGt8IcBxBOj79ThauGD1x23SjXCH/CDcxQCPwj36sXAfz5gJD3ALzScEnUuaO7wKt3CFN+E2/btwh/wh3MU9PoV79N/CfazwIzzAU/CSNKkd5rGpmqXOdkVkT+JEK22b3FRqEo5PcqErbSOnE7U+qGafTZ1LVWpNqeamcroojKqt2erYhRvn6tlolIoPY1MiQYMUFkPkiGFQsV7yfTPsUCDiybnEObdil+We+1phgpDf81xywWTl0xEc94TpNQ5cG+x585TWsUv5ToOSNPe9x3TBaWhqf7alielDbHxXzf824kz/5UN/e/kLsDVkLAAAAHicY2BigAAeBuyAhZGJkZmRhZGVQTCxqCi/XDclvzxPt1g3JzMvlSs5J784FcwUSq0oSS3KS8wB8bLBQgwMANcAEdUA") format("truetype");
}



#tarteaucitronRoot {
    box-sizing: border-box;
    color: var(--g700);
    font-family: "Marianne", arial, sans-serif;
    text-rendering: optimizeSpeed;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

#tarteaucitronRoot *,
#tarteaucitronRoot *::before,
#tarteaucitronRoot *::after {
    box-sizing: inherit;
}

#tarteaucitronRoot h1 {
    font-size: 2.75rem;
    line-height: 1.25;
    color: var(--g800);
    font-weight: bold;
}

@media (min-width: 48em) {
    #tarteaucitronRoot h1 {
        font-size: 3rem;
    }
}

#tarteaucitronRoot h2 {
    font-size: 2rem;
    line-height: 1.25;
    color: var(--g800);
    font-weight: bold;
}

#tarteaucitronRoot h3 {
    font-size: 1.5rem;
    line-height: 1.25;
    color: var(--g800);
    font-weight: bold;
}

#tarteaucitronRoot h4 {
    font-size: 1.375rem;
    line-height: 1.375;
    color: var(--g800);
    font-weight: bold;
}

/*** Liens ***/
#tarteaucitronRoot a {
    box-shadow: 0 1px 0 0 currentColor;
    color: inherit;
}

#tarteaucitronRoot a:focus {
    outline: 2px solid;
    outline-color: var(--focus);
    outline-offset: 2px;
    z-index: var(--focus-z-index);
}

#tarteaucitronRoot a {
    text-decoration: none;
}

#tarteaucitronRoot a[target="_blank"]::after {
    content: "";
    font-family: dsfr-tac-icons !important;
    font-style: normal;
    font-weight: normal !important;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    font-size: 1rem;
    margin-left: 0.25rem;
    vertical-align: baseline;
}

/*** Boutons ***/
#tarteaucitronRoot button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    font-family: inherit;
    border: none;
    cursor: pointer;
}

#tarteaucitronRoot button:focus {
    outline: 2px solid;
    outline-color: var(--focus);
    outline-offset: 2px;
    z-index: var(--focus-z-index);
}

button#tarteaucitronPrivacyUrl {
    position: absolute;
    font-size: 9px;
    background: transparent;
    bottom: 0.5em;
    left: 2.5em;
}

/*** Listes ***/
#tarteaucitronRoot ul,
#tarteaucitronRoot ol {
    list-style: none;
    padding: 0;
    margin: 0;
}

/*** Overlay ***/
#tarteaucitronBack {
    background-color: var(--overlay);
    display: none;
    height: 100%;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    opacity: 1 !important;
    z-index: 2147483646;
}

/*** Positionnements du bouton d'ouverture du gestionnaire ***/
.tarteaucitronIconBottomLeft {
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 4000;
}

.tarteaucitronIconBottomRight {
    position: fixed;
    bottom: 0;
    right: 0;
    z-index: 4000;
}

.tarteaucitronIconTopLeft {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 4000;
}

.tarteaucitronIconTopRight {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 4000;
}

/*** Masquage de l'icône TAC, remplacée par un lien dans le pied de page ***/
#tarteaucitronIcon {
    display: none;
}

/*---------------------------------------------*/

/**
  Styles du bandeau (#tarteaucitronAlertBig) et des éléments du bandeau
 **/

/*** Bandeau ***/
div#tarteaucitronRoot.tarteaucitronBeforeVisible:before {
    opacity: 1 !important;
    background-color: var(--overlay) !important;
}

div#tarteaucitronAlertBig:before {
    content: none !important;
}

body #tarteaucitronRoot div#tarteaucitronAlertBig {
    border-radius: 0;
}

.tarteaucitronBeforeVisible #tarteaucitronAlertBig {
    display: flex !important;
}

#tarteaucitronAlertBig {
    position: fixed;
    flex-wrap: wrap;
    justify-content: flex-end;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 1rem;
    color: var(--g700);
    box-shadow: inset 0 0 0 1px var(--g400);
    z-index: 2147483645;
    max-height: 73vh;
    overflow-y: scroll;
    background:
        linear-gradient(#f0f0f0 33%, rgba(240, 240, 240, 0)),
        linear-gradient(rgba(240, 240, 240, 0), #f0f0f0 66%) 0 100%,
        radial-gradient(farthest-side at 50% 0, rgba(34, 34, 34, 0.5), rgba(0, 0, 0, 0)),
        radial-gradient(farthest-side at 50% 100%, rgba(34, 34, 34, 0.5), rgba(0, 0, 0, 0)) 0 100%;
    background-color: #f0f0f0;
    background-repeat: no-repeat;
    background-attachment: local, local, scroll, scroll;
    background-size: 100% 18px, 100% 18px, 100% 6px, 100% 10px;
}



/* Bandeau >= 768px */
@media screen and (min-width: 48em) {
    #tarteaucitronRoot #tarteaucitronAlertBig {
        width: 40rem !important;
        bottom: 2.5rem !important;
        left: 2.5rem !important;
        padding: 2rem !important;
        margin: auto;
        top: auto !important;
        transform: none !important;
        box-shadow: inset 0 0 0 1px var(--g400) !important;
        border-radius: 0 !important;
    }
}

/*** Texte du bandeau ***/
#tarteaucitronDisclaimerAlert {
    margin-bottom: 2rem;
}


@media screen and (min-width: 48em) {
    #tarteaucitronAlertBig {
        max-height: initial;
        height: auto;
        padding-right: 0;
        overflow: initial;
    }
}

/*** Surcharge des margin bottom trop importantes du design system ***/
#tarteaucitronDisclaimerAlert>p {
    margin-bottom: 1rem;
}

#tarteaucitronDisclaimerAlert>p:last-child {
    margin-bottom: 0;
}

/*** Bouton fermer le bandeau optionnel (closePopup) ***/
#tarteaucitronRoot #tarteaucitronCloseCross::first-letter {
    color: transparent;
}

#tarteaucitronRoot #tarteaucitronCloseCross {
    position: relative;
    background-color: var(--t-plain);
    color: var(--bf500);
    padding: .25rem .75rem;
    display: block;
    line-height: 1.5rem;
    min-height: 2rem;
    font-size: .875rem;
    border-radius: 1rem;
    width: 5rem;
    margin-bottom: .5rem;
    border-radius: 1rem;
}

#tarteaucitronRoot #tarteaucitronCloseCross:before {
    content: "Fermer";
    position: absolute;
    left: .75rem;
}

#tarteaucitronRoot #tarteaucitronCloseCross:after {
    font-family: dsfr-tac-icons !important;
    font-style: normal;
    font-weight: normal !important;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    content: "";
    font-size: 1rem;
    height: 1rem;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}

/*** Boutons d'action du bandeau ***/
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize,
#tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronCTA {
    font-size: inherit;
    cursor: pointer;
    background: var(--bf500);
    color: var(--w);
    padding: 0.5rem 1.5rem;
    line-height: 1.5rem;
    min-height: 2.5rem;
    width: 100%;
    margin: .5rem 0;
}

#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert {
    background-color: var(--t-plain);
    color: var(--bf500);
    box-shadow: inset 0 0 0 1px var(--bf500);
    order: 5;
    margin-bottom: 0;
}

#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2 {
    order: 4;
}

#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize {
    order: 3;
    margin-right: 0;
}

@media screen and (min-width: 36em) {

    #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert,
    #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize,
    #tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronCTA {
        width: auto;
        margin: 0 .5rem !important;
        display: flex !important;
    }

    #tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronCTA:not(.tarteaucitronAllow, .tarteaucitronDeny) {
        margin: 0 0 0 auto !important;
    }

    #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert {
        order: 3;
    }

    #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2 {
        order: 4;
    }

    #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2,
    #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize {
        order: 5;
        margin-right: 0 !important;
    }

}

/*---------------------------------------------*/

/**
  Styles du gestionnaire de cookie (#tarteaucitron) et des éléments du gestionnaire
 **/

#tarteaucitron {
    display: none;
    height: 90%;
    padding: 3rem 0 0;
    margin: 0;
    left: 0;
    top: auto !important;
    bottom: 0 !important;
    position: fixed;
    width: 100%;
    z-index: 2147483647;
}

#tarteaucitron::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    background: var(--w);
    height: calc(3rem + 1px);
    width: 100%;
}

@media screen and (min-width: 48em) {

    #tarteaucitron {
        width: 50rem;
        height: initial;
        max-height: 80%;
        left: 50%;
        top: 0 !important;
        margin: auto auto auto -25rem;
    }

}

/*** Bouton pour fermer le gestionnaire ***/
#tarteaucitronRoot #tarteaucitronClosePanel {
    background: var(--tplain);
    color: var(--bf500);
    padding: .25rem .75rem;
    line-height: 1.5rem;
    min-height: 2rem;
    display: inline-flex;
    flex-direction: row-reverse;
    align-items: center;
    font-size: .875rem;
    border-radius: 1rem;
    position: absolute;
    right: 1rem;
    top: 1rem;
    outline-offset: 0px;
}

#tarteaucitronRoot #tarteaucitronClosePanel::before {
    font-family: dsfr-tac-icons !important;
    font-style: normal;
    font-weight: normal !important;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    content: "";
    font-size: 1rem;
    margin-right: -0.25rem;
    margin-left: .5rem;
}

/*** Lien vers le site tarte au citron ***/
.tarteaucitronSelfLink>img {
    display: none;
}

.tarteaucitronSelfLink:before {
    content: "Site officiel de Tarte au citron"
}

/*** Surcharge des styles de liste design system ***/
#tarteaucitronServices ul>li::before {
    content: none;
}

#tarteaucitronServices ul>li>ul {
    padding-left: 0;
}

/*** Section générale pour gérer tous les services ***/
#tarteaucitronRoot .tarteaucitronMainLine {
    padding-bottom: 2.5rem;
    box-shadow: inset 0 -1px 0 0 var(--g300);
}

#tarteaucitronRoot .tarteaucitronMainLine .tarteaucitronH1 {
    display: block;
    font-size: 1.5rem;
    line-height: 2rem;
    color: var(--g700);
    margin: 0 0 1rem;
    font-weight: 700;
}

#tarteaucitronRoot .tarteaucitronMainLine .tarteaucitronAsk {
    flex-direction: column;
    align-items: flex-start;
}

#tarteaucitronRoot .tarteaucitronMainLine .tarteaucitronAsk::before {
    content: none;
}

#tarteaucitronRoot .tarteaucitronMainLine .tarteaucitronAsk .tarteaucitronDeny {
    margin-left: 0;
    margin-top: 1.5rem;
}

@media screen and (min-width: 48em) {

    #tarteaucitronRoot .tarteaucitronMainLine .tarteaucitronAsk {
        flex-direction: row;
        align-items: center;
    }

    #tarteaucitronRoot .tarteaucitronMainLine .tarteaucitronAsk::before {
        content: "";
    }

    #tarteaucitronRoot .tarteaucitronMainLine .tarteaucitronAsk .tarteaucitronDeny {
        margin-left: 1.5rem;
        margin-top: 0;
    }

}

/*** Container des services ***/
#tarteaucitronServices {
    background-color: var(--w);
    padding: 1rem 1rem 2rem;
}

@media screen and (min-width: 48em) {

    #tarteaucitronServices {
        padding: 1rem 2rem 2rem;
    }

}

/*** Titre et boutons du conteneur des cookies obligatoires  ***/
#tarteaucitronServicesTitle_mandatory .tarteaucitronH3 {
    font-size: 1rem;
    margin-bottom: .5rem;
    max-width: initial;
}

#tarteaucitronServicesTitle_mandatory .tarteaucitronTitle {
    margin-bottom: 1rem;
}


/*** Container des textes de service (titre et description) ***/
@media screen and (min-width: 48em) {
    .tarteaucitronName {
        max-width: 60%;
    }
}

/*** Container des boutons Accepter/Refuser ***/
.tarteaucitronAsk {
    display: flex;
    margin-top: 2rem;
}

@media screen and (min-width: 48em) {
    .tarteaucitronAsk {
        justify-content: flex-end;
        align-items: center;
        margin-top: 0 !important;
    }

    .tarteaucitronLine:not(.tarteaucitronMainLine) .tarteaucitronAsk {
        position: absolute;
        top: 0;
        right: 0;
    }
}

/*** Boutons Accepter/Refuser sous forme de boutons radios design system ***/
#tarteaucitronRoot .tarteaucitronAsk .tarteaucitronAllow {
    order: 1;
    margin-right: 1.5rem;
    font-size: 1rem;
}

#tarteaucitronRoot .tarteaucitronAsk .tarteaucitronDeny {
    margin-left: 1.5rem;
    order: 3;
    font-size: 1rem;
}

#tarteaucitronRoot .tarteaucitronAsk::before {
    content: "";
    width: 1px;
    height: 1.5rem;
    order: 2;
    background: var(--g300);
}

#tarteaucitronRoot .tarteaucitronAllow:not(.tarteaucitronCTA),
#tarteaucitronRoot .tarteaucitronDeny:not(.tarteaucitronCTA) {
    background: var(--tplain);
    color: var(--g800);
    display: inline-flex;
    align-items: center;
    position: relative;
    padding: 0;
}

#tarteaucitronRoot .tarteaucitronAllow:disabled:not(.tarteaucitronCTA),
#tarteaucitronRoot .tarteaucitronDeny:disabled:not(.tarteaucitronCTA) {
    color: var(--g600-g400);
}

#tarteaucitronRoot .tarteaucitronAllow:disabled:not(.tarteaucitronCTA)::before,
#tarteaucitronRoot .tarteaucitronDeny:disabled:not(.tarteaucitronCTA)::before {
    background-color: var(--g200);
    border: 1px solid var(--g400);
}

#tarteaucitronRoot .tarteaucitronAllow:disabled:not(.tarteaucitronCTA)::after,
#tarteaucitronRoot .tarteaucitronDeny:disabled:not(.tarteaucitronCTA)::after {
    content: none;
}


#tarteaucitronRoot .tarteaucitronAllow.tarteaucitronIsSelected::after,
#tarteaucitronRoot .tarteaucitronDeny.tarteaucitronIsSelected::after {
    opacity: 1;
}

#tarteaucitronRoot .tarteaucitronAllow.tarteaucitronIsSelected::before,
#tarteaucitronRoot .tarteaucitronDeny.tarteaucitronIsSelected::before {
    border: 1px solid var(--bf500);
}

#tarteaucitronRoot .tarteaucitronAllow:not(.tarteaucitronCTA)::before,
#tarteaucitronRoot .tarteaucitronDeny:not(.tarteaucitronCTA)::before {
    content: "";
    display: block;
    flex-shrink: 0;
    border: 1px solid var(--g800);
    border-radius: 50%;
    width: 1.5rem;
    height: 1.5rem;
    margin-right: .5rem;
}

#tarteaucitronRoot .tarteaucitronAllow:not(.tarteaucitronCTA)::after,
#tarteaucitronRoot .tarteaucitronDeny:not(.tarteaucitronCTA)::after {
    content: "";
    display: block;
    background: var(--bf500);
    border-radius: 50%;
    width: .75rem;
    height: .75rem;
    position: absolute;
    left: .375rem;
    opacity: 0;
}

#tarteaucitronRoot .tarteaucitronIsAllowed .tarteaucitronAllow::after {
    opacity: 1;
}

#tarteaucitronRoot .tarteaucitronIsDenied .tarteaucitronDeny::after {
    opacity: 1;
}

#tarteaucitronRoot #tarteaucitronServices_mandatory .tarteaucitronAllow::after {
    opacity: 1;
}

#tarteaucitronRoot #tarteaucitronServices_mandatory .tarteaucitronAsk::before {
    content: none;
}


#tarteaucitronRoot [id^=tarteaucitronServices_] {
    margin-top: 1.5rem;
}

@media screen and (min-width: 48em) {
    #tarteaucitronRoot [id^=tarteaucitronServices_] {
        margin-top: 0;
    }
}

/*** Ajout des bordures dans la liste des services ***/
.tarteaucitronBorder>ul>li {
    padding: 1.5rem 0;
    box-shadow: inset 0 1px 0 0 var(--g300);
}

.tarteaucitronBorder>ul>li:first-child {
    box-shadow: none;
}

/*** Titres des services avec infobulle associée ou non ***/
#tarteaucitronRoot .tarteaucitronTitle>button,
#tarteaucitronRoot .tarteaucitronTitle>.catToggleBtn {
    background: 0;
    color: var(--g800);
    font-size: 1.25rem;
    font-weight: 700;
    padding: 0;
    text-align: left;
}

#tarteaucitron #tarteaucitronInfo,
#tarteaucitron #tarteaucitronServices .tarteaucitronDetails {
    color: var(--w);
    background: var(--g700);
    display: none;
    font-size: 0.75rem;
    margin-top: 0;
    max-width: 270px;
    padding: 1rem;
    position: absolute;
    z-index: 2147483647;
}

/*** Style de base des items de liste de service ***/
#tarteaucitron #tarteaucitronServices .tarteaucitronHidden {
    display: none;
    position: relative;
}

/*** Titre des sous-services ***/
.tarteaucitronH3 {
    display: block;
    color: var(--g800);
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
    max-width: 24rem;
}

.tarteaucitronH3+span {
    display: block;
}

/*** Ligne d'un sous-service ***/
.tarteaucitronLine {
    position: relative;
}


.tarteaucitronLine {
    margin-bottom: 1rem !important;
}


/*** Surcharge dans le cas des sous-services groupés ***/
ul[style="display: block;"] .tarteaucitronLine {
    margin-bottom: 1.5rem;
}

@media screen and (min-width: 48em) {

    .tarteaucitronHidden>ul[style="display: block;"] .tarteaucitronLine:not(:last-child),
    .tarteaucitronHidden>ul:last-child:not([style="display: block;"]) .tarteaucitronLine:not(:last-child) {
        margin-bottom: 0;
    }

}

.tarteaucitronHidden>ul[style="display: block;"] .tarteaucitronLine .tarteaucitronH3,
.tarteaucitronHidden>ul:last-child:not([style="display: block;"]) .tarteaucitronLine .tarteaucitronH3 {
    margin-bottom: .5rem;
    font-size: 1rem;
}

.tarteaucitronHidden>ul:last-child:not([style="display: block;"]) .tarteaucitronLine:first-child {
    margin-top: 1.5rem;
}

@media screen and (min-width: 48em) {

    .tarteaucitronHidden>ul[style="display: block;"] .tarteaucitronLine {
        display: flex;
    }

}



@media screen and (min-width: 48em) {
    .tarteaucitronHidden>ul[style="display: block;"] .tarteaucitronAsk {
        margin-top: 0;
        margin-right: 0;
        margin-left: auto;
    }
}

.tarteaucitronHidden>ul[style="display: block;"] .tarteaucitronLine:not(.tarteaucitronMainLine) .tarteaucitronAsk,
.tarteaucitronHidden>ul[style="display: none;"] .tarteaucitronLine:not(.tarteaucitronMainLine) .tarteaucitronAsk {
    position: relative;
    top: auto;
    right: auto;
    align-items: flex-start;
}

/*** Bouton pour déplier les sous-services ***/
#tarteaucitronRoot .tarteaucitron-toggle-group {
    background: none;
    margin: 1.5rem 0 0;
    padding: 0;
    border-bottom: var(--is-link) solid 1px currentColor;
    font-size: inherit;
}

#tarteaucitronRoot .tarteaucitron-toggle-group::after {
    font-family: dsfr-tac-icons !important;
    font-style: normal;
    font-weight: normal !important;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    content: "";
    font-size: 1rem;
    margin-left: .5rem;
}

/*---------------------------------------------*/

/**
  Styles du bouton "AlertSmall" et de la modale avec la liste des cookies
 **/

.tarteaucitronAlertSmallBottom {
    display: none;
    padding: 0;
    position: fixed;
    right: 0;
    bottom: 0;
    text-align: center;
    width: auto;
    z-index: 2147483646;
}

.tarteaucitronAlertSmallTop,
.tarteaucitronAlertSmallBottom {
    bottom: 0;
}

#tarteaucitronAlertSmall {
    display: none;
    padding: 0;
    position: fixed;
    right: 0;
    text-align: center;
    width: auto;
    z-index: 2147483646;
}

#tarteaucitronAlertSmall #tarteaucitronManager,
#tarteaucitronAlertSmall #tarteaucitronCookiesNumber {
    position: relative;
    font-size: inherit;
    cursor: pointer;
    background: var(--bf500);
    color: var(--w);
    padding: 0.5rem 1.5rem !important;
    line-height: 1.5rem;
    min-height: 2.5rem;
}

#tarteaucitronAlertSmall #tarteaucitronCookiesNumber {
    margin-left: .25rem;
}

#tarteaucitronAlertSmall #tarteaucitronManager #tarteaucitronDot {
    position: absolute;
    background-color: gray;
    border-radius: 5px;
    display: block;
    height: 5px;
    overflow: hidden;
    width: calc(100% - 3rem);
    left: 1.5rem;
}

#tarteaucitronAlertSmall #tarteaucitronManager #tarteaucitronDot #tarteaucitronDotGreen,
#tarteaucitronAlertSmall #tarteaucitronManager #tarteaucitronDot #tarteaucitronDotYellow,
#tarteaucitronAlertSmall #tarteaucitronManager #tarteaucitronDot #tarteaucitronDotRed {
    display: block;
    float: left;
    height: 100%;
    width: 0%;
}

#tarteaucitronAlertSmall #tarteaucitronManager #tarteaucitronDot #tarteaucitronDotGreen {
    background-color: #1B870B;
}

#tarteaucitronAlertSmall #tarteaucitronManager #tarteaucitronDot #tarteaucitronDotYellow {
    background-color: #FBDA26;
}

#tarteaucitronAlertSmall #tarteaucitronManager #tarteaucitronDot #tarteaucitronDotRed {
    background-color: #9C1A1A;
}


#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer {
    display: none;
    max-height: 50%;
    max-width: 500px;
    position: fixed;
    right: 0;
    width: 100%;
    background: #fff;
    padding-top: 1rem;
}

#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronCookiesList {
    color: #333;
    font-size: .75rem;
    height: auto;
    overflow: auto;
    text-align: left;
    padding: 0 1.5rem;
}

#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronCookiesList .tarteaucitronTitle {
    color: var(--g800);
    display: inline-block;
    font-size: 1rem;
    font-weight: 700;
    margin: 1.5rem 0 0;
    padding: 1rem 0;
    text-align: left;
    width: auto;
}

#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronCookiesList strong {
    color: var(--g800);
}

#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronCookiesTitle {
    padding: .5rem 1.5rem;
    text-align: left;
    color: var(--g800);
    font-size: 1.25rem;
    font-weight: 700;
}

#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronCookiesTitle strong {
    color: var(--w);
    font-size: 1rem;
}

#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronCookiesList .tarteaucitronCookiesListMain {
    padding: 0 0 .25rem;
    word-wrap: break-word;
}

#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronCookiesList .tarteaucitronCookiesListMain:before {
    content: none;
}

#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronCookiesList .tarteaucitronCookiesListMain a {
    color: var(--g800);
    text-decoration: none;
}

#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronCookiesList .tarteaucitronCookiesListMain .tarteaucitronCookiesListLeft {
    display: inline-flex;
    width: 50%;
    align-items: center;
}

#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronCookiesList .tarteaucitronCookiesListMain .tarteaucitronCookiesListLeft a strong {
    color: var(--rm500);
}

#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronCookiesList .tarteaucitronCookiesListMain .tarteaucitronCookiesListRight {
    color: var(--g800);
    display: inline-block;
    font-size: .75rem;
    margin-left: 10%;
    vertical-align: top;
    width: 30%;
}

/*** Bouton pour fermer le gestionnaire ***/
#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronClosePanelCookie {
    background: var(--tplain);
    color: var(--bf500);
    padding: .25rem .75rem;
    line-height: 1.5rem;
    min-height: 2rem;
    display: inline-flex;
    flex-direction: row-reverse;
    align-items: center;
    font-size: .875rem;
    border-radius: 1rem;
    position: absolute;
    right: 1rem;
    top: 0;
}

#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronClosePanelCookie::before {
    font-family: dsfr-tac-icons, sans-serif !important;
    font-style: normal;
    font-weight: normal !important;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    content: "";
    font-size: 1rem;
    margin-right: -0.25rem;
    margin-left: .5rem;
}

/*** Bouton pour supprimer les cookies dans la liste ***/
#tarteaucitronRoot .purgeBtn {
    flex-direction: row;
    max-width: 2rem;
    max-height: 2rem;
    padding: 0.25rem .5rem;
    font-size: 0.875rem;
    line-height: 1.5rem;
    min-height: 2rem;
    background-color: var(--bf500);
    color: var(--w-bf500);
    flex-shrink: 0;
    margin-right: .25rem;
}

#tarteaucitronRoot .purgeBtn::before {
    font-family: dsfr-tac-icons !important;
    font-style: normal;
    font-weight: normal !important;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    content: "";
    font-size: 1rem;
    margin-left: 0;
    margin-right: 0.5rem;
}

#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronCookiesList .purgeBtn strong {
    display: none;
}

/*---------------------------------------------*/

/**
  Styles du placeholder pour les services (type youtube) désactivés
 **/

.tac_activate {
    background: var(--g200);
    display: flex;
    padding: 6rem 0;
    justify-content: center;
    width: 100%;
}

.tac_activate .tac_float {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.rf-responsive-vid__player .tac_activate {
    padding: O;
    height: 100%;
}


.tac_activate .tarteaucitronAllow:not(.tarteaucitronCTA)::before,
.tac_activate .tarteaucitronAllow:not(.tarteaucitronCTA)::after {
    content: none;
}

.tac_activate .tarteaucitronAllow:not(.tarteaucitronCTA) {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    font-family: inherit;
    border: none;
    font-size: inherit;
    cursor: pointer;
    background: var(--bf500);
    color: var(--w);
    padding: 0.5rem 1.5rem;
    line-height: 1.5rem;
    min-height: 2.5rem;
    margin-top: 1.5rem;
}

.tac_activate .tarteaucitronAllow:not(.tarteaucitronCTA):focus {
    outline: 2px solid;
    outline-color: var(--focus);
    outline-offset: 2px;
    z-index: var(--focus-z-index);
}

/* Make current status look like a tag */
.tacCurrentStatus {
    text-transform: capitalize;
    --text-spacing: 0;
    --title-spacing: 0;
    --underline-img: none;
    --hover-tint: var(--hover);
    --idle: transparent;
    --hover: var(--background-contrast-grey-hover);
    --active: var(--background-contrast-grey-active);
    align-items: center;
    background-color: var(--background-contrast-grey);
    border-radius: 1rem;
    color: var(--text-label-grey);
    display: inline-flex;
    flex-direction: row;
    font-size: .875rem;
    justify-content: center;
    line-height: 1.5rem;
    min-height: 2rem;
    min-width: 2.25rem;
    padding: .25rem .75rem;
    width: -moz-fit-content;
    width: fit-content;
}

.tacCurrentStatus::after,
.tacCurrentStatus::before {
    display: block;
}


#tarteaucitronAlertBig #tarteaucitronAllDenied2,
#tarteaucitronAlertBig #tarteaucitronPersonalize2,
#tarteaucitronRoot #tarteaucitronSaveButton {
    background: var(--bf500);
    color: var(--w);
    padding: 0.5rem 1.5rem;
    line-height: 1.5rem;
    min-height: 2.5rem;
    font-size: inherit;
}

#tarteaucitronAlertBig #tarteaucitronAllDenied2::before,
#tarteaucitronAlertBig #tarteaucitronPersonalize2::before,
#tarteaucitronRoot #tarteaucitronSaveButton::before {
    content: none;
}

.tarteaucitronCTAButton {
    margin: 0 0.5em;
}

.tac_visually-hidden {
    display: none;
}
