/*
* pour JOA on remplace les couleurs 
*   le rouge PILOTE #df1740 remplacé par le bleu JOA #4BBCCE
*/

/* 
Formats responsive (pour rappel)
    - format XS < 576px
    - format SM : @media (min-width: 576px)
    - format MD : @media (min-width: 768px)
    - format LG : @media (min-width: 992px)
    - format XL : @media (min-width: 1200px)
    - format perso large : @media (min-width: 1400px)
*/

/* ========================================
   Variables CSS - Palette de couleurs
   ======================================== */
:root {
    /* Couleurs principales */
    /* --color-primary: #E30615;*/
    /* --color-primary: #FF0000; */
    --color-primary: #E03C31;
    --color-secondary: #194957;         /* Gris foncé */
    --color-tertiary: #58a3ef;          /* Bleu clair */
    --color-accent: #d39900;            /* Orange */
    --color-body-text: #222222;

    --color-theme-joa: #E30615;
    
    /* Couleurs neutres */
    --color-white: #fff;
    --color-black: #000;
    --color-black-22: #222222;
    --color-gray-dark: #575757;
    --color-gray-medium: #777;
    --color-gray: #a0a0a0;              /* Gris clair */
    --color-gray-light: #ababab;
    --color-gray-lighter: #ccc;
    --color-gray-lightest: #dedede;
    --color-gray-text: #7A8391;
    --color-gray-medium-text: #a8a8a8;
    --color-gray-medium-text2: #b99aa0;
    --color-red: #E30615;
    --color-red-light: #f5c6cb;
    
    /* Couleurs de fond */
    --bg-light: #f8f9fa;
    --bg-gray: #f7f7f7;
    --bg-gray-medium: #ededed;
    --bg-gray-light: #ececec;
    --bg-gray-dark: #9d9d9d;
    --bg-fafafa: #FAFAFA;
    --bg-background-cc: #FFF4F2;
    --bg-background-black-22: #222222;
    
    /* Couleurs de bordure */
    --border-gray: #dedede;
    --border-gray-light: #ddd8d8;
    --border-gray-medium: #ccc;

    --border-color-btn-filtre: #f5c6cb;
    
    /* Couleurs avec transparence */
    --color-secondary-full: rgba(25, 73, 87, 1);
    --color-secondary-90: rgba(25, 73, 87, 0.9);
    --color-secondary-60: rgba(25, 73, 87, 0.6);
    --color-secondary-40: rgba(25, 73, 87, 0.4);
    --color-secondary-20: rgba(25, 73, 87, 0.2);
    --color-black-80: rgba(0, 0, 0, 0.80);
    --color-black-40: rgba(0, 0, 0, 0.4);
    --color-black-35: rgba(0, 0, 0, 0.35);
    --color-black-30: rgba(0, 0, 0, 0.3);
    --color-gray-40: rgba(28, 34, 36, 0.4);
    --color-gray-11: rgba(80, 80, 80, 0.11);
    
    /* Couleurs spécifiques */
    /*--color-warning: #f0ad4e;*/           /* Orange warning */
    --color-warning: #f04e4e;
    --color-info-bg: #d9edf7;           /* Background info */
    --color-text-dark: #212529;
    --color-border-light: #21252921;
    --color-text-gray: rgb(17, 17, 17);
    --color-border-subtle: rgb(204, 204, 204);
    
    /* Couleurs d'ombre */
    --shadow-color: #ababab;
    --shadow-color-black-light: rgba(0, 0, 0, 0.15);


    /* border-radius */
    --border-radius-small: 5px;
    --border-radius-medium: 8px;
    --border-radius-large: 10px;
}


