.a:hover, a:visited {
    text-decoration: none !important;
}

@font-face {
    font-family: "Roboto";
    src: url("../fonts/Roboto-Regular.ttf");
}

@font-face {
    font-family: "Roboto Mono";
    src: url("../fonts/RobotoMono-Regular.ttf");
}

@media print {
    .no-print, saut-footer, saut-titre-page, .no-print * {
        display: none !important;
    }
    .main {
        margin-left: 0;
        width: 100%;
    }
    body {
        padding-top: 0 !important;
    }
    a[href]:after {
        content: none !important;
    }
}

.hide {
    visibility: hidden !important;
}

.text-black {
    color: gray;
}

.text-italic {
    font-style: italic;
}

.absence {
    background-image: url("../images/absent.png");
    background-size: auto 17px;
    background-position: center center;
    background-repeat: no-repeat;
}

.exclusion {
    background-image: url("../images/exclu.png");
    background-size: auto 17px;
    background-position: center center;
    background-repeat: no-repeat;
}

.absent {
    color: #E20316;
    font-size:2.0em;
    margin-top: 5px;
}
.present {
    color: #d0e9c6;
    font-size:2.0em;
    margin-top: 5px;
}
.inactive {
    background-color: #BBBBBB;
    cursor: not-allowed;
}
.centered {
    display: block;
    margin-left: auto;
    margin-right: auto;
}
.not-clickable {
    cursor: default !important;
}
.dispense {
    background-color: #BBBBBB;
}

.fluo-light:hover, .hovered {
    background-color:#F4FFBE !important;
    color: #000000 !important;
    cursor: pointer;
}

.fluo-light-noclick:hover, .hovered {
    background-color:#F4FFBE !important;
    color: #000000 !important;
}

.fluo:hover, .hovered {
    background-color:#FFFF00 !important;
    color: #000000 !important;
    cursor: pointer;
}

.fluo-noclick:hover, .hovered {
    background-color:#FFFF00 !important;
    color: #000000 !important;
}

.fluo-fixe {
    background-color:#FFFF00 !important;
    color: #000000 !important;
}

.text-fluo {
    color: #FFFF00 !important;
}

.ellipse {
    overflow: hidden!important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
}

.fc-title {
    overflow: hidden!important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
}
.fc-list-empty {
    display: none !important;
}
.fc-time-grid-event {
    vertical-align: middle !important;
}
.clickable {
    cursor: pointer !important;
}

.clickable-none {
    cursor: none !important;
}

.clickable-default {
    cursor: default !important;
}

.click-not-allowed {
    cursor: not-allowed !important;
}

.boxable {
    cursor: url('../images/gantDeBoxe.png'), auto !important;
}
.thinverse {
    background-color: #777777 !important;
    color: #FFFFFF !important;
}

a {
    cursor: pointer;
}

.fit {
    white-space: nowrap;
    width: 1%;
}

.label-as-badge {
    border-radius: 1em;
}

.vertical-center {
    display: inline-block;
    vertical-align: middle !important;
    float: none;
}

.vertical-top {
    display: inline-block;
    vertical-align: top !important;
    float: none;
}

.vertical-bottom {
    display: inline-block;
    vertical-align: bottom  !important;
    float: none;
}

.text-vertical{
    -webkit-writing-mode : vertical-rl;
    -ms-writing-mode : tb-rl ; /* ancien IE */
    -ms-writing-mode : vertical-rl;
    writing-mode : vertical-rl;
    text-orientation: sideways;
    /*    font-size: xx-small;
        transform: rotate(-45deg);
        padding-top: 0px;
        padding-bottom: 10px;
        margin-left: 0px;
        margin-right: 0px;*/
}

.SAUTPAGE {
    page-break-before: always;
}

.text-vertical-top {
    vertical-align: top !important;
}

.text-vertical-center {
    vertical-align: middle !important;
}

