/**
* @description Version base application web
*/
.qtip-default {
    border: none;
    background-color: transparent;
    color: #555;
}

.clearfix::before,
.clearfix::after {
    content:" ";
    display:block;
    clear:both;
}

.overflow-hidden {
    overflow: hidden !important;
}

/**
*@description Plan reduit description_bloc
*/
#recap_liste_places_provisoires {
    margin-bottom: 20px;
}

#recap_liste_places_provisoires h5 {
    margin-bottom: 0;
    margin-top: 0;
}

.description_bloc {
    padding-left: 0px;
}

.description_bloc li {
    display: inline;
    float: left;
    padding: 0;
    width: 230px;
    height: 130px;
    text-align: center;
    margin-right: 11px;
    margin-bottom: 20px;
}

.description_bloc h5 {
    margin-bottom: 0;
    margin-top: 0;
}

.description_bloc li:last-child {
    margin-right: 0px;
}

.description_bloc li[onclick] {
    cursor: pointer;
}

.placeholder_image i {
    font-size: 100px;
}

.description_bloc li > div {
    width: auto;
    height: 112px;
}

.description_bloc li > div > img {
    width: 100%;
    height: 100%;
}

/**
*@description zone svg
*/
#plan_reduit_svg > svg > g > path {
    cursor: pointer;
}

/**
*@description Plan reduit liste des places selectionnees
*/
#recap_liste_places_provisoires table {
    width: 100%;
}

/**
*@description Standard
*/
.rsi-right {
    float: right;
}

.rsi-table {
    display: table;
    width: auto;
}

.rsi-row {
    display: table-row;
}

.rsi-cell {
    display: table-cell;
    padding: 5px;
}

ol.list-group>li {
    display: block;
}

.text-left {
    text-align: left;
}

.text-right {
    text-align: right;
}

.text-center {
    text-align: center;
}

.text-justify {
    text-align: justify;
}

.text-nowrap {
    white-space: nowrap;
}

.text-lowercase {
    text-transform: lowercase;
}

.text-uppercase {
    text-transform: uppercase;
}

.text-capitalize {
    text-transform: capitalize;
}

.img_s img {
    width: 80px;
    height: auto;
}

.hidden {
    display: none !important;
    visibility: hidden !important;
}

.error_message,
.delete_document a {
    color: #dc3545!important;
}

.success_message {
    color: #198754!important;
}

.error_button {
    color: #dc3545!important;
    border-color: #dc3545!important;
    background: none!important;
}

.success_button {
    color: #198754!important;
    border-color: #198754!important;
    background: none!important;
}

.dark_button {
    color: #FFF!important;
    border-color: #000!important;
    background: #000!important;
}

.orange_button {
    color: #FFF!important;
    border-color: orange!important;
    background: orange!important;
}

.rsi-relative {
    position: relative;
}

.animate {
    position: absolute;
    width: 100%;
}

/* Cookies */
#audience-banner {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    background-color: #EEE;
    color: #999;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    position: fixed;
    bottom: 0;
    width: 100%;
    z-index: 1000;
    padding: 5px;
}

.audience-container {
    margin: 0 auto;
    max-width: 1240px;
    display: -webkit-box!important;
    display: -webkit-flex!important;
    display: -ms-flexbox!important;
    display: flex!important;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.audience-container p {
    margin: .2em 0;
    margin-right: 20px;
}

.audience-btn {
    display: -webkit-box!important;
    display: -webkit-flex!important;
    display: -ms-flexbox!important;
    display: flex!important;
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
    margin: .2em 0;
}

.audience-btn a {
    background-color: transparent;
    text-decoration: underline;
    margin-right: 20px;
    color: #888;
}

/* Nouveau bandeau */
#audience-banner.popup-banner {
    position: static;
    display: block!important;
    padding: 0;
    background: none;
    color: initial;
    height: auto!important;
    width: auto!important;
    visibility: visible!important;
}

#audience-banner.popup-banner .audience-btn {
    display: block!important;
    text-align: center;
    margin: 10px 0 0;
}

#audience-banner.popup-banner button {
    margin: 5px;
}

#audience-banner.popup-banner a {
    margin-top: 5px;
    display: block;
}

/* Gestion des cookies */
.gc_container .content {
    border-bottom: 1px solid #ddd;
    padding-top: 2.4rem;
    padding-bottom: 2.4rem;
}        
.gc_head {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
}
.gc_trigger-container {
    margin-left: auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.gc_default{
    opacity: .6;
}

.switch {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    margin: 0;
    line-height: 16px;
    cursor: pointer;
    padding-right: 40px;
}

.switch input {
    opacity: 0;
    width: 0;
    height: 0;
    margin: 0;
}

.slider {
    position: absolute;
    cursor: pointer;
    right: 0;
    background-color: #ccc;
    -webkit-transition: .4s;
    transition: .4s;
    width: 32px;
    height: 16px;
}

.slider:before {
    position: absolute;
    content: "";
    height: 12px;
    width: 12px;
    left: 2px;
    bottom: 2px;
    background-color: white;
    -webkit-transition: .4s;
    transition: .4s;
}

input:checked + .slider {
    background-color: #5bb75b;
}

input:focus + .slider {
    box-shadow: 0 0 1px #5bb75b;
}

input:checked + .slider:before {
    -webkit-transform: translateX(15px);
    -ms-transform: translateX(15px);
    transform: translateX(15px);
}

.slider.round {
    border-radius: 34px;
}

.slider.round:before {
    border-radius: 50%;
}

.switch-lib {
    color: #aaa;
}

input:checked + .slider +.switch-lib {
    color: #5bb75b;
}

/* Footer */
#piedpage ul {
    margin: 0;
    padding: 0;
    list-style: none;
    text-align: right;
}

#piedpage li {
    display: inline-block;
    position: relative;
}

#piedpage li a {
    display: block;
    padding: 10px;
    color: inherit;
}

#piedpage li + li:before {
    content: '';
    height: 40%;
    width: 1px;
    display: block;
    background: #ccc;
    position: absolute;
    left: -2px;
    top: 52%;
    transform: translateY(-50%);
}

/**************Nouveautes date picker ***********************/

/* Layout helpers
----------------------------------*/
.ui-helper-hidden {
    display: none;
}

.ui-helper-hidden-accessible {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.ui-helper-reset {
    margin: 0;
    padding: 0;
    border: 0;
    line-height: 1.3;
    text-decoration: none;
    font-size: 100%;
    list-style: none;
}

.ui-helper-clearfix:before,
.ui-helper-clearfix:after {
    content: "";
    display: table;
    border-collapse: collapse;
}

.ui-helper-clearfix:after {
    clear: both;
}

.ui-helper-clearfix {
    min-height: 0; /* support: IE7 */
}

.ui-helper-zfix {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    position: absolute;
    opacity: 0;
    filter: Alpha(Opacity=0);
}

.ui-front {
    z-index: 100;
}

/* Interaction Cues
----------------------------------*/
.ui-state-disabled {
    cursor: default !important;
}

/* Icons
----------------------------------*/

/* states and images */
.ui-icon {
}

/* Misc visuals
----------------------------------*/

.ui-widget-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.ui-datepicker {
    width: 17em;
    padding: .2em .2em 0;
    display: none;
}

.ui-datepicker .ui-datepicker-header {
    position: relative;
    padding: .2em 0;
}

.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
    position: absolute;
    top: 2px;
    width: 1.8em;
    height: 1.8em;
    line-height: 1.8em;
    text-align: center;
    cursor: pointer;
    text-decoration: none;
    border-radius: 50%;
}

.ui-datepicker .ui-datepicker-prev:not(.ui-state-disabled),
.ui-datepicker .ui-datepicker-next:not(.ui-state-disabled) {
    background: #FFF; 
}

.ui-datepicker .ui-datepicker-prev {
    left: 2px;
}

.ui-datepicker .ui-datepicker-next {
    right: 2px;
}

.ui-datepicker .ui-datepicker-prev span,
.ui-datepicker .ui-datepicker-next span {
}

.ui-datepicker .ui-datepicker-title {
    margin: 0 2.3em;
    line-height: 1.8em;
    text-align: center;
}

.ui-datepicker .ui-datepicker-title select {
    font-size: 1em;
    margin: 1px 0;
}

.ui-datepicker .ui-datepicker-month {
    text-transform: capitalize;
}

.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year {
    width: 49%;
}

.ui-datepicker table {
    width: 100%;
    font-size: .9em;
    border-collapse: collapse;
    margin: 0 0 .4em;
}

.ui-datepicker th {
    padding: .3em .1rem;
    text-align: center;
    font-weight: bold;
}

.ui-datepicker td {
    padding: .3em .1rem;
}

.ui-datepicker td span,
.ui-datepicker td a {
    display: block;
    padding: .2em;
    text-decoration: none;
}

.ui-datepicker .ui-datepicker-buttonpane {
    background-image: none;
    margin: .7em 0 0 0;
    padding: 0 .2em;
    border-left: 0;
    border-right: 0;
    border-bottom: 0;
}

.ui-datepicker .ui-datepicker-buttonpane button {
    float: right;
    margin: .5em .2em .4em;
    cursor: pointer;
    padding: .2em .6em .3em .6em;
    width: auto;
    overflow: visible;
}

.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
    float: left;
}

/* with multiple calendars */
.ui-datepicker.ui-datepicker-multi {
    width: auto;
}

.ui-datepicker-multi .ui-datepicker-group {
    float: left;
}

.ui-datepicker-multi-2 .ui-datepicker-group {
    width: 49%;
}

.ui-datepicker-multi-2 .ui-datepicker-group-first {
    margin-right: 2%;
}

.ui-datepicker-multi-3 .ui-datepicker-group {
    width: 33%;
}

.ui-datepicker-multi-4 .ui-datepicker-group {
    width: 24.5%;
}

.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,
.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {
    border-left-width: 0;
}

.ui-datepicker-multi .ui-datepicker-buttonpane {
    clear: left;
}

.ui-datepicker-row-break {
    clear: both;
    width: 100%;
    font-size: 0;
}

/* RTL support */
.ui-datepicker-rtl {
    direction: rtl;
}

.ui-datepicker-rtl .ui-datepicker-prev {
    right: 2px;
    left: auto;
}

.ui-datepicker-rtl .ui-datepicker-next {
    left: 2px;
    right: auto;
}

.ui-datepicker-rtl .ui-datepicker-prev:hover {
    right: 1px;
    left: auto;
}

.ui-datepicker-rtl .ui-datepicker-next:hover {
    left: 1px;
    right: auto;
}

.ui-datepicker-rtl .ui-datepicker-buttonpane {
    clear: right;
}

.ui-datepicker-rtl .ui-datepicker-buttonpane button {
    float: left;
}

.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,
.ui-datepicker-rtl .ui-datepicker-group {
    float: right;
}

.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,
.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {
    border-right-width: 0;
    border-left-width: 1px;
}


/**************Nouveautes jquery dialog ***********************/
.ui-dialog {
    position:fixed;
    left: 0!important;
    right: 0!important;
    margin: 0 auto!important;
}

.ui-dialog:not(.iframe-popup) {
    top: 50%!important;
    transform: translateY(-50%)!important;
}

.ui-widget-overlay {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1040;
    width: 100vw;
    height: 100vh;
    background-color: #000;
    opacity: .7;
    z-index: 1071;
}

.ui-widget.ui-widget-content {
    pointer-events: auto;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid rgba(0, 0, 0, .2);
    border-radius: .3rem;
    z-index: 2000;
    max-width: 500px;
}

.ui-widget.ui-widget-content.bigmodal {
    max-width: 800px;    
}

.ui-widget.ui-widget-content.fullscreen {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
}

@media screen and (max-width: 500px) {
    .ui-widget.ui-widget-content.fullscreen {
        width: calc(100vw - 10px)!important;
        height: calc(100vh - 10px)!important;
        margin: 5px!important;
        transform: translateY(-51%) !important;
    }
}

canvas {
    max-width: 100%;
}

.ui-widget.ui-widget-content.modalimg .ui-dialog-content {
    padding: 0;
}

.ui-widget-header {
    padding: 1rem 1rem;
    position: relative;
    border-bottom: 1px solid #dee2e6;
    border-top-left-radius: .3rem;
    border-top-right-radius: .3rem;
}

.no-close .ui-widget-header {
    display: none;
}

.ui-dialog-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: #0C354C;
    width: calc(100% - 25px);
    display: inline-block;
}

