/******************************************************** COMMUN ******************************************************/
svg {
    display: inline-block;
    fill: currentColor;
    height: 1em;
    line-height: 1;
    stroke: currentColor;
    vertical-align: middle;
    width: auto;
}

svg:not(:root) {
    overflow: hidden;
}

select {
    min-width: auto !important;
    text-indent: 2px;
}

input[type="checkbox"] {
    appearance: none;
    position: relative;
    border-radius: 3px;
    padding: 0 !important;
    margin: 4px 0 0 0 !important;
    border: 1px solid #696969;
    background: transparent;
    min-width: 1.5rem;
    width: 1.5rem;
    height: 1.5rem;
    line-height: 1;
}

input[type="checkbox"]::before {
    position: absolute;
    width: 100%;
    height: 100%;
    text-align: center;
    white-space: pre;
    content: " ";
}

input[type="checkbox"]:checked {
    border: 1px solid #568CAB;
}

input[type="checkbox"]:checked::before {
    background: #568CAB;
    color: #fff;
    content: "\2713";
    font-weight: 700;
}

@-ms-viewport {
    width: device-width;
}

/******************************************************** HEADER ******************************************************/
header[data-custom] {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 10;
    margin-bottom: 0;
    height: 82px;
}

header[data-custom] .header {
    background-color: #f9f9f9;
    position: relative;
    height: 82px;
    box-shadow: 2px 2px 4px rgba(158, 158, 158, 0.3);
    padding-left: 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

header[data-custom] .header .logo {
    width: auto !important;
    height: 82px;
}

header[data-custom] .header .logo img {
    max-width: 100%;
    max-height: 100%;
    padding-bottom: 15px;
}

header[data-custom] .header ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin-bottom: 0;
    list-style: none !important;
    padding: 0 !important;
}

header[data-custom] .header ul li {
    margin-right: 5px;
    height: 82px;
}

header[data-custom] .header ul li:nth-last-of-type(1) {
    margin-right: 0;
}

header[data-custom] .header ul li a {
    display: block;
    line-height: 78px;
    background-color: transparent;
    -webkit-transition: all 0.4s;
    transition: all 0.4s;
    padding: 0 10px;
    outline: none;
    font-size: 1.7rem;
    text-decoration: none;
    color: #696969;
    margin: 0 20px 0 20px;
    font-weight: 600;
    position: relative;
    height: 78px;
}

header[data-custom] .header ul li a:hover,
header[data-custom] .header ul li a:focus,
header[data-custom] .header ul li a:active {
    color: #568CAB;
    margin-bottom: 4px;
}

header[data-custom] .header ul li a::after {
    content: "";
    display: block;
    width: 0;
    height: 3px;
    background: #568CAB;
    transition: width .2s;
}

header[data-custom] .header ul li a:active {
    content: "";
    display: block;
    transition: width .2s;
}

header[data-custom] .header ul li a:hover::after {
    width: 100%;
    margin-bottom: 4px;
}

/************************************************** HEADER - RESPONSIVE ***********************************************/
@media only screen and (max-width: 767px) {
    header[data-custom] .header {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: center;
        padding: 0;
    }

    header[data-custom] .header .logo {
        text-align: center;
    }

    header[data-custom] .header .logo img {
        max-width: 80%;
        padding: 0;
    }

    header[data-custom] .header ul li a {
        margin: 0 10px 0 10px;
        font-size: 1.3rem;
    }
}

@media only screen and (max-width: 599px) {
    header[data-custom] .header ul {
        display: none;
    }
}

/************************************************ PORTAIL HORS CONNEXION **********************************************/
div[data-custom].connexion {
    box-shadow: 2px 2px 12px 0 #ded9d9;
    background: #f9f9f9;
    padding: 20px;
    font-weight: 100;
    position: relative;
    color: #568CAB;
}

div[data-custom] .eserviceheader {
    padding: 0;
    background-size: 100% 100%;
    margin-bottom: 0;
    min-height: 100px;
    box-sizing: border-box;
    color: #568CAB;
}

