/******************** .MB_alert ********************/

.MB_placer {
    z-index: 10000;
    position: absolute;
    width: 100vw;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    top: 0;
    left: 0;
}

.MB_alert {
    min-width: 168px;
    max-width: calc(100% - 32px);
    max-height: calc(100% - 32px);
    overflow: hidden;
    background-color: #fff;
    border-radius: 12px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.26);
    z-index: 10000;
    transform: scale(0);
    opacity: 0;
    animation: open_alert 0.2s forwards;
}

@keyframes open_alert {
    from {
        transform: scale(0);
        opacity: 0;
    }
    to {
        transform: scale(1);
        opacity: 1;
    }
}

/*.xs .MB_alert {
	width: calc(100% - 64px);
}*/

.MB_alert .title,
.MB_alert .content {
    padding: 24px;
}

.MB_alert .title {
    display: flex;
    align-items: center;
    gap: 10px;
}

.MB_alert .content {
    overflow: hidden;
    overflow-y: auto;
}

.MB_alert .title + .content {
    margin-top: -24px;
    padding-top: 20px;
}

.MB_alert .subheading {
    margin-top: 16px;
}

.MB_alert .actions {
    padding: 8px;
    text-align: right;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
}

.MB_alert .actions > div {
    margin-left: 8px;
    margin-right: 8px;
}

.MB_alert .actions > div + div {
    margin-left: 0;
}

/******************** #MB_alert ********************/

#MB_alert_fd {
    position: absolute;
    z-index: 10003;
    width: 100%;
    height: 100%;
    vertical-align: middle;
    top: 0;
    left: 0;
}

#MB_alert {
    display: inline-block;
    position: relative;
    min-width: 168px;
    max-width: calc(100% - 32px);
    max-height: calc(100% - 32px);
    overflow: hidden;
    background: rgba(255, 255, 255, 1);
    vertical-align: middle;
    margin: 0 auto;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    border-radius: 2px;
    -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.26);
    -moz-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.26);
    -ms-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.26);
    -o-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.26);
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.26);
}

#MB_alert .close {
    position: absolute;
    top: 0;
    right: 0;
    padding: 12px;
}

#MB_alert .titre {
    padding: 24px;
    font-size: 20px;
    font-weight: bold;
    line-height: 24px;
}

#MB_alert .inner {
    padding: 24px;
    overflow: hidden;
    overflow-y: auto;
}

#MB_alert .titre + .inner {
    margin-top: -24px;
    padding-top: 20px;
}

#MB_alert .inner .info {
    text-align: left;
    padding: 0.5rem;
    font-size: 1.6rem;
    width: auto;
    background: rgba(0, 129, 255, 0.5);
    color: white;
    border-radius: 0.5rem;
    text-align: center;
    font-size: 1.3rem;
    margin: 1rem 0;
}

#MB_alert .inner .infotxt {
    text-align: left;
    padding: 0.5rem;
    font-size: 1.6rem;
    width: auto;
    background: rgba(0, 129, 255, 0.3);
    color: black;
    border-radius: 0.5rem;
    font-size: 1.3rem;
    margin: 1rem 0;
    max-height: 30rem;
    overflow-y: auto;
}

#MB_alert .boutons {
    text-align: right;
}

#MB_alert .boutons > div {
    margin-right: 8px;
}

#MB_alert .boutons .ok {
    background: rgba(113, 189, 0, 1);
    color: white;
}

#MB_alert .boutons .nok {
    background: rgba(210, 80, 80, 1);
    color: white;
}

#MB_alert .inner .text {
    width: 100%;
    height: 10rem;
}

#MB_alert .inner .input {
    width: 100%;
    background-color: #fff;
}

#MB_alert .inner .select {
    width: 100%;
}

/******************** #MB_alert : liste ********************/

#MB_alert DIV {
    box-sizing: border-box;
}

#MB_alert .titrebloc {
    font-weight: 400;
    margin-top: 0rem;
}

.MB_alert .bloc {
    max-height: 216px;
    overflow: hidden;
    overflow-y: auto;
    margin-bottom: 16px;
}