.ui-dialog .ui-dialog-titlebar-close {
    position: absolute;
    right: 0.5rem;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    padding: 1px;
    height: 20px;
    padding: 1rem 1rem;
    text-indent: -9999px;
    white-space: nowrap;
    border: 0;
    text-transform: none;
    opacity: 0.5;
}

.ui-dialog .ui-dialog-titlebar-close:hover,
.ui-dialog .ui-dialog-titlebar-close:focus {
    opacity: 1;
}

/* button icon element(s) */
.ui-dialog .ui-dialog-titlebar-close::before {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 16px;
    height: 16px;
    display: inline-block;
    vertical-align: middle;
    color: var(--color-primary);
    font-family: FontAwesome;
    font-weight: normal;
    font-style: normal;
    text-decoration: inherit;
    -webkit-font-smoothing: antialiased;
    content: "\f00d";
    text-indent: 0;
    display: block;
}

.ui-dialog-content {
    padding: 1rem 1rem;
    position: relative;
    max-height: 70vh !important;
    overflow-x: hidden;
}

#body_coordonnees_bancaire .ui-dialog-content{
    max-height: 85vh !important;
}

.ui-dialog-buttonpane {
    padding: 0 1rem 1rem;
    border-bottom-right-radius: .3rem;
    border-bottom-left-radius: .3rem;
    text-align: center;
}

.ui-dialog-buttonpane button {
    margin: 0 0.3em;
}

.saisie_organisme .btn.btn-default,
#saisie_contact .btn.btn-default ,
#saisie_invite .btn.btn-default {
    border: 0;
}

/* Bons cadeaux */
.link_ignore {
    margin-bottom: 1em;
    display: inline-block;
}

/* Dedicasse bons cadeaux */
#zone_message_gift_card {
    text-align: right;
}

#form_gift_card {
    text-align: left;
}

.message_gift_card {
    background: #eee;
    padding: 1em;
}

.message_gift_card + .message_gift_card {
    margin-top: 1em;
}

#form_gift_card .group-text,
#form_gift_card .group-textarea {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 0.5em;
}

#form_gift_card .group-text label,
#form_gift_card .group-textarea label {
    flex-basis: 33%;
    font-weight: normal;
}

#form_gift_card .group-text input,
#form_gift_card .group-textarea textarea {
    flex-basis: calc(66% - 20px);
    min-width: auto;
}

#form_gift_card .refuse_gift_card {
    position: relative;
    margin-top: 1em;
    padding-top: 1em;
}

#form_gift_card .refuse_gift_card:before {
    content: '';
    height: 1px;
    width: 70%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    background: #aaa;
}

#form_gift_card .message_gift_card:not([data-choice="true"]) .emetteur_gift_card,
#form_gift_card .message_gift_card:not([data-choice="true"]) .destinataire_gift_card,
#form_gift_card .message_gift_card:not([data-choice="true"]) .text_gift_card {
    display: none;
}

.ui-dialog-buttonpane button.ui-state-disabled {
    color: #999;
    border-color: #999;
    cursor: default;
    background: inherit;
}

/* Forms */
.seat-map-control {
    top: 1px;
    left: 1px;
}

.custom-tooltip {
    --bs-tooltip-bg: #FFFFFF;
    --bs-tooltip-color: inherit;
    --bs-tooltip-opacity: 1;
}

.custom-tooltip .tooltip-inner {
    padding: 0;
    border: 1px solid #ccc;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px;
    -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .2);
    -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, .2);
    box-shadow: 0 5px 10px rgba(0, 0, 0, .2);
    -webkit-background-clip: padding-box;
    -moz-background-clip: padding;
    background-clip: padding-box;
}

.custom-tooltip .tooltip-title {
    padding: 5px;
    background-color: #f7f7f7;
    border-bottom: 1px solid #ebebeb;
    border-radius: 5px 5px 0 0;
}

.custom-tooltip .tooltip-content {
    padding: 5px;
}

[data-tooltip] {
    position: relative;
    cursor: help;
}

.tooltip-element {
    color: #FFF!important;
    background: #000;
    width: 16px;
    height: 16px;
    border-radius: 8px;
    display: inline-block;
    text-align: center;
    line-height: 16px;
    margin: 0 5px;
    font-size: 12px;
}

*[data-tooltip]:hover::before,
*[data-tooltip]:focus::before {
    border: solid;
    border-color: #222 transparent;
    border-width: 6px 6px 0;
    bottom: 17px;
    content: '';
    left: 2px;
    position: absolute;
    z-index: 99;
}

*[data-tooltip]:hover::after,
*[data-tooltip]:focus::after {
    background: rgba(0, 0, 0, 0.9);
    border-radius: 5px;
    bottom: 23px;
    color: #fff;
    content: attr(data-tooltip);
    padding: 5px;
    position: absolute;
    z-index: 98;
    left: -10px;
    width: 230px;
    text-shadow: none;
    font-size: 14px;
    line-height: 1.5em;
    font-weight: normal;
}

.tooltip-left::after {
    left: initial!important;
    right: 0;
}

@media screen and (max-width:500px) {
    label,
    .checkbox-group p {
        position: relative;
    }

    [tooltip] {
        position: static;
    }

    *[tooltip]:hover::before,
    *[tooltip]:focus::before {
        left: 5px;
    }

    *[tooltip]:hover::after,
    *[tooltip]:focus::after {
        left: 0;
    }

}

/* Panier */
#tab_basket .label_gift_card,
#tab_basket .label_pm {
    display: block;
}

#tab_basket .label_gift_card em,
#tab_basket .label_pm em {
    font-weight: normal;
    font-size: .9em;
    font-style: normal;
}

#tab_basket .sous_detail {
    display: inline-block;
    font-weight: normal;
    text-transform: none;
    font-style: italic;
}

#tab_basket .sous_detail + .sous_detail::before {
    content: '-';
    margin: 0 .3em;
}
@media screen and (max-width: 768px) {
    #tab_basket .sous_detail { 
        display: block;
    }
    #tab_basket .sous_detail + .sous_detail::before {
        content: '';
        margin: 0em;
    }
}

#body_basket .commentaire_representation,
#formrecap + #coordonnees_contact {
    margin-top: 20px;
}

/*Style pour autocomplete*/
.autocomplete {
    position: relative;
    display: inline-block;
}

.autocomplete-items {
    position: absolute;
    border: 1px solid #d4d4d4;
    border-bottom: none;
    border-top: none;
    z-index: 99;
    top: 100%;
    left: 0;
    right: 0;
    max-height: 130px;
    overflow-y: scroll;
    overflow-x: hidden;
    min-width: 260px;
}

.autocomplete-items div {
    padding: 10px;
    cursor: pointer;
    background-color: #fff;
    border-bottom: 1px solid #d4d4d4;
}

.autocomplete-items div:hover {
    background-color: #e9e9e9;
}

.autocomplete-active {
    background-color: DodgerBlue !important;
    color: #ffffff;
}

/* Back to top */
#topBtn {
    display: none;
    position: fixed;
    bottom: 10px;
    right: 10px;
    z-index: 99;
    cursor: pointer;
    font-size: 18px;
}

#valBtn {
    display: none;
    position: fixed;
    bottom: 10px;
    left: 10px;
    z-index: 99;
    cursor: pointer;
    font-size: 18px;
}

/* Zone coordonnees dans panier */
#coordonnees_contact div {
    padding: 1em;
    margin-bottom: 1em;
    border: 1px solid #ddd;
    border-left: .3em solid #5bc0de;
    background: rgba(91, 192, 222, 0.13);
}
#coordonnees_contact button{
    margin-top: .5em;
}

/**********Page coordonnes bancaire************/
#zone_coord_bancaire .object_descri {
    margin-bottom: 10px;
}

#zone_coord_bancaire h2 {
    margin: 30px 0 10px;
}

#zone_coord_bancaire label:not(.btn),
.commentaire_representation  {
    display: block;
    margin-bottom: 5px;
}

.liste_rib.liste_style_1 .zone_item {
    margin: 30px 0 0;
}

.rib_item {
    padding: 5px 10px;
    background-color: #CCC;
    display: inline-block;
    margin: 0 5px 5px;
}
.rib_libelle {
    font-weight: bold;
    margin-right: 2px;
}

.rib_libelle::after {
    content: ':';
    margin-left: 2px;
}

.msg-error {
    color: #dc3545;
    font-weight: bold;
    display: block;
}

.msg-error:not(:empty) {
    margin-top: 5px;
}

/* Small Tablette (de 768px a 501px) */
@media screen and (max-width: 768px) {
    .rib_item {
        display: block;
    }
}

@media screen and (max-width: 400px) {
    .nom_doc_rib {
        max-width: 150px;
        overflow: hidden;
        display: inline-block;
        text-overflow: ellipsis;
    }
}

#zone_coord_bancaire .btn-upload {
    padding: 5px 10px;
    text-transform: none;
    border-style: dashed;
    font-size: inherit;
    font-weight: inherit;
}

/* Documents */
#form_rib_doc .btn-group {
    margin-top: 20px; 
}

#file_list .list-group i,
#file_list_doc .list-group i,
#liste_document_rib .list-group i {
    display: inline-block;
    vertical-align: middle;
    margin-right: 10px;
}

#form_rib_doc,
#file_list {
    margin-top: 10px;
    padding-top: 0;
    padding-bottom: 0;
}

.cancel {
    opacity: .5;
}

/**********Agenda************/
.btn_ajout_events_agenda{
    text-align:right;
    margin-bottom: 10px;
}
.btn_add_to_calendar{
    text-align:center;
    margin:5px;
}
.icon_ajout_agenda{
    margin-right:5px;
}


/**********Films************/
#alaffiche.alaffiche_film ul,
#list_event_today.content_today ul,
#body_films #list_event ul {
    width: auto;
    float: none;
    padding: 0;
    margin: 0 -10px;
}

#alaffiche.alaffiche_film ul,
#list_event_today.content_today ul {
    display: block;
}

#body_films #list_event ul li,
#alaffiche.alaffiche_film ul li,
#list_event_today.content_today ul li {
    width: calc((100% / 5) - 20px);
    position: relative;
    overflow: hidden;
}

@media only screen and (max-width: 1130px) {
    #body_films #list_event ul li,
    #alaffiche.alaffiche_film ul li,
    #list_event_today.content_today ul li {
        -ms-flex-preferred-size: calc((100% / 3) - 20px)!important; /* divise par nb_colonne */
        flex-basis: calc((100% / 3) - 20px)!important;
    }
}

@media only screen and (max-width: 768px) {
    #body_films #list_event ul li,
    #alaffiche.alaffiche_film ul li,
    #list_event_today.content_today ul li {
        -ms-flex-preferred-size: calc((100% / 2) - 20px)!important; /* divise par nb_colonne */
        flex-basis: calc((100% / 2) - 20px)!important;
    }
}

@media only screen and (max-width: 500px) {
    #body_films #list_event ul li,
    #alaffiche.alaffiche_film ul li,
    #list_event_today.content_today ul li {
        -ms-flex-preferred-size: calc(100% - 20px)!important; /* divise par nb_colonne */
        flex-basis: calc(100% - 20px)!important;
    }
}

#alaffiche.alaffiche_film .thumbnail_image,
#list_event_today.content_today .thumbnail_image,
#body_films #list_event .thumbnail_image {
    width: 100%;
    height: 290px;
    overflow: hidden;
    background: #EEE;
}

#alaffiche.alaffiche_film img,
#list_event_today.content_today img,
#body_films #list_event img {
    max-width: 100%;
    width: 100%;
    float: none;
    display: block;
    margin: 0 auto;
}

#alaffiche.alaffiche_film .description_film,
#list_event_today.content_today .description_film,
#body_films #list_event .description_film {
    width: 100%;
    min-height: 80px;
}

#alaffiche.slick_rsi ul,
#list_event_today.slick_rsi ul {
    display: block;
    margin-left: 0;
    margin-right: 0;
}

.alaffiche_film.slick_rsi,
#list_event_today.slick_rsi {
    margin: 0 25px;
}

@media screen and (max-width: 1200px) {
    .slick-prev + .slick-list.draggable {
        width: calc(100% - 60px);
        margin: 0 auto;
    }

    .slick-prev {
        left: 5px!important;
    }

    .slick-next {
        right: 5px!important;
    }
}

/*----------- Films du jour --------*/
.head_today {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
    flex-wrap: wrap;
}