div[data-custom] .eserviceheader div {
    margin: 0;
    position: inherit;
    padding: 10px 0;
    line-height: 4rem;
    text-align: center;
}

div[data-custom] .eserviceheader div span {
    font-weight: 700;
    font-size: 4rem;
    color: #5f6061;
    text-align: center;
    margin: 20px;
    padding: 10px;
    display: block;
}

div[data-custom] .eserviceheader div span::after {
    content: '';
    background-color: #E9AC00;
    height: 3px;
    width: 80px;
    display: block;
    margin: 15px auto;
    box-sizing: border-box;
}

div[data-custom] .eservicebody {
    text-align: center;
    display: grid;
    grid-template-columns: 40% auto;
    width: 100%;
    margin: auto;
    box-shadow: 0 0 14px -3px #bfbaba;
}

div[data-custom] .eservicebody .informations {
    margin: auto;
    background-color: #568CAB;
    font-size: 1.7rem;
    display: block;
    padding: 8%;
    height: 100%;
    width: 100%;
}

div[data-custom] .eservicebody .informations img {
    width: 5vw;
    background-color: white;
    border-radius: 10px;
    box-shadow: 2px 2px 8px #15181F;
    padding: 10px;
    margin: 0 auto 5% auto;
}

div[data-custom] .eservicebody .informations ul {
    padding: 0;
}

div[data-custom] .eservicebody .informations ul li {
    color: white;
    text-align: left;
    margin: 10px 0;
}

div[data-custom] .eservicebody .authentification {
    border-right: solid 1px #dbdcd7;
    text-align: center;
    font-size: 1.7rem;
    padding: 5%;
}

div[data-custom] .eservicebody .authentification {
    border-right: solid 1px #dbdcd7;
    padding: 5%;
    text-align: center;
}

div[data-custom] .eservicebody .authentification {
    border-right: solid 1px #dbdcd7;
    padding: 5%;
    text-align: center;
}

div[data-custom] .eservicebody .authentification div:first-child {
    position: relative;
    margin-bottom: 20px;
    display: block;
    width: 100%;
}

div[data-custom] .eservicebody .authentification div:first-child span {
    font-size: 25px;
    font-weight: 400;
    display: inline-block;
}

div[data-custom] .eservicebody .authentification div:first-child span::after {
    content: '';
    width: 10%;
    display: block;
    height: .5vh;
    background-color: #568CAB;
    margin: 2% auto 0 auto;
}

div[data-custom] .eservicebody .authentification a {
    display: inline-block;
    font-family: "Overpass Thin", Regular, Arial, sans-serif;
    text-decoration: none;
    text-decoration-thickness: auto;
    width: 35%;
    font-weight: 200;
    min-width: 150px;
    background: #568CAB;
    color: white !important;
    text-align: center;
    padding: 10px;
}

div[data-custom] .eservicebody .authentification div:last-child {
    margin-top: 5%;
    color: #38414b;
}

div[data-custom] .eservicebody .authentification div:last-child span {
    color: #38414b;
    text-align: center;
    display: inline;
}

div[data-custom] .eservicebody .authentification div:last-child a {
    color: #568CAB !important;
    text-decoration: none;
    background: transparent !important;
    text-decoration: underline;
    display: inline;
    border: none;
}

/***************************************** PORTAIL HORS CONNEXION - RESPONSIVE ****************************************/
@media only screen and (max-width: 1023px) {
    div[data-custom] .eservicebody {
        display: flex !important;
        flex-direction: column-reverse;
    }

    div[data-custom] .eservicebody .informations img {
        width: 15vw;
    }
}

@media only screen and (min-width: 1024px) {
    div[data-custom] .eservicebody {
        width: 80%;
    }
}

/******************************************************** FOOTER ******************************************************/
footer[data-custom] {
    font-style: normal;
    background-color: #15181F;
    padding: 50px;
    position: relative;
    overflow: hidden;
    bottom: 0;
    left: 0;
    width: 100%;
}

footer[data-custom] .container {
    position: relative;
    margin: 0 auto;
}

footer[data-custom] .container:last-of-type {
    top: 25px;
}