#MB_alert .item {
    max-height: 5rem;
    overflow: hidden;
}

#MB_alert .item.selected {
    background: rgba(27, 128, 229, 0.32);
    border-radius: 0.5rem;
}

#MB_alert .item .check {
    display: inline-block;
    height: 5rem;
    overflow: hidden;
    line-height: 5rem;
    width: 5rem;
}

#MB_alert .item .caption {
    display: inline-block;
    height: 5rem;
    overflow: hidden;
    line-height: 5rem;
    padding: 0 0.5rem;
}

#MB_alert .item .value {
    display: inline-block;
    height: 5rem;
    overflow: hidden;
    line-height: 5rem;
}

#MB_alert .item.text {
    max-height: 25rem;
    overflow: hidden;
    height: 20rem;
}

#MB_alert .item.text .caption {
    width: 100%;
    height: 3rem;
    line-height: 3rem;
}

#MB_alert .item.text .value {
    width: 100%;
    height: auto;
}

#MB_alert .item.text .value TEXTAREA {
    width: 100%;
    height: 15rem;
}

#MB_alert .item .itemin {
    display: inline-block;
    height: 5rem;
    overflow: hidden;
    box-sizing: border-box;
    padding: 0 1rem;
    width: calc(100% - 5rem);
}

#MB_alert .item.opt .itemin {
    display: inline-block;
    line-height: 5rem;
}

#MB_alert .item .error {
    background: red;
}

#MB_alert .item .val {
    display: block;
    /* float: left; */
    padding: 0.3rem 1rem;
    background: rgba(0, 0, 0, 0.2);
    color: white;
    font-size: 1.2rem;
    border-radius: 3px;
    width: auto;
    overflow: hidden;
    text-overflow: ellipsis;
}

#MB_alert .item .error {
    background: rgb(216, 150, 150);
}

#MB_alert .item .lib {
    display: inline-block;
    font-weight: bold;
    /* padding: 0rem 1rem; */
}

#MB_alert .item .lib2 {
    display: inline-block;
    font-style: italic;
    padding-left: 1rem;
    font-size: 1.3rem;
}

#MB_alert .item INPUT[type=checkbox] {
    display: inline-block;
    width: 2rem;
    height: 2rem;
    vertical-align: middle;
    border: solid 1px rgba(0, 0, 0, 0.5);
    border-radius: 3px;
}

#MB_alert .msg {
    text-align: center;
    line-height: 4rem;
    overflow: hidden;
    background: rgba(51, 96, 190, 0.15);
    border-radius: 0.5rem;
    margin-top: 1rem;
    padding: 0 1rem;
}

#MB_alert .msg.err {
    background: rgba(255, 64, 0, 0.32);
}

#MB_alert .msg.ok {
    background: rgba(11, 216, 20, 0.5);
    color: #fff;
}

.MB_alert .msg {
    text-align: center;
    line-height: 4rem;
    overflow: hidden;
    background: rgba(51, 96, 190, 0.15);
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    border-radius: 2px;
    margin-top: 1rem;
    padding: 0 1rem;
}

.MB_alert .msg.err {
    background: rgba(255, 64, 0, 0.32);
}

.MB_alert .msg.ok {
    background: rgba(11, 216, 20, 0.5);
    color: #fff;
}

/******************** #MB_loader ********************/

#MB_loader {
    position: absolute;
    z-index: 100001;
    width: 250px;
    height: 20px;
    overflow: hidden;
    padding: 0px;
    box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2);
    background: rgba(255, 255, 255, 0.2);
    text-align: center;
    bottom: 0px;
    right: 0px;
}

#MB_loader .msg {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 250px;
    text-align: center;
    font-size: 10px;
    padding: 4px;
    z-index: 2;
    color: rgba(5, 31, 0, 1);
}

#MB_loader .content {
    position: absolute;
    top: 0;
    left: 0px;
    width: 100%;
    height: 100%;
}

#MB_loader .bord {
    position: absolute;
    /* top: 2px; */
    /* left: 10px; */
    width: 100%;
    height: 100%;
    /* border: solid 1px #000; */
    /* border-radius: 2px; */
    /* background: #eee; */
}

