/*
bleu de base    : 2980b9
bleu -10        : 2f92d4
bleu +10        : 236fa1
bleu +20        : 1e5d87
*/
@font-face { font-family: "FontAwesome"; src: url("../../../webfonts/fa-solid-900.eot"); src: url("../../../webfonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../../../webfonts/fa-solid-900.woff2") format("woff2"), url("../../../webfonts/fa-solid-900.woff") format("woff"), url("../../../webfonts/fa-solid-900.ttf") format("truetype"), url("../../../webfonts/fa-solid-900.svg#fontawesome") format("svg"); }

/*
///////////////////////////////////////////
SQUELETTE
///////////////////////////////////////////
*/
body { background:#f0f2f2; margin:0; font-family:Calibri, Arial, sans-serif; /*overflow-y:scroll;*/ }
body, a, .btn, #breadcrumb ul li, .box-tab li, .form-control, select, textarea { font-size:13px; }

body, .table { color:#4e5659; }

a { color:#2f92d4; color:#2573a6; text-decoration:none!important; }
a:hover { color:#67a8d2; }
a:focus, .form-control, .dataTables_wrapper input, .dataTables_wrapper select { outline:none!important; }

.fl { float:left!important; }
.fr { float:right!important; }
.fixed { position:fixed!important;}
.absolute { position:absolute!important; }
.block { display:block!important; }
.min { width:1px!important; white-space:nowrap!important; }
.min20 { width:1px!important; white-space:nowrap!important; padding-left:20px!important; padding-right:20px!important; }
.text-purple { color:#de0aaf!important; }
.block-custom { background:#fcfcfc; padding:6px; }
hr { margin:15px 0!important; }
.border-primary { border:solid 1px #1e5d87!important; }
.pointer { cursor:pointer!important; }

main { opacity:0; }
header { position:fixed; z-index:10; width:100%; padding:0; height:50px; background:#2980b9; color:#fff; }
#logo { float:left; width:220px; height:50px; line-height:50px; background:rgba(0, 0, 0, .1); text-align:center; font-weight:bold; font-size:14px; }
#logo a { color:#fff; height:50px; line-height:50px; display:block; }
#logo a:hover { color:#daf0ff; }
#header-content { padding:0; float:left; }
#hamburger { float:left; height:50px; line-height:50px; padding:0 20px; cursor:pointer; }
#hamburger:hover { background:rgba(255, 255, 255, .1);}

#software-search { float:left; margin:0 0 0 15px; height:28px; line-height:28px; padding:11px 0; position:relative; }
#software-search-icon { float:left; width:28px; height:28px; line-height:28px; text-align:center; padding:1px 0 0 0; margin:0; }
#software-search-icon:hover { background:#2573a6; }
#software-search-icon .spinner-border { width:15px; height:15px; border-width:2px; }
#software-search-content { float:left; }
#software-search-text { border:none; background:rgba(255, 255, 255, .05); width:200px; color:rgba(255, 255, 255, .5); border:solid 1px rgba(255, 255, 255, .1); height:28px; line-height:28px; color:#fff; }
#software-search-text:focus { border-color:rgba(255, 255, 255, .3); }
#software-search-text::placeholder { color:#fff; color:rgba(255, 255, 255, .5); font-size:12px; }
#software-results { position:absolute; top:51px; z-index:10; width:500px; /*height:200px;*/ background:#fff; box-shadow:0 2px 2px rgba(0, 0, 0, 0.1); color:#4e5659; }
#software-results #search-result-nb { padding:0 10px; background:#2980b9; color:#fff; height:39px; line-height:39px; border-bottom:solid 1px #eee; }
#software-results .search-result { margin:0 10px; border-bottom:solid 1px #eee; }
#software-results .search-result a { padding:4px; display:block; }
#software-results .search-result a div { color:#999; font-size:12px; }
#software-results .search-result a:hover { background:#f3f3f3; }

nav { position:fixed; z-index:3; width:220px; height:100%; padding:50px 0 15px; top:0; left:0; background:#fff; }
#nav-user { padding:15px; /*border-bottom:solid 1px #eee;*/ background:#fbfbfb; }
#nav-user-name { font-size:14px; font-weight:bold; }
#nav-user-function { color:#999; font-size:12px; }
#nav-user-logout { font-size:12px; }
#nav-content { }
#nav-content-title { padding:15px; border-bottom:solid 1px #f3f3f3; border-top:solid 1px #f3f3f3; font-weight:bold; }



/* NAV 1er niveau */
#nav-menu { padding:0; /*height:500px;*/ background:#fbfbfb; }
#nav-menu ul, #nav-menu li { list-style:none; margin:0; padding:0; }
#nav-menu a { padding:12px 10px 12px 15px; display:block; color:#4e5659; font-weight:bold; border-right:solid 2px transparent;}
#nav-menu a:hover { background:#f9f9f9; border-right:solid 2px #2980b9; border-right:solid 2px #ccc; }
#nav-menu li.open a { background:#f9f9f9; border-right:solid 2px #ccc; }
#nav-menu li.open ul a { background:none; border-right:none; }
#nav-menu li.active a { background:#f3f3f3; border-right:solid 2px #2980b9; background:#2980b9; color:#fff; }
#nav-menu a i { margin:0 10px 0 0; font-size:14px; }
/*#nav-menu a .arrow { font-size:10px; padding:5px 0 0; content:'\f104'; font-family:"FontAwesome", sans-serif; }*/
#nav-menu a .arrow:before { content:'\f104'; font-family:"FontAwesome", sans-serif; font-size:12px; float:right; }
#nav-menu li.active a .arrow:before { content:'\f107'; font-family:"FontAwesome", sans-serif; font-size:12px; float:right; }



/* NAV 2ème niveau */
#nav-menu li.active ul, #nav-menu li.open ul { display:block; background:#fff; }
#nav-menu li.open ul { display:block; }
#nav-menu li ul { display:none; }
#nav-menu li.active ul a { background:#fff; border-right-color:transparent; }
#nav-menu li ul, #nav-menu li ul li { list-style:none; margin:0; padding:0; }
#nav-menu li ul a, #nav-menu li.active ul a { padding:4px 10px 4px 25px; color:#7b888c; font-weight:normal; border-bottom:none; }
#nav-menu li ul a:hover { background:#f9f9f9; background:none; border-right:solid 2px #2980b9; border-right:solid 2px #ddd; color:#333; }
#nav-menu li ul li.active a { background:none; font-weight:bold; border-right:solid 2px #2f92d4; color:#333; }
#nav-menu li ul li.active a:before { font-family:"FontAwesome", sans-serif; content:'\f061'; font-size:8px; margin:0 5px 0 0; color:#333; }

#nav-menu li.open ul li:last-child a { border-bottom:solid 1px #f3f3f3; }


#breadcrumb { top:50px; height:50px; line-height:50px; width:100%; background:#fff; box-sizing:border-box; position:fixed; z-index:2; border-bottom:solid 1px #e9e9e9; }
#breadcrumb-content { padding:0 15px 0 235px; float:none; clear:both; }
#module-name { float:left; margin:0 30px 0 0; }
/*#module-name:after { content: '\\'; margin:0 0 0 2px; }*/
#breadcrumb ul { float:left; display:inline; margin:0; padding:0; font-size:0; }
#breadcrumb ul li { display:inline; padding:0; }
#breadcrumb ul li:first-child:before{ font-family:"FontAwesome", sans-serif; content: '\f015'; margin:0 5px 0 0; font-size:11px; }
#breadcrumb ul li:after { content: '›'; margin:0 5px; }
#breadcrumb ul li:last-child { font-weight:bold; }
#breadcrumb ul li:last-child:after { content:none; }
#breadcrumb-explain { float:left; text-align:right; margin:0 0 0 30px; color:#7b888c; font-size:12px; }
/*#breadcrumb-explain:before { content: '\\'; margin:0 2px 0 0; }*/
/*#breadcrumb-explain:after { content: '_'; margin:0 0 0 2px; }*/
#breadcrumb-buttons { float:right; }

main { padding:130px 0 0 220px; position:relative; }
#main-content { padding:0 30px; }

#loading-main { width:100%; height:100%; top:0; left:0; position:fixed; background:#f0f2f2; z-index:1; }

/*
///////////////////////
HAMBURGER fermé
///////////////////////
*/
body.nav-close nav { left:-220px; }
body.nav-close #logo { width:70px; }
body.nav-close #header-content { left:-220px; }
body.nav-close #breadcrumb-content { padding-left:15px; }
body.nav-close main { padding-left:0; }


/*
///////////////////////////////////////////
BOX
///////////////////////////////////////////
*/
.box { background:#fff; margin:0 0 30px; box-shadow:0 2px 2px rgba(0, 0, 0, 0.1); }
.box-header { padding:10px 15px; border-bottom:solid 1px #eee; font-weight:bold; font-size:13px; line-height:20px; background:#fafcfc; position:relative; }
.box-header-right { float:right; color:#bbb; position:absolute; top:8px; right:15px; }
.box-header-right i { font-size:12px; line-height:20px; }
.box-body { padding:20px; }
.box-footer { padding:10px; border-top:solid 1px #eee; }

/*
///////////////////////////////////////////
BOX MAXIMISE
///////////////////////////////////////////
*/
.box-fullscreen { position:fixed; z-index:20; box-shadow:0 2px 2px rgba(0, 0, 0, 0.1); }


/*
///////////////////////////////////////////
BOX TAB
///////////////////////////////////////////
*/
.box-tab { background:#fff; margin:0 0 30px; box-shadow:0 2px 2px rgba(0, 0, 0, 0.1); }
.nav-tab {  }
.nav-tab ul, .nav-tab li { list-style:none; margin:0; padding:0; }
.nav-tab ul { padding:0; font-size:0; background:#fbfbfb; }
.nav-tab li { display:inline-block; }
.nav-tab li a { color:#4e5659; display:inline-block; padding:10px 15px; cursor:pointer; border-right:solid 1px #eee; border-bottom:solid 1px #eee; font-weight:bold; font-size:13px; line-height:20px; background:#fafcfc; }
.nav-tab li a:hover { background:#f6f6f6; }
.nav-tab li a.active { border-bottom:solid 1px #fff; background:#fff; color:#2573a6; position:relative; }
.nav-tab li a.active:hover { }
.nav-tab li a.active:after { font-family:"FontAwesome", serif; content: '\f078'; content: '\f107'; content:'\f063'; font-size:10px; position:absolute; width:50%; text-align:center; left:50%; margin-left:-25%; top:30px; }
.nav-tab-content { margin:-1px 0 0; min-height:300px; border-top:solid 1px #eee; padding:20px; }
.nav-tab-pane { display:none; }
.nav-tab-pane.active { display:block; }

.nav-tab-pane-title { padding:0 0 15px; margin:0 0 10px; border-bottom:solid 1px #eee; font-weight:bold; font-size:13px; line-height:20px; }
.nav-tab-pane-title-right { float:right; color:#bbb; }




/*
///////////////////////////////////////////
BTN
///////////////////////////////////////////
*/
.btn { border-radius:0!important; padding:4px 8px; line-height:normal; background:#f9f9f9; border:solid 1px #ddd; color:#4e5659; color:#666; }
.btn:hover, .btn:focus { color:#fff!important; }

/*
.btn-primary { background:#5499C7; border-color:#3e7294!important; color:#fff!important; }
.btn-success { background:#45B39D!important; border-color:#328070!important; color:#fff!important; }
.btn-danger { background:#CD6155!important; border-color:#99483f!important; color:#fff!important; }
.btn-warning { background:#f6b93b!important; border-color:#c28c34!important; color:#fff!important; }
.btn-info { background:#9fbfd1!important; border-color:#78909e!important; color:#fff!important; }
.btn-default { background:#bbbdc4!important; border-color:#8a8c91!important; color:#fff!important; }
*/

.btn-primary.focus, .btn-primary:focus { background:#f9f9f9; border-color:#5499C7; color:#666!important; }
.btn-success.focus, .btn-success:focus { background:#f9f9f9; border-color:#45B39D; color:#666!important; }
.btn-danger.focus, .btn-danger:focus { background:#f9f9f9; border-color:#CD6155; color:#666!important; }
.btn-warning.focus, .btn-warning:focus { background:#f9f9f9; border-color:#f6b93b; color:#666!important; }
.btn-info.focus, .btn-info:focus { background:#f9f9f9; border-color:#9fbfd1; color:#666!important; }
.btn-default.focus, .btn-default:focus { background:#f9f9f9; border-color:#bbbdc4; color:#666!important; }

.btn-primary { border-color:#5499C7!important; }
.btn-success { border-color:#45B39D!important; }
.btn-danger { border-color:#CD6155!important; }
.btn-warning { border-color:#f6b93b!important; }
.btn-info { border-color:#9fbfd1!important; }
.btn-default { border-color:#bbbdc4!important; }

.btn-primary:hover { background:#5499C7; border-color:#3e7294!important; color:#fff!important; }
.btn-success:hover { background:#45B39D!important; border-color:#328070!important; color:#fff!important; }
.btn-danger:hover { background:#CD6155!important; border-color:#99483f!important; color:#fff!important; }
.btn-warning:hover { background:#f6b93b!important; border-color:#c28c34!important; color:#fff!important; }
.btn-info:hover { background:#9fbfd1!important; border-color:#78909e!important; color:#fff!important; }
.btn-default:hover { background:#bbbdc4!important; border-color:#8a8c91!important; color:#fff!important; }
.btn-xs { padding:1px 4px; }
.btn-sm { padding:2px 6px; font-size:12px; }
.btn-md { padding:3px 8px; }




/*
///////////////////////////////////////////
TABLE
///////////////////////////////////////////
*/
.table { margin:0; padding:0; /*overflow-x:auto!important; display:block; width:100%; min-width:100%; white-space: nowrap;*/ }
.table thead, .table tbody, .table tfoot, .table tr { width:100%; white-space: nowrap; }
.table-striped tbody tr:nth-of-type(odd) { background:#fcfcfc; }
.table th, .table td { padding:6px; vertical-align:middle; }
.table.table-hover tbody tr:hover th, .table.table-hover tbody tr:hover td { background:#f3f3f3; }
.table th, .table td { border:solid 1px #eee; }
.table tr:last-child th, .table tr:last-child td { border-bottom:solid 1px #eee; }
.table.table-action th:last-child, .table.table-action td:last-child { width:1px; white-space:nowrap; text-align:right; }
.table th:first-child, .table td:first-child { white-space:nowrap; }
.table.table-simple, .table.table-simple th, .table.table-simple td { border:none!important; }
.table.table-min-height th, .table.table-min-height td { height:45px; }

/*
///////////////////////////////////////////
DATATABLE
///////////////////////////////////////////
*/
/*.dataTables_info, .dataTables_paginate { margin-top:10px!important; }*/
.dataTables_paginate a.paginate_button { cursor:pointer; margin-left:5px; background:#f9f9f9; border:solid 1px #bbbdc4; padding:3px 10px; color:#4e5659!important; display:inline-block; }
.dataTables_paginate a.paginate_button:hover { background:#bbbdc4!important; border-color:#8a8c91!important; color:#fff!important; }
.dataTables_paginate a.paginate_button.current,
.dataTables_paginate .paginate_button.current:hover { background:#2980b9!important; border-color:#5499C7!important; color:#fff!important; cursor:default; }
.dataTables_paginate a.paginate_button.disabled,
.dataTables_paginate a.paginate_button.disabled:hover{ background:#f9f9f9!important; border:solid 1px #bbbdc4!important; color:#4e5659!important; cursor:default!important; opacity:.5!important; }

/*
///////////////////////////////////////////
LOADER
///////////////////////////////////////////
*/
.loader { position:fixed; width:100%; height:100%; top:0; left:0; z-index:997; background:rgba(0, 0, 0, .2); }
.loader-content { width:300px; height:200px; margin:-100px 0 0 -150px; box-shadow:0 2px 2px rgba(0, 0, 0, .1); background:#fff; padding:20px; position:fixed; top:50%; left:50%; z-index:999; text-align:center; /*border-radius:100px;*/ }
.loader-icon { font-size:20px; text-align:center;  color:#2980b9; margin:45px auto 15px; border-width:2px; }
.loader-text { font-size:14px; color:#4e5659; }

/*
///////////////////////////////////////////
DEBUG
///////////////////////////////////////////
*/
.debug-block { width:100%; display:block; }
pre { margin:0; padding:0;  }
pre.debug, .debug-pre { background:#222; color:#eee;  font-family:Consolas, monospace; padding:10px; }
pre.debug .comm, .debug-comment  { color:#45B39D!important; }



.company { font-weight:bold; color:#da2128; }
.pole { font-weight:bold; color:#000; }
.poles, .agencies { margin:0 0 0 20px; }
.pole, .agency { margin:10px 0 0; }




/*
///////////////////////////////////////////
FORMULAIRE
///////////////////////////////////////////
*/
select { border-color:#ced4da!important; width:100%!important; height:32px!important; /*appearance:initial;*/ padding:0 8px!important; }
select, select > * { outline:none!important; }
.form-control, .btn { box-shadow:none!important; }
.form-control, .dataTables_wrapper input { padding:4px 8px; height:32px; border:solid 1px #ced4da!important; }
.form-control::placeholder { color:#bbb; font-size:12px; }
.form-control, select, textarea, select.form-control, .select2, .select2-selection { border-radius:0!important; }
.select2-container--default .select2-selection--single, .select2-selection .select2-selection--single { padding:0!important; height:32px!important; border-color:#ced4da!important; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height:26px; }
.form-check { margin:0; padding:0; }
.select2-dropdown, .select2-search__field { border-radius:0!important; outline:none!important; }
.select2-container--default .select2-selection--single, .select2-selection .select2-selection--single { padding:0 8px; height:32px; line-height:30px; outline:none!important; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height:22px; line-height:22px; outline:none!important; }
.select2-container--focus, .select2-container--focus *, .select2-container--focus > *, .select2-container--default.select2-container--focus .select2-selection--multiple, .select2-container--default.select2-container--focus .select2-selection--single, .select2-container--default.select2-container--open .select2-selection--multiple, .select2-container--default.select2-container--open .select2-selection--single {border-color:#ced4da!important; box-shadow:0 0 0 0 #fff!important;border-radius:0!important; outline:none!important; }
.select2-search, .select2-container--default .select2-search--dropdown .select2-search__field { border-radius:0!important; padding:4px; box-shadow:0 0 0 0 #fff!important; outline:none!important; }
.select2-container--default .select2-selection--single, .select2-selection .select2-selection--single { height: calc(2.25rem + 2px); padding:0; line-height: calc(2.25rem + 2px); outline:none!important;}
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height:32px; padding:0 8px; height:32px; outline:none!important; }
.select2-container--default .select2-selection--single .select2-selection__arrow { top:6px; right:6px; outline:none!important;}
.select2-results__option { padding:4px; }
.select2-container--default .select2-results__option--highlighted[aria-selected] { background:#2980b9!important; }


/*
///////////////////////////////////////////
CHECKBOX et BOUTON RADIO
///////////////////////////////////////////
*/
/* https://la-cascade.io/astuces-css-avec-checkbox/ */
input[type="checkbox"], input[type="radio"] { position: absolute; left: -9999px; }
.radio, .checkbox { display: inline-block; position: relative; margin: 0 0; padding-left: 25px; min-height:18px; }
.radio-notext, .checkbox-notext { padding-left: 16px; min-height:16px; }
.radio::before, .radio::after, .checkbox::before, .checkbox::after { content: ''; position: absolute; top: 0; left: 0; background:linear-gradient(#f3f3f3, #fff); }
input[type="radio"] + .radio::before,input[type="radio"] + .radio::after{ border-radius: 50%; }
/* Bordure de base */
.radio::before, .checkbox::before { display: block; width: 16px; height: 16px; border: 1px solid #666; }
.radio::after, .checkbox::after { display: none; width: 16px; height: 16px; line-height: 16px; margin: 0; text-align:center; background:#2980b9!important; font-size: 8px; }
input:checked + .radio::after, input:checked + .checkbox::after { display: block; font-family:'FontAwesome', sans-serif !important; content: "\f00c"; font-weight:600; color:#fff; font-size:8px; }
/* Hover */
.radio:hover::before, .checkbox:hover::before { border-color: #1e5d87; }
/* Contour et fond des boutons radio et checkbox désactivés */
input[type="checkbox"]:disabled + label::before, input[type="checkbox"]:disabled + label::after { border-color: #ccc!important; background:#fff; }
/* Couleur de coche des boutons radio et checkbox désactivés mais cliqués */
input:disabled:checked + .radio::after, input:disabled:checked + .checkbox::after { background-color: #2980b9!important; }
/* cliqué et hover */
input:checked:hover + .radio::before, input:checked:hover + .checkbox::before, input:checked:hover + .radio::after, input:checked:hover + .checkbox::after { border-color: #1e5d87!important; }
/* cliqué mais pas hover */
input:checked + .radio::before, input:checked + .checkbox::before, input:checked + .radio::after, input:checked + .checkbox::after { border-color: #2980b9!important; }


.dataTables_wrapper select { width:auto!important; padding:0 3px!important; height:24px!important; }

.table th, .table td { vertical-align:middle!important; }

.table-bordered thead td, .table-bordered thead th,
.table-bordered.datatable thead td, .table-bordered.table-bordered thead th { border-bottom-width:2px!important; border-bottom-color:rgb(222, 226, 230) !important; }

/*.js-add-proposition { overflow:hidden; }*/
.js-add-proposition .proposition-icon { position:absolute; top:14px; left:14px; }
.js-add-proposition i { font-size:28px; /*transform: rotate(-15deg); overflow:hidden;*/ }