footer[data-custom] .container .row {
    display: flex;
    flex-wrap: wrap;
    background: transparent !important;
    justify-content: center !important;
    text-align: left !important;
    position: relative;
    margin: 0 -15px;
    z-index: 11;
}

footer[data-custom] .container:after,
footer[data-custom] .container .row:after {
    clear: both;
}

footer[data-custom] .container ul {
    display: flex;
    padding-left: 0;
    margin-bottom: 0;
    list-style: none;
    justify-content: center !important;
}

footer[data-custom] .container ul li a {
    display: block;
    padding: 0.5rem 1rem;
    color: #fff !important;
    text-decoration: none;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
    font-size: 1.7rem;
    margin-bottom: 0;
}

footer[data-custom] .container ul li a:hover,
footer[data-custom] .container ul li a:focus {
    color: #E9AC00 !important;
    text-decoration: none;
}

footer[data-custom] .canvas {
    background: white;
    position: absolute;
    right: 0;
    top: 0;
    width: 30%;
    height: 100%;
    z-index: 10;
}

/************************************************* FOOTER - BLOC GAUCHE ***********************************************/
footer[data-custom] .container .row .row-left {
    margin-bottom: 0 !important;
    flex: 0 0 auto;
    width: 25%;
}

footer[data-custom] .container .row .row-left img {
    width: auto;
    display: block;
    margin: auto;
}


/************************************************* FOOTER - BLOC CENTRE ***********************************************/
footer[data-custom] .container .row .row-center {
    margin-bottom: 0 !important;
    color: #fff !important;
    flex: 0 0 auto;
    width: 40%;
}

footer[data-custom] .container .row .row-center-grid {
    display: grid;
    grid-template-columns: 50% 50%;
    width: 100%;
}

footer[data-custom] .container .row .row-center-grid > *,
footer[data-custom] .container .row .row-center-link {
    padding-bottom: 35px !important;
}

footer[data-custom] .container .row .row-center p.title {
    font-weight: bold;
    font-size: 2.3rem;
    color: #fff !important;
}

footer[data-custom] .container .row .row-center p,
footer[data-custom] .container .row .row-center a {
    color: #fff !important;
    display: block;
    font-size: 1.7rem;
}
footer[data-custom] .container .row .row-center a:hover,
footer[data-custom] .container .row .row-center a:focus {
    color: #E9AC00 !important;
}

footer[data-custom] .container .row .row-center ul {
    justify-content: left !important;
}

footer[data-custom] .container .row .row-center ul li a {
    font-size: 2.6rem;
    padding: 0 15px;
}

footer[data-custom] .container .row .row-center a.newsletter {
    display: inline-grid !important;
    grid-template-columns: calc(100% - 78px) auto;
    background-color: transparent;
    border: 1px solid #fff;
    border-radius: 3px;
    color: #fff !important;
    padding: 0.875rem 1.875rem;
    text-transform: uppercase;
    transition-duration: .3s;
    transition-property: background-color, border-color, box-shadow, color, transform;
    margin: 0 !important;
    font-size: 1.5rem;
    line-height: 1.7rem;
}

footer[data-custom] .container .row .row-center a.newsletter span {
    position: relative;
}

footer[data-custom] .container .row .row-center a.newsletter span:last-of-type {
    margin-left: 50px !important;
    text-align: right;
    font-size: 3.4rem;
    top: -2px;
}

footer[data-custom] .container .row .row-center a.newsletter:hover,
footer[data-custom] .container .row .row-center a.newsletter:focus {
    color: #E9AC00 !important;
    text-decoration: none;
}

/************************************************* FOOTER - BLOC DROITE ***********************************************/
footer[data-custom] .container .row .row-right {
    margin-bottom: 0 !important;
    flex: 0 0 auto;
    width: 35%;
}

footer[data-custom] .container .row .row-right img {
    width: 100%;
    display: block;
    margin: auto;
}

/************************************************** FOOTER - RESPONSIVE ***********************************************/
footer[data-custom] .container {
    width: 100%;
}