@font-face {
    font-family: 'Work Sans';
    src: url('../fonts/WorkSans-static/WorkSans-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Work Sans';
    src: url('../fonts/WorkSans-static/WorkSans-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Work Sans';
    src: url('../fonts/WorkSans-static/WorkSans-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Work Sans';
    src: url('../fonts/WorkSans-static/WorkSans-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

/* pour l'écran de chargement */
@font-face {
    font-family:'Glyphicons Halflings';
    src:url(../fonts/glyphicons-halflings-regular.eot);
    src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'), url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')
}




/* Utilisation globale de la fonte Work Sans. Remplacer si nécessaire dans le body*/
/* Move down content because we have a fixed navbar that is 3.5rem tall */
body {
    font-family: 'Work Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial," Noto Sans", sans-serif;
    font-size: 15px;
    color: var(--color-body-text);
}


.rouge, .note-rouge { color: var(--color-red); }
.gris-fonce { color: var(--color-gray-dark); }
.gris-clair { color: var(--color-gray-lighter); }
.orange     { color: var(--color-warning); }
.bleu-clair { color: var(--color-primary); }
.blanc      { color: var(--color-white); }

.clearb {
    clear: both;
}

.navbar-light .navbar-nav .active > .nav-link, .navbar-light .navbar-nav .nav-link.active, .navbar-light .navbar-nav .nav-link.show, .navbar-light .navbar-nav .show > .nav-link {
    color: var(--color-secondary-full);
    font-weight: 700;
}
.navbar-light .navbar-nav .nav-link {
    color: var(--color-body-text);
    font-size: 13px;    
    font-weight: 600;
    border-bottom: 3px solid transparent;
}
.navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover {
    /*color: var(--color-secondary-90);*/
    color: var(--color-red);
}
.navbar-light .navbar-nav .nav-item {
    margin: auto 7px;
}
    .navbar-light .navbar-nav .nav-item .nav-config-active {
        /*border-bottom: 3px solid var(--color-secondary);*/
        border-bottom: 3px solid var(--color-red);
        font-weight: bold;
    }

.navbar.bg-clair {
    background-color: var(--bg-light) !important;
}

.w20 { width: 20%; }
.w25 { width: 25%; }
.w30 { width: 30%; }
.w33 { width: 33%; }
.w40 { width: 40%; }
.w50 { width: 50%; }
.w60 { width: 60%; }
.w70 { width: 70%; }
.w75 { width: 75%; }
.w80 { width: 80%; }
.w100 { width: 100%; }

.hmin-150 {
    min-height: inherit;
}

.note-rouge.places, .note-rouge.poids, .note-rouge.prix { 
    font-weight: bold; 
}
.note-blanc.prix { 
    /*font-weight: bold;*/
    font-size: 13px;
    color: var(--color-white);
}

.toupper {
    text-transform: uppercase;
}

.shadow-light {
    -webkit-box-shadow: 0px 0px 9px -1px var(--color-black-40);
    -moz-box-shadow: 0px 0px 9px -1px var(--color-black-40);
    box-shadow: 0px 0px 9px -1px var(--color-black-40);
}
    .shadow-light:hover {
        -webkit-box-shadow: 0px 0px 11px -2px var(--color-black-80);
        -moz-box-shadow: 0px 0px 11px -2px var(--color-black-80);
        box-shadow: 0px 0px 11px -2px var(--color-black-80);
    }

.border-gris {
    border-color: var(--border-gray) !important;
}
    .border-gris:hover {
        -webkit-box-shadow: 0px 0px 9px -2px var(--color-black-35);
        -moz-box-shadow: 0px 0px 9px -2px var(--color-black-35);
        box-shadow: 0px 0px 9px -2px var(--color-black-35);
    }

.btn.focus, .btn:focus {
    outline: none;
    box-shadow: none;
}

.btn.dropdown-toggle {
    padding-top: 14px;
}

/*
.dropdown-icon {
    padding-top: 10px;
}
*/
/*
    .dropdown-icon .btn.dropdown-toggle {
        margin-top: 2px;
    }
*/

.titre-page-en-cours {
    margin-top: 20px;
    display: inline-block;
}
    .titre-page-en-cours-choixcc {
        margin-top: 0;
        margin-bottom: 30px;
    }
    .bloc-titre-page-en-cours-choixcc {
        margin-top: -25px;
    }

.icone-noir {
    box-sizing: border-box;
    position: relative;
    /*float: left;*/
    height: 2.5em;
    width: 2.5em;
    border-radius: 3em;
    text-align: center;
    background-color: var(--color-secondary);
    color: var(--color-white);
    margin-top: 3px;
    /*margin-right: 20px;*/
    margin-right: auto;
    margin-left: auto;
}
.icone-noir img {
    width: 90%;
}

.texte {
    /*font-family: 'Raleway', sans-serif;*/
    font-size: 11px;
}

.separateur {
    font-weight: 300;
}

span.texte {
    display: inline-block;
    /*margin: 10px 8px;*/
    margin: 0;
}

/* .list-inline-item:not(:last-child)*/
.separ {
    margin-left: 15px; 
    margin-right: 15px;
}

.texte-1, .texte-h1 {
    font-size: 25px;
    line-height: 34px;
}
    .texte-h1 {
        font-weight: 700;
    }

.texte-2, .texte-h2,
.texte-21, .texte-h21 {
    font-size: 20px;
    line-height: 24px;
}
    .texte-h2, .texte-h21 {
        font-weight: 700;
    }

.texte-3, .texte-h3 {
    font-size: 16px;
    line-height: 19px;
    text-transform: uppercase;
}
    .texte-h3 {
        font-weight: 700;
    }

.texte-4, .texte-h4 {
    font-size: 16px;
    line-height: 22px;
}
    .texte-h4 {
        font-weight: 700;
    }

.texte-5, .texte-h5 {
    /*font-size: 13px;*/
    font-size: 15px;
    line-height: 18px;
}
    .texte-h5 {
        font-weight: 700;
    }

.texte-6, .texte-h6 {
    font-size: 13px;
    line-height: 21px;
}
    .texte-h6 {
        font-weight: 500;
    }

.texte-7, .texte-h7 {
    font-size: 11px;
    line-height: 17px;
    text-transform: capitalize;
}
    .texte-h7 {
        font-weight: 700;
    }

.texte-8, .texte-h8 {
    font-size: 11px;
    line-height: 17px;
}
    .texte-h8 {
        font-weight: 700;
    }

.texte-9, .texte-h9 {
    font-size: 11px;
    line-height: 15px;
    font-style: italic;
}


/* ----------------- boites de dialogue / modales ----------------------- */
/*
.modal-dialog { 
    width: 1020px; 
    max-width: 1020px; 
}
*/

.modal-body { 
    max-height: calc(100vh - 210px); 
    overflow-y: auto;
}

/* la hauteur de la boite ne fonctionne pas ! à voir plus en détail */
.modal-dialog-large { 
    width: 95%; 
    width: 1020px;
    max-width: 1020px;

    height: 85%; 
}


/* ----------------- écran d'attente de chargement ----------------------- */

.glyphicon {
    position:relative;
    top:1px;
    display:inline-block;
    font-family:'Glyphicons Halflings';
    font-style:normal;
    font-weight:400;
    line-height:1;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
}
.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before,.glyphicon-btc:before,.glyphicon-xbt:before{content:"\e227"}.glyphicon-jpy:before,.glyphicon-yen:before{content:"\00a5"}.glyphicon-rub:before,.glyphicon-ruble:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}

#loading-wrapper, #loading-wrapper-wait {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1100;
    background: var(--color-black-80);
}

#loading-wrapper #loader, #loading-wrapper-wait #loader-wait {
    position: absolute;
    top: 40%;
    left: 45%;
    margin-left: -35px;
    margin-top: -35px;
    width: 256px;
    height: 256px;
}

.loaded #loading-wrapper {
    visibility: hidden;
    opacity: 0;
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}

.loaded #loader {
    opacity: 0;
    -webkit-transition: all 1s ease-out;
    transition: all 1s ease-out;
}

#loading-wrapper-wait {
    visibility: hidden;
    opacity: 0;
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}
#loader-wait {
    opacity: 0;
    -webkit-transition: all 1s ease-out;
    transition: all 1s ease-out;
}
#loading-wrapper-wait.voirattente {
    visibility: visible;
    opacity: 100;
}
#loading-wrapper-wait.voirattente #loader-wait {
    opacity: 100;
}



.gi-5x { font-size: 5em; color: var(--color-white); }
.glyphicon-refresh-animate {
    -animation: spin 1.7s infinite linear;
    -webkit-animation: spinWebkit 1.7s infinite linear;
    -moz-animation: spinMoz 1.7s infinite linear;
}

@-webkit-keyframes spinWebkit {
    from { -webkit-transform: rotate(0deg);}
    to { -webkit-transform: rotate(360deg);}
}
@keyframes spinMoz {
    from { transform: scale(1) rotate(0deg);}
    to { transform: scale(1) rotate(360deg);}
}
@keyframes spin {
    from { transform: scale(1) rotate(0deg);}
    to { transform: scale(1) rotate(360deg);}
}

/* ---------------------------------------------- header -------------------------------------------- */

.navbar {
    padding: 0 1rem 5px 0;
}


#logo {
    display: inline-block;
    width: 175px;
    /*margin: 10px 0 0 0;*/
    margin: 0;
    padding-left: 12px;
    vertical-align: top;
}

#logo img, .navbar-brand img {
    width: auto;
    height: auto;
    max-height: 70px;
    padding-left: 3px;
}

.header-inner {
    position: relative;
    padding: 0;
    height: auto;
    height: 5rem;
    max-height: none;
    transition: all .25s ease;
}

/* on décale l'ombre à cause du sous-menu noir */
.header-inner-config::before {
    bottom: -38px;
}

.header-titre-CC {
    display: inline-block;
    width: 100%;
    margin-top: 25px;
    font-size: 22px;
    font-weight: 700;
}

