@import url('fonts.googleapis.com.css');
@import url('fonts.googleapis.com400.css');

/* Base animation */
.animated {
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

@-webkit-keyframes fadeInDown {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
    }

    100% {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

@keyframes fadeInDown {
    0% {
        opacity: 0;


        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
    }

    100% {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

.fadeInDown {
    -webkit-animation-name: fadeInDown;
    animation-name: fadeInDown;
}

@-webkit-keyframes fadeInUp {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0);
    }

    100% {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

@keyframes fadeInUp {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0);
    }

    100% {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

.fadeInUp {
    -webkit-animation-name: fadeInUp;
    animation-name: fadeInUp;
}

@keyframes fadeOutDown {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0);
    }
}

.fadeOutDown {
    -webkit-animation-name: fadeOutDown;
    animation-name: fadeOutDown;
}

@-webkit-keyframes fadeOutUp {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
    }
}

@keyframes fadeOutUp {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
    }
}

.fadeOutUp {
    -webkit-animation-name: fadeOutUp;
    animation-name: fadeOutUp;
}

/* container-fluid */
body {
    padding-top: 50px !important;
    font-family: 'Open Sans', 'Open Sans Bold', sans-serif;
    background-color: #fefce8; /* jaune pâle — à tester */
}

/* Fix du datetimepicker et de l'autocomplete qui se retrouve derrière les modals de bootstrap */
#ui-datepicker-div,
.ui-autocomplete {
    z-index: 1051 !important;
}

.ui-datepicker-month,
.ui-datepicker-year {
    color: black;
}

.navbar-fixed-top {
    border: 0 none;
}

/* Navbar sombre moderne (base commune - peut être surchargé par local.css) */
.navbar-inverse {
    background-color: #2c3e50;
    background-image: none;
    border-color: #1a252f;
}

.navbar-inverse .navbar-nav > li > a {
    color: #bdc3c7;
}

.navbar-inverse .navbar-nav > li > a:hover,
.navbar-inverse .navbar-nav > li > a:focus {
    color: #ffffff;
    background-color: #34495e;
}

.navbar-inverse .navbar-nav > .open > a,
.navbar-inverse .navbar-nav > .open > a:hover,
.navbar-inverse .navbar-nav > .open > a:focus {
    color: #ffffff;
    background-color: #34495e;
}

.navbar-inverse .navbar-brand {
    color: #ffffff;
    font-weight: 600;
}

.navbar-inverse .dropdown-menu {
    background-color: #2c3e50;
    border-color: #34495e;
}

.navbar-inverse .dropdown-menu > li > a {
    color: #bdc3c7;
}

.navbar-inverse .dropdown-menu > li > a:hover {
    color: #ffffff;
    background-color: #34495e;
}

/* Eléments qui doivent présenter le pointeur en forme de main au survol */
.hand-pointer,
.event-alerte-suppresseur,
.rappel-suppresseur,
.desactiver-dt-benef {
    cursor: pointer;
    cursor: hand;
}

/* fixy footer */
.footer {
    position: fixed;
    bottom: 0;
    width: 100%;
    background-color: #f5f5f5;
    height: 60px;
    z-index: 99;
}

.navbar>.container {
    padding-bottom: 0px;
}

.container .text-muted {
    margin: 20px 0;
}

.footer>.container {
    padding-right: 15px;
    padding-left: 15px;
}

/* form signin */
.form-signin {
    padding-top: 40px;
}

/* Bouton Ajouter dans dico__ */
.btnAjout {
    padding-top: 20px;
}

/* Titre de page — mixte A+B : ligne verte + taille intermédiaire */
.page-header {
    margin: 16px 0 24px;
    padding: 0 0 10px;
    border: none;
    border-bottom: 3px solid #71aa76;
    display: block;
}

.page-header h1 {
    margin: 0;
    font-size: 1.75rem;
    font-weight: 700;
    color: #1e293b;
    letter-spacing: 0.01em;
}

/* Espacement form-group */
.form-group {
    margin-bottom: 5px;
}