.text-horizontal-center {
    text-align: center !important;
}
.brand-warning {
    background-color: #f0ad4e !important;
}
.brand-danger {
    background-color: #d9534f !important;
}
.brand-iut {
    background-color: #24A7DF !important;
    color: #FFFFFF !important;
}

.text-deleted {
    text-decoration: line-through;
}

.text-fixed {
    font-family: 'Roboto Mono' !important;
}

.ellipsis {
    overflow: hidden!important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
}

/*.aw        { color: #FDBE3A !important; }
.assr      { color: #F58346 !important; }
.simo      { color: #2CE08F !important; }
.bigdata   { color: #00B160 !important; }
.dut2a     { color: #24A7DF !important; }
.dut1a     { color: #76C8EB !important; }
.dutas     { color: #046D9B !important; }
.aw-inverse        { background-color: #FDBE3A !important; color: #FFFFFF !important; }
.assr-inverse      { background-color: #F58346 !important; color: #FFFFFF !important; }
.simo-inverse      { background-color: #2CE08F !important; color: #FFFFFF !important; }
.bigdata-inverse   { background-color: #00B160 !important; color: #FFFFFF !important; }
.dut2a-inverse     { background-color: #24A7DF !important; color: #FFFFFF !important; }
.dut1a-inverse     { background-color: #76C8EB !important; color: #FFFFFF !important; }
.dutas-inverse     { background-color: #046D9B !important; color: #FFFFFF !important; }*/

.assr      {
    color: #42105E !important;
}
.aw        {
    color: #5A2C74 !important;
}
.bigdata   {
    color: #77528B !important;
}
.simo      {
    color: #91799E !important;
}
.dut2a     {
    color: #24A7DF !important;
}
.dut1a     {
    color: #76C8EB !important;
}
.dutas     {
    color: #046D9B !important;
}
.assr-inverse      {
    background-color: #42105E !important;
    color: #FFFFFF !important;
}
.aw-inverse        {
    background-color: #5A2C74 !important;
    color: #FFFFFF !important;
}
.bigdata-inverse   {
    background-color: #77528B !important;
    color: #FFFFFF !important;
}
.simo-inverse      {
    background-color: #91799E !important;
    color: #FFFFFF !important;
}
.dut2a-inverse     {
    background-color: #24A7DF !important;
    color: #FFFFFF !important;
}
.dut1a-inverse     {
    background-color: #76C8EB !important;
    color: #FFFFFF !important;
}
.dutas-inverse     {
    background-color: #046D9B !important;
    color: #FFFFFF !important;
}

.text-incline {
    position:absolute;
    left:0%;
    -webkit-transform:  rotate(342deg);
    -moz-transform:  rotate(342deg);
    -o-transform:  rotate(342deg);
    writing-mode: lr-tb;
    /* opacity:1;
    font-family: police-effet-tampon-3 !important; */
}

.texture-papier {
    /*    background-image: url("../icones/02-whitepaper.png");    
        background-image: url("../icones/004-Fantasy-Paper.png");   
        opacity: 0.9;
        filter: Alpha(opacity=50);  IE8 and earlier */
    background-color: #FFFFFF;
    font-family: 'Roboto', serif;
}

.fond-transparent {
    background-color: transparent;
}

.jlpaw             {
    color: #FDBE3A !important;
}
.jlpawb           {
    color: #FFFFFF !important;
    background-color: #FDBE3A !important;
}
.jlpassr       {
    color: #F58346 !important;
}
.jlpassrb     {
    color: #FFFFFF !important;
    background-color: #F58346 !important;
}
.jlpsimo         {
    color: #2CE08F !important;
}
.jlpsimob       {
    color: #FFFFFF !important;
    background-color: #2CE08F !important;
}
.jlpbigdata   {
    color: #1ec87b !important;
}
.jlpbigdatab {
    color: #FFFFFF !important;
    background-color: #1ec87b !important;
}
.jlplp             {
    color: #009ED6 !important;
}
.jlplpb           {
    color: #FFFFFF !important;
    background-color: #009ED6 !important;
}
.jlplpf           {
    color: #009ED6 !important;
}
.jlplpfb         {
    color: #FFFFFF !important;
    background-color: #009ED6 !important;
}
.jlprefus        {
    color: darkred !important;
}
.jlpnc        {
    color: darkgray !important;
}