.liennavgen, a.liennavgen {
    color: var(--color-black);
    display: inline-block;
    margin: 0 18px;
}

.bouton-choix, .bouton-choix-cta, .bouton-choix-cta-inverse, .bouton-choix-cta-blanc {
    color: var(--color-secondary);
    background-color: var(--color-white);
    text-align: center;
    padding: 10px 13px;
    font-size: 15px;
    min-width: 120px;
    font-weight: 600;
    border: 1px solid var(--color-secondary);
    box-sizing: border-box;
    border-radius: var(--border-radius-small);
}
.bouton-choix-cta {
    background-color: var(--color-black-22);
    border: 2px solid var(--color-black-22);
    color: var(--color-white);
    font-weight: 400;
    padding: 15px 30px;
}

    .bouton-choix-cta:hover {
        font-weight: 600;
        background-color: var(--color-white);
        border: 2px solid var(--color-black-22);
        color: var(--color-black-22);
    }

.bouton-choix-cta-inverse {
    background-color: var(--color-white);
    border: 2px solid var(--color-white);
    color: var(--color-black-22);
}
    .bouton-choix-cta-inverse:hover {
        background-color: var(--color-primary);
        border: 2px solid var(--color-primary);
        color: var(--color-white);
    }


.bouton-choix-cta-blanc {
    background-color: var(--color-white);
    border: 1px solid var(--color-black-22);
    color: var(--color-black-22);
}
    .bouton-choix-cta-blanc:hover {
        background-color: var(--color-black-22);
        border: 1px solid var(--color-black-22);
        color: var(--color-white);
    }
    
    
.bouton-choix-cta:disabled, .bouton-choix-cta:disabled:hover {
    background-color: var(--color-red-light);
    border: 2px solid var(--color-red-light);
    color: var(--color-white);
    font-weight: 400;
}

    .bouton-choix-cta.btn-demande-offre {
        padding: 10px 20px;
    }

    .demande-offre-desktop {
        display: block;
        margin-right: 20px;
    }

.bouton-save-haut {
    margin-right: 33px;
}

.bouton-choix-intext {
    color: var(--color-white);
    background-color: var(--color-primary);
    border-color: var(--border-gray);          /* gris clair */
    text-align: center;
    padding: 5px;
    text-transform: uppercase;
    font-size: 11px;
    font-weight: bold;
    width: 120px;
    border-radius: var(--border-radius-large);
}
    .bouton-choix-intext.bouton-rouge {
        border-color: var(--color-primary);
    }
    .bouton-choix:hover, .bouton-choix:active, .bouton-choix-intext:hover {
        background-color: var(--color-primary);
        border-color: var(--border-color-btn-filtre);
    }
    .bouton-choix-intext:hover {
        border-color: var(--color-primary);
    }
    
    .bouton-blanc {
        color: var(--color-secondary);
        border: 1px solid var(--color-secondary);
        background-color: var(--color-white);
    }
    
    .bouton-choix:disabled, .bouton-choix:disabled:hover {
        opacity: .65;
        color: var(--color-gray-text); 
        border: 1px solid var(--color-secondary);
        background-color: var(--color-white);
    }
    
    .bouton-blanc-rouge {
        color: var(--color-primary);
        border: var(--color-primary);
        background-color: var(--color-white);
    }
    .bouton-bleu-blanc {
        color: var(--color-white);
        border-color: var(--color-tertiary);      /* bleu clair */
        background-color: var(--color-tertiary);  /* bleu clair */
    }
    /*
    .bouton-bleu-blanc-mt0, .bouton-selection.bouton-bleu-blanc-mt0 {
        margin-top: -10px;
    }*/
    .bouton-blanc-bleu {
        color: var(--color-tertiary);             /* bleu clair */
        border-color: var(--color-tertiary);      /* bleu clair */
        background-color: var(--color-white);
    }
    .bouton-rouge, .bouton-rouge:hover, .bouton-blanc-rouge:hover {
        background-color: var(--color-primary);
        border-color: var(--color-primary);
        color: var(--color-white);
        font-weight: 600;
    }
    .bouton-transparent, .bouton-transparent-fonce {
        background-color: transparent;
        border-color: var(--color-secondary);
        color: var(--color-secondary);
        font-weight: 600;
    }
    .bouton-transparent-fonce {
        color: var(--color-white);
        border-color: var(--color-white);
    }
    .bouton-bleu, .bouton-bleu:hover, .bouton-blanc-bleu:hover {
        background-color: var(--color-tertiary);  /* bleu clair */
        border-color: var(--color-tertiary);      /* bleu clair */
    }
    .bouton-selection {
        width: 100%;
        margin: 15px 0;
        text-transform: uppercase;
        font-size: 13px;
        font-weight: 600;
    }
        .bouton-selection span {
            font-size: 11px;
            text-transform: none;
        }
    
    .container-top-30 {
        margin-top: -30px;
    }

/* -------------------------------------------------------- page choix du CC : la gamme de CC ---------------------------------------------------------- */
/*
.blocchoixccgamme {
    z-index: 1;
}
    .blocchoixccgamme:hover {
        box-shadow: 6px 0 4px -4px rgba(64, 64, 64, 0.8), -6px 0 4px -4px rgba(64, 64, 64, 0.8);
        z-index: 99;
    }
*/

.blocchoixccgamme {
    margin-bottom: 40px;
}

.choix-cc-fil-ariane {
    margin-bottom: 25px;
}
    .choix-cc-fil-ariane a {
        color: var(--color-primary);
        font-weight: bold;
    }


.bloc-implantation,
.bloc-carrosserie {
    border-radius: var(--border-radius-small);
}
.bloc-implantation img.img-fluid,
.bloc-carrosserie img.img-fluid {
    border-top-left-radius: var(--border-radius-small) !important;
    border-top-right-radius: var(--border-radius-small) !important;
}

.bloc-implantation img.img-fluid {
    margin-top: 50px;
}

.bandeau-sous-image {
    padding-top: 15px;
    padding-left: 40px;
    padding-right: 40px;
    background-color: var(--bg-background-black-22);
    height: 80px;       /* pour mettre le prix à partir de... */
    width: 100%;
}

.bloc-texte-sous-image {
    padding: 50px 40px;
    text-align: center;
}

.image-fluid-cc {
    margin-top: 50px;
    margin-bottom: 50px;
}

/* --------- 2nde version pour test ----------- */
.bandeau-sous-image {
    padding: 15px;
    height: auto;
}

.image-fluid-cc {
    margin-top: 40px;
    margin-bottom: 40px;
}


/* -------------------------------------------------------- page choix du CC : la longueur ---------------------------------------------------------- */
.bloc-sous-image {
    padding: 20px 15px;
}
   

/* -------------------------------------------------------- page choix du CC - filtres ---------------------------------------------------------- */