/* Inputs & selects modernisés */
.form-control {
    border-radius: 6px;
    border: 1px solid #d0d7de;
    color: #1e293b;
    box-shadow: none;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.form-control:focus {
    border-color: #71aa76;
    box-shadow: 0 0 0 3px rgba(113, 170, 118, 0.18);
    outline: none;
}

.input-group[class*="col-"] {
    padding-left: 20px;
    padding-right: 20px;
}

.btnExport {
    padding-top: 30px;
}

/* debug affichage datatables */
.paginate_button {
    margin-left: 0px !important;
    padding: 0em !important;
}

.pagination {
    margin: 0px !important;
}

.table .presta-legende>* {
    border-top: none;
}

.table .table-col-third {
    width: 33%;
}

.solde-negatif .cell-solde {
    font-weight: bold;
    color: #A94442;
}

.solde-positif .cell-solde {
    color: #8A6D3B;
}

.dataTables_wrapper .dataTables_info {
    clear: both;
    float: left;
    padding-top: 0.755em;
}

.dataTables_wrapper .dataTables_paginate {
    float: right;
    padding-top: 0.25em;
    text-align: right;
}

.dataTables_wrapper .dataTables_filter {
    float: right;
    text-align: right;
}

.dataTables_wrapper .dataTables_filter input {
    margin-left: 0.5em;
}

.dataTables_wrapper:after {
    visibility: hidden;
    display: block;
    content: "";
    clear: both;
    height: 0;
}

table.dataTable thead .sorting::after,
table.dataTable thead .sorting_asc::after,
table.dataTable thead .sorting_desc::after {
    top: auto;
    bottom: 8px;
}

/* Formulaire auto-ecoles */

.horrairesJour .form-group {
    width: 25%;
    float: left;
    margin: 0px;
    padding: 0px;
}

.horrairesJour .form-group label {
    padding: 0px;
    text-align: center;
}

.has-popover {
    text-decoration: underline;
}

/* MENU en plusieurs niveau */
/* .dropdown{

} */

.dropdown>ul {
    display: none;
}

.dropdown:hover>ul {
    display: block;
}

.dropdown-submenu {
    position: relative;
}

.dropdown-submenu>.dropdown-menu {
    top: 0;
    left: 100%;
    margin-top: -6px;
    margin-left: -1px;
    -webkit-border-radius: 0 6px 6px 6px;
    -moz-border-radius: 0 6px 6px;
    border-radius: 0 6px 6px 6px;
}

.dropdown-submenu:hover>.dropdown-menu {
    display: block;
}

.dropdown-submenu>a:after {
    display: block;
    content: " ";
    float: right;
    width: 0;
    height: 0;
    border-color: transparent;
    border-style: solid;
    border-width: 5px 0 5px 5px;
    border-left-color: #ccc;
    margin-top: 5px;
    margin-right: -10px;
}

.dropdown-submenu:hover>a:after {
    border-left-color: #fff;
}

.dropdown-submenu.pull-left {
    float: none;
}

.dropdown-submenu.pull-left>.dropdown-menu {
    left: -100%;
    margin-left: 10px;
    -webkit-border-radius: 6px 0 6px 6px;
    -moz-border-radius: 6px 0 6px 6px;
    border-radius: 6px 0 6px 6px;
}

.required:after {
    content: "*";
    color: red;
}

.bg-error {
    background: url('../images/error-bg.png') repeat;
}

.bg-danger-important {
    background-color: #f2dede !important;
    background-image: none !important;
}

.bg-success-important {
    background-color: #dff0d8 !important;
    background-image: none !important;
}

.bg-alerte-datatable {
    background-color: #ffe2bf !important;
}

.loading-screen {
    position: fixed;
    display: block;
    z-index: 999999;
    text-align: center;
    font-size: 20px;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    padding: 0px;
    margin: 0px;
    left: 0px;
    right: 0px;
    top: 0px;
    bottom: 0px;
}

.loading-screen-content {
    position: fixed;
    display: block;
    width: 300px;
    top: 50%;
    left: 50%;
    margin-left: -150px;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px;
    background-color: rgb(255, 255, 255);
}

.footer-prestation-controller {
    position: fixed;
    display: block;
    z-index: 999999;
    text-align: center;
    width: 100%;
    height: 60px;
    padding: 0px;
    margin: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
}

.btn-suppr,
.btn-reactiver {
    padding: 6px;
    font-size: 18px;
    width: 40px;
}

.btn.btn-link {
    text-shadow: none;
}

.bordered {
    border: 1px solid lightgrey;
}

.table.borderless td {
    border-top: 0px;
}

.modal-backdrop {
    position: fixed;
    bottom: 0;
    height: auto !important;
}

.rounded-corners {
    -moz-border-radius: 5px;
    /* Firefox */
    -webkit-border-radius: 5px;
    /* Safari, Chrome */
    border-radius: 5px;
    /* CSS3 */
}

/*Left Bottom*/
.lb-rounded-corners {
    -moz-border-bottom-left-radius: 5px;
    /* Firefox */
    -webkit-border-bottom-left-radius: 5px;
    /* Safari, Chrome */
    border-bottom-left-radius: 5px;
    /* CSS3 */
}

/*Right Bottom*/
.rb-rounded-corners {
    -moz-border-bottom-right-radius: 5px;
    /* Firefox */
    -webkit-border-bottom-right-radius: 5px;
    /* Safari, Chrome */
    border-bottom-right-radius: 5px;
    /* CSS3 */
}

.clear-border-radius {
    -moz-border-radius: 0px;
    /* Firefox */
    -webkit-border-radius: 0px;
    /* Safari, Chrome */
    border-radius: 0px;
    /* CSS3 */
}


.clear-both {
    clear: both;
}

.clear-left {
    clear: left;
}

.clear-right {
    clear: right;
}

.text-right {
    text-align: right;
}

.text-left {
    text-align: left;
}

.text-center {
    text-align: center;
}

.border-0 {
    border: 0px;
}

.pad-0 {
    padding: 0px !important;
}

.pad-b-0 {
    padding-bottom: 0px;
}

.pad-b-5 {
    padding-bottom: 5px;
}

.pad-b-10 {
    padding-bottom: 10px;
}

.pad-b-20 {
    padding-bottom: 20px;
}

.pad-b-60 {
    padding-bottom: 60px;
}

.pad-b-100 {
    margin-bottom: 100px;
}

.pad-t-0 {
    padding-top: 0px;
}

.pad-t-5 {
    padding-top: 5px;
}

.pad-t-10 {
    padding-top: 10px;
}

.pad-t-20 {
    padding-top: 20px;
}

.pad-t-60 {
    padding-top: 60px;
}

.pad-t-100 {
    padding-top: 100px;
}

.pad-l-10 {
    padding-left: 10px;
}

.pad-l-20 {
    padding-left: 20px;
}

.pad-l-60 {
    padding-left: 60px;
}

.pad-l-100 {
    padding-left: 100px;
}

.pad-r-0 {
    padding-right: 0px;
}

.mar-b-0 {
    margin-bottom: 0px;
}

.mar-b-10 {
    margin-bottom: 10px;
}

.mar-b-20 {
    margin-bottom: 20px;
}

.mar-b-60 {
    margin-bottom: 60px;
}

.mar-b-100 {
    margin-bottom: 100px;
}

.mar-t-10 {
    margin-top: 10px;
}

.mar-t-20 {
    margin-top: 20px;
}

.mar-t-60 {
    margin-top: 60px;
}

.mar-t-100 {
    margin-top: 100px;
}

.mar-t--100 {
    margin-top: -100px;
}

.mar-l-10 {
    margin-left: 10px;
}

.mar-l-20 {
    margin-left: 20px;
}

.mar-l-60 {
    margin-left: 60px;
}

.mar-l-100 {
    margin-left: 100px;
}

.mar-r-0 {
    margin-right: 0px;
}

.mar-r-10 {
    margin-right: 10px;
}

.mar-r-20 {
    margin-right: 20px;
}

.mar-r-60 {
    margin-right: 60px;
}

.mar-r-100 {
    margin-right: 100px;
}

.col120px {
    width: 120px !important;
}

.popover {
    min-width: 250px !important;
}

/* Fix la largeur des checkboxes dans Chrome */
#stats-modulaires input[type="checkbox"] {
    width: initial;
}