#MB_loader .cursor {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 1px;
    height: 100%;
    border: 0;
    border-radius: 0px;
    background: rgba(163, 255, 0, 0.5);
}

.MB_protect {
    position: absolute;
    top: 0px;
    left: 0px;
    z-index: 10000;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.8);
    display: none;
}

.xs .MB_protect .inner, .sm .MB_protect .inner {
    top: calc(50% - 40px) !important;
}

.MB_protect .inner {
    position: absolute;
    top: calc(50% - 15px);
    width: 94%;
    left: 3%;
    height: 56px;
    font-size: 20px;
    text-align: center;
    line-height: 24px;
    /* color: #fff; */
}

.MB_protect.first .inner {
    transform: scale(0);
    animation: show_inner 0.4s forwards;
}

@keyframes show_inner {
    from {
        transform: scale(0);
    }
    to {
        transform: scale(1);
    }
}

.MB_protect .inner2 {
    font-size: 14px;
}

.MB_protect.upgrade {
    position: absolute;
    z-index: 10001;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 1);
    display: none;
    top: 0px;
    left: 0px;
}

.MB_protect.upgrade .inner A {
    color: rgba(0, 0, 0, 0.3);
    font-weight: 400;
}

/******************** #MB_status ********************/

#MB_status {
    display: none;
    position: relative;
    z-index: 10001;
    width: auto;
    height: 5rem;
    overflow: hidden;
    padding: 0px;
    bottom: 0;
    left: 0;
}

#MB_status .status {
    float: left;
    /* clear: both; */
    width: 3.5rem;
    height: 5rem;
    margin: 1px;
    cursor: pointer;
}

#MB_status .status .text {
    display: inline-block;
    width: 100%;
    height: 1.5rem;
    margin: 1px;
    border-radius: 2px;
    margin-right: 0.5rem;
    text-align: center;
    overflow: hidden;
    line-height: 1.5rem;
    text-transform: uppercase;
    font-size: 7px;
    color: rgba(255, 255, 255, 0.3);
    text-shadow: 0px -1px 0px rgba(0, 0, 0, 0.7);
    /* padding-right: 1rem; */
    padding-top: 2.5rem;
}

#MB_status .status .ico {
    position: absolute;
    width: 3.5rem;
    height: 0.4rem;
    /* right: 0; */
    /* margin-left: 2rem; */
    box-shadow: 2px 2px 1px -1px rgba(0, 0, 0, 0.2) inset;
    border: solid 1px rgba(255, 255, 255, 0.1);
    border-right: none;
    border-bottom: solid 1px rgba(0, 0, 0, 0.5);
    bottom: 0;
}

#MB_status .status .on {
    background: #0f0;
}

#MB_status .status .off {
    background: #f00;
}

#MB_status .status .cur {
    background: #fc0;
}

/******************** #MB_waiting ********************/

#MB_waiting {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 200px;
    height: 32px;
    margin: 48px 0 0 -100px;
    z-index: 20000;
    background-color: #fff;
    height: 4px;
}

#MB_waiting .deco {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    -webkit-transition: 0.3s width;
    -moz-transition: 0.3s width;
    -ms-transition: 0.3s width;
    -o-transition: 0.3s width;
    transition: 0.3s width;
    overflow: hidden;
}

#MB_waiting .di {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: var(--primary);
    overflow: hidden;
}

#MB_waiting .di-infinity {
    animation: di-infinity-animation .9s linear infinite alternate;
    background: var(--primary);
}

@keyframes di-infinity-animation {
    0% {
        left: 0;
    }
    100% {
        left: calc(100% - 40px);
    }
}

#MB_waiting .d2 {
    /*background-color: rgba(119, 171, 22, 0.48);*/
}

#MB_waiting .in {
    position: absolute;
    top: 8px;
    width: 100%;
    text-align: center;
}

/******************** .mb_alt ********************/

.mb_alt {
    position: absolute;
    z-index: 9998;
    padding: 0;
    min-width: 240px;
    max-width: 480px;
}