.bloc-recherche-cc {
    /*height: 70px;*/
    background-color: var(--color-secondary);
}
    .bloc-recherche-cc form {
        width: 50%;
        max-width: 50%;
        margin: 10px;
    }
    .bloc-recherche-cc .input-group-prepend {
        color: var(--color-secondary);
        background-color: var(--color-white); 
        border-top-left-radius: 1.0rem;
        border-bottom-left-radius: 1.0rem;
        width: 40px;
        padding-left: 10px;
        padding-top: 8px;
    }
    .bloc-recherche-cc .form-control.searchcc {
        /*margin: 10px;*/
        text-transform: uppercase;
        font-size: 14px;
        color: var(--color-secondary);
        border-top-right-radius: 1.0rem;
        border-bottom-right-radius: 1.0rem;
        border: none;
    }

.bloc-choix-cc {
    border-radius: var(--border-radius-large);
}

    

/* table avec les filtres sur la gauche de l'écran */
.tb-form-filtre {
    margin: 20px 0 20px 20px;
}
    /*
    .tb-form-filtre td {
        padding: 5px;
    }
    */

.texte.label-texte-filtre, .label-texte-filtre, .label-texte-option {
    display: block;
    padding-left: 10px;
}
.texte.label-texte-filtre-top, .label-texte-filtre-top, .label-texte-option-top {
    padding-top: 6px;
}
.texte.label-texte-filtre-solo, .label-texte-filtre-solo, .label-texte-option-solo {
    padding-top: 12px;
}
.texte-3.label-texte-option-solo {
    padding-top: 10px;
}
.label-texte-filtre-top, .label-texte-filtre-solo {
    text-transform: uppercase;
}
.sous-titre-caract {
    margin-top: 5px;
    margin-bottom: 0px;
}

.prixrecapcache {
    display: none;
}


/* -------------------------------------------------------- page 5 : configuration du CC ---------------------------------------------------------- */

#container-config {
    height: 91vh; 
}

/* formulaire de config */
#fconfig, #bloc-config-global {
    height: 100%;
}

.row-cc-libelle {
    box-shadow: 0px 6px 4px -4px var(--shadow-color); 
    background-color: var(--color-white); 
    z-index: 999; 
    margin-top: 7px;
    margin-bottom: 15px;
}

.divblocfiltre {
    margin-bottom: 15px;
}

.blocfiltrediv {
    display: inline-block;
}
.blocfiltre {
    /* background-color: var(--color-theme-joa); */
    background-color: var(--color-white);
    color: var(--color-theme-joa);
    border: 1px solid var(--color-theme-joa);
    font-size: 14px;
    padding: 5px 7px;
    margin-bottom: 5px;
    border-radius: var(--border-radius-small);
}
    .blocfiltre button.close {
        color: var(--color-theme-joa);
        font-size: 17px;
        padding-left: 6px;
        padding-top: 2px;
        opacity: 1.0;
        font-weight: 400;
    }
    

.colonne-data-config {    
    /*padding-top: 70px;*/
    /*padding-top: 15px;*/
}

    .colonne-data-config h3, .bloc-colonne-imagecc h3, .bloc-recap-entete h3 {
        font-size: 57px;
        font-weight: 900;
        margin-bottom: 20px;
    }
    
    .colonne-data-config h4 {
        font-size: 20px;
        font-weight: 700;
        margin-bottom: 15px;
    }

.bloc-colonne-gauche {
    margin-top: -30px;
    padding-top: 30px;  
    box-shadow: 6px 0px 4px -4px var(--shadow-color-black-light); 
}

.bloc-colonne-imagecc h3 {
    font-size: 50px;    /* on réduit */
    /*color: var(--color-white);*/
    text-align: center;
    margin: 25px 0;
}
.bloc-recap-entete h3 {
    font-size: 50px;    /* on réduit */
    text-align: center;
    margin-bottom: 1.0em;
}

    .colonne-gauche {
        /*padding-left: 15px;*/
        padding-left: 25px;
        padding-top: 20px;
        padding-right: 5px;
        padding-bottom: 30px;   /* on met un PB pour compenser la présence du bandeau en bas d'écran */
        width: 100%;
    }
    .colonne-gauche-data-config {
        overflow-y: auto;
        height: 674px;          /* sur un écran de xxx pixels de haut */
    }
    
    .bloc-groupe-choix-config {
        margin-bottom: 30px;
    }

    .bloc-groupe-choix-config-pack-accessoire {
        margin-bottom: 45px;
    }

    .titre-rubrique {
        font-size: 35px;
        line-height: 1.0em;
        text-align: left;
        font-weight: 900;
        margin-top: 18px;
        margin-bottom: 40px;
    }
    
    .sous-titre-rubrique {
        font-size: 20px;
        margin-bottom: 2.0rem;
    }
    
    .rubrique-sous-titre {
        font-size: 20px;
        margin-bottom: 0;
        font-weight: 700;
    }
    .bloc-groupe-choix-config p.texte-h2 {
        font-size: 16px;
        margin-bottom: 0;
    }

    .bloc-detail-choix-config {
        margin-top: 15px;
    }
    
    .bloc-pack {
        border: 1.5px solid var(--color-secondary-20);
        border-radius: var(--border-radius-small);
        margin-bottom: 25px;
        margin-top: 20px;
        padding: 8px;
    }
    
    .bloc-detail-choix-config .texte-h2 {
        color: var(--color-accent);
        text-transform: uppercase;
    }
    .bloc-detail-choix-config .texte-h2.bleu-clair {
        color: var(--color-tertiary);
    }
    .bloc-detail-choix-config .texte-h2.gris-fonce {
        color: var(--color-secondary);
    }
    .bloc-detail-choix-config .texte-h5 {
        color: var(--color-gray);
        text-transform: uppercase;
        font-weight: normal;
        font-size: 16px;
    }
    .bloc-detail-choix-config p {
        font-weight: normal;
        font-size: 13px;
        line-height: 17px;
        text-align: justify;
    }
    .bloc-detail-choix-config p.texte-h21 {
        font-weight: bold;
        font-size: 20px;
        line-height: 24px;
    }
    .bloc-detail-choix-config .note, .bloc-detail-choix-config .option-txt-note {
        color: var(--color-gray);
        font-style: italic;
    }
    .bloc-detail-choix-config .bloc-detail-pack .texte-h5 {
        color: var(--color-secondary);
        font-weight: bold;
        font-size: 14px;
        margin-bottom: 0;
    }
    
    .config-liste-pack-opt, .contenu-pack-options {
        list-style: url('img/coche.svg');
        padding-left: 12px;
        margin-left: 20px;
        font-size: 15px;
        line-height: 1.6em;
        margin-bottom: 15px;
        margin-top: 10px;
    }

        .bloc-detail-finition, .bloc-detail-finition-haut {
            overflow-y: auto;
            min-height: 530px;
        }
        .bloc-detail-finition-haut {
            min-height: 780px;
        }

        
