body .module{
    font-family: 'Montserrat', 'Lato', 'Open Sans', 'Helvetica Neue', Helvetica, Calibri, Arial, sans-serif;
    color: #6b7381;
    background: #f2f2f2;
}

* {
    box-sizing: border-box !important;
}

#settings-window{
    max-height: calc(100vh - 100px) !important;
}

#settings-window .card-body{
    overflow-y:scroll;
}

#settings-window .container.table-responsive {
    overflow-x: hidden !important;
}

#settings-window #table_composants_wrapper{
    font-size: 0.8rem;
}

#settings-window #table_composants td{
    max-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media screen and (max-width: 990px) {
    .newPopin {
        position: fixed;
        top: 0;
    }

    #settings-window{
        width: 95vw;
        top: 70px;
        margin-top: 0 !important;
    }
}

/* LISTS */

.main .page ul{ /* FIX: cassait le menu sur la page module/settings */
    list-style-type: none;
    padding: 0;
    min-height: 50px;
}

.elementAjoutComposant{
    background-color: #4acc7f;
    border-top-left-radius: 0.25rem;
    border-top-right-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
    border-bottom-right-radius: 0.25rem;
    /*cursor:pointer;*/
    position: relative;
    display: flex;
    padding: 0.75rem 1.25rem;
    margin-bottom: -1px;
}

.elementAjoutComposant .iconPlusComposant, .elementAjoutComposant .createComposant{
    cursor:pointer;
}

.elementAjoutActivite, .elementAddLesson{
    border-top-left-radius: 0.25rem;
    border-top-right-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
    border-bottom-right-radius: 0.25rem;
    position: relative;
    display: inherit;
    padding: 0.75rem 1.10rem;
    margin-bottom: -1px;
}

.elementAjoutActivite{
    background-color: #ff5d5d;
}

.elementAddLesson{
    background-color: #6b7381;
}

.sortable-lessons{
    margin-bottom: 0 !important;
}

.elementComposant{
    display: flex !important;
}

.elementComposant h6{
    width: 70%;
}

.activite{
    border-color: #ff5d5d !important;
}

.composant{
    background-color: #ffc860;
    border-color: white;
}

.headerLesson, .headerActivity{
    display: inline;
}

.open-popin, .open-popin2{
    margin: 10px 5px;
}

.ellipsis{
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    width: 100%;
    pointer-events: none;
}

.fontLecon{
    font-weight: bold !important;
    font-size: 18px !important;
}

/* WINDOW SEARCH */

.newPopin{
    /*position: absolute;*/
    right: 10px;
    z-index: 99;

}

.windowComposant .header, .windowComposant .valid{
    background-color: #4acc7f;
    color: #fff;
}

.windowActivity .header, .windowActivity .valid{
    background-color: #ff5d5d;
    color: #fff;
}

.windowLesson .header, .windowLesson .valid{
    background-color: #6b7381;
    color: #fff;
}

.windowComposant .table-responsive{
    max-height: none !important;
}

/* LES ICONES */

.iconActivity, .titleActivity{
    color: #ff5d5d;
}

.iconAddActivity, .iconAddLesson{
    color: white;
}

.iconLesson, .iconActivity, .iconAddActivity, .iconPlus{
    transform: translate(0px,5px);
}

.badge-lesson, .badge-activity{
    background-color: #ff5d5d;
    color: white;
    margin: 0 10px;
    font-size: 13px;
    transform: translate(0px,6px);
}

.badge-activity{
    background-color: #eac831;
    color: white;
    margin: 0 10px;
    font-size: 13px;
}

.iconPlusComposant{
    color: white;
    right: 5px;
}

.iconPlus{
    color: white;
}

.iconSearch{
    color: white;
    float: right;
    cursor: pointer;
}

.activite .toggleLesson, .activite .toggleActivity, .activite .removeIcon, .activite .iconSearch, .activite .iconAperçu{
    /*display: inline-block;
    float: right;
    transform: translate(0px,18px);*/
}

.removeIcon{
    color: #ababab;
    cursor: pointer;
}

.valid{
    margin-bottom: 10px;
}

.iconPlus{
    cursor: pointer;
}

.removeIconComposant{
    color: #ababab;
    cursor: pointer;
    position: absolute;
    right: 5px;
}

.inputDureeLecon{
    min-width: 60px;
}

.fa{
    margin: 5px 10px;
}

.closeWindow{
    float: right;
    color: white !important;
}

.listComposants .logoComposant{
    cursor: help;
    color: inherit !important;
}

.nbActiviteParent{
    color: #ababab;
    cursor: pointer;
    position: absolute;
    right: 90px;
}

.editComposant{
    color: #ababab;
    cursor: pointer;
    position: absolute;
    right: 60px;
}

.apercuSettings{
    color: #ababab;
    cursor: pointer;
}