.unbordered {
    border: none;
    background-color: inherit;
}

.dateActive {
    background-color: #fcf3cf;
}

/* le bouton supprimé doit être caché si c'est l'unique date dans le tabelau des dates */
#dates-container tr:only-child .supprimer-dateLigne {
    display: none;
}

.bloc-marge-verticale-20 {
    display: block;
    margin-bottom: 20px;
    margin-top: 20px;
}

.largeur320 {
    width: 320px !important;
}

/*CSS pour le modal d'upload GED*/

.files input {
    outline: 2px dashed #92b0b3;
    outline-offset: -10px;
    -webkit-transition: outline-offset .15s ease-in-out, background-color .15s linear;
    transition: outline-offset .15s ease-in-out, background-color .15s linear;
    padding: 120px 0px 85px 35%;
    text-align: center !important;
    margin: 0;
    width: 100% !important;
}

.files input:focus {
    outline: 2px dashed #92b0b3;
    outline-offset: -10px;
    -webkit-transition: outline-offset .15s ease-in-out, background-color .15s linear;
    transition: outline-offset .15s ease-in-out, background-color .15s linear;
    border: 1px solid #92b0b3;
}

.files {
    position: relative
}

.files:after {
    pointer-events: none;
    position: absolute;
    top: 60px;
    left: 0;
    width: 50px;
    right: 0;
    height: 56px;
    content: "";
    background-image: url(https://image.flaticon.com/icons/png/128/109/109612.png);
    display: block;
    margin: 0 auto;
    background-size: 100%;
    background-repeat: no-repeat;
}

.files:before {
    position: absolute;
    bottom: 10px;
    left: 0;
    pointer-events: none;
    width: 100%;
    right: 0;
    height: 57px;
    content: "";
    display: block;
    margin: 0 auto;
    color: #2ea591;
    font-weight: 600;
    text-transform: capitalize;
    text-align: center;
}

.input-file {
    padding-top: 1px;
}

.modal-sg {
    min-width: 800px;
    width: 75%;
}



/* Prestation BDCP */

#fieldset-bdcpm1 label.radio {
    display: inline-block;
}