.bloc-colonne-imagecc {
    padding-bottom: 50px;   /* on met un PB pour compenser la présence du bandeau en bas d'écran */
    max-height: 100%;
    min-height: 100%;
    background-color: var(--bg-background-cc);
    overflow: hidden;
}
.bloc-colonne-droite-top30 {
    margin-top: -30px;
}

.config-photo-cc {
    text-align: center;
    /*margin: auto 80px;*/
    margin: 80px 20px 0 20px;
    position: relative;     /* pour le calage des images internes */
}
.config-photo-cc > img {
    /* pour les transitions cacher/montrer sur ces images */
    -webkit-transition: all 1s ease-out;
    transition: all 1s ease-out;
}

    .img-interieur-option, .img-interieur-option img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        padding: 20px;
    }
    
.bloc-btn-int-ext {
    text-align: center;
}
    
.texte-non-contractuel {
    font-size: 12px;
    font-style: italic;
    text-align: center;
}

.panel-config-recap,
.panel-config-recap-mobile {
    position: fixed; 
    bottom: 0; 
    left: 0; 
    
    width:100%; 
    z-index: 1001;  /* important pour passer au-dessus des radio-button .option-input */
}
        .panel-config-recap-mobile {
            display: none;
            background-color: var(--color-secondary);
            padding: 15px;
            text-align: center;
        }
    
        .panel-config-recap-mobile .bouton-choix {
            padding: 10px;
        }

.bloc-entete-data-recap {
    display: none;
    /* ce bloc sera visible dans la version mobile */
    background-color: var(--bg-fafafa);
    padding: 20px 20px 20px 10px;
    margin: 0 -20px 30px -10px;
}


/* cette table sera visible en mobile */
.table-recap-header {
    width: 100%;
    display: none;
}

.table-recap-header td {
    padding: 0 0 5px 0;
    border: none;
}

.table-recap-header td.td-text {
    width: 70%;
    white-space: nowrap;
}

.table-recap-header td.td-data {
    width: 30%;
    font-weight: bold;
    white-space: nowrap;
}


.bandeau-sous-img-config {
    width: 100%;
    background-color: var(--bg-background-black-22);
}
    .bandeau-recap-masses p {
        color: var(--color-white);
        font-size: 14px;
        margin: 0;
    }
    
    .col-recap-masses, .col-recap-plcg, .col-recap-tarif, .col-config-boutons {
        padding: 20px 25px 20px 25px;
        height: 100%;
    }

    .col-bouton {
        padding: 10px 10px 10px 0;
    }
        .col-bouton .bouton-save {
            width: 200px;
            padding-top: 10px;
            padding-bottom: 10px;
        }

    .col-bouton-haut {
        text-align: right;
    }
        .col-bouton-haut .bouton-save-haut {
            margin-bottom: 5px;
            padding-top: 10px;
            padding-bottom: 10px;
        }
        
    .prixtotal, .placescg, .chargeutile {
        color: var(--color-white);
        font-size: 23px;
        /*font-weight: bold;*/
    }
    .prix.prixtotal, .places.placescg, .poids.chargeutile {
        font-weight: 600;
    }
    
    
    .barre-nav-config {
        margin-top: 25px;
    }
        .barre-nav-config ul {
            margin-bottom: 0;
        }
        .barre-nav-config a {
            display: inline-block;
        }
        .barre-nav-config a, .barre-nav-config a:visited, .barre-nav-config a:focus {
            color: var(--color-secondary);
            text-decoration: none;
            font-size: 14px;
            font-weight: bold;
            padding: 0 15px 12px 15px;
            border: none;
            
        }
        .barre-nav-config a.nav-config-active {
            color: var(--color-primary);
            border-bottom: var(--color-primary) 3px solid;
        }
        .barre-nav-config a:hover {
            color: var(--color-primary);
        }
        
    .barre-nav-config-mini {
        padding-bottom: 12px;
        margin-top: 0;
    }
    
    
    .barre-nav-config-new, .barre-nav-config-new-small {
        background-color: var(--bg-gray-medium);
        padding: 10px 0 12px 70px;
    }
    .barre-nav-config-new-small {
        display: none;
        padding-left: 12px;
    }

        .barre-nav-config-new .list-inline, .barre-nav-config-new-small .list-inline {
            margin: 0;
        }
    a.nav-config-li {
        padding-bottom: 8px;
        border-bottom: 5px solid var(--bg-gray-medium);
        text-decoration: none;
        text-transform: uppercase;
        font-size: 14px;
        color: var(--color-gray-dark);
        margin-right: 20px;
        font-weight: normal;
        cursor: pointer;
    }

    
/* navigation configurateur */
    
.container.header-nav {
    height: 180px;
    padding: 0;
}
.container.header-nav.header-config {
    height: 85px;
}
.container.header-nav.header-noconfig-choixcc {
    height: 120px;
}


.nav-link {
    padding-top: 23px;
    padding-bottom: 23px;
}

    ul.menu-nav-config {
        margin: 0;
        padding: 0;
        list-style-type: none;
        line-height: 1.7em; /* pour annuler celui du body */
        display: flex;
        flex-direction: row;
    }
    
    .menu-nav-config li {
        font-size: 14px;
        color: var(--color-white);
    }
    
    .menu-nav-config li.menu-nav-header {
        font-size: 19px;
        color: var(--color-white);
        text-align: center;
        margin-right: 5px; /* pour écarter le 1er menu */
        width: 55px;
        background-color: var(--color-primary);
    }
    
    .menu-nav-config li a {
        display: inline-block;
        text-decoration: none;
        color: var(--color-gray-medium-text);
    }
    .menu-nav-config li a {
        display: table-cell;
        height: 32px;
        vertical-align: middle;
    }
    
        /* pour tous les a:hover et le lien actif */
        .menu-nav-config a:hover,                 
        .menu-nav-config .menu-nav-item-actif a {
            color: var(--color-white);
        }
        
        .menu-nav-config a {
            padding: 0 25px;
        }
        
        .menu-nav-item-actif a {
            background: url('../img/menu/fond_onglet.png') repeat-x;
        }
        
        .menu-nav-item-separ,
        .menu-nav-item-separ-first,
        .menu-nav-item-separ-actifg, 
        .menu-nav-item-separ-actifd, 
        .menu-nav-item-vide
        {
            width: 28px;
            content: ' ';
        }
        
        .menu-nav-item-vide {
            background: url('../img/menu/fond_vide.png') no-repeat;
        }
        
        .menu-nav-item-separ {
            background: url('../img/menu/fond_fleche_claire.png') no-repeat;
        }
        .menu-nav-item-separ-first {
            background: none;
        }
        .menu-nav-item-separ-actifg {
            background: url('../img/menu/fond_onglet_gauche.png') no-repeat;
        }
        .menu-nav-item-separ-actifd {
            background: url('../img/menu/fond_onglet_droit.png') no-repeat;
        }

    .dropdown-menu {
        background-color: var(--color-secondary);
        border-radius: 0;
        padding-top: 0;
        padding-bottom: 0;
        margin-left: -1px;
        margin-top: 0;
        z-index: 1001;
        min-width: 8rem;
    }
    .dropdown-item {
        color: var(--color-white);
        /*font-weight: 300;*/
        font-size: 15px;
        padding-top: 10px;
        padding-bottom: 10px;
        border-bottom: solid 1px var(--color-white);
        padding-left: 15px;
        /*margin-left: 5px;*/
        /*margin-right: 5px;*/
    }
    .dropdown-item-actif {
        background-color: var(--color-gray-dark);
    }
    .dropdown-item:last-child {
        border-bottom: none;
    }