@media only screen and (max-width: 1024px) {
    footer[data-custom] .container .row .row-left,
    footer[data-custom] .container .row .row-center,
    footer[data-custom] .container .row .row-right {
        width: 100%;
        text-align: center;
        padding-bottom: 2rem;
    }

    footer[data-custom] .container ul {
        width: 100%;
        text-align: center;
        flex-direction: column;
    }

    footer[data-custom] .container .row ul {
        flex-direction: row;
    }

    footer[data-custom] .container .row .row-center ul {
        justify-content: center !important;
    }

    footer[data-custom] .container .row .row-right img {
        padding-top: 3rem;
    }
}

@media only screen and (max-width: 1199px) {
    footer[data-custom] {
        padding-top: 50px;
    }

    footer[data-custom] .logo {
        width: 100%;
        margin-bottom: 35px;
        text-align: center;
        margin-right: 0;
        padding-right: 0;
    }

    footer[data-custom] .container .row .row-right,
    footer[data-custom] .canvas {
        display: none;
    }
}

@media only screen and (max-width: 767px) {
    footer[data-custom] .container .row .row-center-grid {
        grid-template-columns: 100%;
    }


    footer[data-custom] .container .row .row-center a.newsletter {
        text-align: left;
    }
}

/************************************************ AJUSTEMENTS - EXTRANET **********************************************/
header#header {
    height: 82px;
}

footer#footer, h1.home, li[id^="menucustom"] {
    display: none !important;
}

label[for="choix_eleve"] {
    font-size: 14px !important;
    min-width: auto !important;
    width: auto !important;
    height: 24px !important;
    margin: 0 !important;
    padding: 2px 5px;
    border-radius: 3px 0 0 3px;
    z-index: 1;
}

select#choix_eleve {
    font-size: 14px !important;
    width: 60% !important;
    height: 24px !important;
    margin: 0 !important;
    position: relative;
    text-indent: 3px;
    left: -3px;
}

#main.nonconnecte div.espace_h60 {
    display: none !important;
}

#main.nonconnecte div.txtc.flex_centre:last-of-type {
    margin-bottom: 20px;
}

#contenucentral nav {
    border-top: none !important;
}

nav.navbar {
    margin-top: 4px !important;
}

nav.navbar div ul li span {
    text-align: center !important;
    display: grid !important;
    place-items: center;
    top: 0 !important;
    height: 100%;
}

nav.navbar div ul li:not(.arrowlevel) {
    height: auto !important;
    width: 100% !important;
}

nav.navbar div ul.opensecondlevel {
    top: 62px !important;
    left: -104px !important;
}

nav.navbar div ul.opensecondlevel li.arrowlevel {
    top: -13px !important;
}

nav.navbar div ul.opensecondlevel li > span {
    place-items: baseline;
}

[id^="sousmenu"] button.btn-basic {
    padding: 10px 20px;
    margin: 10px 20px;
    width: 180px;
}

[id^="sousmenu"] button.btn-basic:hover,
[id^="sousmenu"] button.btn-basic-active,
[id^="sousmenu"] button.btn-basic-active:hover {
    padding: 10px 20px;
    margin: 10px 20px;
    width: 180px;
}

.btn-fleche { padding: 5px 10px !important; }
.dataTables_scrollHeadInner { height: 30px !important; }
.dataTables_scrollHead thead tr td { padding: 5px 0 !important; }
tr.obligatoire > td, label.obligatoire > span { padding: 3px 5px; }
tr.obligatoire > td, label.obligatoire > span:after {
    position: relative;
    display: inline-block;
    line-height: 1rem;
    font-size: 2rem;
    content: ' *';
    right: -2px;
    top: 2px;
}

button[id*="btn_popin_doc"] {
    background-color: transparent !important;
    padding: 5px 10px !important;
}

.dataTable button[class*="btn-"] {
    width: calc(100% - 10px) !important;
    margin: 0 !important;
}

#bloc_choix_reinscription div.w300 {
    width: 320px;
}