.crop {
    width: 100%;
    height: auto;
    overflow: hidden;
}
.crop img {
    width: auto;
    height: auto;
    max-height: 120px;
}

#sidebar-wrapper{
    overflow: auto;
}

/* animation au chargement */
/* Center the loader */
#showOnLoad, .showOnLoad {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 1;
    width: 150px;
    height: 150px;
    margin: 0 auto;
    border: 16px solid #f3f3f3;
    border-radius: 50%;
    border-top: 16px solid #24A7DF;
    border-bottom: 16px solid #E20316;
    border-right: 16px solid #555555;
    border-left: 16px solid #555555;
    width: 120px;
    height: 120px;
    background-image: url("../icones/logo-INFO-small.jpg");
    background-repeat: no-repeat;
    background-position: center center;
    -webkit-animation: spin 2s linear infinite;
    animation: spin 2s linear infinite;
}

@-webkit-keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
    }
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

/* Add animation to "page content" */
.animate-bottom {
    position: relative;
    -webkit-animation-name: animatebottom;
    -webkit-animation-duration: 1s;
    animation-name: animatebottom;
    animation-duration: 1s
}

@-webkit-keyframes animatebottom {
    from {
        bottom:-100px;
        opacity:0
    }
    to {
        bottom:0px;
        opacity:1
    }
}

@keyframes animatebottom {
    from{
        bottom:-100px;
        opacity:0
    }
    to{
        bottom:0;
        opacity:1
    }
}

.blink_text {
    animation:1s blinker linear infinite;
    -webkit-animation:1s blinker linear infinite;
    -moz-animation:1s blinker linear infinite;
}

@-moz-keyframes blinker {
    0% {
        opacity: 1.0;
    }
    50% {
        opacity: 0.5;
    }
    100% {
        opacity: 1.0;
    }
}

@-webkit-keyframes blinker {
    0% {
        opacity: 1.0;
    }
    50% {
        opacity: 0.5;
    }
    100% {
        opacity: 1.0;
    }
}

@keyframes blinker {
    0% {
        opacity: 1.0;
    }
    50% {
        opacity: 0.5;
    }
    100% {
        opacity: 1.0;
    }
}

.blinkFast {
    animation:0.5s blinkerFast linear infinite;
    -webkit-animation:0.5s blinkerFast linear infinite;
    -moz-animation:0.5s blinkerFast linear infinite;
}

@-moz-keyframes blinkerFast {
    0% {
        opacity: 1.0;
    }
    50% {
        opacity: 0.0;
    }
    100% {
        opacity: 1.0;
    }
}

@-webkit-keyframes blinkerFast {
    0% {
        opacity: 1.0;
    }
    50% {
        opacity: 0.0;
    }
    100% {
        opacity: 1.0;
    }
}

@keyframes blinkerFast {
    0% {
        opacity: 1.0;
    }
    50% {
        opacity: 0.0;
    }
    100% {
        opacity: 1.0;
    }
}

