/*    *******************

         GENERAL 

      ****************** */

body {
    margin : 0px;
    font-family: Helvetica, Verdana, Arial, sans-serif;
    font-weight: normal;
    overflow-x: hidden;
    box-sizing: border-box;
}

h1 {
    font-size: 1.8em;
    color: #0D46A8;
    font-weight: bold;
    font-size: 2em;
    line-height: 1.4em;
    padding: 27px 0px;
}

h2 {
    font-weight: bold;   
    margin-top: 30px;
    margin-bottom: 52px;
    color: #132D4D;
    text-align: center;
}

/* liens */
a {
    color: #0D46A8;
    text-decoration: none;  
}
a:hover {
    font-weight: bold;
    /*text-decoration: underline;*/ 
}

/* table */
table {
    border-spacing: 0px;
    margin-left: auto;
    margin-right: auto;
    font-size: 15px;
}

table thead th {
    background-color: #0D46A8;
    color: white;
    border: none;
    border-bottom: 1px solid #132D4D;
    line-height: 22px;
    text-align: center;
    padding: 12px;
    font-weight: 700;
    font-size: 16px;
}

table td {
    border: none;
    border-bottom: 1px solid #132D4D;
    padding: 12px;
    text-align: center;
}

table td:first-child {
    background-color: #F3F5FF;
    color: #202020;
    font-weight: 700;
    text-align: left;
    border-left: 1px solid #132D4D;
}

table td:last-child {
    border-right: 1px solid #132D4D;
}
.tdRightAlign {
    text-align: right;
    padding-right: 20px;
}

.tdLeftAlign {
    text-align: left;
    padding-left: 20px;
}

.green {
    color: green;
}

.red {
    color: red;
}

.two_col {
    display: flex;
}

dialog {
    border-width: 1px;
}

dialog .two_col div {
    flex: 8;
}

dialog .two_col div:nth-child(2) {
    flex: 1;
    text-align: right;
}

/*   ***************   HEADER   **************    */

/* Contained header */
header {
    width: 100%;
    height: 83px;
    background-color: #0D46A8;
    position: fixed;
    top: 0;
}
.s-header {
    width: 75%;
    margin: auto;
    display: flex;
    justify-content: space-between;
}
.logo {
    height: 70px;
    width: 190px;
    margin-top: 10px;
}
.logo img {
    width: 100%;
}
.username {
    margin-top: 15px;
    color: white;
}

/*    **********  MAIN MENU  ***************** */

.menu-icon {
    visibility: hidden;
}
/* container of main menu right aligned */
nav {
    margin-top: 14px;
}
/* menu sans puce */
nav ul {
    list-style-type: none;
    display: flex;
}
/* main menu items */
nav ul li {
    margin-left: 30px;
    margin-top: 10px;
    font-size: 1em;
    font-weight: normal;
    color: white;
    padding-bottom: 14px;
}
/* show submenu if hovering on main menu item */
nav > ul li:hover .submenu {
    display: block;
}
nav > ul li:hover {
    color: white;
    cursor: pointer;
}
/* check for main menu item with submenu */
.with_item::after {
    content: '⌵';
    font-size: 0.8em;
    padding: 2px;
}
/* Contained submenu */
.submenu {
    background-color: white;
    position: absolute;
    margin-top: 14px;
    padding-left: 0px; 
    padding-right: 10px;
    transition: all 0.5s ease-out;
    z-index: 2;
    display: none;
}

/* submenu item */
.submenu li {
    text-align: left;
    margin: 0px;
    padding: 15px 20px 15px 18px;
    color: #0C0D10;
}
.submenu li:not(:last-child) {
    border-bottom: 1px solid #EFEEEE;
}
.submenu li:hover {
    background-color: #F3F8FF;
}
.disable {
    cursor: default;
    color: gray;
}

.lang_menu {
    display: flex;
    width: 110px;
    justify-content: space-around;
}
.lang_menu a {
    border-left: 1px solid;
    padding-left: 6px;
    padding-right: 6px;
    color: white;
}
.lang_menu a:first-child {
    border-left: none;
}

/* ****************  FOOTER  ****************** */
.sn-logos {
    width: 75%;
    margin-left: auto;
    margin-right: auto;
}
.sn-logos img {
    width: 30px;
    height: 30px;
}
footer {
    clear: both;
    background-color: #EEE;
    color: #3A3A3A;
    height: 50px;
    text-align: center;
    font-size: 0.9em;
    padding-top: 30px;
}

/* ******************************  

    CLASSICAL PAGE 
    
    ****************************  */
