:root{
	--primary: rgb(57, 48, 137); /* #393089 */
    /* --altprimary: rgb(0, 52, 73);  #003449 */
    --altprimary: rgb(33, 35, 38); /* #202225 */
    --secondary: rgb(255, 86, 102); /* #FF5666 */

    --success: rgb(0, 147, 0); /* #009300 */
    --warning: rgb(243, 146, 4); /* #f39204 */
    --error: rgb(244, 67, 54); /* #f44336 */
    --errorlight: rgb(229, 115, 115); /* #e57373 */

    --lightblue: rgb(89, 197, 242); /* #59C5F2 */
    --babypowder: rgb(253, 255, 252); /* #FDFFFC */
    --pansypurple: rgb(126, 25, 70); /* #7E1946 */
    --yellow: rgb(243, 211, 65); /* #F3D341 */

	--form-radius: 0.5rem;
    --drawer-radius: 60px;

    --orangemmo: #ff6600;
    --mtnmmo: #ffcc00;
    --moovmmo: #0065b3;
    --wavemmo: #1dc8fe;
}

/**
* Helpers
* Classes
*/
.toppadded{ padding-top: 50px !important; }
.doublepadded{ padding-top: 100px !important; }
.pt-0{ padding-top: 0 !important; }
.pt-25{ padding-top: 25px !important; }
.pb-0{ padding-bottom: 0 !important; }
.pl-0{ padding-left: 0 !important; }
.pr-0{ padding-right: 0 !important; }

.mt-0{ margin-top: 0 !important; }
.ml-0{ margin-left: 0 !important; }
.mb-0{ margin-bottom: 0 !important; }
.mr-0{ margin-right: 0 !important; }

.ml-minus-10{ margin-left: -10px; }
.ml-minus-20{ margin-left: -20px; }
.mb-minus-5{ margin-bottom: -5px; }
.mb-minus-10{ margin-bottom: -10px; }
.mb-minus-20{ margin-bottom: -20px; }
.full{ width: 100%; }
.relative{ position: relative; }
.invisible{ visibility: hidden; }

/* App Canvas */
body{
    font-family: "DM Sans", serif;
    background-color: #fff;
    font-size: 16px;
}
.app{
    position: absolute;
    display: flex;
    
    width: 100%;
    height: 100%;
    overflow: hidden;
}
.app .inner{
    display: flex;
    flex-direction: column;

    width: 100%;
    height: 100%;

    overflow-x: hidden;
    overflow-y: auto;
}
.app .inner .header{
    width: 100%;
    height: 60px;
    padding: 15px 15px 15px 13px;
    margin-top: 5px;

    position: relative;
}
.app .inner .header .logo{ width: 40px; }
.app .inner .header .initials{
    background-color: var(--secondary);
    font-size: 1.3em;
    font-family: "DM Sans Bold", sans-serif;

    display: flex;
    width: 40px;
    height: 40px;

    border-radius: var(--form-radius);
    position: absolute;
    top: 15px;
    right: 15px;
    margin: 0;
    color: #fff;

    justify-content: center;
    align-items: center;
}

/**
* Page
* Intro
*/
#intro .logo,
#auth .logo{ 
    width: 100px;
}

/* Movables Tab */
/* For Wash Center purpose */
.movables{
    position: relative;
    width: 100%;
    height: 100%;
}

/* General */
.movables .movable{
    -webkit-transition: all cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s;
    -o-transition: all cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s;
    transition: all cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s;

    position: absolute;
    top: 0px;
    left: 0px;

    width: 100%;
    height: 100%;
    
    padding-bottom: 120px;
    overflow-y: auto;
    overflow-x: hidden;
}
.movables .movable.active{
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);

    opacity: 1;
}
.movables .movable.previous{
    -webkit-transform: translateX(-100%);
    -ms-transform: translateX(-100%);
    -o-transform: translateX(-100%);
    transform: translateX(-100%);

    opacity: 0;
}
.movables .movable.next{
    -webkit-transform: translateX(100%);
    -ms-transform: translateX(100%);
    -o-transform: translateX(100%);
    transform: translateX(100%);

    opacity: 0;
}