.badge:hover {
    color: #ffffff;
    text-decoration: none;
    cursor: pointer;
}
.badge-danger {
    background-color: #b94a48;
}
.badge-danger:hover {
    background-color: #953b39;
}
.badge-warning {
    background-color: #f89406;
}
.badge-warning:hover {
    background-color: #c67605;
}
.badge-success {
    background-color: #468847;
}
.badge-success:hover {
    background-color: #356635;
}
.badge-primary {
    background-color: #3a87ad;
}
.badge-primary:hover {
    background-color: #2d6987;
}
.badge-inverse {
    background-color: #333333;
}
.badge-inverse:hover {
    background-color: #1a1a1a;
}
.bold {
    font-weight: bold;
}
.titre-page {
    display: block;
    position: fixed;
    z-index: 1020;
    height: 35px;
    padding-top: 3px;
    font-weight: bold;
    font-Variant: Small-Caps;
    font-size: 18px;
    color: #9d9d9d;
    text-align: center;
    background-color: #222222;
    vertical-align: middle;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    border-top: 1px solid #9d9d9d;
    max-width: 100%;
    max-height: 35px;
}

.saut-titre-page {
    height: 40px;
    z-index: -1000;
    margin: 0px;
    max-width: 100%;
}

.saut-footer {
    height: 50px;
    z-index: -1000;
    margin: 0px;
    max-width: 100%;
}

/*------ sidebar escamotable ------------------------------------------------*/
@media print {
    .row-offcanvas {
        position: relative;
    }

    .row-offcanvas-right {
        right: 10;
    }

    .row-offcanvas-left {
        left: 0%;
    }

    .row-offcanvas-right .sidebar-offcanvas {
        right: 0%; /* 3 columns */
    }

    .row-offcanvas-left .sidebar-offcanvas {
        left: 0%; /* 3 columns */
    }

    .row-offcanvas-right.active {
        right: 0; /* 3 columns */
    }

    .row-offcanvas-left.active {
        left: 0; /* 3 columns */
    }

    .row-offcanvas .content {
        width: 100%; /* 9 columns */
    }

    .row-offcanvas.active .content {
        width: 100%; /* 12 columns */
    }

    .sidebar-offcanvas {
        position: absolute;
        top: 0;
        width: 0%; /* 3 columns */
    }
}

@media screen and (min-width: 768px) {
    .row-offcanvas {
        position: relative;
        -webkit-transition: all .25s ease-out;
        -moz-transition: all .25s ease-out;
        transition: all .25s ease-out;
    }

    .row-offcanvas-right {
        right: 17%;
    }

    .row-offcanvas-left {
        left: 17%;
    }

    .row-offcanvas-right .sidebar-offcanvas {
        right: -17%; /* 3 columns */
        background-color: #F5F5F5;
    }

    .row-offcanvas-left .sidebar-offcanvas {
        left: -17%; /* 3 columns */
        background-color: #F5F5F5;
    }

    .row-offcanvas-right.active {
        right: 0; /* 3 columns */
    }

    .row-offcanvas-left.active {
        left: 0; /* 3 columns */
    }

    .row-offcanvas-right.active .sidebar-offcanvas {
        background-color: #F5F5F5;
    }
    .row-offcanvas-left.active .sidebar-offcanvas {
        background-color: #F5F5F5;
    }

    .row-offcanvas .content {
        margin-left: -17%;
        width: 83%; /* 9 columns */
        -webkit-transition: all .25s ease-out;
        -moz-transition: all .25s ease-out;
        transition: all .25s ease-out;
    }

    .row-offcanvas.active .content {
        width: 100%; /* 12 columns */
        margin-left: 0%;
    }

    .sidebar-offcanvas {
        position: absolute;
        top: 0;
        width: 17%; /* 3 columns */
    }
}
@media screen and (max-width: 767px) {
    .row-offcanvas {
        position: relative;
        -webkit-transition: all .25s ease-out;
        -moz-transition: all .25s ease-out;
        transition: all .25s ease-out;
    }

    .row-offcanvas-right {
        right: 0;
    }

    .row-offcanvas-left {
        left: 0;
    }

    .row-offcanvas-right
    .sidebar-offcanvas {
        right: -50%; /* 6 columns */
    }

    .row-offcanvas-left
    .sidebar-offcanvas {
        left: -50%; /* 6 columns */
    }

    .row-offcanvas-right.active {
        right: 50%; /* 6 columns */
    }

    .row-offcanvas-left.active {
        left: 50%; /* 6 columns */
    }

    .sidebar-offcanvas {
        position: absolute;
        top: 0;
        width: 50%; /* 6 columns */
    }
}