.page {
    margin-top: 83px;
    margin-bottom: 30px;
    margin-left: auto;
    margin-right: auto;
    width: 75%
}
.page .title {
    background-color: #0D46A8;
    margin-left: -16.66%;
    margin-right: -16.66%;
    padding-left: 16.66%;
    padding-right: 16.66%;  
}
.page .title h1 {
    color: white;
}
.page hr {
    width: 100%;
    padding-left: 5px;
    padding-right: 5px;
    color: #A0A883;
}

.page img {
    width: 100%;
    height: 120px;
    max-width: 322px;
}

.page p {
    text-align: justify;
    color: rgb(102,102,102);
    line-height: 1.8em;
}

.page .col-container {
    padding-top: 30px;
    display: flex;
    justify-content: space-between;
}
.page .twocol {
    width: 47%;
}
.page .twocol h1 {
    margin-top: 0;
}


.page .prec {
    float: left;
}
.page .suiv {
    text-align: right;
}
.page .error {
    color: red;
    margin-bottom: 5px; 
    margin-left: 10px;
}
.page .result-ok {
    color: green;
    font-weight: bold;
    margin-bottom: 5px;
}

.page li {
    color: rgb(102, 102, 102);
}

.page strong {
    color: red;
}

.page figure {
    margin-left: auto;
}
.page .icons-3 {
    display: flex;
    justify-content: space-around;
    list-style: none;
}
.page .icons-3 li {
    text-align: center;
    margin-left: 30px;
    margin-right: 30px;
}

.page .icons-3 li i {
    color: #0D46A8;
}

/*   *********************************

    HOME

    ********************************** */

.home strong {
    font-weight: normal;
    color: red;
}    
.home .block2 {
    background-color: #F5F8FA;
    padding-top: 15px;
    padding-bottom: 15px;
    margin-left: -16.66%;
    margin-right: -16.66%;
    padding-left: 16.66%;
    padding-right: 16.66%;  
}

.home .button {
    background-color: #0D46A8;
    color: white;
    border: 1px solid #0D46A8;
    border-radius: 8px;
    padding: 8px 15px;
    width: 100px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 41px;
}

.home p {
    font-size: 21px;
    text-align: center;
    line-height: 24px;
}

.number-circled {
    display: inline-block;
    width: 21px;
    height: 25px;
    font-size: 20px;
    font-weight: bold;
    background-color: #0D46A8;
    color: white;
    border: 1px solid;
    border-radius: 50%;
    padding: 1px 0 0 10px;
    margin-right: 8px;
}
.contain-number-circled {
    display: flex;
    justify-content: center;
}
/* *************************

    DASHBOARD PAGE

****************************/

.dashboard table {
    width: 100%;
    margin-top: 7px;
}

.dashboard .addNos {
    margin-bottom: 2px;
    border: 1px solid #0D46A8;
    color: #0D46A8;
    border-radius: 12px;
    cursor: pointer;
    margin-right: 12px;
}

.dashboard .label-file {
    display: inline-block;
    border: 1px solid #0D46A8;
    color: #0D46A8;
    padding: 4px;
    cursor: pointer;
    border-radius: 8px;
}
.dashboard .label-file:hover {
    background-color: rgba(0, 0, 0, 0.08);
}
.suite {
    display: none;
    position: relative;
}
.suite button {
    margin-bottom: 5px;
}
.suite label {
    width: 420px;
    margin-top: 10px;
}
.suite span {
    width: 100px;
    display: inline-block;
    text-align: right;
}