/**
* Modal 
* de page
*/
.bmodal{
    -webkit-transition: all cubic-bezier(0.19, 1, 0.22, 1) 0.6s;
    transition: all cubic-bezier(0.19, 1, 0.22, 1) 0.6s;

    position: absolute;
    z-index: 200;
    background-color: #fff;
    opacity: 0;
}
.app > .inner.bmodal{
    z-index: 200;
}
.bmodal.left{ 
    -webkit-transform: translate3d(-100%, 0%, 0);
    -ms-transform: translate3d(-100%, 0%, 0);
    -o-transform: translate3d(-100%, 0%, 0);
    transform: translate3d(-100%, 0%, 0);
}
.bmodal.right{ 
    -webkit-transform: translate3d(100%, 0%, 0);
    -ms-transform: translate3d(100%, 0%, 0);
    -o-transform: translate3d(100%, 0%, 0);
    transform: translate3d(100%, 0%, 0);
}
.bmodal.bottom{
    -webkit-transform: translate3d(0%, 100%, 0);
    -ms-transform: translate3d(0%, 100%, 0);
    -o-transform: translate3d(0%, 100%, 0);
    transform: translate3d(0%, 100%, 0);
}
.bmodal.active{
    -webkit-transform: translate3d(0%, 0%, 0);
    -ms-transform: translate3d(0%, 0%, 0);
    -o-transform: translate3d(0%, 0%, 0);
    transform: translate3d(0%, 0%, 0);
    opacity: 1;
}
.bmodal > .relative{
    width: 100%;
    height: 100%;
    position: relative;
    background-color: var(--background);
    overflow: auto;

    display: flex;
    flex-direction: column;
}
.bmodal.white > .relative{
    background-color: #fff;
}
.bmodal > .relative.no{ display: block; }

.bmodal .header{
    height: 50px;
    display: flex;
    align-items: center;
    position: relative;
}
.bmodal .header .goBack{
    font-size: 1.9em;
    color: var(--primary);
    display: flex;

    width: 30px;
    height: 30px;

    justify-content: center;
    align-items: center;
    margin-right: 15px;
}
.bmodal .header .texts{
    font-size: 1.2em;
    font-family: "DM Sans Bold";
    color: var(--primary);
}
.bmodal .relative .content{
    width: 100%;
    height: calc(100% - 50px);
}

/* Header with Search input */
.bmodal .header.wsearch{
    flex-direction: column;
    height: auto;
    row-gap: 10px;
}
.bmodal .header.wsearch header{
    width: 100%;
    display: flex;
    align-items: center;

    padding: 5px;
    position: relative;
}
.bmodal .header .options{
    position: absolute;
    top: 50%;
    right: 15px;
    padding: 0;

    display: flex;
    justify-content: flex-end;
    height: 38px;
    margin-top: -19px;
    column-gap: 15px;
}
.bmodal .header.wsearch .options{ right: 0; }
.bmodal .header .options li a{
    font-size: 1.8em;
    color: var(--primary);
}
.searchform,
.bmodal .header.wsearch form{
    width: 100%;
    display: flex;

    border-radius: var(--form-radius);
    overflow: hidden;
}
.searchform > div,
.bmodal .header.wsearch form > div{
    width: 50px;
    height: 50px;

    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2.0em;

    background-color: #eeedef;
}
.searchform input,
.bmodal .header.wsearch form input{
    width: calc(100% - 40px);
    appearance: none;
    background-color: #eeedef;
    border: none;

    font-family: "DM Sans";
    outline: none;
    font-size: 1.1em;
}
.bmodal .header.wsearch form input::placeholder{ 
    color: #999; 
    font-family: "DM Sans Medium";
}

