:root {
    --primary  : #397287;
    --secondary: #01ff72;
}

html,
body {
    -webkit-touch-callout: none;
    -webkit-user-select  : none;
    -khtml-user-select   : none;
    -moz-user-select     : none;
    -ms-user-select      : none;
    user-select          : none;
    margin               : 0;
    font-weight          : 300;
    font-style           : normal;
    font-size            : medium;
    font-display         : swap;
    height               : 100%;
}

.inherit {
    all: inherit
}




/* START DASHBOARD */
.badge {
    position        : absolute;
    top             : 1px;
    left            : 48px;
    font-size       : x-small;
    background-color: #f42b2b;
    line-height     : 13px;
    padding         : 0 3px;
    border-radius   : 11px;
    color           : white;
}

/* END DASHBOARD */


.pointer {
    cursor: pointer;
}

.no-selection {
    -webkit-touch-callout: none;
    -webkit-user-select  : none;
    -khtml-user-select   : none;
    -moz-user-select     : none;
    -ms-user-select      : none;
    user-select          : none;
}

.can-select {
    -webkit-user-select: text;
    user-select        : text;
}

/*
-------------------------------------------
COLORS
-------------------------------------------
*/


.text-white {
    color: white !important;
}

.bg-primary {
    background: var(--primary);
    color     : white;
}

.text-primary {
    color: var(--primary) !important;
}

.bg-secondary {
    background: var(--secondary);
    color     : white;
}

.text-secondary {
    color: var(--secondary) !important;
}


/*
-------------------------------------------
DISPLAY
-------------------------------------------
*/

.d-none {
    display: none !important
}

.d-inline {
    display: inline !important
}

.d-inline-block {
    display: inline-block !important
}

.d-block {
    display: block !important
}

.d-table {
    display: table !important
}

.d-table-row {
    display: table-row !important
}

.d-table-cell {
    display: table-cell !important
}

.d-flex {
    display: -ms-flexbox !important;
    display: flex !important
}

.d-inline-flex {
    display: -ms-inline-flexbox !important;
    display: inline-flex !important
}

.fg0 {
    flex-grow: 0;
}

.fg1 {
    flex-grow: 1;
}

.fg2 {
    flex-grow: 2;
}

/*
-------------------------------------------
FONTS
-------------------------------------------
*/

.text-lowercase {
    text-transform: lowercase !important
}

.text-uppercase {
    text-transform: uppercase !important
}

.text-capitalize {
    text-transform: capitalize !important
}

.fw1 {
    font-weight: 100;
}

.fw2 {
    font-weight: 200;
}

.fw3 {
    font-weight: 300;
}

.fw4 {
    font-weight: 400;
}

.fw5 {
    font-weight: 500;
}

.fw6 {
    font-weight: 600;
}

.fw7 {
    font-weight: 700;
}

.fw8 {
    font-weight: 800;
}

.fw9 {
    font-weight: 900;
}


/*
-------------------------------------------
LINE-HEIGHT
-------------------------------------------
*/

.lh00 {
    line-height: 0em;
}

.lh01 {
    line-height: .1em;
}

.lh02 {
    line-height: .2em;
}

.lh03 {
    line-height: .3em;
}

.lh04 {
    line-height: .4em;
}

.lh05 {
    line-height: .5em;
}

.lh06 {
    line-height: .6em;
}

.lh07 {
    line-height: .7em;
}

.lh08 {
    line-height: .8em;
}

.lh09 {
    line-height: .9em;
}

.lh10 {
    line-height: 1em;
}

.lh11 {
    line-height: 1.1em;
}

.lh12 {
    line-height: 1.2em;
}

.lh13 {
    line-height: 1.3em;
}

.lh14 {
    line-height: 1.4em;
}

.lh15 {
    line-height: 1.5em;
}

.lh16 {
    line-height: 1.6em;
}

.lh17 {
    line-height: 1.7em;
}

.lh18 {
    line-height: 1.8em;
}

.lh19 {
    line-height: 1.9em;
}