.mb_alt .inner {
    position: relative;
    text-align: center;
    background-color: #333;
    color: #fff;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -ms-border-radius: 2px;
    -o-border-radius: 2px;
    border-radius: 2px;
    box-shadow: 0 1px 5px 3px rgba(0, 0, 0, 0.1);
    width: auto;
    padding: 8px 0;
}

.mb_alt .pump {
    -webkit-animation: pump 0.3s ease-in 0.5s infinite alternate;
    animation: pump 0.3s ease-in 0.5s infinite alternate;
}

.mb_alt .leftright {
    -webkit-animation: leftright 0.3s ease-in 0.5s infinite alternate;
    animation: leftright 0.3s ease-in 0.5s infinite alternate;
}

.mb_alt .txt {
    position: relative;
    /* background: rgba(255,240,200,1); */
    padding: 8px;
    font-size: 13px;
    z-index: 1;
    box-sizing: border-box;
    width: auto;
}

.mb_alt .txt .small {
    font-size: 11px;
}

.mb_alt .buttons {
    width: 100%;
    box-sizing: border-box;
    /* padding-bottom: 1rem; */
    position: relative;
    z-index: 1;
    background-color: inherit;
}

.mb_alt BUTTON {
    width: 100%;
    margin: 0;
    background: transparent;
    /* border-top: dashed 1px rgb(226, 149, 51); */
    border-radius: 0;
    text-align: left;
    color: #fff;
    font-weight: normal;
    padding: 4px 16px;
}

.mb_alt BUTTON::before {
    padding-right: 1rem;
}


/* Chrome, Safari, Opera */
@-webkit-keyframes pump {
    from {
        margin-top: 0;
    }
    to {
        margin-top: 1rem;
    }
}

@keyframes pump {
    from {
        margin-top: 0;
    }
    to {
        margin-top: 1rem;
    }
}

@-webkit-keyframes leftright {
    from {
        margin-left: 0;
    }
    to {
        /*margin-left: 1rem;*/
    }
}

@keyframes leftright {
    from {
        margin-left: 0;
    }
    to {
        /*margin-left: 1rem;*/
    }
}

.mb_alt .pointeur {
    position: absolute;
    width: 1rem;
    height: 1rem;
    -webkit-transform: rotate(45deg);
    background: #333;
    /*border: solid 1px rgba(220,200,180,1);*/
    box-shadow: 0 1px 5px 3px rgba(0, 0, 0, 0.1);
    z-index: 0;
}

.mb_alt .bottom {
    bottom: -0.5rem;
    left: calc(50% - 0.5rem);
}

.mb_alt .top {
    top: -0.5rem;
    left: calc(50% - 0.5rem);
}

.mb_alt .left {
    left: -0.5rem;
    top: calc(50% - 0.5rem);
}

.mb_alt .right {
    right: 0.5rem;
    top: calc(50% - 0.5rem);
}

/******************** msg ********************/

#MB_msg {
    position: absolute;
    z-index: 10;
    top: -3rem;
    left: 50%;
    width: 40rem;
    background-color: rgba(237, 134, 16, 0.9);
    margin-left: -20rem;
    text-align: center;
    box-sizing: border-box;
    overflow: hidden;
    line-height: 3rem;
    transition: all 0.2s;
    border-radius: 3px;
    color: white;
    font-size: 1.2rem;
    font-weight: 300;
    height: 3rem;
}

#MB_msg.end {
    top: -3rem;
}

#MB_msg.view {
    top: 1rem;
}

/******************** WHITE ********************/

.white {
    background-color: rgba(255, 255, 255, 0.9);
}

.white .inner {
    position: absolute;
    width: 100%;
    height: 3em;
    font-size: 3em;
    font-weight: bold;
    color: rgba(255, 255, 255, 0.4);
    top: 50%;
    margin-top: -1.5em;
    text-align: center;
    text-shadow: 0px -1px 0px rgba(0, 0, 0, 0.3);
}

/******************** EFFECTS ********************/

.in_small_black {
    /* text-shadow: 0px -1px 0px rgba(0,0,0,0.4); */
    /* color: rgba(0, 0, 0, 0.8); */
}