.head_today select {
    width: auto;
    padding: .1rem .3rem;
    margin-left: .5rem;
}

.details_films {
    position: absolute;
    top: 0rem;
    left: 0rem;
    right: 0rem;
    bottom: 0rem;
    padding: .5em;
    border: .5em solid #FFF;
    background: #f5f5f5;
    opacity: 0;
}

.films_jour a {
    pointer-events: none;
}

.films_jour:hover a {
    pointer-events: visible;
}

.films_jour:hover .details_films {
    opacity: 1;
}

.salle + .salle {
    margin-top: 1em;
}

.nom_representation,
.nom_salle {
    font-weight: bold;
    margin-bottom: .3rem;
}

.detail_seance {
    display: inline-block;
    background: #FFF;
    padding: 0 .25rem;
    margin: .2rem .2rem;
}

.heure_seance {
    display: block;
    text-align: center;
    color: #000;
}

.mention,
.version, 
.mode_projection {
    padding: 0 .2rem;
    margin: .2rem 0;
    text-align: center;
    color: #999;
    font-size: 0.8rem;
}

.liste_mentions,
.thumbnail_film .mention,
.categories_rep .mention,
.liste_versions,
.thumbnail_film .version,
.categories_rep .version,
.liste_projections,
.thumbnail_film .mode_projection,
.categories_rep .mode_projection {
    display: inline-block;
}

.mention,
.version,
.mode_projection {
    background: #EEE;
}

.liste_projections + .liste_versions,
.liste_projections + .liste_versions + .liste_mentions,
.mention + .mention,
.version + .version,
.mode_projection + .mode_projection {
    margin-left: .3rem;
}

.films_jour .mention, 
.films_jour .version, 
.films_jour .mode_projection {
    display: block;
}
/*-----------infos bulle description courte au niveau des categories spectacle  -------*/
.icon-info-sign{
    cursor:pointer;
}
.infos_bulle_desc{
    display: none;
    background-color: #8e8d8d;
    border: 1px solid #8e8d8d;
    color: #FFFFFF;
    margin: 2px 10px 2px 0;
    position: relative;
    left: 2%;
    width: -webkit-min-content;
    width: -moz-min-content;
    white-space: nowrap;
    z-index: 9;
    padding: 5px;
    text-align: left;
}
#new_table_rep .icon-info-sign:hover + .infos_bulle_desc{
    display: block;
}

/*------------------ Fiche film -------------------*/
.header_zone {
    margin-bottom: 1em;
}

#zone_moovie {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin: 0 -10px;
}

#zone_moovie > div {
    padding: 0 10px;
}

#moovie_detail {
    flex-basis: 70%;
}

#moovie_picture {
    flex-basis: 30%;
    text-align: right;
}

.zone_video {
    margin-bottom: 1em;
}

span.realisateurs {
    font-weight: bold;
}

#body_film .sd::before,
#body_film .duration:before,
#body_film .location:before,
#list_representation .location:before,
#body_film .places_disponibles:before,
#body_spectacle .places_disponibles:before,
.infos_salle::before,
.telephone_salle::before {
    content: "\f073";
    font-family: FontAwesome;
    font-weight: normal;
    font-style: normal;
    text-decoration: inherit;
    -webkit-font-smoothing: antialiased;
    margin-right: 7px;
    color: var(--color-primary);
}

#body_film .sd::before {
    content: "\f073";
}

#body_film .duration:before {
    content: "\f017";
}

#body_film .location:before,
#list_representation .location:before,
.infos_salle::before {
    content: "\f041";
}

#body_film .places_disponibles:before,
#body_spectacle .places_disponibles:before {
    content: "\f145";
}

.telephone_salle::before {
    content: "\f095";
}

.details-film p {
    margin-bottom: .5em;
}

.sous-details-film,
.details_rep {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
}

.sous-details-film .duration,
.sous-details-film .location,
.details_rep .datetime,
.details_rep .duration,
.details_rep .location {
    margin-right: 1em;
}

.synopsis {
    margin-top: 1em;
}

#body_film #zone_representations,
#body_film #selection_tarifs,
#body_film #field_selection_tarifs {
    margin-top: 2em;
    padding-top: 2em;
    border-top: 1px solid #CCC;
}

.subtitle, .text_title:not(:empty) {
    margin-bottom: .5em;
}

#zone_representation_bouton {
    margin-top: 1em;
}

#field_selection_tarifs::after {
    content: '';
    display: block;
    clear: both;
}

/* Seance choisie */
#zone_rep {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    flex-wrap: wrap;
}

#zone_rep .position_gauche {
    flex-basis: 80%;
}

#zone_rep .position_droit {
    flex-basis: 20%;
    text-align: right;
}

#zone_rep .position_droit {
    flex-basis: 20%;
    text-align: right;
}

#zone_rep_complete_film {
    flex-basis: 100%;
}

.titre_rep h3 {
    text-transform: none;
    color: #000;
}

.categories_rep {
    margin: .5rem 0 0;
    padding: 0;
}

#body_film .version,
#body_film .mention,
#body_film .mode_projection {
    padding: 0 1rem;
    font-size: 1rem;
}

#zone_representation_list .line_item {
    text-align: center;
}

#zone_representation_list .line_item span + span {
    display: inline-block;
    margin: 0 5px;
}

#zone_representation_list .line_item .nom_rep,
#zone_representation_list .line_item .hour {
    font-weight: bold;
}

#zone_representation_list .line_item .hour {
    font-size: 1.5em;
}

/*-----------infos bulle description courte au niveau des categories spectacle  -------*/
.icon-info-sign{
    cursor:pointer;
}
.infos_bulle_desc{
    display: none;
    background-color: #8e8d8d;
    border: 1px solid #8e8d8d;
    color: #FFFFFF;
    margin: 2px 10px 2px 0;
    position: relative;
    left: 2%;
    width: -webkit-min-content;
    width: -moz-min-content;
    white-space: nowrap;
    z-index: 9;
    padding: 5px;
    text-align: left;
}
#new_table_rep .icon-info-sign:hover + .infos_bulle_desc{
    display: block;
}

/* -------- Nouveau espace client  ------------ */
.my_account #zone_bonjour::before,
.my_account #zone_bonjour::after {
    content: none;
}

.my_account #zone_bouton_retour {
    display: none;
}

.title_section i {
    font-size: initial;
}

.link_section {
    border: 1px solid #DDD;
    border-radius: 10px;
    padding: 15px;
    height: 100%;
    cursor: pointer;
}

.link_section:hover {
    background: #f5f5f5;
}

.icon_dashboard {
    background: #EEE;
    height: 40px;
    width: 40px;
    border-radius: 50%;
    text-align: center;
    color: #707070;
    line-height: 40px!important;
}

.link_section:hover .icon_dashboard {
    background: #DDD;    
}

.description_section ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.description_section li a {
    width: 100%;
}

@media screen and (max-width: 992px) {
    .description_section li a {
        font-size: 1.25rem;
    }
}

@media screen and (max-width: 960px) {
    .my_account #zone_bonjour {
        justify-content: space-between;
    }
    .my_account #zone_bouton_retour {
        display: block;
    }
}

@media screen and (max-width: 500px) {
    .my_account #zone_bonjour {
        display: block;
    }
}

@media screen and (max-width: 1024px) {
    .tab_nav,
    .tab_content {
        clear: both;
    }
}

#titre_tableau_bord{
    margin-bottom: 20px;
}

.ya-card-row {
    display: table;
    height: 100%;
    margin-bottom: 20px;
    width: 100%;
}

.ya-card-cell{
    display: table-cell;
    height: 100%;
    border: 1px grey solid;
    border-radius: 5px;
    padding: 50px 30px;
    width: 350px;
}

.ya-card-cell:hover{
    background-color: black;
}

.sidebar {
    background: #f5f5f5;
    width: 250px;
    border: 1px solid #DDD;
}

.sidebar.navbarfixed {
    position: fixed;
    top: 0;
    overflow: hidden;
}

.has-scrollbar {
    overflow: auto;
    height: 90vh;
}

.account_name {
    background: #EEE;
    text-align: center;
    font-size: 18px;
    padding: 0.5em;
}

.sidebar ul,
.tab_nav ul,
.zone_filter ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
/* Navigation left */
.nav_item {
    border-top: 1px solid #DDD;
    vertical-align: middle;
}

.nav_link_account {
    color: #555;
    display: block;
    padding: 1em;
    text-decoration: none;
    transition: none;
    border-left: 5px solid transparent;
}

.nav_item_current > .nav_link_account,
.submenu_nav_item_current > .nav_link_account,
.nav_link_account:hover {
    border-left: 5px solid #FFF;
    background: #FFF;
}

.nav_item_current > .nav_link_account {
    border-left: 5px solid #333;
    font-weight: bold;
}

.submenu_nav_item_current {
    font-weight: bold;
}

.navigation .fas {
    font-size: 1.3em;
    margin-right: .5em;
    width: 22px;
    text-align: center;
}

.nav_item#item_deconnexion {
    text-align: center;
}

.nav_item#item_deconnexion:hover {
    background: #f5f5f5;
}

.nav_item#item_deconnexion a {
    margin: 1em 0;
    border: 1px solid #555;
    color: #555;
    display: inline-block;
    padding: .5em 1em;
    text-decoration: none;
    text-transform: uppercase;
    font-weight: bold;
    cursor: pointer;
}

.nav_item#item_deconnexion a:hover {
    background: #555;
    border: 1px solid #555;
    color: #FFF;
}

.content_account {
    float: right;
    width: calc(100% - 270px);
}

#content_account {
    width: calc(100% - 270px);    
}

.les_onglets {
    position: relative;
}

.tab_nav
#tab-nav {
    margin: 0;
    padding: 0;
}

#tab-nav li,
.tab_nav li {
    display: inline-block;
    margin-right: .5em;
}

.tab {
    display: block;
    border: 1px solid #DDD;
    padding: .5em;
    border-radius: 5px 5px 0 0;
    background-color: #F5F5F5;
}

.tab:hover,
.tab_current {
    background-color: #FFF;
    border-bottom: 1px solid #FFF;
}

.tab_current a,
#page .tab a {
    color: #555;
    text-decoration: none;
}

.tab_current a {
    color:black !important;
    font-weight: bold;
}

.tab_content {
    border: 1px solid #DDD;
    margin-top: -1px;
    padding: .5em 1.5em 1em;
}

#toggle_account {
    display: none;
    position: relative;
    z-index: 999;
}

@media screen and (max-width: 960px) {
    /* Responsive espace compte */
    #bandeau {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex!important;
        justify-content: space-between;
        -webkit-box-align: center!important;
        -ms-flex-align: center!important;
        align-items: center!important;
    }

    #bandeau:before {
        width: 0!important;
        left: 0!important;
    }

    #toggle_account,
    #toggleMenu {
        display: block!important;
        height: 40px;
        width: 40px;
        text-align: center;
        line-height: 40px;
        font-size: 2em!important;
        padding: 0!important;
    }

    #toggleMenu:before {
        content: ''!important;
    }

    #toggleMenu,
    #toggleMenu:before {
        position: static!important;
        -moz-transform: none!important;
        -webkit-transform: none!important;
        -o-transform: none!important;
        -ms-transform: none!important;
        transform: none!important;
    }

    #logo1 {
        width: calc(100% - 40px);
        margin: 0 10px!important;
        text-align: center!important;
        padding-left: 40px; /* recentre */
    }

    .my_account:not(#body_mon_compte) #logo1 {
        width: calc(100% - 100px);
        padding-left: 0;
    }

    #logo1 img {
        max-width: 100%!important;
    }

    #tabnav {
        left: 0!important;
    }

    #content_account {
        width: 100%;
    }

    .my_account .tab_nav {
        display: none
    }

    .tab_content {
        border: none;
        padding: 0;
    }

    /* Menu vertical */
    #page {
        transition: all .4s ease-in-out;
        position: relative;
        left: 0;
    }

    #navigation_account {
        position: fixed;
        top: 0;
        bottom: 0;
        left: -335px;
        width: 250px;
        min-height: 100vh;
        z-index: 10;
        transition: all .4s ease-in-out;
        /*transform: translate3d(-335px, 0, 0);*/
    }

    .menu_shown_account  {
        overflow-x: hidden;
    }

    .menu_shown_account #navigation_account {
        left: 0;
    }

    .menu_shown_account #page {
        left: 250px;
        height: 100vh;
        overflow: auto;
        top: 0;
        bottom: 0;
    }

    .sidebar,
    .sidebar.navbarfixed {
        position: static;
        height: 100vh;
    }
}