/* bouton rond - fond transparent - texte de même couleur que la bordure (gris foncé par défaut) */
.bouton-choix-config {
    border-radius: 2.0em;
    margin-right: 15px;
    background-color: transparent;
    border-color: var(--color-secondary);
    color: var(--color-secondary);
    text-transform: uppercase;
    font-size: 13px;
    font-weight: 600;
    padding: 10px 25px;
}
    .bouton-choix-config.bleu-clair {
        border-color: var(--color-tertiary);      /* bleu clair */
        color: var(--color-tertiary);             /* bleu clair */
    }
        .bouton-choix-config.bleu-clair.plein {
            background-color: var(--color-tertiary);  /* bleu clair */
            color: var(--color-white);
        }
    .bouton-choix-config.orange {
        border-color: var(--color-accent);      /* orange */
        color: var(--color-accent);             /* orange */
    }
        .bouton-choix-config.orange.plein {
            background-color: var(--color-accent);      /* orange */
            color: var(--color-white);
        }
    
    .bouton-choix-config.bleu-clair:hover {
        border-color: var(--color-tertiary);      /* bleu clair */
        background-color: var(--color-tertiary);  /* bleu clair */
        color: var(--color-white);
    }
    .bouton-choix-config.orange:hover {
        border-color: var(--color-accent);      /* orange */
        background-color: var(--color-accent);  /* orange */
        color: var(--color-white);
    }
    
    
    /* -------------------------- onglets -------------------------------- */
    .config-sous-menu {
        display: inherit;
        background-color: var(--color-secondary);
        min-height: 30px;
        width: 100%;
        box-shadow: 0px 6px 4px -4px var(--shadow-color);
        /*margin-top: -30px;*/
        /*padding-top: 30px;*/
    }
    
    ul.chemin-fer {
        margin: 0;
    }
    .chemin-fer li {
        line-height: 36px;
        font-size: 14px;
        color: var(--color-white);
    }
    
    /* le 1er bloc en rouge à gauche */
    .chemin-fer li.chemin-fer-header {
        background-color: var(--color-primary);
        width: 55px;
        text-align: center;
    }
    .chemin-fer li.chemin-fer-header span {
        font-size: 16px;
    }
    .chemin-fer-item, .chemin-fer-separ {
        padding: 0 6px;
    }
    
        .chemin-fer-separ span {
            display: inline-block;
            width: 29px;
            background-image: url('../img/menu/fond_fleche_claire.png');
            background-repeat: no-repeat;
            background-position-y: 2px;
        }
        
        .chemin-fer-item a {
            display: inline-block;
            color: var(--color-gray-medium-text);         /* gris tant que pas cliqué dessus !!! */
            text-decoration: none;
        }
        .chemin-fer-item a.lien-first, .chemin-fer-item a.lien-visited {
            color: var(--color-white);            /* blanc à partir du moment où il a été cliqué */
        }
        .chemin-fer-item-actif a {
            line-height: 32px;
            height: 32px;
            background-color: var(--color-gray-dark);  /* fond gris */
            border-top: 2px solid var(--color-black-22);
            border-bottom: 2px solid var(--color-black-22);
            box-sizing: border-box;
            position: relative;
        }
        .chemin-fer-item-actif a:before{ 
            display: inline-block;
            content:url('../img/menu/fond_onglet_gauche.png') ;
            position:absolute;
            left:-28px;
            top:0;
            height: 32px;
        }
        .chemin-fer-item-actif a:after{ 
            display: inline-block;
            content:url('../img/menu/fond_onglet_droit.png') ;
            position:relative;
            top:0;
            height: 32px;
        }
 
        .chemin-fer-item a:hover, 
        .chemin-fer-item-actif a {
            color: var(--color-white);
        }
        
   
/* ------------------ sauvegarde du projet ------------------------- */
.txt-save-code-projet {
    margin-bottom: 30px;
}

.input-group-50 {
    width: 70% !important;
}

#modaleenrprjokcode,
#modaleenrprjokcodemob {
    color: var(--color-black);
    font-weight: bold;
}

.txtsaveduree, .txtrecevoircode {
    font-weight: bold;
    color: var(--color-gray-medium);
}

.boxenvoiparmail {
    border-top: 1px solid #dee2e6; 
    padding-top: 15px;
}
    
/* ------------------ éléments configurateur ----------------------- */

.label {
    font-weight: 600;
    color: var(--color-white);
    border-radius: .25em;
}
    .label-warning {
        background-color: var(--color-warning);
    }

/* message alerte options */
.msg-alerte-contrainte {
    padding-top: 5px;
}

.msg-alerte-contrainte .label, .msg-alerte-contrainte p {
    font-size: 90%;
    font-weight: normal;
    line-height: 1.6em;
    white-space: normal;
    display: block;
    text-align: left;
    padding: 7px 20px;
    margin: 0;
    border-radius: var(--border-radius-small);
}
.msg-alerte-contrainte .label strong, .msg-alerte-contrainte p strong {
    /*font-weight: normal !important;*/
    font-weight: 600;
}
   
    
.option-input.radio:disabled {
    background-color: lightgray;
}

/* photo/illustration option de config */
.img-elem-config {
    margin-bottom: 15px;
    box-shadow: 6px 6px 4px -4px var(--shadow-color);
    border: var(--border-gray-light) solid 1px;
}


/* ------------------- tableau récapitulatif en POPUP ------------------------------ */
.table-condensed {
    font-size: 13px;
}
.table-condensed > thead > tr > th, .table-condensed > tbody > tr > th, .table-condensed > tfoot > tr > th, .table-condensed > thead > tr > td, .table-condensed > tbody > tr > td, .table-condensed > tfoot > tr > td {
    padding: 5px;
}

.table > tbody > tr.info > td {
    background-color: var(--color-info-bg);
}