#fieldset-bdcpm1 input[type="radio"] {
    margin-left: 0;
    position: relative;
}

/* tableau des évenements */
#fieldset-evenements td .radio {
    margin-left: 20px;
    /* pour que le radio reste dans le cadre */
}

/* Mise en page du formulaire FSE dans la fiche bénéficiaire */
#fieldset-fseform>div.form-group>label.col-lg-2 {
    width: calc(100% / 3)
}

#fieldset-fseform>div.form-group>div.col-lg-3 {
    width: calc(100% / 1.5)
}


/* Accès référent --> accordéon de page soumettre bénéficiaire */
#formBeneficiaires>fieldset.referent-accordeon {
    overflow: hidden;
    max-height: 0px;
    /* PC 26/12/2020, en raison d'un bug sur chrome, passage de 31px à 0px */
    cursor: pointer;
    transition: max-height 0.5s linear;
}

#formBeneficiaires>fieldset.referent-accordeon.open {
    background-color: #fff;
    max-height: 1000px;
    transition: max-height 0.5s linear;
    /* Le delay de 0.3s est pour rendre l'animation de l'accordéon un peu plus fluide */
    transition-delay: 0.3s
}

#formBeneficiaires>fieldset.referent-accordeon>legend:hover {
    cursor: pointer;
    text-decoration: underline
}


#formBeneficiaires>fieldset.referent-accordeon>legend::after {
    content: "+";
    color: black;
    font-weight: bolder;
    font-size: 25px;
    float: right;
}

#formBeneficiaires>fieldset.referent-accordeon.open>legend::after {
    content: "-";
    color: black;
    font-weight: bolder;
    font-size: 25px;
    float: right;
}

#formBeneficiaires>fieldset.referent-accordeon.open>legend {
    color: #e17009;
}

#fieldset-complementaires_referent .help-block {
    color: red;
}