@media screen and (max-width: 768px) {
    /* Responsive espace compte */
    #bandeau {
        margin: .5em -20px 1em!important;
    }

    #toggle_account, #toggleMenu {
        font-size: 1.5em!important;
        margin: 0 .5em;
    }
}

#contenu_mes_amis table,
#contenu_mes_acheteurs table{
    margin: 10px;
    width: 98%;
}

/*--- Evenements ---*/
.group_filter {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

/* Filtres */
.zone_filter  {
    margin: .5em 0;
}

h3 .zone_filter {
    margin: 0;
}

.zone_filter .btn-filter {
    border: 2px solid;
    height: 30px;
    width: 35px;
    text-align: center;
    line-height: 28px;
    box-shadow: 0 1px 5px 0 rgba(0,0,0,0.1);
    --btn-padding: 0;
    padding: 0;
    vertical-align: bottom;
}

.zone_filter .btn-filter.delete {
    color: #dc3545!important;
    background: #FFF;
    border-color: #dc3545!important;
}

.zone_filter .btn-filter.delete:hover {
    color: #FFF!important;
    background-color: #dc3545!important;
    border-color: #dc3545!important;
}

.zone_filter .actions {
    display: inline-block;
    vertical-align: middle;
    /* margin-right: .5em; */
}

.zone_filter .actions select,
.zone_filter .actions button,
.zone_filter .actions input,
.zone_filter .actions .page-item span {
    height: 30px;
    line-height: 30px;
    padding: 0 .5em;
    text-transform: none;
    border-color: #CCC;
    font-weight: normal;
    margin: .2em 0;
}

.zone_filter .actions button:hover,
.zone_filter .actions button.active {
    background: #EEE;
    color: inherit;
}

@media screen and (max-width: 500px) {
    .rflexmob {
        display: block!important;
    }

    .filter_left {
        margin-bottom: .5em;
    }

    .liste_style_1 .rupture_item .content_rupture {
        padding: .5em 0;
    }

    .price_item.price_order,
    .product_price {
        min-width: 100px;
        text-align: right;
    }

    h1 {
        font-size: 1.5em!important;
        line-height: 1.3em!important;
    }

    .liste_style_1 h3 {
        font-size: 1.1em;
    }

    /* Historique commande */
    .content_rupture .options_item {
        min-width: 50px;
    }

    .product_name + .product_date {
        display: block;
    }

    .liste_style_1 .event_ticket .options_item {
        text-align: center;
        display: flex;
        flex-direction: row-reverse;
        justify-content: space-between;
    }

    .options_download {
        margin: 0;
    }

    #body_evenements_a_venir .zone_options_billet, #body_historique_commandes .zone_options_commande {
        flex-direction: column;
    }

    /* Cartes */
    .state_item > span {
        margin: .2em;
        display: inline-block;
    }
}

.liste_style_1 .details_item.zone_info,
.liste_style_1 .details_item.ticket_per_date,
.liste_style_1 .details_item#liste_document_rib,
.liste_style_1 .details_item#liste_form_rib {
    margin: 1em -1em 0;
}

.liste_style_1 .zone_info_contact .details_item.zone_info:last-child{
    margin-bottom: -0.5em;
}

.liste_style_1 .zone_info_contact .details_item.zone_info:not(:last-child){
    margin-bottom: -1.5em;
}

.liste_style_1 .zone_date:last-child .details_item.ticket_per_date,
.liste_style_1 .details_item#liste_document_rib,
.liste_style_1 .details_item#liste_form_rib {
    margin-bottom: -.5em;
}

.liste_style_1 .details_item.details_copurchaser {
    padding-top: 0;
    padding-bottom: 0;
}

.liste_tickets .zone_date + .zone_date,
.details_waiting_list .zone_date + .zone_date {
    margin-top: .5em;
}

.liste_tickets .zone_date.zone_display + .zone_date.zone_display,
.informations_organisme .zone_info_organisme.zone_display + .zone_info_contact.zone_display {
    margin-top: 1em;
}

.options_ticket p,
.options_order p,
.options_product p,
.options_carte p,
.options_rib p,
.options_copurchaser p,
.options_family p {
    display: inline-block;
    margin: 0 3px!important;
    vertical-align: middle;
}
.download_ticket a,
.download_tickets a,
.calendar_ticket a,
.covoit_ticket a,
.invoice_ticket a,
.download_bon_achat a,
.download_receipt a,
.download_cerfa a,
.view_document a,
.delete_document a,
.options_copurchaser a,
.renew_carte a,
.renew_wallet a,
.download_carte a,
.options_family a {
    display: block;
    border: 2px solid;
    height: 30px;
    width: 35px;
    text-align: center;
    line-height: 28px;
    box-shadow: 0 1px 5px 0 rgba(0,0,0,0.1);
    font-size: 16px;
}

.options_copurchaser a,
.options_family a {
    border: 1px solid;
    height: 25px;
    width: 30px;
    line-height: 23px;
    font-size: 14px;
}
.download_receipt a{
    float: right;
}

.justificatif_ticket {
    color: #dc3545;
}

.justificatif_ticket a {
    color: inherit!important;
}

/* Open - Close */
.item_control_display {
    cursor: pointer;
}

.zone_multi_display .item_close,
.item_close .item_to_display {
    display: none;
}

.data_item .item_control_text {
    text-decoration: underline;
}

.item_control_text_aft::after {
    float: right;
    margin: .3em 0;
}

.item_control_text_aft::after,
.item_control_text::before,
.btn-filter::before {
    font-family: 'Font Awesome 5 Free'!important;
    font-weight: normal;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
}

.item_open .item_control_text::before,
.item_open .item_control_text_aft::after {
    content: "\f107";
}

.item_close .item_control_text::before,
.item_close .item_control_text_aft::after{
    content: "\f105";
}

.btn-filter.vopen::before {
    content: "\f065";
}

.btn-filter.vclose::before {
    content: "\f066";    
}

/*--- Class communes compte ---*/
.dflex {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
}

.flexspacebetween {
    justify-content: space-between;
}

.flexleft {
    justify-content: left;
}

.flexcenter {
    justify-content: center;
}

.flexright {
    justify-content: right;
}

.faligntop {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}
.faligncenter {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.falignbottom {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
}

.fdirectioncolreverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
}

.fdirectionrowreverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: start;
}

.fwrap {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.fnowrap {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
}

/* Zone visible */
.liste_style_1 .zone_item {
    width: 100%;
    border-radius: 3px;
    border: 1px solid #DDD;
    margin-bottom: 15px;
}

.liste_style_1 .summary_item {
    background: #F5f5f5;
    padding: .5em 1em;
}

.liste_style_1 h3 {
    color: inherit;
}
.liste_style_1 h3 .commande_annulee{
    color:#dc3545;
}

.zone_error_justificatif .error_justificatif {
    display: inline-block!important;
    margin-left: .5em;
}

.liste_style_1 .title_carte,
.liste_style_1 .title_wallet,
.liste_style_1 .title_copurchaser,
.liste_style_1 .title_waiting_list,
.liste_style_1 .title_family {
    margin: 0;
}

.liste_style_1 .content_item p {
    margin: .2em 0;
}

.liste_style_1 .nb_item_type span, /* Nb par type */
.zone_header p { /* Nb tickets */
    color: #707070;
    font-style: italic;
}

.liste_style_1 .en_attente .validite,
.liste_style_1 .en_cours .validite {
    color: #f4853d;
}

.liste_style_1 .annule .validite,
.liste_style_1 .invalide .validite {
    color: #dc3545;
}

.liste_style_1 .link_item a {
    display: inline-block;
}

/* Zone masquee */
.liste_style_1 .details_item {
    background: #FFF;
    padding: .5em 1em;
    border-top: 1px solid #DDD;
}

.liste_style_1 .rupture_item + .rupture_item {
    margin-top: 1em;
}

.rupture_item.rupture_total {
    background: #F5f5f5;
    padding: .3em .5em;
}

.liste_style_1 .details_item .content_rupture:last-child {
    border-bottom: 0;
}

.liste_style_1 .head_rupture {
    font-weight: bold;
    color: initial;
}

.liste_style_1 .content_rupture {
    color: #707070;
    border-bottom: 1px solid #eee;
    padding: .5em 0;
    align-items: center;
}
#body_evenements_a_venir .liste_style_1 .details_item .content_rupture:last-child ,
#body_porte_monnaie .liste_style_1 .details_item .content_rupture:last-child ,
#body_espace_fidelite .liste_style_1 .details_item .content_rupture:last-child,
#body_historique_commandes .liste_style_1 .details_item .content_rupture:last-child {
    border-bottom: 0;
}

#body_evenements_a_venir .liste_style_1 .content_rupture,
#body_porte_monnaie .liste_style_1 .content_rupture,
#body_espace_fidelite .liste_style_1 .content_rupture,
#body_historique_commandes .liste_style_1 .content_rupture{
    border-bottom: 1.5px dashed #707070;
}

#body_historique_commandes .zone_filtre_compte {
    width: 200px;
}

#body_porte_monnaie .liste_style_1 .content_rupture.data_wallet,
#body_porte_monnaie .liste_style_1 .recharge_wallet,
#body_espace_fidelite .liste_style_1 .content_rupture.data_carte {
    border-bottom: 1px solid #707070;
}
#body_espace_fidelite .rupture_ticket{
    margin-top:10px;
}

#body_espace_fidelite .infos_salle:before{
    content: "\f041";
    color: var(--color-primary);
    font-family: FontAwesome;
    font-weight: normal;
    font-style: normal;
    text-decoration: inherit;
    -webkit-font-smoothing: antialiased;
    margin-right: 7px;
}
#body_porte_monnaie .solde_wallet{
    margin-top: 10px;
}

#body_listes_attente .titre_item{
    margin-bottom: 5px!important;
}
#body_listes_attente .zone_date{
    margin-top: 15px!important;
}
#body_listes_attente .liste_style_1 .details_inscription{
    border-top:none;
    padding: 0;
}
#body_listes_attente .liste_style_1 .nom_client{
    color: #707070;
}
#body_listes_attente .liste_style_1 .nom_client .fas{
    color: #000;
}

#body_listes_attente .liste_style_1 .zone_item .details_item.zone_info:last-child{
    margin-bottom: -0.5em;
}
#body_listes_attente .details_waiting_list .date_representation:before{
    margin-right: 10px;
}
#body_listes_attente .liste_style_1 .details_item.zone_info:not(:first-child){
    margin: 0 -1em;
}

#body_evenements_a_venir .zone_options_billet,
#body_historique_commandes .zone_options_commande{
    padding-bottom: 0.5em;
    border-bottom: 1px solid #707070;
    margin-bottom: 0.5em;
}
#body_historique_commandes .zone_options_commande .nom_client{
    font-weight: bold;
}
#body_historique_commandes .fa-user{
    margin-right:5px;
}
#body_historique_commandes .fa-building{
    margin-left:15px;
}
#body_historique_commandes .content_rupture .nom_salle{
    margin-bottom:0;
}
#body_historique_commandes .liste_style_1 .content_rupture{
    border-bottom: 1.5px dashed #707070;
}
#body_historique_commandes .data_item .item_control_text {
    text-decoration: none;
}

#body_evenements_a_venir .zone_options_billet a{
    color: #707070;
    text-decoration: none;
}

.options_download {
    display: flex;
    justify-content: center;
    align-items: stretch;
    margin-bottom: 5px;
}

#body_evenements_a_venir .download_ticket img,
#body_evenements_a_venir .download_tickets img {
    max-height: 100%;
}

#body_evenements_a_venir .download_ticket + .download_ticket {
    margin-left: 10px;
}

#body_evenements_a_venir .download_tickets,
#body_evenements_a_venir .covoit_ticket{
    margin-left: 10px;
}
#body_evenements_a_venir .prix_total{
    color:#000;
    font-style: normal;
    font-weight: bold;
}
#body_evenements_a_venir .download_ticket a{
    display: inline-block!important;
}

.liste_style_1 .zone_info_contact .content_rupture {
    border-bottom:none;
}