.lh20 {
    line-height: 2em;
}

/*
-------------------------------------------
OPACITY
-------------------------------------------
*/

.op10 {
    opacity: 1;
}

.op9 {
    opacity: .9;
}

.op8 {
    opacity: .8;
}

.op7 {
    opacity: .7;
}

.op6 {
    opacity: .6;
}

.op5 {
    opacity: .5;
}

.op4 {
    opacity: .4;
}

.op3 {
    opacity: .3;
}

.op2 {
    opacity: .2;
}

.op1 {
    opacity: .1;
}

.op0 {
    opacity: 0;
}

/*
-------------------------------------------
BOX SHADOWS
-------------------------------------------
*/


.shadow-sm {
    box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075) !important
}

.shadow {
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15) !important
}

.shadow-lg {
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, .175) !important
}

.shadow-none {
    box-shadow: none !important
}





/*
-------------------------------------------
PADDINGS AND MARGINS
-------------------------------------------
*/

.m-0 {
    margin: 0 !important
}

.mt-0,
.my-0 {
    margin-top: 0 !important
}

.mr-0,
.mx-0 {
    margin-right: 0 !important
}

.mb-0,
.my-0 {
    margin-bottom: 0 !important
}

.ml-0,
.mx-0 {
    margin-left: 0 !important
}

.m-1 {
    margin: .25rem !important
}

.mt-1,
.my-1 {
    margin-top: .25rem !important
}

.mr-1,
.mx-1 {
    margin-right: .25rem !important
}

.mb-1,
.my-1 {
    margin-bottom: .25rem !important
}

.ml-1,
.mx-1 {
    margin-left: .25rem !important
}

.m-2 {
    margin: .5rem !important
}

.mt-2,
.my-2 {
    margin-top: .5rem !important
}

.mr-2,
.mx-2 {
    margin-right: .5rem !important
}

.mb-2,
.my-2 {
    margin-bottom: .5rem !important
}

.ml-2,
.mx-2 {
    margin-left: .5rem !important
}

.m-3 {
    margin: 1rem !important
}

.mt-3,
.my-3 {
    margin-top: 1rem !important
}

.mr-3,
.mx-3 {
    margin-right: 1rem !important
}

.mb-3,
.my-3 {
    margin-bottom: 1rem !important
}

.ml-3,
.mx-3 {
    margin-left: 1rem !important
}

.m-4 {
    margin: 1.5rem !important
}

.mt-4,
.my-4 {
    margin-top: 1.5rem !important
}

.mr-4,
.mx-4 {
    margin-right: 1.5rem !important
}

.mb-4,
.my-4 {
    margin-bottom: 1.5rem !important
}

.ml-4,
.mx-4 {
    margin-left: 1.5rem !important
}

.m-5 {
    margin: 3rem !important
}

.mt-5,
.my-5 {
    margin-top: 3rem !important
}

.mr-5,
.mx-5 {
    margin-right: 3rem !important
}

.mb-5,
.my-5 {
    margin-bottom: 3rem !important
}

.ml-5,
.mx-5 {
    margin-left: 3rem !important
}

.p-0 {
    padding: 0 !important
}

.pt-0,
.py-0 {
    padding-top: 0 !important
}

.pr-0,
.px-0 {
    padding-right: 0 !important
}

.pb-0,
.py-0 {
    padding-bottom: 0 !important
}

.pl-0,
.px-0 {
    padding-left: 0 !important
}

.p-1 {
    padding: .25rem !important
}

.pt-1,
.py-1 {
    padding-top: .25rem !important
}

.pr-1,
.px-1 {
    padding-right: .25rem !important
}

.pb-1,
.py-1 {
    padding-bottom: .25rem !important
}

.pl-1,
.px-1 {
    padding-left: .25rem !important
}

.p-2 {
    padding: .5rem !important
}

.pt-2,
.py-2 {
    padding-top: .5rem !important
}

.pr-2,
.px-2 {
    padding-right: .5rem !important
}