@media only screen and (max-width: 599px) {
    #contenucentral nav.navbar {
        border: none !important;
        padding-top: 0 !important;
        height: 53px !important;
    }

    #contenucentral nav.navbar #navbar {
        position: fixed !important;
        transition: height 0.3s ease-in-out 0s;
        width: 100% !important;
        height: 0 !important;
        z-index: 10 !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    #contenucentral nav.navbar #navbar.collapse.in {
        height: 100% !important;
    }

    #contenucentral nav.navbar #navbar ul {
        border: 1px solid rgba(158, 158, 158, 0.3);
        box-shadow: 2px 2px 12px rgba(158, 158, 158, 0.3);
        height: calc(100vh - 110px) !important;
        width: calc(100% - 40px) !important;
        padding: 0 !important;
        margin: auto !important;
    }

    #contenucentral nav.navbar #navbar ul li {
        margin: 0 !important;
    }

    #contenucentral nav.navbar #navbar ul li span {
        display: block !important;
        padding: 10px !important;
        margin: 0 !important;
        text-align: left !important;
        text-indent: 20px;
    }

    #contenucentral nav.navbar #navbar ul li[id^="menucustom"] {
        display: block !important;
    }

    #contenucentral nav.navbar #navbar ul li[id^="menucustom"] a {
        line-height: inherit !important;
        padding: 0 !important;
        height: 100% !important;
    }

    #contenucentral nav.navbar #navbar ul li[id^="menucustom"] a span {
        margin: 0 !important;
    }

    #contenucentral nav.navbar button.navbar-toggle {
        z-index: 10 !important;
        position: fixed !important;
        top: 15px !important;
        left: 10px !important;
        margin: 0 !important;
    }

    #contenucentral nav.navbar .navbar-header-entete {
        border: none !important;
    }

    #contenucentral .accueil_prenom {
        top: 82px !important;
    }

    tr.obligatoire > td, label.obligatoire > span {
        padding: 1px 2px;
    }

    tr.obligatoire > td, label.obligatoire > span:after {
        right: -1px;
        top: 4px;
    }
}

/*************************************************** COULEURS MENUS ***************************************************/
nav.navbar,
nav.navbar div ul.opensecondlevel {
    box-shadow: 2px 2px 4px rgba(158, 158, 158, 0.3);
}

nav.navbar div ul li span {
    border-right: 1px solid #e7e7e7 !important;
    border-bottom: 3px solid #fff !important;
}

nav.navbar div ul.opensecondlevel li.secondlevel > span {
    border-color: transparent !important;
}

nav.navbar div ul li span:hover,
nav.navbar div ul li:hover ul.opensecondlevel li.arrowlevel {
    border-bottom-color: #E9AC00 !important;
    color: #000 !important;
}

nav.navbar div ul li span.actif {
    border-right-color: #E9AC00 !important;
    border-bottom-color: #E9AC00 !important;
    background: #E9AC00 !important;
    color: #fff !important;
}

/************************************************** COULEURS CADRES ***************************************************/
.lessites label,
.bord, .aide, .card,
.card .card-body .btn-basic {
    border-color: #15181F !important;
    color: #568CAB !important;
}

.sep, .sepeval, .sep_note,
.stepper-item.termine:not(.active)::after {
    border-bottom: 1px solid #E9AC00;
}

.loader {
    border-top-color: #568CAB !important;
}

.evaluationbloc {
    border-left-color: #568CAB !important;
}

.champs_mail,
.stepper-item::after,
.stepper-item::before,
.contentPlus, .contentMoins,
.timepicker-hour, .timepicker-minute {
    border-color: #E9AC00 !important;
}

a.tab_fermer,
header.container, footer .barrefooter,
.picker-switch, .accordion-toggle,
.stepper-item.termine .step-counter,
.card .card-header, .card .card-header *,
.card .card-body .btn-basic:not(:disabled):hover {
    background: #15181F !important;
    color: #fff !important;
    fill: #fff !important;
}

#main.nonconnecte svg {
    fill: #fff !important;
    stroke: #568CAB !important;
}