/*.tooltip {
    position: relative;
    display: inline-block;
    border-bottom: 1px dotted black;
}
.tooltip .tooltiptext {
    visibility: hidden;
    width: 120px;
    background-color: black;
    color: #fff;
    text-align: center;
    border-radius: 6px;
    padding: 5px 0;
    position: absolute;
    z-index: 1;
    top: 150%;
    left: 50%;
    margin-left: -60px;
}
.tooltip .tooltiptext::after {
    content: "";
    position: absolute;
    bottom: 100%;
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: transparent transparent black transparent;
}
/*Show the tooltip text when you mouse over the tooltip container 
.tooltip:hover .tooltiptext {
    visibility: visible;
}*/

#mypopup {
    width: 300px;
    height: 40px;
    padding: 10px;
    font-family: Arial, sans-serif;
    font-size: 10pt;
    background-color: black;
    color: #fff;
    border-radius: 6px;
    position: absolute;
    display: none;
    cursor: pointer;
}

#mypopup::before {
    content: " ";
    position: absolute;
    top: 100%;
    /* At the bottom of the tooltip */
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: black transparent transparent transparent;
}

input[type="time"] {
    line-height: 18px;
}

/* Utilisé dans formDyn de lasur, il faut la même hauteur que les input*/
select[multiple] {
    height: 38px;
}

/* Surchareg de bootstrape */
legend {
    margin-bottom: 10px;
}

.fieldsetMenu {
    border: 1px solid #e2e8f0;
    border-left: 4px solid #71aa76;
    border-radius: 6px;
    margin-bottom: 24px;
    margin-top: 24px;
    padding: 20px 24px;
    background: #ffffff;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.10);
}

.container-fluid.pad-b-100 {
    /* background: #e1eff2; */
}

.legendFieldsetMenu {
    border-bottom: 0px;
    width: auto;
    padding-right: 10px;
    font-size: 2rem;
    font-weight: 700;
    color: #1e293b;
    padding-left: 0;
    margin-bottom: 15px;
}

/* Légendes internes des display groups Zend (sous-sections dans un fieldsetMenu) */
.fieldsetMenu fieldset > legend {
    font-size: 1.6rem;
    font-weight: 600;
    color: #64748b;
    border-bottom: 1px solid #e2e8f0;
    padding-bottom: 6px;
    margin-bottom: 12px;
    width: 100%;
}

#menu {
    top: 70px;
    position: fixed;
    right: 12px;
    background-color: #ffffff;
    border: 1px solid #e2e8f0;
    border-top: 3px solid #71aa76;
    border-radius: 6px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.10);
    z-index: 1001;
    min-width: 190px;
    max-width: 290px;
    padding: 0;
    overflow: hidden;
}

#menu-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #64748b;
    padding: 8px 12px 6px;
    border-bottom: 1px solid #e2e8f0;
    user-select: none;
}

#menu-header:hover {
    background-color: #f8fafc;
}

#menu-toggle-icon {
    font-size: 0.65rem;
    transition: transform 0.25s ease;
    margin-left: 8px;
}

#menu.menu-collapsed #menu-toggle-icon {
    transform: rotate(180deg);
}

#menu ol {
    list-style: none;
    margin: 0;
    padding: 4px 0;
    max-height: 600px;
    overflow: hidden;
    transition: max-height 0.25s ease, padding 0.25s ease;
}

#menu.menu-collapsed ol {
    max-height: 0;
    padding: 0;
}

/* Ré-ouverture au survol quand replié */
#menu.menu-collapsed.menu-hover-open ol {
    max-height: 600px;
    padding: 4px 0;
}

#menu ol li a.fieldsetAnchor {
    display: block;
    padding: 7px 14px;
    font-size: 1.15rem;
    color: #334155;
    text-decoration: none;
    border-left: 3px solid transparent;
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

#menu ol li a.fieldsetAnchor:hover {
    background-color: #f1f5f9;
    color: #1e293b;
    border-left-color: #71aa76;
}

#menu ol li a.fieldsetAnchor.active {
    color: #71aa76;
    font-weight: 600;
    border-left-color: #71aa76;
    background-color: #f0fdf4;
}