.liste_style_1 .content_rupture .product_name,.liste_style_1 .content_rupture .ticket_price{
    margin-right:5px;
}
.liste_style_1 .content_rupture .nom_client{
    font-weight :bold;
}
.liste_style_1 .content_rupture .nom_client .fa-user{
    margin-right:5px; 
}

.liste_style_1 .options_item {
    text-align: right;
}

/*--- Historique commandes ---*/
.liste_style_1 .head_rupture .quantite {
    font-weight: normal;
    font-size: .9em;
}

.product_date + .ticket_categ,
.product_date + .nom_salle {
    display: block;
}

/*--- Espace fidelite ---*/
.content_order,
.content_carte {
    flex-basis: 70%;
}

.nom_order,
.nom_carte {
    font-size: 16px;
    font-weight: bold;
}

.nb_item_type,
.state_item {
    margin: .3em 0;
}

.state_item > span {
    margin-right: .5em;
    padding: 0 .3em;
}

.nb_item_type span + span::before {
    content: '-';
    margin: 0 .1em;
}

.en_gras,
.tbold {
    font-weight:bold;
}

.credit {
    background: #17a2b8;
    color: #FFF;
}

.debit {
    background: #ffc107;
}

.solde {
    background: #198754;
    color: #FFF;
}
.validite {
    background: #FFF;
}

.solde.alerte {
    background: #dc3545;
}

span.btn_recharge {
    position: absolute;
    bottom: .5em;
    transform: translateX(-50%);
    left: 50%;
    z-index: 0;
}

.options_carte {
    flex-basis: 30%;
    text-align: right;
    position: relative;
}

.carte_nom_spectacle,.carte_salle,.carte_date,.carte_heure{
    padding: .5em;
    border: solid 1px #ddd;
    float: left;
}
.carte_nom_spectacle,.carte_salle{
    width: 40%;
}
.carte_date{
    width: 11%;
}
.carte_heure{
    width: 9%;
}
.titre_detail{
    background-color: #f5f5f5;
    font-weight: bold
}
.panel-show{
    display: block;
}

/*------------------ Panier rupture film -------------------*/
    /* Abonnement / Billet / Article / Prestation */
    .header_film {
        background: #fafafa;
    }

    .header_film td {
        color: #707070;
        font-weight: bold;
        font-style: italic;
    }

    /* 5.3. Small Tablette (de 768px a 501px)
    ================================================ */
    @media screen and (max-width: 768px) {
        /* Panier ~> Les header et div de contenu */
        .zone_film_ > * {
            padding: .6em .75rem;
        }

        /* Panier ~> Div de contenu */
        .zone_film_ {
            border-left: 1px solid #dee2e6;
            border-right: 1px solid #dee2e6;
        }

        /* Panier ~> Header (Type de produit) */
        .header_film {
            color: #707070;
            font-weight: bold;
            font-style: italic;
        }
        
        /* Panier ~> Header (Nombre de produit) */
        .header_film .item_nb_film {
            display: block;
            float: right;
        }
        
        /* Panier ~> Lignes du produit */
        #tab_basket [data-type="film"] {
            border-bottom: 1px solid #dee2e6;
            position: relative;
        }

        /* Panier ~> Prix du produit */
        .film_prix {
            position: absolute;
            top: 0.5em;
            right: .8em;
            margin-right: 50px;
            font-size: 16px;
            line-height: 30px;
        }

        /* Panier ~> Date & Heure du produit */
        .film.date_heure span {
            margin-right: 5px;
        }

        [data-type="billet"] .produit-suppression,
        [data-type="film"] .produit-suppression {
            position: absolute;
            top: .6em;
            right: .75rem;
        }
    }

    tfoot .detail-line.pm {
        vertical-align: top;
    }

    .btn_recharge {
        padding: .5em 0;
        display: inline-block;
        cursor: pointer;
        text-transform: none;
    }

    .alert_montant {
        color: red!important;
    }

    .btn_recharge:not(.alert_montant) {
        color: #000!important;
    }

    .content_recharge {
        display: block;
    }

    .zone_montant {
        margin: .5em 0;
        display: block;
    }

    .btn {
        cursor:pointer;
    }

    .montant_field {
        background-color: #FFF;
        border: 1px solid #CCC;
    }

    .montant_recharge {
        padding: 0 .5em;
        display: inline-block!important;
        width: auto!important;
        /*height: 28px;*/
        line-height: 28px;
        vertical-align: bottom;
    }

    .montant_field.btn:hover,
    .montant_active.btn {
        background: #000;
        color: #FFF;
        border-color: #000;
    }

    .valider_recharge {
        border: 1px solid;
    }

/*------------------ Panier rupture porte monnaie -------------------*/
.header_pm{
    background: #fafafa;
}
.header_pm td{
    color: #707070;
    font-weight: bold;
    font-style: italic;
}
@media screen and (max-width: 768px) {
    .zone_pm_ > * {
        padding: .6em .75rem;
    }
    .zone_pm_ {
        border-left: 1px solid #dee2e6;
        border-right: 1px solid #dee2e6;
    }
    .header_pm {
        color: #707070;
        font-weight: bold;
        font-style: italic;
    }
    .header_pm .item_nb_pm {
        display: block;
        float: right;
    }
    /*#tab_basket [data-type="pm"] {
        border-bottom: 1px solid #dee2e6;
        position: relative;
    }
    .pm.prix {
        position: absolute;
        top: 0.5em;
        right: .8em;
        margin-right: 50px;
        font-size: 16px;
        line-height: 30px;
    }*/

    .btn_recharge {
        font-weight: bold;
    }

    #tab_basket .montant_pm_utilise,
    #tab_telecharge .montant_pm_utilise,
    #tab_recap .montant_pm_utilise {
        font-weight: bold;
        padding: .6em .75rem;
        border: 1px solid #dee2e6;
        border-bottom: 0;
    }
}

#tab_basket table tfoot .montant_pm_utilise, 
#tab_telecharge tfoot .montant_pm_utilise, 
#tab_recap tfoot .montant_pm_utilise {
    background: #FFF;
    text-transform: none;
}

p.inscription + .inscription,
div.inscription + .inscription {
    margin: 10px 0;
}

#modifier_mdp p.inscription,
#saisie_mdp p.inscription,
#zone_coord_bancaire p.inscription,
#zone_coord_bancaire div.inscription,
#field_connexion_beneficiaire p.inscription,
#field_connexion_beneficiaire div.inscription {
    background: #f5f5f5;
    padding: 10px 20px;
    display: block;
    margin: 10px 0;
}

#modifier_mdp p.inscription:last-of-type,
#saisie_mdp p.inscription:last-of-type,
#field_connexion_beneficiaire div[field_type="submit"] {
    background: none;
    padding: 0;
    margin: 20px 0 0;
    text-align: center;
}

#modifier_mdp label,
#saisie_mdp label,
#field_connexion_beneficiaire label {
    display: block;
    margin-bottom: 5px;
}

#modifier_mdp input[type="password"],
#saisie_mdp input[type="password"],
#field_connexion_beneficiaire input[type="password"] {
    background: #FFF;
    display: block;
    width: auto!important;
}

/*------------------ Zone porte monnaie sous panier -------------------*/
#body_mon_panier .zone_wallet,
#body_basket .zone_wallet {
    margin: 1em 0;
    padding: 1em;
    border: 1px solid;
}

.title_zone,
.description_zone {
    margin-bottom: 10px;
}

.state_wallet {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    border-top: 1px solid #EEE;
    padding: 10px 0;
}

.state_wallet_title {
    font-weight: bold;
    margin-right: 10px;
}

#zone_montant .detail_label {
    display: block;
    margin-bottom: 5px;
}

.state_wallet input[type="text"] {
    display: inline-block;
    width: 70px;
    padding: 5px;
    margin: 0;
}

.montant_recharge, .montant_recharge {
    margin-left: .5em;
}

@media (min-width: 768px) {
    .state_wallet {
        flex-direction: row;
        align-items: center;
    }

    .state_wallet .state_wallet_detail + .state_wallet_detail:before {
        content: '|';
        padding: 0 10px;
    }

    #zone_montant .detail_label {
        display: inline-block;
        margin-right: 5px;
        margin-bottom: 0;
    }
}

/* Tarif libre */
.free_rate {
    font-weight: normal;
    display: block;
    opacity: .8;
}

.zone_free_rate_basket {
    margin: 1em 0;
    padding: 1em;
    border: 1px solid;
}

.zone_free_rate_basket h4 {
    text-transform: uppercase;
    font-size: 1.3em;
}

.zone_free_rate_basket h4,
.zone_free_rate_basket p {
    margin-bottom: 10px;
}

/* Zone en erreur */
.zone_free_rate_basket.error_free_rate,
.zone_free_rate_basket.error_free_rate button {
    border-color: #dc3545;
}

.zone_free_rate_basket.error_free_rate h4,
.zone_free_rate_basket.error_free_rate button {
    color: #dc3545;
}

@media screen and (max-width: 768px){
    .billet_prix, 
    .film_prix,
    .article.prix, 
    .prestation.prix, 
    .bon_cadeau.prix,
    .header-abonnement .prix{
        position: static!important;
        font-size: inherit!important;
        margin-right: 0!important;
    }

    .billet_prix, 
    .article.prix, 
    .prestation.prix, 
    .bon_cadeau.prix {
        line-height: normal!important;
    }

    .zone_validation .valider,
    .zone_total_mobile,
    .panier_message{
        margin-top: 10px;
    }

    #tab_basket [data-produit][data-type="billet"] .prix:not(.tarif_libre),
    #tab_basket .header-abonnement [data-produit],
    #tab_basket [data-produit][data-type="abonnement"].prestation_abonnement,
    #tab_basket [data-produit][data-type="abonnement"] .date_heure,
    #tab_basket [data-type="article"], 
    #tab_basket [data-type="prestation"] p, 
    #tab_basket [data-type="bon_cadeau"],
    #tab_basket [data-type="pm"], 
    #tab_basket [data-type="mode_reglAss"]{
       /* display: flex;
        justify-content: space-between;*/
    }

    #tab_basket [data-produit] .detail.representation{
        width: 60%;
        margin-right: 40px;
    }
    #tab_basket [data-produit] .detail.quantite{
        margin-right: 20px;
    }

    /* Panier ~> Contenu des prestations & articles */
    #tab_basket [data-produit] .detail.mode_reglAss,
    #tab_basket [data-produit] .detail.pm{
        display: inline-block;
        vertical-align: top;
    }

    #tab_basket [data-type="pm"],
    #tab_basket [data-type="mode_reglAss"]{
        border-bottom: 1px solid #dee2e6;
        position: relative;
    }

    .responsive [data-produit][data-type="pm"]:before,
    .responsive [data-produit][data-type="pm"]:after,
    .responsive [data-produit][data-type="mode_reglAss"]:before,
    .responsive [data-produit][data-type="mode_reglAss"]:after{
        content: '';
        display: block;
        clear: both;
    }



    #tab_basket .frais_resa_label {
        padding-right: 80px!important;
    }

    #tab_basket [data-produit] .prix {
        margin-top: .6em;
    }

    .header-abonnement .prix {
        margin: 0!important;
    }

    .header-abonnement [data-produit] .suppression {
        position: static!important;
    }

    #zone_panier .zone_validation .valider {
        position: static!important;
        display: block;
    }

    #zone_panier .zone_validation .valider + .valider {
        margin-top: 10px;
    }
}

#tab_basket .icon-chevron-down:not(.frais_desc), #tab_basket .icon-trash {
    margin: 0!important;
}

.zone_validation button[disabled] {
    cursor: default;
    opacity: .3;
    pointer-events: none;
}

.prix_panier_montant.provisoire {
    color: #dc3545;
    text-decoration: line-through;
}