.commande-recap-tableau .sous-titre, 
.commande-recap-tableau td.prix-gras {
    font-weight: bold;
}
.commande-recap-tableau td.prix, 
.commande-recap-tableau td.masse {
    white-space: nowrap;
}
.commande-recap-tableau td.prix, 
.commande-recap-tableau td.masse,
.commande-recap-tableau .sous-titre-tarif, 
.commande-recap-tableau .sous-titre-masse {
    text-align: right;
}


/* ------------------------------------- onglet récap et tableau ------------------------------------------------- */

#bloc-config-recap {
    height: auto !important;
}


.bloc-recap-detail {
    margin-left: -15px;     /* par aligner avec les titres des blocs */
}

.bloc-fond-noir { background-color: var(--color-black); }
.bloc-fond-blanc, .bloc-fond-gris { 
    background-color: var(--color-white); 
    padding-top: 10px;
    padding-bottom: 10px;
    margin-left: 0;
}
.bloc-fond-gris { 
    background-color: var(--bg-gray);
}

.titre-recap {
    font-size: 40px;
    line-height: 1.0em;
    font-weight: 900;
    margin-top: 70px;
    margin-bottom: 15px;
    margin-left: 50px;
    float: left;
}

.logo-recap {
    float:left; 
    height:100px; 
    margin-left: 50px; 
    margin-top: 42px;
}

.bloc-recap-entete {
    margin-top: 25px;
    margin-bottom: 50px;
}

.bloc-recap-data {
    display: flex;
}

.bloc-recap-corps {
    padding: 25px 65px;
    margin-bottom: 50px;
}

.data-recap-haut {
    text-align: center;
    font-size: 20px;
    color: var(--color-black);
    /*font-weight: bold;*/
}

.data-recap-titre {
    font-size: 20px;
    color: var(--color-black);
    font-weight: 700;
}

.data-recap-soustitre {
    font-size: 15px;
    font-weight: 600;
    /*color: var(--color-secondary);*/
    color: var(--color-black);
}

.data-recap-valeur, .data-recap-prix {
    text-align: right;
    color: var(--color-black);
}
    .col-12.data-recap-titre {
        padding-bottom: 10px;
        padding-top: 25px;
        border-bottom: 1px solid var(--color-border-light);
        margin-bottom: 25px;
    }
    .col-12.data-recap-titre.no-border {
        border-bottom: none;
        margin-bottom: 0;
    }

.data-recap-soustitre-footer {
    text-align: left;
}

.data-recap-soustitre-footer,
.data-recap-valeur-footer {
    color: var(--color-white);
}

.recap-datar, .bloc-entete-data-recap .data-recap-valeur {
    color: var(--color-primary);
    font-size: 23px;
    font-weight: 600;
}

    /* utilisé dans le récap en mobile */
    .bloc-entete-data-recap .data-recap-valeur {
        font-size: 15px;
    }

/* liste des projets du user connecté */
.user-liste-projets thead tr {
    background-color: var(--color-info-bg);
}
.user-liste-prj-nom {
    width: 35%;
}
.user-liste-prj-lib {
    width: 30%;
}
.user-liste-prj-date {
    width: 20%;
    text-align: center;
    white-space: nowrap;
}
.user-liste-prj-load {
    width: 15%;
    white-space: nowrap;
}    


.vmobile,
.vcache {
    display: none;
}
.vdesktop {
    display: block;
}


.btn-demande-offre-mobile {
    display: none;
}


.btn-demande-offre,
.dropdown-nav {
    display: block;
}

.btndemandeoffrerecap, .btn-save-projet-recap {
    margin-top: 0;
    width: auto;
}
.btn-save-projet-recap {
    margin-right: 15px;
}

.footer-config-mobile {
    display: none;
}

.colonne-gauche.vmobile {
    position: relative;
}

.popupfiltres {
    height: 100vh;
    width: 100vw;
    background-color: var(--color-white);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
}

.btn-filter {
    height: 25px;
    border: none;
    font-size: 16px;
    font-weight: 500;
    line-height: 24px;
    font-style: normal;
    text-transform: none;
    text-align: center;
    text-decoration: none;
    box-sizing: border-box;
    display: flex;
    -moz-box-pack: center;
    justify-content: center;
    -moz-box-align: center;
    align-items: center;
    cursor: pointer;
    padding: 6px 20px;
    min-height: 36px;
    overflow: hidden;
    transform: translate3d(0px, 0px, 0px);
    background: transparent none repeat scroll 0% 0%;
    color: var(--color-text-gray);
    border-radius: 30px;
    outline: currentcolor none medium;
    float: right;
}

.popupfiltres-content {
    padding: 15px;
    max-height: 85vh;
    overflow-y: scroll;
    overflow-x: hidden;
}

.btn-filter::before {
    content: "";
    position: absolute;
    inset: 0px;
    border: 1.5px solid var(--color-border-subtle);
    border-radius: 30px;
}

.btn-filter-text {
    padding-right: 4px;
    padding-right: 8px;
    font-size: 16px;
    color: var(--color-text-gray);
}

.icon-filter {
    margin-top: 2px;
    color: var(--color-text-gray);
}

.popupfiltres-btn {
    position: fixed;
    bottom: 0;
    padding: 15px;
    width: 100%;
    border-top: var(--color-border-light) solid 1px;
}


.popupfiltres-btn button {
    width: 100%;
}

.popupfiltres-titre {
    font-size: 24px;
    font-weight: bold;
    color: var(--color-text-dark);
    text-align: center;
    padding-bottom: 5px 0;
    border-bottom: var(--color-border-light) solid 1px;
}

/* 20/09/2022 => passage en version mobile */

/* ------------------- format XS / extra small < 576px ------------------ */
/* max container width : none (auto) */
/* @media (max-width: 575px) { } */


/* ------------------- format SM / small >= 576px ------------------ */
/* max container width : 540px */
/* @media (max-width: 767px) { } */
/* @media (min-width: 576px) { } */

/* ------------------- format MD / medium >= 768px ------------------ */
/* max container width : 720px */
/* @media (max-width: 991px) { } */
/* @media (min-width: 768px) { } */

/* ------------------- format LG ------------------ */
/* max container width : 960px */
/* @media (max-width: 1199px) { } */
/* @media (min-width: 992px) { } */

/* ------------------- format XL / large >= 1200px ------------------ */
/* max container width : 1140px */
/* @media (min-width: 1200px) { } */

@media (max-width: 767px) {
}


/* ------------------- format MD / medium >= 768px ------------------ */
@media (max-width: 991px) {        
    .vmobile {
        display: block;
    }
    
    .vdesktop {
        display: none;
    }

    .footer-config-mobile {
        display: none;
    }

    .logo-recap {
        display: none;
    }

    .btn-demande-offre,
    .dropdown-nav {
        display: none;
    }

    /* suppression/on cache le panneau de récap en bas de page */
    /* et le bloc avec le nom du modèle et l'image du CC */
    .panel-config-recap,
    .bloc-colonne-imagecc {
        display: none;
    }

    .panel-config-recap-mobile {
        display: block;
    }

    .table-recap-header {
        display: block;
    }


    .bloc-entete-data-recap {
        display: block;
    }

    .bloc-recap-data {
        display: none;
    }

}