.pb-2,
.py-2 {
    padding-bottom: .5rem !important
}

.pl-2,
.px-2 {
    padding-left: .5rem !important
}

.p-3 {
    padding: 1rem !important
}

.pt-3,
.py-3 {
    padding-top: 1rem !important
}

.pr-3,
.px-3 {
    padding-right: 1rem !important
}

.pb-3,
.py-3 {
    padding-bottom: 1rem !important
}

.pl-3,
.px-3 {
    padding-left: 1rem !important
}

.p-4 {
    padding: 1.5rem !important
}

.pt-4,
.py-4 {
    padding-top: 1.5rem !important
}

.pr-4,
.px-4 {
    padding-right: 1.5rem !important
}

.pb-4,
.py-4 {
    padding-bottom: 1.5rem !important
}

.pl-4,
.px-4 {
    padding-left: 1.5rem !important
}

.p-5 {
    padding: 3rem !important
}

.pt-5,
.py-5 {
    padding-top: 3rem !important
}

.pr-5,
.px-5 {
    padding-right: 3rem !important
}

.pb-5,
.py-5 {
    padding-bottom: 3rem !important
}

.pl-5,
.px-5 {
    padding-left: 3rem !important
}


.m-auto {
    margin: auto !important
}

.mt-auto,
.my-auto {
    margin-top: auto !important
}

.mr-auto,
.mx-auto {
    margin-right: auto !important
}

.mb-auto,
.my-auto {
    margin-bottom: auto !important
}

.ml-auto,
.mx-auto {
    margin-left: auto !important
}


/*
-------------------------------------------
ALIGNMENTS
-------------------------------------------
*/

.text-left {
    text-align: left !important
}

.text-right {
    text-align: right !important
}

.text-center {
    text-align: center !important
}

.items-start {
    align-items: start;
}

.items-center {
    align-items: center;
}

.items-end {
    align-items: end;
}

.place-start {
    place-content: start;
}

.place-center {
    place-content: center;
}

.place-end {
    place-content: end;
}

.flex-center {
    display        : flex;
    align-items    : center;
    justify-content: center;
}

.flex-center-v {
    display    : flex;
    align-items: center;
}

.flex-center-h {
    display        : flex;
    justify-content: center;
}

.flex-column {
    flex-direction: column;
}

.flex-row {
    flex-direction: row;
}



/*
-------------------------------------------
WIDTH AND HEIGHT
-------------------------------------------
*/


.mw-100 {
    max-width: 100% !important
}

.mh-100 {
    max-height: 100% !important
}

.min-vw-100 {
    min-width: 100vw !important
}

.min-vh-100 {
    min-height: 100vh !important
}

.vw-100 {
    width: 100vw !important
}

.vh-100 {
    height: 100vh !important
}


.w-25 {
    width: 25% !important
}

.w-33 {
    width: 33% !important
}

.w-50 {
    width: 50% !important
}

.w-75 {
    width: 75% !important
}

.w-100 {
    width: 100% !important
}

.w-auto {
    width: auto !important
}

.h-25 {
    height: 25% !important
}

.h-50 {
    height: 50% !important
}

.h-75 {
    height: 75% !important
}

.h-100 {
    height: 100% !important
}

.h-auto {
    height: auto !important
}



/*
-------------------------------------------
DIMENSIONES
-------------------------------------------
*/

.xml {
    font-size: 8em !important;
}

.ml {
    font-size: 6em !important;
}


.xxxxl {
    font-size: 4em !important;
}

.xxxl {
    font-size: xxx-large !important;
}

.xxl {
    font-size: xx-large !important;
}

.xl {
    font-size: x-large !important;
}

.lg {
    font-size: large !important;
}

.md {
    font-size: medium !important;
}

.sm {
    font-size: small !important;
}

.xs {
    font-size: x-small !important;
}

.xxs {
    font-size: xx-small !important;
}


/*
-------------------------------------------
ANIMACIONES
-------------------------------------------
*/