/* V20.03.00.000 - mars 2021
        Nouvelle boutique  */
    #content_shop #zone_search_text input, 
    #content_shop #zone_search_text button {
        height: 35px!important;
        line-height: auto!important;
        padding-top: 0;
        padding-bottom: 0;
    }

    #liste_article_famille a,
    .zone_article a {
        height: 100%;
        display: flex;
        flex-direction: column;
        text-decoration: none;
        color: inherit;
        border: 1px solid #EEE;
        -webkit-transition: all 0.2s ease-in;
        -moz-transition: all 0.2s ease-in;
        -ms-transition: all 0.2s ease-in;
        -o-transition: all 0.2s ease-in;
        transition: all 0.2s ease-in;
        -webkit-transition-property: color, background;
        -moz-transition-property: color, background;
        -ms-transition-property: color, background;
        -o-transition-property: color, background;
        transition-property: color, background;
    }

    #liste_article_famille a:hover,
    .zone_article a:hover {
        background: #f5f5f5;
        color: inherit;
    }

    .container_img {
        max-height: 375px;
        text-align: center;
    }

    .container_img_size {
        width: 100%;
        height: 300px;
        -webkit-background-size: cover;
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
    }

    .container_img img {
        max-width: 100%;
        max-height: 100%;
        display: none;
    }

    .title_promo .title {
        flex-basis: calc(100% - 55px);
    }

    .puce_promo {
        height: 55px;
        width: 55px;
        line-height: 50px;
        font-size: 1.2rem;
        flex-basis: 55px;
        border-radius: 50%;
        text-align: center;
        font-weight: bold;
        border: 2px solid;
    }

    .area_shop .puce_promo {
        height: 65px;
        width: 65px;
        line-height: 60px;
        font-size: 1.2rem;
        flex-basis: 65px;
    }

    .area_shop .title_promo .title {
        flex-basis: calc(100% - 65px);
    }

    .loop_shop .description_item {
        padding: 15px!important;
    }

    .shop .price_quantity {
        margin-top: auto;
        padding: 0 15px 15px!important;
    }

    .zone_article .price {
        font-weight: bold;
        font-size: 1.2rem;
    }

    .zone_article .price_before_promo,
    .area_shop .price_before_promo {
        text-decoration: line-through;
    }

    .shop .price_quantity select {
        width: auto;
    }

    .non_stock {
        background: #ffecec;
        color: #d00;
        padding: .2rem .5rem;
        position: static!important;
    }

    #zone_calcul_total {
        background: #FFF;
    }

    .fixed-bottom #line_recap {
        margin: 0!important;
    }

    #line_recap > * {
        margin: 0 auto!important;
        display: block;
    }

    #line_recap button {
        margin: 10px auto 0!important;
        display: block;
    }

    @media (min-width: 576px) {
        #line_recap > *,
        #line_recap button {
            display: inline-block;
            margin: 0 20px 0 0!important;
        }
    }

    /*** Breadcrumb ***/
        .breadcrumb-item+.breadcrumb-item::before {
            content: var(--bs-breadcrumb-divider, ">");
        }

        .breadcrumb-item a.disabled-link {
            color: inherit;
            text-decoration: none;
            pointer-events: none;
        }

    /*** Aside ***/
        .shop .sidebar {
            width: 100%;
            height: auto;
        }

        .subtitle-search {
            font-weight: bold;
            font-size: 1.1em;
        }

    /*** Single page ***/
        .single_shop select {
            width: auto;
        }
        .single_shop .prestation {
            font-size: .9em;
            color: #999;
        }
        .slider_nav .slick-item {
            margin: .3em;
        }
        .non_stock {
            background: #ffecec;
            color: #d00;
            padding: .2rem .5rem;
            position: static!important;
        }

/*-------Frais/prestation---------*/
    .libelle_prestation.has_description {
        cursor:pointer;
    }

    .frais_desc {
        margin-left:10px!important;
    }

    .description_prestation{
        display: block;
        font-size: .9em;
        height: 1px;
        overflow: hidden;
    }

    .description_prestation.showed{
        height: auto;
    }

/*------- Captcha  ---------*/
    [field_type="captcha"] {
        background: #f5f5f5;
        padding: 10px 20px;
    }

    [field_type="captcha"] #captcha {
        margin: .5em 0;
    }

    [field_type="captcha"] button, [field_type="captcha"] input {
        margin-left: 1em;
    }

    [field_type="captcha"] input {
        width: auto!important; /* Reset CSS */
    }

    [field_type="captcha"] label.error {
        flex-basis: 100%;
    }

/*------- Catalogue spectacle (2004.02.005) ---------*/
    #content_catalogue_spectacle {
        width: 100%;
    }
    
    .with_aside #content_catalogue_spectacle {
        width: calc(100% - 320px);
    }

    #field_thumbnail fieldset {
        margin-bottom: 0;
    }

    /* Aside */
    .with_aside #search_spectacles {
        width: 300px;
    }

    [data-toggle="show_search"] > div {
        margin-bottom: 20px;
    }

    #search_spectacles #show_search {
        display: none;
        padding: 10px 30px;
        font-size: 20px;
    }

    @media screen and (max-width:992px) {
        #liste_spectacles .with_aside {
            flex-direction: column-reverse;
        }

        .with_aside #content_catalogue_spectacle,
        .with_aside #search_spectacles {
            width: 100%;
        }

        #search_spectacles #show_search {
            display: block;
            margin: 10px 0 20px;
        }

        #search_spectacles #show_search i {
            margin-right: 0!important;
        }

        [data-toggle="show_search"] {
            display: none;
        }
    }

    @media screen and (min-width: 991px) {
        [data-toggle="show_search"] {
            display: block!important;
        }

        [data-toggle="show_search"] > div:last-child {
            margin-bottom: 0;
        }
    }

    @media screen and (max-width: 576px){
        #show_search {
            width: 100%;
            padding: 10px;
        }
    }

    /* RESET CSS */
        #alaffiche ul,
        #body_events_listing #zone_result,
        #list_event ul,
        #calendar_event,
        #field_search,
        #alaffiche #ajax_loader img, 
        #list_event #ajax_loader img {
            float: none!important;
            width: auto!important;
        }

        #field_search {
            margin-top: 0!important;
        }

        @media screen and (max-width: 768px){
            #body_events_listing #zone_search {
                display: block!important;
            }
        }

/*------- Home (2004.02.005) ---------*/
.content_article p:not(:empty) {
    margin-bottom: 10px;
}

.content_article + .content_article {
    padding-top: 20px;
    margin-top: 20px;
    border-top: 1px solid #ccc;
}

/*------- Historique (2004.03.001) ---------*/
span.page-link {
    display: block;
    border: 1px solid #CCC;
}
.page-item.disabled .page-link {
    color: #6c757d;
    pointer-events: none;
    background-color: #fff;
    border-color: #dee2e6!important;
}
.page-item:not(:first-child) .page-link {
    margin-left: -1px!important;
}


/* 25/05/2021 : Correction description representation */
.description_representation {
    margin-top: 10px;
}

.disabled_link {
    pointer-events: none;
}

.rep_disabled {
    opacity: .5;
}

#zone_recap_abo_multiple .position_droite + p {
    clear: both;
    margin-top: 10px;
}

#zone_select_abo_multiple_b:not(:empty) {
    margin-top: 10px;
}

/***** Modif abo *****/
#liste_formule.fixed_nav thead,
#liste_formule.fixed_nav tfoot {
    position: sticky;
    z-index: 999;
}

#liste_formule.fixed_nav thead {
    top: -1px;
    border-top: 0;
}

#liste_formule.fixed_nav tfoot {
    bottom: -1px;
    border-bottom: 0;
}

#liste_formule.fixed_nav tfoot::before {
    content: '';
    display: block;
    width: calc(100% - 1px);
    background: inherit;
    height: calc(100% - 1px);
    position: absolute;
    top: 0px;
    left: 1px;
    z-index: -1;
}

#liste_formule.fixed_nav tfoot::after {
    content: '';
    display: block;
    width: calc(100% - 1px);
    background: #FFF;
    height: calc(100% - 1px);
    position: absolute;
    top: 0px;
    left: 1px;
    z-index: -2;
}

/*** Entete du tableau ***/
#liste_formule .cell-outil {
    min-width: 70px;
}

#cartouche_description_formule h5 {
    text-transform: uppercase;
    font-size: 16px;
    color: var(--body-txt-color);
    background: rgba(var(--color-primary-rgb), 0.1);
    padding-right: 50px;
}

#cartouche_description_formule .item_prix {
    color: var(--color-primary);
}

#cartouche_description_formule .photo {
    max-width: 30%;
}


/*** Contenu du tableau ***/
#liste_formule td.deploie, 
#formule_spectacle_abonnement td.deploie, 
.resume_line td.deploie {
    border-right: 1px solid #dee2e6!important; 
}

#liste_formule td.deploie i.rep-multiple, 
#formule_spectacle_abonnement td.deploie i.rep-multiple, 
.resume_line td.deploie i.rep-multiple {
    margin: 0 10px 0 0!important;
    height: 25px!important;
    width: 25px!important;
    line-height: 25px!important;
    padding: 0!important;
    background: var(--color-primary);
    color: #FFF;
    display: block;
    text-align: center;
}

.rep_suivante .detail_spec {
    padding-left: 30px;
}

#liste_formule .rep_suivante td.deploie:before,
#formule_spectacle_abonnement .rep_suivante td.deploie:before,
.resume_line .rep_suivante td.deploie:before {
    left: 20px!important;
    right: initial!important;
}

#liste_formule .rep_suivante td.deploie:after,
#formule_spectacle_abonnement .rep_suivante td.deploie:after,
.resume_line .rep_suivante td.deploie:after {
    width: 20px!important;
    right: initial!important;
    left: 20px!important;
}

#liste_formule .rep_suivante td.deploie + td, 
#formule_spectacle_abonnement .rep_suivante td.deploie + td, 
.resume_line .rep_suivante td.deploie + td {
    padding-left: 8px!important;
}

#liste_formule tbody tr td:last-child, 
#liste_formule tbody tr td {
    text-align: left!important;
}

#liste_formule td[data-description="prix"] {
    border-right: 1px solid #dee2e6!important;
}

#liste_formule [type="checkbox"] {
    margin: 0 5px 0 0!important;
}

/*** Bas du tableau ***/
.container_detail_spec,
.detail_spec_abo {
    display: flex;
    text-align: left!important;
    align-items: center;
}

.detail_spec {
    width: 100%;
}

.detail_spec_abo .quantity_ticket {
    width: auto!important;
}

.detail_spec_abo .quantity_ticket,
[data-select="select-zt"] {
    padding: 3px 5px!important;
}

.detail_spec_abo .prix_zone_tarifaire,
#body_abonnement_multiple [data-select="select-zt"],
.cartouche_place_abo {
    margin-left: 10px;
}

.abo_liste_info {
    line-height: 20px;
    height: 20px;
    width: 20px;
    background: #EEE;
    text-align: center;
    font-weight: bold;
    border-radius: 5px;
    margin-left: auto;
}

/* Spectacles obligatoires */
td[data-spect-oblg="true"],
td[data-rep-oblg="true"] {
    color:#dc3545!important;
}
td[data-spect-oblg="true"] p.abo_spectacle_name::before,
td[data-rep-oblg="true"] p.abo_spectacle_name::before {
    content: '*';
    display: inline-block;
    color:#dc3545!important;
    margin-right: 5px;
}

#commande .statut_annulation.annule{
    color: #dc3545;
}
#commande .statut_annulation.en_attente,
#commande .statut_annulation.en_panier,
#commande .statut_annulation.en_cours{
    color: #f4853d;
}
#commande .statut_annulation .fas{
    margin-right: 5px;
}

#commande .ticket_categ{
    margin-right: 5px;
    font-weight: bold;
}
/* Abonnement / Billet / Article / Prestation / Bon cadeau /Porte monnaie*/
.header_card,
.header_billet,
.header_article,
.header_prestation,
.header_pm,
.header_bon_cadeau,
.header_billet_aannuler  {
    background: #fafafa;
}

.header_card td,
.header_billet td,
.header_article td,
.header_prestation td,
.header_pm td,
.header_bon_cadeau td,
.header_billet_aannuler td {
    color: #707070;
    font-weight: bold;
    font-style: italic;
}

#progressBar{
    width:95%;
    height:50px;
}
.zone_download button {
    padding: 5px 10px;
    text-transform: none;
}
#abandon_cancel_tickets{
    color:red;
}
.liste_orders .fa-question-circle{
    color: blue;
}
.d-none{
    display: none;
}
.d-block {
    display: block;
}

.breadcrumb {
    display: flex;
    flex-wrap: wrap;
    padding: 0 0;
    margin-bottom: 1rem;
    list-style: none;
    margin-top: 0;
}

.breadcrumb-item.active {
    color: #6c757d;
}
.breadcrumb-item+.breadcrumb-item {
    padding-left: 0.5rem;
}
.breadcrumb-item+.breadcrumb-item::before {
}
.breadcrumb-item+.breadcrumb-item::before {
    float: left;
    padding-right: 0.5rem;
    color: #6c757d;
    content: ">";
}
.breadcrumb-item a.disabled-link {
    color: inherit;
    text-decoration: none;
    pointer-events: none;
}