/* ------------------- format L ------------------ */
@media (min-width: 992px) {

    .vmobile {
        display: none;
    }

    .btn-demande-offre-mobile {
        display: none;
    }

    .btn-demande-offre,
    .dropdown-nav {
        display: block;
    }
}



/* ------------------- format LG ------------------ */
@media (max-width: 991px) {

    /* on diminue la taille de certaines fontes */
    
    body,
    .config-liste-pack-opt,
    .contenu-pack-options,
    .config-label-check,
    .radio-button-config,
    .radio-button-filtre {
        font-size: 13px;
    }

    .modal-dialog-large {
        max-width: 100%;
        width: 100%;
        margin: 0;
    }

    .input-group-50 {
        width: 100% !important;
    }

    #modaleenrprjokcodemob,
    #emailprjmob {
        width: 100%;
        margin: 0 0 5px 0;
    }

    .boxenvoiparmail {
        margin-top: 0 !important;
    }


    .texte-5,
    .texte-h5 {
        font-size: 14px;
    }

    .titre-rubrique {
        font-size: 20px;
        margin-bottom: 20px;
    }

    .colonne-data-config h3,
    .bloc-colonne-imagecc h3,
    .bloc-recap-entete h3 {
        font-size: 26px;
        font-weight: 900;
        margin-bottom: 20px;
    }

    .bloc-entete-data-recap h3 {
        font-size: 26px;
        font-weight: 900;
        margin-bottom: 0;
    }

    .rubrique-sous-titre {
        font-size: 15px;
    }

    .config-label-check {
        line-height: 1.5em;
    }

    label.radio-button-config,
    label.radio-button-config-actif {
        height: 45px;
    }

    label.radio-button-filtre,
    label.radio-button-filtre-actif {
        height: 28px;
    }

    .checkbox-button-config {
        margin-left: 0;
        width: 80%;
    }

    .prix-option-check {
        top: 12px;
    }

    .container {
        width: 100%;
        padding-right: 20px;
        /* on élargit à droite pour le scroller */
        padding-left: 20px;
        /* on élargit à gauche pour équilibrer */
        margin-right: auto;
        margin-left: auto;
        max-width: 100%;

        position: relative;
        top: 90px;
    }

    .titrepageencoursmobile span {
        padding-left: 20px;
    }

    #logo {
        padding-left: 20px;
        /* on décale le logo sur la page 'Choisir votre CC' */
    }

    /* on augmente la hauteur du header pour que le texte/titre soit visible */
    .container.header-nav.header-noconfig {
        height: 75px;
    }

    .container.header-nav {
        height: 90px;
        position: fixed;
        top: 0;
        background-color: var(--color-white);
        z-index: 1000;
    }

    .bouton-choix {
        font-size: 13px;
        min-width: 90px;
    }

    .image-fluid-cc {
        margin-top: 5px;
        margin-bottom: 0px;
    }

    .navbar.bg-clair {
        background-color: var(--color-white) !important;
    }

    #logo img,
    .navbar-brand img {
        height: 60px;
        max-height: 60px;
    }

    .bouton-choix-cta {
        font-size: 15px;
        font-weight: 400;
        padding: 10px 20px;
    }

    .btn-demande-offre-mobile {
        /* on cache le bouton 'Demande d'offre' par défaut / il apparaitra lorsque l'utilisateur commencera la config */
        /* display: none; */
        font-size: 13px;
    }

    /* le menu déroulant ... */
    .navbar-collapse {
        z-index: 999;
        margin-left: -15px;
        margin-right: -15px;
        padding-left: 25px;
        padding-right: 15px;
        background-color: var(--bg-gray-light);
    }

    .navbar-nav {
        margin-top: 10px;
    }

    .nav-link {
        padding: 0.5rem 1rem;
    }

    .navbar-light .navbar-nav .nav-link {
        color: var(--color-black-80);
    }

    .navbar-light .navbar-nav .nav-item .nav-config-active {
        color: var(--color-black);
        border-bottom: none;
    }

    /* on diminue l'ombre du bloc */
    .border-gris:hover {
        box-shadow: 0 0 8px -3px var(--color-black-80);
    }

    .config-liste-pack-opt,
    .contenu-pack-options {
        padding-left: 0px;
    }

    .config-liste-pack-opt {
        margin-left: 25px;
    }

    .config-label-liste {
        margin-left: 0;
    }

    .colonne-data-config {
        padding-top: 0;
        /* on met un padding assez haut sinon on est gêné par la barre de nav en bas d'écran */
        padding-bottom: 110px;
    }

    .colonne-gauche-data-config {
        height: auto;
        overflow: auto;
    }

    .colonne-gauche {
        padding-left: 10px;
        padding-right: 20px;
    }

    .bloc-recap-entete {
        margin-bottom: 0;
    }

    .bloc-recap-corps {
        padding: 0;
    }

    .bloc-recap-detail {
        margin-left: -15px;
        margin-right: 0;
    }

    .data-recap-titre {
        font-size: 15px;
    }

    .col-12.data-recap-titre {
        padding-bottom: 0;
        padding-top: 10px;
    }

    .data-recap-soustitre,
    .data-recap-valeur,
    .data-recap-prix {
        font-size: 14px;
        padding-bottom: 5px;
    }

    .data-recap-soustitre {
        font-weight: normal;
    }

    .data-recap-valeur {
        font-weight: normal;
    }

    .data-recap-valeur.data-recap-valeur-footer {
        font-weight: bold;
    }

    .data-recap-prix {
        font-weight: bold;
    }

    .bloc-fond-blanc {
        padding-bottom: 5px;
    }

    .titre-recap {
        font-size: 24px;
        margin: 0 0 15px 0;
        line-height: 1.6em;
    }

    .bloc-recap-buttons {
        margin-top: 25px;
        text-align: center !important;
    }

    .blocbtnnavconfigmobile {
        margin-top: 25px;
    }

    .btnsuivconfigmobile,
    .btnsuivrecapmobile {
        float: right;
    }

    .btnprecconfigmobile {
        float: left;
    }

    .btndemandeoffrerecap, .btn-save-projet-recap {
        margin-top: 15px;
        margin-right: 0;
        width: 100%;
    }

    .vmobile .bouton-save-haut {
        margin-right: 0;
    }


}


/* ------------------- format XL ------------------ */
@media (min-width: 1200px) {
    .hmin-150 {
        min-height: 190px;
    }
}


/* ------------------- format ?? ------------------ */
@media (min-width: 1400px) {
    .container {
        max-width: 1360px;
    }
}