.apercuComposant{
    position: absolute;
    right: 40px;
}
.accrocheComposant{
    position: absolute;
    right: 60px;
    color: #ababab;
    cursor: pointer;
}

/* FOR HTML5 SORTABLE */

.placeHolder{
    border: solid #42b5e0 3px;
    padding:-10px !important;
    margin:0 !important;
    opacity: 1;
    animation: clignotement 1.5s infinite !important;
}

.placeHolder-composant{
    border: solid #42b5e0 3px;
    padding:-10px !important;
    margin:0 !important;
    opacity: 1;
    animation: clignotement 1.5s infinite !important;
    height: 50.8px !important;
}

@keyframes clignotement {
    0%   { opacity:1; }
    50%   { opacity:0; }
    100% { opacity:1; }
}

/* INPUT EDIT TEXTE */
.inputLibelleLecon, .inputLibelleActivity, .inputNewActivity, .inputNewLesson {
    display: inline-block;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    margin-bottom: 10px;
}
.inputNewActivity, .inputNewLesson{
    margin: 0 !important;
}
.inp {
    position: relative;
    margin: auto;
    width: 100%;
    /*max-width: 280px;*/
}

.inp2 {
    position: relative;
    margin: auto;
    width: 100px;
    
}

.inp .label {
    position: absolute;
    top: 16px;
    left: 0;
    font-size: 16px;
    color: #6b7381;
    font-weight: 500;
    transform-origin: 0 0;
    transition: all 0.2s ease;
}

.inp2 .label {
    position: absolute;
    top: 16px;
    left: 0;
    font-size: 16px;
    color: #6b7381;
    font-weight: 500;
    transform-origin: 0 0;
    transition: all 0.2s ease;
}

.inputLibelleActivity .label{
    color: #ff5d5d !important;
}
.inputNewActivity .label, .inputNewLesson .label{
    color: #c4c4c4 !important;
}
.inp .border {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 2px;
    width: 100%;
    background: #6b7381;
    transform: scaleX(0);
    transform-origin: 0 0;
    transition: all 0.15s ease;
    border : none !important;
}

.inp2 .border {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 2px;
    width: 100%;
    background: #6b7381;
    transform: scaleX(0);
    transform-origin: 0 0;
    transition: all 0.15s ease;
    border : none !important;
}
.inputNewActivity .border{
    background: #b0b0b0 !important;
}
.inputLibelleActivity .border{
    background: #ff5d5d !important;
}
.inp input {
    -webkit-appearance: none;
    width: 100%;
    border: 0;
    font-family: inherit;
    padding: 12px 0;
    height: 48px;
    font-size: 16px;
    font-weight: 500;
    border-bottom: 2px solid #c8ccd4;
    background: none;
    border-radius: 0;
    color: #223254;
    transition: all 0.15s ease;
}
.inp input:hover {
    background: rgba(34,50,84,0.03);
}
.inp input:not(:placeholder-shown) + span {
    color: #5a667f;
    transform: translateY(-26px) scale(0.75);
}
.inp input:focus {
    background: none;
    outline: none;
}
.inp input:focus + span {
    color: #6b7381;
    transform: translateY(-26px) scale(0.75);
}
.inp input:focus + span + .border {
    transform: scaleX(1);
}

.inp2 input {
    -webkit-appearance: none;
    width: 100%;
    border: 0;
    font-family: inherit;
    padding: 12px 0;
    height: 48px;
    font-size: 16px;
    font-weight: 500;
    border-bottom: 2px solid #c8ccd4;
    background: none;
    border-radius: 0;
    color: #223254;
    transition: all 0.15s ease;
}
.inp2 input:hover {
    background: rgba(34,50,84,0.03);
}
.inp2 input:not(:placeholder-shown) + span {
    color: #5a667f;
    transform: translateY(-26px) scale(0.75);
}
.inp2 input:focus {
    background: none;
    outline: none;
}
.inp2 input:focus + span {
    color: #6b7381;
    transform: translateY(-26px) scale(0.75);
}
.inp2 input:focus + span + .border {
    transform: scaleX(1);
}

