/* **********************************************
 *                  Selects                      *
 ********************************************** */

.selectContainer {
    background: white url("/ressources/images/pictos/fleche_select.png") no-repeat scroll right center;
    border: 1px solid #c8c8c8;
    border-radius: 5px;
    margin: 0 0 10px;
    line-height: 40px;
    text-indent: 5px;
}

.selectContainer.selectInline {
    width:auto;
    display: inline-block;
    margin:0;
}

.selectContainer > select::-ms-expand {
    display: none;
}

.selectContainer > a {overflow: hidden;}
.selectContainer > a.selected,
.selectContainer > select.selected > option[selected],
.selectContainer > select.selected                      {font-weight:bold;}
.selectContainer > select.selected > option             {font-weight:normal;}

.selectContainer > select,
.selectContainer > input,
.selectContainer > a {
    display:block;
    width:100%;
    width:135%\9; /* Masque les fleches des selects sur IE9 et les versions inferieures, l'element parent etant en overflow:hidden; */
    border:0;
    margin:0;
    color:#333;
    box-shadow:none;
    background:transparent;
    background-image:none;
    appearance:none;
    -moz-appearance:none;
    -webkit-appearance:none;
    cursor:pointer;
    line-height: 40px;
    height:40px; /* Hack FF cause line-height doesn't work on select */
    padding-left: 5px;
    padding-right: 25px;
    box-sizing: border-box;
    text-indent: 0;
    outline: none;
}

.selectContainer > select[disabled],
.selectContainer > input[disabled],
.selectContainer > a[disabled] {
    background-color: #efefef !important;
    opacity: 0.5;
    filter: alpha(opacity=50);
    cursor: default;
}

.selectContainer > select > option {
    border-right:1px solid grey;
    text-indent: 5px;
}

.selectContainer > select > option.optGroup {
    font-weight: bold;
    margin-top:10px;
    text-decoration: underline;
}

.selectContainer > select * {line-height:40px;}

/* Selects sous forme de bouton */
.buttonize{
    display: none;
}
.selectSquareContainer{
    display: -webkit-flex;
    display:  -webkit-box;
    display:  -ms-flexbox;
    display:     -moz-box;
    display:flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    margin-right:-12px; /* Pour compenser la marge de chaque elt à l'interieur */
    margin-bottom:12px;
}
.selectSquare{
    border:1px solid #c8c8c8;
    background-color:#e1e1e1;
    padding:11px 8px;
    margin-bottom:10px;
    cursor:pointer;
    margin-right:10px;
    text-align: center;
    border-radius: 3px;
}
.selectSquare:first-child{
    display:none;
}
.selectSquare.active,
.selectSquare.deActivated,
.selectSquare.deActivated:hover{
    background-color: #fff;
    font-weight: bold;
}
.selectSquare:hover{
    background-color: #c8c8c8;
}
.techQuotLabel{
    font-weight:bold;
    margin-bottom: 6px;
    display:block;
}

/* **********************************************
 *                  Inputs                      *
 ********************************************** */
input[type=checkbox], input[type=radio] {
    cursor: pointer;
}

/* Suppression des fleches sur les input number : Chrome */
input::-webkit-inner-spin-button,
input::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin:0;
}

/* Suppression des fleches sur les input number : Opéra */
input::-o-inner-spin-button,
input::-o-outer-spin-button {
    -o-appearance: none;
    margin:0
}

.inputContainer {
    background-color: white;
    border: 1px solid #c8c8c8;
    box-sizing: border-box;
    border-radius: 5px;
    margin: 0 0 10px;
    position:relative;
    /*width:100%;*/
}

.inputContainer.inputInline {
    width:auto;
    display: inline-block;
    margin:0;
}

.inputContainer.inputInline input {
    width:auto;
}

.inputContainer input.selected {font-weight:bold;}

.inputContainer.bold input{font-weight:bold;}

.inputContainer input[type="text"],
.inputContainer input[type="password"],
.inputContainer input[type="email"],
.inputContainer input[type="number"],
.inputContainer input[type="tel"],
.inputContainer textarea {
    appearance:none;
    -moz-appearance:none;
    -webkit-appearance:none;
    background:transparent none;
    border:0;
    box-shadow:none;
    box-sizing: border-box;
    color:#333;
    height: 40px;
    line-height: 40px;
    width:100%;
    padding-left:5px;
    padding-right:5px;
}

.inputContainer textarea {
    height: auto;
    line-height: normal;
}

.inputContainer > input[disabled] {
    background-color: #efefef !important;
    opacity: 0.5;
    filter: alpha(opacity=50);
    cursor: default;
}
.inputContainer .inputUnits {
    right:0;
    top:0;
    position:absolute;
    padding-right: 5px;
    line-height: 40px;
}

.inputContainer .inputUnits ~ input[type="text"],
.inputContainer .inputUnits ~ input[type="number"]{
    padding-right: 30px;
    box-sizing: border-box;
}

.inputContainer input[type="number"] {
    appearance: textfield;
    -moz-appearance:textfield;
    -webkit-appearance:textfield;
}

/* Chrome */
.inputContainer input[type="number"]::-webkit-outer-spin-button,
.inputContainer input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
}

.inputRadio {
    border: 1px solid #c8c8c8;
    border-radius:5px;
    display:inline-block;
    overflow: hidden;
    vertical-align: middle;
}

.inputRadio label {
    background-color: #e1e1e1;
    border-right: 1px solid #c8c8c8;
    box-sizing: border-box;
    color: #333;
    float: left;
    line-height: 40px;
    text-align: center;
    padding:0 15px;
}

.inputRadio span:last-child label {
    border-right:none;
}

.inputRadio label:hover {
    background-color: #c8c8c8;
}

.inputRadio input[type="radio"]:checked + label {
    background-color: white;
    cursor:default;
    font-weight: bold;
}

.inputRadio input[type="radio"] {
    display: none;
}

/* ****************************************************************************************
 *                  Champs doubles (ex. prix min/max, km min/max ...)                     *
 **************************************************************************************** */

.halfSizeFields                                 {overflow: hidden;}
.halfSizeFields > *                             {width: 48%; box-sizing: border-box;}
.halfSizeFields > *:first-child                 {float:left; margin-right: 1%;}
.halfSizeFields > *:last-child                  {float:right; margin-left: 1%;}

/* ****************************************************************************************
 *                                  Gestion des erreurs                                   *
 **************************************************************************************** */

.inputContainer.error,
.selectContainer.error{
    border-color:#a70010 !important;
}
input:required:invalid{
    color:#a70010;
}
.errorMsg{
    position:absolute;
    color:#a70010;
    font-weight: bold;
}
#form_profil .errorMsg{
    margin-top:-5px;
}