/*-------------------------------------------------------------------------*/
.btn-sq-lg {
    width: 150px !important;
    height: 150px !important;
}

.btn-sq {
    width: 50px !important;
    height: 50px !important;
    margin: 0 !important;
    padding: 3px 0px 0px 0px !important;
    text-align: center !important;
    vertical-align: middle !important;
}

.btn-sq-sm {
    width: 50px !important;
    height: 50px !important;
    font-size: 10px;
}

.btn-sq-xs {
    width: 25px !important;
    height: 25px !important;
    padding:2px;
}

div.vertical-center-2 {
    display: flex;
    align-items: center;
}

/* This parent can be any width and height */
.block {
    text-align: center;
    white-space: nowrap;
}

/* The ghost, nudged to maintain perfect centering */
.block:before {
    content: '';
    vertical-align: middle;
}

/* The element to be centered, can also be of any width and height */
.block-centered {
    display: inline-block;
    vertical-align: middle;
}

/* MODALE ATTENTE CHARGEMENT PAGE */
/** SPINNER CREATION **/

.loader {
    position: relative;
    text-align: center;
    margin: 15px auto 35px auto;
    z-index: 9999;
    display: block;
    width: 80px;
    height: 80px;
    border: 10px solid rgba(0, 0, 0, .3);
    border-radius: 50%;
    border-top-color: #000;
    animation: spin 1s ease-in-out infinite;
    -webkit-animation: spin 1s ease-in-out infinite;
}

@keyframes spin {
    to {
        -webkit-transform: rotate(360deg);
    }
}

@-webkit-keyframes spin {
    to {
        -webkit-transform: rotate(360deg);
    }
}


/** MODAL STYLING **/

.modal-content {
    border-radius: 0px;
    box-shadow: 0 0 20px 8px rgba(0, 0, 0, 0.7);
}

.modal-backdrop.show {
    opacity: 0.75;
}

.loader-txt {
    p {
        font-size: 13px;
        color: #666;
        small {
            font-size: 11.5px;
            color: #999;
        }
    }
}

#output {
    padding: 25px 15px;
    background: #222;
    border: 1px solid #222;
    max-width: 350px;
    margin: 35px auto;
    font-family: 'Roboto', sans-serif !important;
    p.subtle {
        color: #555;
        font-style: italic;
        font-family: 'Roboto', sans-serif !important;
    }
    h4 {
        font-weight: 300 !important;
        font-size: 1.1em;
        font-family: 'Roboto', sans-serif !important;
    }
    p {
        font-family: 'Roboto', sans-serif !important;
        font-size: 0.9em;
        b {
            text-transform: uppercase;
            text-decoration: underline;
        }
    }
}

.note-partielle
{
    background-image: linear-gradient(225deg, red, red 4px, transparent 4px, transparent);
}
.note-dispense
{
    background-image: linear-gradient(225deg, black, black 4px, transparent 4px, transparent);
}
.module-dispense
{
    background-image: linear-gradient(225deg, grey, grey 4px, transparent 4px, transparent);
}
.mysort {
    cursor: pointer !important;
}
.sorting_asc.mysort {
    background-image: url("../images/sorting-asc.png");
    background-size : 10px;
    background-repeat: no-repeat;
    background-position: bottom left;
}

.sorting_desc.mysort {
    background-image: url("../images/sorting-desc.png");
    background-size : 10px;
    background-repeat: no-repeat;
    background-position: top left;
}

.dataTables_info {
    padding-top : 0px !important;
}

div.navbar-header  nav {
    max-width: 100%
}

li.node-tree > span.expand-icon {
    font-size: 1.4em;
    top: 2px;
}