/* Plan de salle zoomable */
@media screen and (max-width: 768px) {
    #choix_places #plan_salle_svg, #plan_reduit #plan_reduit_svg {
        padding-top: 0!important;
    }
}

/* Zone connect ami */
[field_type="submit"] button {
    margin: 5px;
}

#selection_famille {
    margin-top: 20px;
    padding-top: 20px;
}

.start_show {
    -webkit-animation-name: bounce;
    animation-name: bounce;
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-duration: 1.5s;
    animation-duration: 1.5s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

@-webkit-keyframes bounce {
  0%, 20%, 53%, 80%, 100% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
  }

  40%, 43% {
    -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }

  70% {
    -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0);
  }

  90% {
    -webkit-transform: translate3d(0,-4px,0);
    transform: translate3d(0,-4px,0);
  }
}

@keyframes bounce {
  0%, 20%, 53%, 80%, 100% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
  }

  40%, 43% {
    -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }

  70% {
    -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0);
  }

  90% {
    -webkit-transform: translate3d(0,-4px,0);
    transform: translate3d(0,-4px,0);
  }
}

.liste_copurchasers,
.liste_family {
    margin-top: 15px;
}

.form_contact p.inscription:not([field_type="submit"]) {
    background: #f5f5f5;
    padding: 10px 20px;
    margin: 10px 0;
    display: block;
}

.form_contact label {
    display: block;
    margin-bottom: 5px;
}

.form_contact input {
    /*display: block;
    width: 100%;*/
}

.form_contact p[field_type="submit"] {
    display: block;
    background: none;
    padding: 0;
    margin: 20px 0 0;
    cursor: default;
    text-align: center;
    border: 0;
}

/*panier*/
#body_basket .zone_description_obligation_nom,
#body_mon_panier .zone_description_obligation_nom{
    margin: 20px 0;
    background-color: #f8d7da;
    padding: 1em;
    color: #721c24;
}

#body_mon_panier tr.nom_obligatoire,
#body_basket tr.nom_obligatoire{
    background-color: #f8d7da;
}

.error_tempete {
    background-color: #f8d7da;
    border-color: #f5c2c7;
    position: relative;
    padding: 1rem 1rem;
    margin-bottom: 1rem;
    border: 1px solid transparent;
    border-radius: 0.25rem;
    font-size: 16px;
    text-transform: uppercase;
}

.boutique_description{
    margin-bottom: 20px;
}

/* Bordures separatives */
.formule_abo {
    position: relative;
    padding-bottom: 20px;
    margin-bottom: 20px;
}
.formule_abo:after {
    content: '';
    position: absolute;
    width: 100%;
    left: 0;
    bottom: 0;
    height: 1px;
    background: #ccc;
}
.calendar-days td[data-day].dispo_ok:focus .day-date .info_bulle {
    background-color: #fff;
    color: #000;
    border: 1px solid #cccccc;
    display: block;
    margin: 2px 10px 2px 0;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 100%;
    white-space: nowrap;
    z-index: 9;
    padding: 5px;
    text-align: left;
}
/* Les 4 derniers jours de la semaine : popup à droite */
.calendar-days td[data-day].dispo_ok:nth-child(4):hover .day-date .info_bulle,
.calendar-days td[data-day].dispo_ok:nth-child(5):hover .day-date .info_bulle,
.calendar-days td[data-day].dispo_ok:nth-child(6):hover .day-date .info_bulle,
.calendar-days td[data-day].dispo_ok:nth-child(7):hover .day-date .info_bulle,
.calendar-days td[data-day].dispo_ok .event_item.dispo:nth-child(4):hover .info_bulle,
.calendar-days td[data-day].dispo_ok .event_item.dispo:nth-child(5):hover .info_bulle,
.calendar-days td[data-day].dispo_ok .event_item.dispo:nth-child(6):hover .info_bulle,
.calendar-days td[data-day].dispo_ok .event_item.dispo:nth-child(7):hover .info_bulle {
    left: initial;
    right: 0;
    margin: 2px 0 2px 10px;
}

#cartouche_representation .phone {
    margin-left: 10px;
}

/* Salles & Villes */
span + .telephone_salle {
    margin-left: 10px;
}

/****
    Liste d'attente
****/
    #zone_rep_complete {
        margin-top: 15px;
        margin-bottom: 15px;
    }

    .date_liste_attente,
    #form_family h4 {
        margin-top: 5px;
        margin-bottom: 15px;
        padding-bottom: 15px;
        border-bottom: 1px solid #eee;
    }

    .quantite_liste_attente label {
        display: inline-block;
        font-weight: normal;
    }

    .quantite_liste_attente input[type="number"] {
        display: inline-block;
        width: auto;
        max-width: 80px;
    }

    .options_content_waiting_list > * {
        margin: 0 5px;
    }

/* Zone amis & Famille */
body:not(.my_account) #zone_coviewers #zone_choice_typecoviewer,
#zone_saisie_famille,
#coviewer_friend {
    margin-top: 20px;
    padding-top: 20px;
    position: relative;
}

body:not(.my_account) #zone_coviewers #zone_choice_typecoviewer::after,
#zone_saisie_famille::after,
#coviewer_friend::after {
    content: '';
    position: absolute;
    width: 100%;
    left: 0;
    top: 0;
    height: 1px;
    background: #ccc;
}

body:not(.my_account) #zone_add_coviewer {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
}

body:not(.my_account) #zone_add_coviewer button {
    margin-top: 15px;
    margin-bottom: 15px;
}
body:not(.my_account) #zone_add_coviewer button + button {
    margin-left: 15px;
}

.espace_zone_coacheteurs h3 {
    font-size: 1.4rem!important;
    margin-bottom: 0!important;
}

/* Form */
#coviewer_friend h3, 
#zone_saisie_famille h3 {
    font-family: var(--h3-font);
    font-size: var(--h3-txt-size);
    line-height: var(--h3-txt-size);
    color: var(--h3-color);
    font-weight: var(--h3-txt-weight);
    text-transform: var(--h3-transform);
    margin-bottom: 15px;
}

#mes_contacts_new fieldset#field_mes_contacts:before {
    content: none;
}

#mes_contacts_new,
#selection_beneficiaire {
    margin-top: 30px;
}
#body_informations_professionnelles .info_organisme,
#body_informations_professionnelles .icon-caret-right,
#body_informations_professionnelles .icon-caret-down{
    color:#000;
}


#body_informations_professionnelles .lien_preference_contact{
    margin-top: 10px;
}

.preference_close::before,
.preference_open::before{   
    color:#000;
    margin-right: 5px;
    font-family: 'Font Awesome 5 Free'!important;
    font-weight: normal;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
}

.preference_close::before{
    content:"\f105";  
}
.preference_open::before{
    content:"\f107";
}
.modifier_infos_organisme a,
.lien_preference_contact a{
    color:blue;
    text-decoration: underline;
    cursor:pointer;
}
.zone_preference label{
    font-weight: normal!important;
}
.cartouche_place_abo{
    font-weight: bold;
}
.cartouche_place_abo .produit_suppression .icon-trash{
    color:red!important;
}

#body_spectacle .alerte_internaute{
    color:red;
    margin-top: 15px;
}
.infos_place_basket{
    font-weight: bold;
    color: initial;
}
#body_basket a.visu_place{
    text-decoration: none!important;
}
#body_basket td{
    padding: .4em 0.75rem;
}
#body_basket .icon-warning-sign{
    color:red!important;
}
#body_mon_panier #message_placement_numerote,
#body_basket #message_placement_numerote{
    margin-top: 10px;
    padding: 10px;
    background-color: #f8d7da;
    color: #721c24;
}
#message_placement_numerote .rep_name{
    font-weight: bold;
    font-style: italic;
}
.description_courte_categ{
    margin-top: 10px;
}
.label_amis_place_num{
    margin-bottom: 5px;
    font-weight: bold;
}
label.commentaire_internaute{
    margin-bottom: 10px;
}

/* Formulaire abonnement */
#field_formulaire_abonnement #form_abo_simple,
#form_abo_simple {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    flex-wrap: wrap;
}

#form_abo_simple .form_field {
    float: none!important;
    margin-top: 0;
    margin-right: 10px;
}

#body_spectacle tr.code_promo .libelle{
    color: green;
    font-weight:bold;
}

/* Codes d'envoi avec opt-in Oui / Non */
div[class*="demande_desinscription_support"] + .demande_desinscription_tout {
    margin-top: -10px!important;
}

.label-checkbox + .zone_radio + .checkbox-group {
    margin-left: 20px!important;
}

.zone_radio + .checkbox-group {
    margin-top: 5px!important;
}

#body_basket #zone_code_envoi{
    border: 1px solid #555;
    padding: 10px 15px;
}

.radio-group label,
.checkbox-group label{
    font-weight: normal!important;
}

#zone_explicative{
    color: #721c24;
    background-color: #f8d7da;
    border-color: #f5c6cb;
    padding: .5rem 1.25rem .75rem;
    margin-bottom: 15px;
}
/******************Début file d'ariane************************/
.process-step .step-trigger {
    background: none!important;
    padding: 0;
    color: var(--body-txt-color);
    border: none!important;
    display: block!important;
    font-weight: normal!important;
    -webkit-transition: none!important;
    -moz-transition: none!important;
    -ms-transition: none!important;
    -o-transition: none!important;
    transition: none!important;
}

.process-step:not(:first-child) .step-trigger::before {
    content: "";
    display: block;
    position: absolute;
    z-index: 1;
    background: var(--color-primary);
    width: 1px;
    height: 100%;
    bottom: calc(52%);
    left: 12px;
}

.process-step .step-trigger[disabled="disabled"]::before {
    background-color: rgba(var(--color-primary-rgb), 0.6);
    background-color: #E2DFDA;
}

.process-step .step-trigger span {
    position: relative;
    z-index: 2;
}

.process-step .bs-stepper-icon {
    height: 25px;
    width: 25px;
    line-height: 25px;
    border-radius: 50%;
    font-size: .6rem;
    color: var(--color-primary);
    border: 1px solid var(--color-primary);
    background: #FFFFFF;
    z-index: 2;
    -webkit-transition: all 0.2s ease-in;
    -moz-transition: all 0.2s ease-in;
    -ms-transition: all 0.2s ease-in;
    -o-transition: all 0.2s ease-in;
    transition: all 0.2s ease-in;
}

.process-step .step-trigger:hover .bs-stepper-icon {
    color: var(--color-primary);
    background: #FFF;
}

.process-step .step-current .bs-stepper-icon {
    background: var(--color-primary);
    color: #FFF;
}

.process-step .step-current .bs-stepper-label {
    font-weight: bold;
}

.process-step .step-trigger:hover .bs-stepper-label {
    color: var(--color-primary);
}

/* Inactif */
.process-step .step-current,
.process-step .step-trigger[disabled="disabled"] {
    pointer-events: none;
}

.process-step .step-trigger[disabled="disabled"] .bs-stepper-icon {
    color: #707070;
    border: 1px solid #707070;
    background: #FFF;
}

.process-step .step-trigger[disabled="disabled"] .bs-stepper-label {
    color: #707070;
}

@media (min-width: 768px) {
    .process-step .step-trigger {
        width: 100%;
    }

    .process-step:not(:first-child) .step-trigger::before {
        width: 100%;
        height: 1px;
        top: 23px;
        bottom: initial;
        right: calc(52%);
        left: initial;
    }

    .process-step .bs-stepper-icon {
        height: 45px;
        width: 45px;
        line-height: 45px;
        font-size: 1rem;
    }
}

/******************Fin file d'ariane************************/

.zone_validation{
    margin-top: 10px;
}

/******************Début panier************************/
#body_mon_panier #zone_justificatifs,
#body_mon_panier_recapitulatif #zone_justificatifs {
    border: 1px solid var(--color-primary);
    margin-top: 20px;
    padding: 20px;
}
#body_mon_panier #zone_justificatifs h4,
#body_mon_panier_recapitulatif h4 {
    text-transform: uppercase;
    margin-bottom: 10px;
    color: var(--color-primary);
    font-size: 1.3em;
}

.zone_panier_gauche{
   /* position: sticky;*/
    top: 130px;
    width: 320px;
    height: max-content;
    /*margin-left: 50px;  */
}