.rotating-dashed.composants.on{
    background: linear-gradient(90deg, #128e21 50%, transparent 50%), linear-gradient(90deg, #128e21 50%, transparent 50%), linear-gradient(0deg, #128e21 50%, transparent 50%), linear-gradient(0deg, #128e21 50%, transparent 50%);
    background-repeat: repeat-x, repeat-x, repeat-y, repeat-y;
    background-size: 16px 4px, 16px 4px, 4px 16px, 4px 16px;
    background-position: 0px 0px, 100% 100%, 0px 100%, 100% 0px;
    padding: 10px;
    transition: background-position 2s;
    width: 100%;
    height: 100%;
    position: absolute;
    margin: -0.75rem -1.25rem;
    animation: slideDash 2.5s infinite linear;
}

.rotating-dashed.activities.on{
    background: linear-gradient(90deg, #b52f29 50%, transparent 50%), linear-gradient(90deg, #b52f29 50%, transparent 50%), linear-gradient(0deg, #b52f29 50%, transparent 50%), linear-gradient(0deg, #b52f29 50%, transparent 50%);
    background-repeat: repeat-x, repeat-x, repeat-y, repeat-y;
    background-size: 16px 4px, 16px 4px, 4px 16px, 4px 16px;
    background-position: 0px 0px, 100% 100%, 0px 100%, 100% 0px;
    padding: 10px;
    transition: background-position 2s;
    width: 100%;
    height: 100%;
    position: absolute;
    margin: -0.75rem -1.10rem;
    animation: slideDash 2.5s infinite linear;
}

.rotating-dashed.lessons.on{
    background: linear-gradient(90deg, #3d3d3d 50%, transparent 50%), linear-gradient(90deg, #3d3d3d 50%, transparent 50%), linear-gradient(0deg, #3d3d3d 50%, transparent 50%), linear-gradient(0deg, #3d3d3d 50%, transparent 50%);
    background-repeat: repeat-x, repeat-x, repeat-y, repeat-y;
    background-size: 16px 4px, 16px 4px, 4px 16px, 4px 16px;
    background-position: 0px 0px, 100% 100%, 0px 100%, 100% 0px;
    padding: 10px;
    transition: background-position 2s;
    width: 100%;
    height: 100%;
    position: absolute;
    margin: 0 -1.10rem;
    animation: slideDash 2.5s infinite linear;
}

@keyframes slideDash {
    0% {
        background-position: 0px 0px, 100% 100%, 0px 100%, 100% 0px;
        opacity: 0;
    }
    25% {
        opacity: 1;
    }
    75%{
        opacity: 1;
    }
    100%   {
        background-position: 15% 0px, 85% 100%, 0px 0px, 100% 100%;
        opacity: 0;
    }
}

/* BOUTON TOGGLE 1 TRY/RETRY. */
.tg-list-item {
    width: 56px;
    display:inline-block;
    margin-top: 3px;
}

.tgl {
    display: none;
}
.tgl, .tgl:after, .tgl:before, .tgl *, .tgl *:after, .tgl *:before, .tgl + .tgl-btn {
    box-sizing: border-box;
}
.tgl::-moz-selection, .tgl:after::-moz-selection, .tgl:before::-moz-selection, .tgl *::-moz-selection, .tgl *:after::-moz-selection, .tgl *:before::-moz-selection, .tgl + .tgl-btn::-moz-selection {
    background: none;
}
.tgl::selection, .tgl:after::selection, .tgl:before::selection, .tgl *::selection, .tgl *:after::selection, .tgl *:before::selection, .tgl + .tgl-btn::selection {
    background: none;
}
.tgl + .tgl-btn {
    outline: 0;
    display: block;
    width: 4em;
    height: 2em;
    position: relative;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.tgl + .tgl-btn:after, .tgl + .tgl-btn:before {
    position: relative;
    display: block;
    content: "";
    width: 50%;
    height: 100%;
}
.tgl + .tgl-btn:after {
    left: 0;
}
.tgl + .tgl-btn:before {
    display: none;
}
.tgl:checked + .tgl-btn:after {
    left: 50%;
}

.tgl-flip + .tgl-btn {
    padding: 2px;
    transition: all .2s ease;
    font-family: sans-serif;
    -webkit-perspective: 100px;
    perspective: 100px;
}
.tgl-flip + .tgl-btn:after, .tgl-flip + .tgl-btn:before {
    display: inline-block;
    transition: all .4s ease;
    width: 100%;
    text-align: center;
    position: absolute;
    line-height: 2em;
    font-weight: bold;
    color: #fff;
    top: 0;
    left: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    border-radius: 4px;
}
.tgl-flip + .tgl-btn:after {
    content: attr(data-tg-on);
    background: #02C66F;
    -webkit-transform: rotateY(-180deg);
    transform: rotateY(-180deg);
}
.tgl-flip + .tgl-btn:before {
    background: #FF3A19;
    content: attr(data-tg-off);
}
.tgl-flip.adaptabilite + .tgl-btn:before {
    background: #ababab;
}
.tgl-flip + .tgl-btn:active:before {
    -webkit-transform: rotateY(-20deg);
    transform: rotateY(-20deg);
}
.tgl-flip:checked + .tgl-btn:before {
    -webkit-transform: rotateY(180deg);
    transform: rotateY(180deg);
}
.tgl-flip:checked + .tgl-btn:after {
    -webkit-transform: rotateY(0);
    transform: rotateY(0);
    left: 0;
    background: #7FC6A6;
}
.tgl-flip:checked + .tgl-btn:active:after {
    -webkit-transform: rotateY(20deg);
    transform: rotateY(20deg);
}

.notePlancher{
    max-width: 75px;
    min-width: 50px;
}

.btn-adapt-group.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active{
    background: #7FC6A6;
}