tr.obligatoire > td, label.obligatoire > span {
    background: rgb(233, 172, 0) !important;
    color: #15181F !important;
}
tr.obligatoire > td, label.obligatoire > span:after {
    color: #cd3a3a;
}

label[for="choix_eleve"] {
    background: #15181F;
    color: #fff;
}

/************************************************ COULEURS TABLEAUX ***************************************************/
.dataTable tbody tr:hover,
.dataTable tbody tr.selected,
.dataTables_wrapper thead tr {
    background: #15181F !important;
    color: #fff !important;
    fill: #fff !important;
}

.dataTables_wrapper thead tr {
    border-right-color: #15181F !important;
}

.dataTable tbody tr.odd,
.dataTable tbody tr td {
    border-color: #e7e7e7 !important;
    padding-left: 5px;
}

.dataTables_scrollBody {
    box-shadow: 2px 2px 4px rgba(158, 158, 158, 0.3);
}

.dataTables_wrapper tbody tr:hover {
    background-color: rgb(86, 140, 171) !important;
}

/********************************************** COULEURS BOUTONS ACTIONS **********************************************/
[class*="btn-"]:not(.btn-fleche),
a[class*="btn-"]:not(.btn-fleche),
button[class*="btn-"]:not(.btn-fleche),
[class^="usager_fiche_"] [class*="btn-"] {
    box-shadow: 2px 2px 4px rgba(158, 158, 158, 0.3);
    border: 1px solid transparent !important;
    background-color: #15181F !important;
    color: #fff !important;
}

[class*="btn-"]:hover:not(.btn-fleche),
a[class*="btn-"]:hover:not(.btn-fleche),
button[class*="btn-"]:hover:not(.btn-fleche),
[class^="usager_fiche_"] [class*="btn-"]:hover {
    background-color: #568CAB !important;
}

.btn-fleche:hover {
    background: rgb(233, 172, 0) !important;
    box-shadow: 2px 2px 4px rgba(158, 158, 158, 0.3);
}

.card .card-body .btn-basic[disabled] {
    background-color: #e7e7e7 !important;
    color: #fff !important;
}

.card .card-body .btn-basic:not(:disabled):hover {
    background-color: #568CAB !important;
    color: #fff !important;
}

[id^="sousmenu"] button.btn-basic {
    box-shadow: 2px 2px 4px rgba(158, 158, 158, 0.3);
    border-left: 3px solid #568CAB !important;
    border-right: 3px solid #fff !important;
    border-top: none !important;
    border-bottom: none !important;
    background: #fff !important;
    color: #15181F !important;
}

[id^="sousmenu"] button.btn-basic:hover,
[id^="sousmenu"] button.btn-basic-active,
[id^="sousmenu"] button.btn-basic-active:hover {
    border-color: #568CAB !important;
    background: #568CAB !important;
    color: #fff !important;
}

/******************************************* COULEURS BOUTONS GÉNÉRIQUES **********************************************/
a, a.lien, .fcolor, button,
.container.preinscription_fiche .jumbotron a,
.skippy ul li a:hover, .skippy ul li a:focus,
.titre_eval, .evaluation .titreeval, .evaluation .titrecritere {
    color: #696969 !important;
}

a:hover, a.lien:hover, button:hover,
.skippy ul li a:hover, .skippy ul li a:focus {
    color: #568CAB !important;
}

.popcontenu1 h2, .popcontenu2 h2,
.titre h2, .titre h3, .titre_center h2 {
    color: #15181F !important;
}

#watermark {
    color: #568CAB !important;
}

.stepper-item .step-counter {
    background: #15181F !important;
    color: #fff !important;
}

.stepper-item.active .step-counter {
    background: #568CAB !important;
}

/********************************************* BANNIÈRE COOKIES - RGPD ************************************************/
#cookieChoiceInfo {
    color: #15181F !important;
    background-color: #E9AC00 !important;
    padding: 15px !important;
    bottom: 0 !important;
}

#cookieChoiceDismiss {
    padding: 7px 10px;
    background-color: #15181F !important;
    color: #fff !important;
}

#cookieChoiceDismiss:hover {
    color: #568CAB !important;
}