.zone_panier_elmt{
    background-color: #f5f5f5;/* à modifier*/
    margin-bottom: 20px;
    padding: 5px 15px 15px 15px;
}


#coordonnees_contact.contact_details div {
    padding: 0!important;
    border: none!important;
    background: #FFF!important;
}

@media (min-width: 768px) {
    #coordonnees_contact.contact_details div {
        margin: 0!important;
    }
}

#body_mon_panier .zone_header h4,
#body_mon_panier_mode_retrait .zone_header h4,
#body_mon_panier_coordonnees .zone_header h4,
#body_mon_panier_recapitulatif .zone_header h4{
    width: 100%;
}

#body_mon_panier .zone_header h4:before,
#body_mon_panier_mode_retrait .zone_header h4:before,
#body_mon_panier_coordonnees .zone_header h4:before,
#body_mon_panier_recapitulatif .zone_header h4:before{
    float: right;
}

#zone_mode_envoi_pan > div:first-child {
    margin-top: 0!important;
}

.card-body #zone_description_mode_retrait {
    padding: 0!important;
}


#body_mon_panier #panel_panier_dossier_mode_retrait,
#body_mon_panier #panier_dossier_mode_retrait,
#body_mon_panier #panier_mode_retrait_total,
#body_mon_panier_mode_retrait #panel_panier_dossier_mode_retrait,
#body_mon_panier_mode_retrait #panier_dossier_mode_retrait,
#body_mon_panier_mode_retrait #panier_mode_retrait_total,
#body_mon_panier_recapitulatif #panel_panier_dossier_mode_retrait,
#body_mon_panier_recapitulatif #panier_dossier_mode_retrait,
#body_mon_panier_recapitulatif #panier_mode_retrait_total{
    margin-top: 0;
    padding: 0;
    background:#FFF;
}

#zone_bon_cadeau{
    padding: 20px;
}
#zone_bon_cadeau #input_bc{
    margin-right: 10px;
}

.zone_recap_panier .button{
    margin-top: 5px;
    background: var(--btn-bg-color-hover);
    border: var(--btn-border-hover);
    color: var(--btn-txt-color-hover);
}

#body_mon_panier .coordonnees_contact_incomplete,
#body_mon_panier #coordonnees_contact.coordonnees_contact_incomplete div,
#body_mon_panier_coordonnees .coordonnees_contact_incomplete,
#body_mon_panier_coordonnees #coordonnees_contact.coordonnees_contact_incomplete div{
    color: #721c24;
    background-color: #f8d7da!important;
    border-color: #f5c6cb!important;
}

.fw-bold {
    font-weight: bold;
}

#body_mon_panier #cond_gen_vente,
#body_mon_panier_recapitulatif #cond_gen_vente {
    margin: 0!important; 
    border: none!important;
}

#body_mon_panier #cond_gen_vente label,
#body_mon_panier_recapitulatif #cond_gen_vente label{
    padding: 0!important; 
}

.zone_panier_gauche #zone_bon_cadeau{
    margin-top: 0px!important;
    margin-bottom: 0px;
    border: none!important;
    border-radius: 0;
    background-color: transparent!important;
}

.zone_panier_gauche #zone_bon_cadeau .zone_titre{
    font-size: 19px;
}
.zone_panier_gauche #input_bc{
    margin-bottom: 10px;
}

#body_mon_panier .zone_validation .annuler button,
#body_mon_panier_recapitulatif .zone_validation .annuler button{
    color: var(--body-txt-color);
    border-radius: 0;
    margin-top: 7px;
    text-decoration: underline;
    border: 0;
    font-weight: bold;
    background: none;
    font-style: normal;
    padding: 0;
}


#body_mon_panier .zone_validation .texte_span,
#body_mon_panier_recapitulatif .zone_validation .texte_span{
    margin-right: 20px;
}
.conditions_vente{
    margin-top: 15px;
}

@media screen and (max-width: 500px) {
    .zone_container{
        display: block;
    }
    
}
#saisie_invite p.inscription{
    background: #f5f5f5;
    padding: 10px 20px;
    display: block;
    margin: 10px 0;
}
#saisie_invite p[field_type="submit"],
p[field_type="submit"]{
    background: none;
    padding: 0;
    margin: 20px 0 0;
    cursor: default;
    text-align: center;
}

#align_timeline p.process-text{
    margin-top: 10px;
    font-size: 15px;
}
@media screen and (max-width: 768px) {
    #align_timeline p.process-text{
        font-size: 13px;
    }
    .zone_panier_gauche{
        padding: 0;
        width: 100%;
    }
}
@media screen and (max-width: 500px) {
    #align_timeline p.process-text{
        font-size: 11px;
    }
}
@media screen and (max-width: 420px) {
    #align_timeline p.process-text{
        font-size: 10px;
    }
}

.zone_panier_gauche .zone_bon_cadeau .button{
    background: transparent;
    float: right;
}
.zone_panier_gauche .zone_bon_cadeau .button:hover{
    background: var(--btn-s-bg-color-hover);
    color: #000;
}
#tab_basket .card{
    display: table-cell;
}
.zone_panier_gauche #zone_bon_cadeau {
    padding: 10px 0;
}

#saisie_invite .modifie_mail{
    display: none;
}


.form-check .form-check-input {
    margin-right: 0;
}

input[for="input_cond_gen_vente"] {
    margin-right: 0;
}

@media screen and (max-width: 500px){
    .order-buttons button {
        width: 100%;
    }

    .order-buttons button + button {
        margin-top: 10px;
    }
}
#body_spectacle select.select_tarif_place_numerote{
    margin-top: 15px;
}
#body_mon_panier #tab_ajustement tfoot,
#body_mon_panier_ajustement #tab_ajustement tfoot{
    font-size: var(--body-txt-size);
    font-weight: bold;
    text-transform: uppercase;
    background: rgba(var(--color-primary-rgb), 0.1);
}

/* Fix bloc recap */
#recap_liste_places_provisoires #line_recap span {
    float: none!important;
}

/* ZONE COVOITURAGE SIMPLE */
:root {
    --color-covoit: #26a69a;
}
#zone-covoit-simple {
    border: 1px solid var(--color-primary);
}

#zone-covoit-simple .zone-img {
    background: var(--color-primary);
}

#zone-covoit-simple h3 {
    color: var(--color-primary);
}

.btn-covoit-simple {
    border: 1px solid var(--color-primary)!important; 
    color: var(--color-primary)!important;
    background: #FFFFFF!important;
}

.btn-covoit-simple:hover,
.btn-covoit-simple:focus {
    border: 1px solid var(--color-primary)!important; 
    color: #FFFFFF!important;
    background: var(--color-primary)!important;
}

.iframe-covoit {
    height: 70vh!important;
}

@media screen and (max-width: 500px) {
    .zone_validation #annuler{
        width: 100%;
        margin-bottom: 10px;
    }
}

@media screen and (max-width: 768px) {
    #body_mon_panier .line_contact:before,
    #body_mon_panier_ajustement .line_contact:before {
        display: none;
    }
}

/***** NOUVEAU PLAN *****/
.seat-map-container {
    position: relative;
}

.seat-map-container[data-expand="true"] {
    position: fixed!important;
    top: 10px;
    left: 10px;
    width: calc(100vw - 20px);
    height: calc(100vh - 20px);
    background: #FFF;
    z-index: 1055;
    overflow-x: hidden;
    overflow-y: auto;
}

.seat-map-container[data-expand="true"] #plan_salle_svg,
.seat-map-container[data-expand="true"] #plan_reduit_svg {
    min-height: 100%!important;
    max-height: 100%!important;
    margin: 0!important;
}

.seat-map-container #plan_salle_svg,
.seat-map-container #plan_reduit_svg {
    touch-action: pan-x pan-y;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
    position: relative;
    overflow: hidden;
    width: 100%!important;
    height: 100%!important;
    min-height: 40vh!important;
    max-height: 65vh!important;
}

.seat-map-container svg {
    touch-action: pan-x pan-y;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
}

.seat-map-control {
    position: absolute;
    padding: .5rem;
    display: flex;
    flex-direction: column;
    background: rgba(255, 255, 255, .75);
    top: 1px;
    left: 1px;
}

.seat-map-close {
    position: absolute;
    padding: .5rem;
    top: 1px;
    right: 1px;
}

.zoom-out {
    margin: .5rem 0;
}

.seat-map-button button {
    padding: 0.25rem 0.5rem;
    font-size: 0.875rem;
    background: #212529;
    border-color: #212529;
    color: #FFF;
    border-radius: 0.25rem;
}

.seat-map-button button:hover,
.seat-map-button button:focus {
    background: #424649;
    border-color: #424649;
    color: #FFF;
}

rect {
    outline: 0!important;
}

.fade {
    transition: opacity .15s linear;
}

.modal-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1050;
    width: 100vw;
    height: 100vh;
    background-color: #000;
}

.modal-backdrop.fade {
    opacity: 0;
}

.modal-backdrop.show {
    opacity: 0.5;
}

/* En mode maintenance, afficher les numéros de libellés sur le site. */
.show_labels_rsi [data-rsilibelle] {
    border: 1px dashed red!important;
}

.show_labels_rsi [data-rsilibelle]::after {
    content: "(" attr(data-rsilibelle) ") "!important;
    background: red !important;
    font-weight: bold !important;
    display: inline-block !important;
    border: 0 !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    padding: 0 3px !important;
    margin-left: 2px !important;
    color: #FFF !important;
    font-size: 14px !important;
    font-family: Arial !important;
    line-height: 14px;
    vertical-align: super;
}

.show_labels_rsi [data-rsilibelle-title] {
    position: relative;
}

.show_labels_rsi [data-rsilibelle-title]::after {
    content: "(" attr(data-rsilibelle-title) ") ";
    background: #FFF;
    font-weight: bold;
    display: inline-block;
    border: 1px dashed red;
    width: auto;
    height: auto;
    margin-left: 2px;
    color: red;
    font-size: 14px;
    font-family: Arial;
    line-height: 14px;
    vertical-align: super;
    position: absolute;
    bottom: 125%;
    left: 0;
    min-width: 80px;
    visibility: hidden;
    padding: 5px 0;
    border-radius: 6px;
    z-index: 999;
}

.show_labels_rsi [data-rsilibelle-title]:hover::after {
    visibility: visible;
}
.disabled_lien{
    pointer-events: none;
    cursor: default;
    opacity: 0.5;
}
.place_deselected{
    text-decoration: line-through;
}

/**** RGAA & reset style ***/
#tabnav li,
#alaffiche.alaffiche_film ul li, 
#list_event_today.content_today ul li,
#body_films #list_event ul li {
    overflow: visible!important;
}

.no-decoration {
    color: inherit;
    text-decoration: none;
}

.btn-no-style {
    background: none !important;
    border: none !important;
    color: inherit!important;
    font-family: inherit!important;
    text-transform: none!important;
    font-size: inherit!important;
}

.spinner-border-lg {
    --bs-spinner-width: 4rem;
    --bs-spinner-height: 4rem;
}

.validate-password::before {
    font-family: 'Font Awesome 5 Free'!important;
    font-weight: normal;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    margin-right: .5rem;
}

.validate-password.text-danger::before {
    content: "\f00d";
}

.validate-password.text-success::before {
    content: "\f00c";
}

@media screen and (max-width: 960px) {
    #bandeau #logo1 {
        width: auto!important;
        padding: 0!important;
        text-align: left!important;
        margin: 0!important;
    }

    #bandeau #tabnav {
        display: block!important;
    }
}

#list_article li {
    min-height: 120px!important;
}

/* Reset CSS */
#liste_formule tfoot tr td:last-child i {
    border: 0!important;
    padding: 0!important;
    background: none!important;
}

.abo-img {
    max-width: 100px;
}

.btn-link.btn-return::before {
    content: none!important;
}

#zone-scroll-to {
    z-index: 9999;
}

#tempsrestant {
    --bs-btn-padding-y: 0.25rem;
    --bs-btn-padding-x: 0.5rem;
    padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x)!important;
}

.form-check-input {
    border-color: #555;
}

.icon-smile:before {
    content: "\f00c";
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
}

.icon-smile {
    background-color: RGBA(var(--bs-success-rgb), var(--bs-bg-opacity, 1)) !important;
    color: #FFFFFF!important;
    padding: 3px 6px;
    display: inline-block;
    font-size: .7rem;
}