/* animate */
/* animaciones */
.animated {
    -webkit-animation-duration : 1s;
    animation-duration         : 1s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode        : both;
}

.fast {
    -webkit-animation-duration : 0.4s;
    animation-duration         : 0.4s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode        : both;
}


.slow {
    -webkit-animation-duration : 2s;
    animation-duration         : 2s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode        : both;
}

.veryslow {
    -webkit-animation-duration : 4s;
    animation-duration         : 4s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode        : both;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.fadeIn {
    animation-name: fadeIn;
}

/* FADEINUP */
@-webkit-keyframes fadeInUp {
    from {
        opacity          : 0;
        -webkit-transform: translate3d(0, 100%, 0);
        transform        : translate3d(0, 100%, 0);
    }

    to {
        opacity          : 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform        : translate3d(0, 0, 0);
    }
}

@keyframes fadeInUp {
    from {
        opacity          : 0;
        -webkit-transform: translate3d(0, 100%, 0);
        transform        : translate3d(0, 100%, 0);
    }

    to {
        opacity          : 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform        : translate3d(0, 0, 0);
    }
}

.fadeInUp {
    -webkit-animation-name: fadeInUp;
    animation-name        : fadeInUp;
}

/* FADEINRIGHT */

@-webkit-keyframes fadeInRight {
    from {
        opacity          : 0;
        -webkit-transform: translate3d(100%, 0, 0);
        transform        : translate3d(100%, 0, 0);
    }

    to {
        opacity          : 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform        : translate3d(0, 0, 0);
    }
}

@keyframes fadeInRight {
    from {
        opacity          : 0;
        -webkit-transform: translate3d(100%, 0, 0);
        transform        : translate3d(100%, 0, 0);
    }

    to {
        opacity          : 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform        : translate3d(0, 0, 0);
    }
}

.fadeInRight {
    -webkit-animation-name: fadeInRight;
    animation-name        : fadeInRight;
}

/* FADEINLEFT */

@-webkit-keyframes fadeInLeft {
    from {
        opacity          : 0;
        -webkit-transform: translate3d(-100%, 0, 0);
        transform        : translate3d(-100%, 0, 0);
    }

    to {
        opacity          : 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform        : translate3d(0, 0, 0);
    }
}

@keyframes fadeInLeft {
    from {
        opacity          : 0;
        -webkit-transform: translate3d(-100%, 0, 0);
        transform        : translate3d(-100%, 0, 0);
    }

    to {
        opacity          : 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform        : translate3d(0, 0, 0);
    }
}

.fadeInLeft {
    -webkit-animation-name: fadeInLeft;
    animation-name        : fadeInLeft;
}

/* FADEOUTLEFT */

@-webkit-keyframes fadeOutLeft {
    from {
        opacity: 1;
    }

    to {
        opacity          : 0;
        -webkit-transform: translate3d(-100%, 0, 0);
        transform        : translate3d(-100%, 0, 0);
    }
}

@keyframes fadeOutLeft {
    from {
        opacity: 1;
    }

    to {
        opacity          : 0;
        -webkit-transform: translate3d(-100%, 0, 0);
        transform        : translate3d(-100%, 0, 0);
    }
}

.fadeOutLeft {
    -webkit-animation-name: fadeOutLeft;
    animation-name        : fadeOutLeft;
}


/* FADEOUTSCALE */

@-webkit-keyframes fadeOutScale {
    from {
        opacity: 1;
    }

    to {
        opacity          : 0;
        -webkit-transform: scale(2);
        transform        : scale(2);
    }
}

@keyframes fadeOutScale {
    from {
        opacity: 1;
    }

    to {
        opacity          : 0;
        -webkit-transform: scale(2);
        transform        : scale(2);
    }
}

.fadeOutScale {
    -webkit-animation-name: fadeOutScale;
    animation-name        : fadeOutScale;
}



.hide-desktop {
    display: none;
}

@media (max-width: 600px) {

    .hide-desktop {
        display: block;
    }

    .hide-mobile {
        display: none !important;
    }

}