/* Fixed header */
.bmodal .header.fixed{
    position: fixed;
    top: 0px;
    left: 0px;

    background-color: #fff;
    margin-top: 0;
    z-index: 1;

    -webkit-box-shadow: 0 -1px 25px 0px #ddd;
    -moz-box-shadow: 0 -1px 25px 0px #ddd;
    box-shadow: 0 -1px 25px 0px #ddd;
}
.bmodal .header.fixed.wsearch{ background-color: #fff; }
.bmodal .header.fixed.wsearch input{
    color: var(--altprimary);
    font-family: "DM Sans Bold";
}
.bmodal .header.fixed + .content{ padding-top: 75px; }
.bmodal .header.fixed.wsearch + .content{ 
    padding-top: 120px;
    position: relative;
    z-index: 0;
}

.carousels{
    white-space: nowrap;
    overflow-x: auto;
}

/**
* Footer
*/
footer{
    position: fixed;
    bottom: 0px;
    left: 0px;

    height: 73px;
    width: 100%;
    z-index: 190;
    background-color: var(--babypowder);

    -webkit-box-shadow: 0 -1px 25px 0px #ddd;
    -moz-box-shadow: 0 -1px 25px 0px #ddd;
    box-shadow: 0 -1px 25px 0px #ddd;
}
footer ul{
    width: 100%;
    height: 100%;

    display: flex;
    margin: 0;
    padding: 0;
}
footer ul li{
    width: calc(100% / 3);
}
footer ul li a{
    display: block;
    font-size: 1.8em;
    text-align: center;
    padding: 15px;

    color: var(--altprimary);
}
footer ul li.active a{
    color: var(--secondary);
}

/**
* Preloader
*/
.preloader-wrapper .spinner-layer{ border-color: var(--babypowder); }
.preloader-wrapper.supersmall{
	width: 25px;
	height: 25px;
}

/**
* Materialize
* Modifications
*/

/* Formulaires */
input:not([type]):focus:not([readonly]), 
input[type=text]:not(.browser-default):focus:not([readonly]), 
input[type=password]:not(.browser-default):focus:not([readonly]), 
input[type=email]:not(.browser-default):focus:not([readonly]),
input[type=url]:not(.browser-default):focus:not([readonly]), 
input[type=time]:not(.browser-default):focus:not([readonly]), 
input[type=date]:not(.browser-default):focus:not([readonly]), 
input[type=datetime]:not(.browser-default):focus:not([readonly]), 
input[type=datetime-local]:not(.browser-default):focus:not([readonly]), 
input[type=tel]:not(.browser-default):focus:not([readonly]), 
input[type=number]:not(.browser-default):focus:not([readonly]), 
input[type=search]:not(.browser-default):focus:not([readonly]), 
textarea.materialize-textarea:focus:not([readonly]){
    border-bottom: 1px solid var(--secondblue);
    -webkit-box-shadow: 0 1px 0 0 var(--secondblue);
    box-shadow: 0 1px 0 0 var(--secondblue);
    color: var(--altprimary);
    margin-bottom: 0;
}

input:not([type]):focus:not([readonly]) + label, 
input[type=text]:not(.browser-default):focus:not([readonly]) + label, 
input[type=password]:not(.browser-default):focus:not([readonly]) + label, 
input[type=email]:not(.browser-default):focus:not([readonly]) + label, 
input[type=url]:not(.browser-default):focus:not([readonly]) + label, 
input[type=time]:not(.browser-default):focus:not([readonly]) + label, 
input[type=date]:not(.browser-default):focus:not([readonly]) + label, 
input[type=datetime]:not(.browser-default):focus:not([readonly]) + label, 
input[type=datetime-local]:not(.browser-default):focus:not([readonly]) + label, 
input[type=tel]:not(.browser-default):focus:not([readonly]) + label, 
input[type=number]:not(.browser-default):focus:not([readonly]) + label, 
input[type=search]:not(.browser-default):focus:not([readonly]) + label, 
textarea.materialize-textarea:focus:not([readonly]) + label{
    color: var(--secondblue);
}

input:not([type]), 
input[type=text]:not(.browser-default), 
input[type=password]:not(.browser-default), 
input[type=email]:not(.browser-default), 
input[type=url]:not(.browser-default), 
input[type=time]:not(.browser-default), 
input[type=date]:not(.browser-default), 
input[type=datetime]:not(.browser-default), 
input[type=datetime-local]:not(.browser-default), 
input[type=tel]:not(.browser-default), 
input[type=number]:not(.browser-default), 
input[type=search]:not(.browser-default), 
textarea.materialize-textarea{
    margin: 10px 0px 0px 0px;
    border-bottom: none;
    font-size: 1.0em;

    font-family: "DM Sans Bold";
    color: var(--altprimary);
}

textarea.materialize-textarea{ min-height: 100px; }
textarea.materialize-textarea::placeholder{ 
    color: #9e9e9e;
    font-family: "DM Sans";
}

.input-field > input[type=date]:not(.browser-default) + label{ 
    transform: translateY(6px);
    font-size: 0.75em;
}

.input-field,
.select-field{
    background-color: #eeedef;
    border: 1px solid #eeedef;
    padding: 5px 10px 2px 10px;
    border-radius: var(--form-radius);
}
.input-field.error,
.select-field.error{
    border: 1px solid var(--error);
    background-color: var(--error);
}
.input-field > label{
    -webkit-transform: translateY(19px);
    transform: translateY(19px);
    left: 10px;
    font-size: 1.1rem;
}
.input-field.error > label,
.input-field.error > label.active{ color: #fff !important; }
.select-field.error > label{ color: #fff !important; }
.input-field > label:not(.label-icon).active{
    -webkit-transform: translateY(8px) scale(0.8);
    transform: translateY(8px) scale(0.8);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
}
.input-field.error input:not([type]), 
.input-field.error input[type=text]:not(.browser-default), 
.input-field.error input[type=password]:not(.browser-default), 
.input-field.error input[type=email]:not(.browser-default), 
.input-field.error input[type=url]:not(.browser-default), 
.input-field.error input[type=time]:not(.browser-default), 
.input-field.error input[type=date]:not(.browser-default), 
.input-field.error input[type=datetime]:not(.browser-default), 
.input-field.error input[type=datetime-local]:not(.browser-default), 
.input-field.error input[type=tel]:not(.browser-default), 
.input-field.error input[type=number]:not(.browser-default), 
.input-field.error input[type=search]:not(.browser-default){
    color: #fff !important;
}
.select-field.error select.browser-default{ color: #fff; }

.input-field + p{
    font-size: 0.7em;
    padding-left: 2px;
    margin-top: 0px;

    display: none;
}
.input-field.error.withtext{ margin-bottom: 5px; }
.input-field.error.withtext + p{ display: block; }
.input-field.error + p{ color: var(--error); }

/* Select */
.select-field label{
    font-size: 1.1rem;
}
.select-field select{
    background-color: transparent;
    padding: 0;
    font-family: "DM Sans Bold";
    color: var(--altprimary);
    border: none;
}
.select-field select:focus{
    border: none;
    border-color: transparent;
    outline: none;
}

/* Buttons */
.btn{
    border-radius: var(--form-radius);
    font-family: "DM Sans Medium", sans-serif;
    font-size: 1.0em;
    text-transform: none;

    height: 45px;
}
.btn.with-icon{
    display: flex;
    align-items: center;
    height: 100%;

    line-height: 45px;
}
.btn.with-icon .icon{
    width: 30px;
    height: 100%;

    display: flex;
}
.btn.with-icon .text{
    text-align: center;
    width: 90%;
}
.btn.lined:not(.fetching){ line-height: 45px; }
.btn:hover{ 
    box-shadow: none; 
    background-color: transparent;
}
.btn-wide{
    display: block;
    width: 100%;
}
.btn-primary,
.btn-primary:hover,
.btn-primary:focus{
    background-color: var(--primary);
}
.btn-lighter,
.btn-lighter:hover,
.btn-lighter:focus{
    background-color: var(--lightblue);
}
.btn-altprimary,
.btn-altprimary:hover,
.btn-altprimary:focus{
    background-color: var(--altprimary);
    border: 2px solid var(--altprimary);
    color: #fff;
}
.btn-secondary,
.btn-secondary:hover,
.btn-secondary:focus{
    background-color: var(--secondary);
    border: 2px solid var(--secondary);
    color: #fff;
}

.btn .preloader-wrapper{
    width: 20px;
    height: 20px;
    display: none !important;
}
.btn.fetching .text{ display: none; }
.btn.fetching .preloader-wrapper{ display: inline-block !important; margin-top: 7px; }
.btn .preloader-wrapper .spinner-layer{ border-color: #fff; }
.btn.btn-flat .preloader-wrapper .spinner-layer{ border-color: var(--primary); }

.btn.with-icon.fetching .loader{
    display: inline-block;
    width: 90%;
    position: relative;
    height: 45px;
}
.btn.with-icon.fetching .loader .preloader-wrapper{
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -10px;
    margin-left: -10px;
}

/* Modal */
.modal{ border-radius: var(--form-radius); }
.modal.centered{ top: 35% !important; }
.modal.notification p{ margin: 0 }
.modal.centered.notification{ top: 40% !important; }

.progress .indeterminate{ background-color: var(--secondary); }
.progress{ background-color: rgba(255, 86, 102, 0.2); z-index: 999999; }


.spinner-modal{
    width: 100%;
    height: 100%;

    display: flex;
    align-items: center;
    justify-content: center;

    position: fixed;
    z-index: 999;

    background-color: rgba(0, 0, 0, 0.3);
}
.spinner-modal > div{
    width: 75%;
    height: auto;

    display: flex;
    align-items: center;

    background-color: #fff;
    padding: 15px;
    border-radius: var(--form-radius);
}
.spinner-modal .preloader-wrapper .spinner-layer{ border-color: var(--primary); }
.spinner-modal .preloader-wrapper .circle-clipper .circle{ border-width: 4px; }
.spinner-modal > div .text{
    width: calc(100% - 36px);
    display: flex;
    justify-content: center;
    font-family: "DM Sans Bold";
    color: var(--primary);
}