.dashboard table thead tr th {
    position: relative;
} 
.dashboard table thead tr th.sorting:before {
    content : '\f0d7';
    font-family: FontAwesome;
    position: absolute;
    left: 10px;
}
/* **************************

    FAQ  PAGE

*****************************/
table.table-format td {padding: 0}
table.table-format tr:nth-child(2n) {background: #CCC}


/* *****************************

    FORM ITEMS

    ****************************** */
form input[type=text], input[type=password], input[type=email] {
    font-size: inherit;
    color: inherit;
    width: 180px;
    height: 1.8em;
    border-radius: 8px;
    border: 1px solid #bbb;
    padding: 2px 2px 2px 5px;
}
form button, .page button {
    background-color: transparent;
    border: 1px solid #0D46A8;
    color: #0D46A8;
    height: 40px;
    border-radius: 8px;
    display: block;
    margin-left: 400px;
    margin-top: 20px;
    cursor: pointer;
    font-size: 16px;
}
form button:disabled, .page button:disabled {
    color: gray;
    border: 1px solid gray;
}
form button:enabled:hover, .page button:enabled:hover {
    background-color:rgba(0, 0, 0, 0.08);
}
form button:disabled:hover, .page button:disabled:hover  {
    cursor: default;   
}
form label {
    color: inherit;
    display: inline-block;
}
form select {
    display: inline-block;
    font-size: inherit;
    color: inherit;
    height: 1.8em;
    border: 1px solid #bbb;
    padding: 2px;
    border-radius: 5px;
    margin-left: 20px;
}
.oblig {
    color: red;
}
.line {
    margin-top: 11px;
}
input.cc {
    width: 40px;
}


/* *************************

    ACCOUNT CREATION

    ************************ */
.creation-account {
    font-size: 1.2em;
    color: rgb(102, 102, 102);
}
.creation-account line {
    margin-top: 7px;
}
.creation-account label {
    width: 300px;
}
.creation-account input {
    width: 270px;
}
.creation-account input.cc {
    width: 40px;
}
.creation-account input.vatN {
    width: 216px;
}
.creation-account select {
    margin-left: 0;
    width: 270px;
}
.creation-result {
    margin-bottom: 10px;
}
.creation-result label {
    width: 220px;
}
.creation-result span {
    font-weight: bold;
}
.creation-result div {
    display: flex;
}
.creation-rgpd {
    font-style: italic;
}
/* **************************

    CONNEXION 

    ************************* */
.connexion {
    font-size: 1.2em;
    color: rgb(102, 102, 102);
    width: 500px;
    margin: auto;
}
.connexion label {
    width: 200px;
}
.connexion input[type=text] {
    width: 200px;
    font-size: 16px;
}
.connexion button {
    margin: auto;
    margin-top: 20px;
}
.connexion p {
    font-size: 0.8em;
    text-align: center;
}
/* *************************

    PROFILE

    ************************ */
.pwd-modif label {
    width: 300px;
}

/* *******************************

    CONTACT FORM
    
    ******************************  */

.contact    .oblig {
        color: red;
    }
.contact    label {
        font-weight: bold;
        font-size: 1em;
        display: inline-block;
        margin-bottom: 4px;
    }
    
.contact    .soustitre {
        font-size: 0.7em;
    }
.contact    input[type=text] {
        font-size: 1em;
        height: 2em;
        padding: 6px 10px 6px 10px;
        border: 1px solid #ccc;
        box-sizing: border-box;
        width: 100%;
    }
.contact    form .block1 {
        float: left;
        width: 48%;
    }
.contact    form .block2 {
        float: left;
        width: 48%;
        margin-left: 4%;
    }
.contact    form .fieldrow {
        clear: both;
        margin-top: 15px;
        margin-bottom: 4px;
    }
.contact    form .half {
        width: 60%;
    }
.contact    textarea {
        width: 100%;
        height: 9em;
    }
.contact   button[type=submit] {
        background-color: #eee;
        border: 1px solid #ddd;
        color: #333;
        font-size: 1em;
        padding: 10px 15px;
        cursor: pointer;
    }

/*  Smartphones */
@media (max-width: 734px) {
    header {
        height: 56px;
    }
    nav {
        margin-top: 2px;
    }
    .menu-title {
        visibility: hidden;
    }
    .menu-icon {
        visibility: visible;
    }
    .with_item {
        width: 30px;
    }
    .lang_menu {
        flex-direction: column;
        width: 30px;
    }
    nav > ul {
        padding: 0;
        margin: 10px 0 0 0;
    }
    nav ul li {
        margin-left: 17px;
    }
    nav > ul li.lang_menu:hover a {
        visibility: inherit;
    }
    .lang_menu {
        margin-top: 0;
    }
    .lang_menu a:first-child:after {
        content: ' ⌵';
    }
    .lang_menu a:not(:first-child) {
        visibility: hidden;
    }
    .margin {
        height: 56px;
    }
    .page {
        padding-top: 60px;
    }
    .page h1 {
        font-size: 1em;
        margin: 10px 0px;
    }
    /* delete two columns show */
    .page .col-container {
        display: inherit;
    }
    .page .twocol {
        width: 100%;
    }
    .home a {
        font-size: 0.8em;
    }
    .title {
        height: 70px;
    }
    .title .text {
        font-size: 1em;
        top: 96px;
        left: 20px;
        padding: 13px 15px;
        width: 228px;
    }
    .title a {
        font-size: 0.6em;
        top: 173px;
        left: 20px
    }
}
