:root{

    /* ---------- COLORES ---------- */ 

    --c-primary-bkg   : #f6f9fb;
    --c-primary-000   : white;
    --c-primary-050   : #f1f8fd;
    --c-primary-100   : #d9e2e9;
    --c-primary-200   : #c5d8e6;
    --c-primary-200-t : #c5d8e681;
    --c-primary-200-tl: #c5d8e624;
    --c-primary-250   : #a8c3d6;
    --c-primary-275   : #6f98b6;
    --c-primary-280   : #3c5a6f;
    --c-primary-300   : #235c85;

    --c-primary-400  : #0A3D62;

    --c-primary-500  : #052e4b;
    --c-primary-600  : #022035;
    --c-primary-700  : #01101b;

    --c-secondary-100: #eef2f3;
    --c-secondary-200: #bcc1c4;
    --c-secondary    : #6c757d;
    --c-accent       : #0D98AF;

    --c-success-o-15 : #43A04726;
    --c-success-o-25 : #43A04740;
    --c-success-o-5  : #43A04780;
    --c-success      : #43A047;

    --c-warning      : #F9A825;

    --c-danger-o-15  : #e77a7a26;
    --c-danger-o-25  : #e77a7a40;
    --c-danger-o-5   : #e77a7a80;
    --c-danger       : #e77a7a;
    --c-danger-500   : #C62828;
    
    /* ---------- TIPOGRAFIA ---------- */

    --ff-main: "Lato", sans-serif;
    --ff-bold: "Lato", sans-serif;
    --fs-400: 0.9rem;

    /* ---------- OTROS ---------- */

    --header-height: 66px;
    --header-open-width: 300px;

    --br-main  : .5rem;
    --br-med   : .35rem;
    --br-small : .25rem;

    --border-main: 1.5px solid var(--c-primary-250);
    --shadow-main: 0px 0px 20px 0px rgba(0, 0, 0, 0.075);
    --shadow-soft: 0px 0px 10px 0px rgba(0, 0, 0, 0.05);
}

@media (prefers-reduced-motion: no-preference) {
    :root {
        scroll-behavior: smooth; 
    } 
}

::-moz-selection {
    background: var(--c-primary-200);
    color: var(--c-primary-500);
}
  
::selection {
    background: var(--c-primary-200);
    color: var(--c-primary-500);
}

/* Scrollbar Width */
::-webkit-scrollbar {
    width: 8px;
    height: 4px;
}
  
/* Scrollbar Track */
::-webkit-scrollbar-track {
background: #f1f1f1;
border-radius: var(--br-med);

}

/* Scrollbar Handle */
::-webkit-scrollbar-thumb {
background: var(--c-primary-275);
border-radius: var(--br-med);
}

/* Scrollbar Handle on hover */
::-webkit-scrollbar-thumb:hover {
background: var(--c-primary-300);
}

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; 
}

body {
    font-family: var(--ff-main);
    font-size: var(--fs-400);
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: .3px;

    color: var(--c-secondary);

    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);

    margin: 0;
    /* letter-spacing: .05em; */
}

a {
    color: var(--c-primary-400);
    text-decoration: none; 
}

a:hover {
    color: var(--c-primary-300); 
}

.bold{
    font-family: var(--ff-bold);
}

option{
    color: black;
}

button{
    cursor: pointer;
}

p{
    margin:0;
    padding: 0;
    text-align: left;
}

ul{
    list-style: none;
    padding: 0;
}

i{
    pointer-events: none;
    cursor: default;
    vertical-align: middle;
    line-height: 1;
}

.jstree-ocl{
    pointer-events: auto;
}

.page-loader-cont{
    position: fixed;
    
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    
    background-color: white;
    z-index: 4;
    
    display: -webkit-box;
    
    display: -ms-flexbox;
    
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;

    opacity: 0;
    pointer-events: none;

    -webkit-transition: all .2s ease;

    -o-transition: all .2s ease;

    transition: all .2s ease;
}

.page-loader-cont.loading{
    opacity: 1;
    pointer-events: auto;
}

.page-loader{
    width: 8rem;
    height: 8rem;
    
    display: block;

    border-radius: 50%;
    border: 1rem solid var(--c-primary-100);
    border-left: 1rem solid var(--c-accent);
    border-top: 1rem solid var(--c-primary-400);
    border-bottom: 1rem solid var(--c-primary-500);

    -webkit-box-shadow: var(--shadow-main);

            box-shadow: var(--shadow-main);

    -webkit-transform: rotate(0deg);

        -ms-transform: rotate(0deg);

            transform: rotate(0deg);
    -webkit-animation: rotate 1.5s ease-in-out 0s infinite normal both;
            animation: rotate 1.5s ease-in-out 0s infinite normal both;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.page-loader i{
    font-size: 3.5rem;
    -webkit-transform-origin: center;
        -ms-transform-origin: center;
            transform-origin: center;
    -webkit-transform: rotate(-90deg);
        -ms-transform: rotate(-90deg);
            transform: rotate(-90deg);
    margin-bottom: .5rem;
    color: var(--c-accent);
    line-height: 1;

}

.page-loader-p{
    display: block;
    font-weight: bold;
    text-align: center;
    margin-top: .75rem;
    font-size: 1.2rem;
    color:var(--c-primary-500);
}

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

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

.header-base{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    margin-bottom: 1.5rem;
    padding: 1.75rem 0.75rem 0 0;
}

.title-base{
    margin: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: var(--c-primary-500);
}

.title-base i {
    margin-right: 0.5em;
}

.section-base{
    padding: 1rem;
    border: var(--border-main);
    border-radius: var(--br-med);
    -webkit-box-shadow: var(--shadow-main);
            box-shadow: var(--shadow-main);
    background-color: white;

    margin-right: -5px;
    margin-left: -5px;
}

.header-section-base{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;

    margin: 0 0 1rem;
    padding: 0 0 .5rem .65rem;
    border-bottom: var(--border-main);
}

.title-section-base{
    text-transform: uppercase;
    margin: 0;
    color: var(--c-primary-400);
    font-size: 1.1rem;
    font-weight: normal;
    font-weight: bold;
}

.title-section-base i{
    font-size: 1.1em;
    vertical-align: text-bottom;
    margin-right: .25rem;
}

.open .title-section-base span{
    display: none;
}

.button-section-base{
    color: var(--c-primary-400);
    background-color: var(--c-primary-bkg);
    border: var(--border-main);
    border-radius: var(--br-main);

    width: 2rem;
    height: 2rem;

    font-size: .9rem;
    margin-left: .5rem;
    line-height: 1;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-negative: 0;
        flex-shrink: 0;
}

.button-section-base:hover{
    color: var(--c-primary-300);
}

.button-section-base.add{
    color: white;
    background-color: var(--c-primary-400);
    border-color: var(--c-primary-400);
}

.button-section-base.add i {
    margin-top: 2px;
}

.button-section-base.chevron i{
    -webkit-transition: -webkit-transform .3s ease;
    transition: -webkit-transform .3s ease;
    -o-transition: transform .3s ease;
    transition: transform .3s ease;
    transition: transform .3s ease, -webkit-transform .3s ease;
    -webkit-transform: rotate(-90deg);
        -ms-transform: rotate(-90deg);
            transform: rotate(-90deg);
}

.open .button-section-base.chevron i{
    -webkit-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
            transform: rotate(0deg);
}

.button-section-base.add:hover{
    background-color: var(--c-primary-300);
    border-color: var(--c-primary-300);
}

.title-section-base + .button-section-base{
    margin-left: auto;
}

.ul-section-base{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;

    -ms-flex-wrap: wrap;

        flex-wrap: wrap;

    height: 0;
    overflow: hidden;
}

.ul-section-base.open{
    height: auto;
    overflow: auto;
    background-color: var(--c-primary-bkg);

    padding: 0.45rem 0.25rem 0;
    margin: 0 0.5rem 1rem;
    
    border: var(--border-main);
    border-radius: var(--br-main);
    border-color: var(--c-primary-100);
}

.li-section-base{
    border: var(--border-main);
    border-radius: var(--br-main);

    padding: 0.75rem 0.25rem;
    margin: 0 0.25rem 0.5rem;

    -webkit-box-flex: 1;

        -ms-flex-positive: 1;

            flex-grow: 1;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    -ms-flex-preferred-size: calc(25% - 1rem);
        flex-basis: calc(25% - 1rem);

    -webkit-box-shadow: var(--shadow-soft);

            box-shadow: var(--shadow-soft);
    background-color: white;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -ms-flex-line-pack: start;
        align-content: flex-start;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}

.li-title-section-base{
    width: 100%;

    font-size: .9rem;
    font-weight: bold;
    color: var(--c-primary-600);
    border-bottom: var(--border-main);
    margin-bottom: .5rem;
    padding: 0 .75rem .5rem;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;

    white-space: nowrap;
}

@media screen and (max-width: 700px) {
    .header-base{
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        margin-bottom: 1.75rem;
        padding: 0 0.75rem 0;
    }
}

@media screen and (max-width: 500px) {
    .header-section-base{
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        padding: 0 0 .5rem;
    }

    .title-section-base{
        width: 100%;
        text-align: center;
    }

    .button-section-base{
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        margin-top: .75rem;
    }

    .button-section-base.add{
        margin-left: 0;
    }
}

.main__info{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;

    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;

    margin-bottom: 1.5rem;
    padding: 1.75rem .75rem 0 0;
}

.main__title{
    margin: 0;
    
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;

    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;

    color: var(--c-primary-500);
}

@media screen and (max-width: 800px){
    .main__title{
        font-size: 1.1rem;
    }
}

.main__title i{
    margin-right: .25em;
}

.main__config{
    font-size: 1rem;

    width: 2rem;
    height: 2rem;
    padding: 0;
    margin-right: 1.25rem;
    
    color: white;
    background-color: var(--c-primary-400);
    
    border: none;
    border-radius: var(--br-small);
    
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;

    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;

    -ms-flex-negative: 0;
        flex-shrink: 0;
}

.main__config:hover{
    background-color: var(--c-primary-300);
}

.main__config i{
    margin: 0;
    font-size: 1rem;
}

.main__breadcrumbs{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;

    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;

    color: var(--c-secondary);
    margin: 0;

    -ms-flex-negative: 0;
        flex-shrink: 0;
}

.main__breadcrumb:last-child{
    font-weight: bold;
    color: var(--c-primary-300);
}

.main__breadcrumb::after{
    content: '>';
    color: inherit;
    margin-right: .25rem;
}

.main__breadcrumb:last-child:after{
    content: '';
}

.main__breadcrumb-a{
    color: inherit;
}

.main__breadcrumb-a:hover{
    color: var(--c-primary-300);
}

.main__breadcrumb:last-child .main__breadcrumb-a:hover{
    color: var(--c-primary-600);
}

.main__tabs, .tabs{
    margin: 0 .45rem 1.5rem;
    width: auto;

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;

    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;

    border-bottom: 1.5px solid var(--c-primary-250);
    padding-bottom: .5rem;
}

.main__tabs{
    overflow-x: auto;
}

.main__tab, .tabs__tab{
    margin-left: .5rem;
}

.main__tab:first-child, .tabs__tab:first-child{
    margin-left: 0;
}

.main__tab-button, .tabs__button{
    font-family: var(--ff-main);
    font-size: .9rem;
    text-transform: uppercase;
    display: block;

    color: var(--c-secondary);
    background-color: transparent;

    border: none;
    border-radius: var(--br-med);
    padding: .65rem 2.25rem;

    white-space: nowrap;
}

.main__tab:hover .main__tab-button, .tabs__tab:hover .tabs__button{
    color: var(--c-primary-400);
    background-color: var(--c-primary-200-t);
}

.main__tab.active .main__tab-button, .tabs__tab.active .tabs__button{
    color: var(--c-primary-000);
    background-color: var(--c-primary-400);
    cursor: default;
}

.main__section-wrapper{
    display: none;
}

.main__section-wrapper.active{
    display: block;
}

@media screen and (max-width: 1460px) {
    .monitor__tabs{
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        gap: .5rem;
    }

    .monitor__tab{
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;

        -ms-flex-preferred-size: calc(50% - .25rem);
            flex-basis: calc(50% - .25rem);

        margin: 0;
    }

    .monitor__tab-button{
        width: 100%;
        color: var(--c-primary-400);
        background-color: var(--c-primary-200-t);
        white-space: nowrap;
    }
}

@media screen and (max-width:700px){
    .main__info{
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start;
        
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;

        margin-bottom: 1.75rem;
        padding: 0 .75rem 0;
    }

    .main__title{
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
            -ms-flex-direction: row-reverse;
                flex-direction: row-reverse;

        border-bottom: var(--border-main);
        width: 100%;

        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end;

        margin-bottom: 0.5rem;
        padding: 0 0 0.15rem 0.25rem;
    }

    .main__config{
        margin: -.2rem 0 0 auto;
        background: transparent;
        color: var(--c-primary-275);

        -ms-flex-item-align: start;
            align-self: flex-start;
    }

    .main__title i{
        margin-right: 0.15em;
        font-size: 1.2rem;
        vertical-align: baseline;
    }

    .main__breadcrumbs{
        margin-top: 0;
        padding: 0 0.25rem;
    }

    .main__tabs, .tabs{
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        gap: .5rem;
    }

    .main__tab, .tabs__tab{
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        -ms-flex-preferred-size: calc(50% - .25rem);
            flex-basis: calc(50% - .25rem);
        margin: 0;
    }

    .main__tab-button, .tabs__button{
        width: 100%;
        color: var(--c-primary-400);
        background-color: var(--c-primary-200-t);
        white-space: nowrap;
        padding: .65rem 0;
    }
}

 /* -------- ACORDEON ---------- */
 .acordeon-nopadding{
    padding: 0!important;
    border: unset!important;
 }

 .acordeon{
    border: var(--border-main);
    border-radius: var(--br-med);
    padding: 1.2rem 1rem;
    margin: 1rem 0 2rem;
  }

  .acordeon__list{
    margin: 0;
  }

  .acordeon__item{
    margin: 0;
  }

  .acordeon__item.active{
    padding: .5rem 0;
    border-top: var(--border-main);
  }

  .acordeon__item:first-child.active{
    border-top: none;
    padding-top: 0;
  }

  .acordeon__item:last-child.active{
    padding-bottom: 0;
  }

  .acordeon__title{
    font-size: 1rem;
    font-weight: bold;
    text-transform: uppercase;
    padding: 1rem;

    color: var(--c-primary-500);
    background-color: var(--c-primary-bkg);

    border: var(--border-main);
    border-bottom: none;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;

    cursor: pointer;
  }

  .acordeon__item:hover .acordeon__title{
    background-color: var(--c-primary-200-t);
  }

  .acordeon__item:first-child .acordeon__title{
    border-radius: var(--br-med) var(--br-med) 0 0;
  }

  .acordeon__item:last-child .acordeon__title{
    border-bottom: var(--border-main);
    border-radius: 0 0 var(--br-med) var(--br-med);
  }

  .acordeon__item.active .acordeon__title{
    background-color: var(--c-primary-400);
    color: var(--c-primary-000);
    border-radius: var(--br-med) var(--br-med) 0 0;
  }

  .acordeon__item:last-child.active .acordeon__title{
    border-bottom: none;
  }

  .acordeon__title i{
    font-size: 1.3em;
    margin-right: .75rem;

    -webkit-transition: -webkit-transform .4s ease;

    transition: -webkit-transform .4s ease;

    -o-transition: transform .4s ease;

    transition: transform .4s ease;

    transition: transform .4s ease, -webkit-transform .4s ease;
  }

  .acordeon__item.active .acordeon__title i{
    -webkit-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
            transform: rotate(90deg);
  }

  .acordeon__content{
    display: none;
  }

  .acordeon__item.active .acordeon__content{
    display: block;
    border: var(--border-main);
    padding: 1rem;
    border-radius: 0 0 var(--br-med) var(--br-med);
  }

   /* -------- MODAL ---------- */

    .modal__container{
     position: fixed;
     top:0;
     left:0;
     width: 100%;
     height: 100%;
     background-color: rgba(57, 121, 148, 0.25);
     z-index: 4;

     display: -webkit-box;

     display: -ms-flexbox;

     display: flex;
     -webkit-box-pack: center;
         -ms-flex-pack: center;
             justify-content: center;
     -webkit-box-align: center;
         -ms-flex-align: center;
             align-items: center;

     opacity: 0;
     pointer-events: none;

     -webkit-transition: all .3s ease;

     -o-transition: all .3s ease;

     transition: all .3s ease;
    }

    .modal__container.openModalBkg{
     opacity: 1;
     pointer-events: auto;
    }

    .modal{
     width: calc(100% - 8vw);
     min-width: 400px;
     max-height: calc(100vh - var(--header-height) * 2);
     padding-bottom: 2.5rem;
       
     background-color: white;
     border-radius: var(--br-med);

     -webkit-box-shadow: var(--shadow-main);

             box-shadow: var(--shadow-main);

     display: -webkit-box;

     display: -ms-flexbox;

     display: flex;
     -webkit-box-orient: vertical;
     -webkit-box-direction: normal;
         -ms-flex-direction: column;
             flex-direction: column;
     -webkit-box-align: stretch;
         -ms-flex-align: stretch;
             align-items: stretch;
     -webkit-box-pack: center;
         -ms-flex-pack: center;
             justify-content: center;

     -webkit-transform: translateY(1.25rem);

         -ms-transform: translateY(1.25rem);

             transform: translateY(1.25rem);
     opacity: 0;
     pointer-events: none;
     position: absolute;
     -webkit-transition: all .5s ease;
     -o-transition: all .5s ease;
     transition: all .5s ease;
    }

    .modal-scroll{
     padding-bottom: 1rem;
    }

    .openModalBkg .modal.openModal{
     opacity: 1;
     pointer-events: auto;
     position: relative;
     -webkit-transform: translateY(0);
         -ms-transform: translateY(0);
             transform: translateY(0);
    }

   .modal--xs{
    max-width: 500px;
   }

   .modal--sm{
    max-width: 700px;
   }

   .modal--md{
    max-width: 1000px;
   }

   .modal__close{
    position: absolute;
    top: .5rem;
    right: .5rem;

    width: 2.25rem;
    height: 2.25rem;

    font-size: 1rem;

    border: none;
    border-radius: var(--br-med);
    color: var(--c-primary-200-t);
    background-color: transparent;

    -webkit-transition: color .2s ease;

    -o-transition: color .2s ease;

    transition: color .2s ease;
   }

   .modal__close:hover{
    color: var(--c-primary-000);
   }

   .modal__header{
    padding: 1.25rem 2rem;
    color: var(--c-primary-000);
    background-color: var(--c-primary-400);

    border-radius: var(--br-med) var(--br-med) 0 0;
    text-align: center;

    height: 100%;
   }

   .modal__title{
    font-weight: bold;
    font-size: 1.5rem;
    text-transform: uppercase;
    text-align: inherit;
   }

   .modal__body{
    margin: 2.5rem 0 0;
    padding: 0 2.5rem;
    height: 100%;
    overflow-y: auto;
   }

   .modal__side-wrapper{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
   }

   .modal__side{
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    -ms-flex-preferred-size: calc( 50% - 1rem );
        flex-basis: calc( 50% - 1rem );
    padding: .5rem;
   }

   .modal__subtitle{
    color: var(--c-primary-400);
    font-size: 1rem;
    font-weight: bold;
    text-transform: uppercase;
    text-align: center;
    padding: 0 2rem 1rem;
    margin-bottom: 1rem;
    border-bottom: var(--border-main);
    line-height: 1;
    border-radius: var(--br-main) var(--br-main) 0 0;
   }

   .modal__button-container{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: 3rem;
   }

   .modal__button{
    font-size: 1.1rem;
    color: var(--c-primary-000);
    background-color: var(--c-primary-400);

    padding: .5rem 1.5rem;
    border: none;
    border-radius: var(--br-med);

    margin: 0 .5rem;
   }

   .modal__button[id^="filter"]{
    position: fixed;
    bottom: 2rem;
    right: 2.5rem;
   }

   .modal__button:hover{
    background-color: var(--c-primary-300);
   }

   .modal__button.secondary{
    color: var(--c-primary-400);
    border: 1.5px solid var(--c-primary-400);
    background-color: transparent;
   }

   .modal__button.secondary:hover{
    background-color: var(--c-primary-200-t);
   }

   .modal__button.delete:hover{
    color: var(--c-danger-500);
    border: 1.5px solid var(--c-danger-500);
    background-color: var(--c-danger-o-15);
   }

   @media screen and ( max-width: 700px ) {
    .modal, .modal--sm, .modal--md, .openModalBkg .modal.openModal{
        max-width: 90%;
        width: 100%;
        margin: 5% auto;
        max-height: 90%;
        min-width: auto;
    }
   }

   #add_related-datatable_users{
    display: none;
   }


   /* -------------------- SIDE MENU ------------------- */

   .side-menu{
    position: fixed;
    top: 0;
    left: 100%;

    width: 100%;
    max-width: var(--header-open-width);
    height: 100vh;

    background-color: white;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;

    -webkit-box-shadow: var(--shadow-main);
            box-shadow: var(--shadow-main);

    border-left: var(--border-main);

    -webkit-transition: all .5s ease;
         -o-transition: all .5s ease;
            transition: all .5s ease;
   }

   .side-menu.side-menu--open{
    left: calc(100% - var(--header-open-width));
   }

   .side-menu__header{
    color: white;
    background-color: var(--c-primary-400);

    font-size: 1.15rem;

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;

    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;

    padding: 1rem 1rem 1rem 1.5rem;
   }

   .side-menu__title{
    width: 100%;
   }

   .side-menu__title span{
    opacity: .75;
    font-size: .85em;
    display: block;
    line-height: 1;
   }

   .side-menu__close{
    font-size: inherit;
    background-color: transparent;
    border: none;
    color: inherit;

    -ms-flex-negative: 0;
        flex-shrink: 0;

    opacity: .5;

    -webkit-transition: all .3s ease;
         -o-transition: all .3s ease;
            transition: all .3s ease;
   }

   .side-menu__close:hover{
    opacity: 1;
   }

   .side-menu__body{
    padding: 1rem;
    -ms-flex-negative: 1;
        flex-shrink: 1;
    overflow: auto;
    margin-bottom: 1rem;
   }

   .side-menu__section{
    padding: 0 .35rem 1rem;
    margin-bottom: 1rem;
    border-bottom: var(--border-main);
   }

   .side-menu__section-title{
    color: var(--c-primary-400);
    margin-bottom: .25rem;
   }

   .side-menu__ul{
    margin: 0;
    padding: 0;
   }

   .side-menu__li{
    margin: 0 0 0 1rem;
    padding: 0;
   }

.required-field:after {
   content: ' *';
}

/* ------------------------------ MONITORING ------------------------------ */

.monitor__modal-list{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    
    gap: .5rem;
    min-width: 500px;
    width: 100%;

    padding: 1rem;
    border: var(--border-main);
    border-radius: 0 0 var(--br-main) var(--br-main);
}

@media screen and ( max-width: 700px ){
    .monitor__modal-list{
        min-width: auto;
    }
}

.monitor__modal-list input{
    display: none;
}

.monitor__modal-item{
    display: block;

    padding: .6rem 1rem .5rem .75rem;
    color: var(--c-primary-400);
    background-color: var(--c-primary-bkg);

    line-height: 1;

    border: var(--border-main);
    border-radius: var(--br-med);

    cursor: pointer;
    white-space: nowrap;

}

.monitor__modal-list input:checked + .monitor__modal-item{
    color: white;
    background-color: var(--c-primary-400);
    border-color: var(--c-primary-400);
}

.monitor__modal-item i{
    font-size: 1.1em;
    margin-right: .25rem;
    vertical-align: top;
}

.monitor{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;

    margin-top: 2rem;
}

.monitor__main--big{
    display: none;
}

.monitor__container{
    width: 100%;
    margin-right: .5rem;
    max-width: calc(100% - 0.5rem - 67px);
}

.monitor__wrapper{
    padding: 1rem .45rem;
    border: var(--border-main);
    border-radius: var(--br-main);

    -webkit-box-shadow: var(--shadow-main);
            box-shadow: var(--shadow-main);
}

.monitor__section-wrapper{
    display: none;
}

.monitor__section-wrapper.active{
    display: block;
}

.monitor__section{
    min-width: 0;
}

.monitor__info{
    position: relative;

    -webkit-box-shadow: var(--shadow-main);
            box-shadow: var(--shadow-main);

    border: var(--border-main);
    border-radius: var(--br-main);
    margin-bottom: .5rem;
}

.monitor__info.episody{
    display: none;
}

.monitor__info.infections .monitor__section-header, .monitor__info.surgery .monitor__section-header{
    margin-top: .9rem;
    padding: 0 0.5rem 0.5rem;
}

.monitor__info-header{
    padding: .45rem .5rem .45rem 1rem;

    color: var(--c-primary-500);
    border-bottom: var(--border-main);

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;

    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;

    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}

.monitor__name{
    margin: 0;
    font-size: 1.15rem;
}

.monitor__name i{
    vertical-align: text-bottom;
    margin-top: .1em;
    margin-right: .5em;
    font-size: 1em;
}

.monitor__contact{
    font-size: 1.25em;
    margin-left: .5rem;

    background-color: var(--c-primary-bkg);
    border: var(--border-main);

    width: 2.5rem;
    height: 2.5rem;

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;

    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;

    border-radius: var(--br-main);

    color: inherit;
}

.monitor__contact:first-of-type{
    margin-left: auto;
    font-size: 1.35em;
}

.monitor__info-body{
    padding: .5rem 1rem 0;

    display: -ms-grid;
    display: grid;

    -ms-grid-columns: 1fr 1rem 1fr;
    grid-template-columns: repeat(2, 1fr);

    gap: .5rem 1rem;

}

@media screen and (max-width: 580px) {
    .monitor__info-body{
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;

        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }
}

.monitor__sec-info{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;

    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;

    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    
    margin-bottom: .5rem;
    padding: .65rem .5rem 0;
    margin: 0 .75rem;
}

.monitor__sec-info:nth-child(1n + 2){
    border-top: var(--border-main);
}

.monitor__sec{
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;

    -ms-flex-negative: 0;
        flex-shrink: 0;

    -ms-flex-preferred-size: 225px;
        flex-basis: 225px;

    padding: 0 0 .5rem;
}

.monitor__sec.long{
    -webkit-box-flex: 2;
        -ms-flex-positive: 2;
            flex-grow: 2;

    -ms-flex-preferred-size: 325px;
        flex-basis: 325px;
}

.monitor__sec span{
    font-weight: bold;
    margin-right: .5rem;
    color: var(--c-primary-400);
}

.monitor__side-menu{
    padding: 0;
    margin: 0;
    border-radius: var(--br-main);

    -webkit-box-shadow: var(--shadow-main);
            box-shadow: var(--shadow-main);

    position: sticky;
    top:.5rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;

    min-width: 67px;
}

.monitor__li-section{
    padding: 0.3rem .75rem .75rem;
    border: var(--border-main);
    border-top: none;
    border-bottom: none;

    display: none;
}

.monitor__li-section#none-section{
    border-top: none;
}

.monitor__li-section.active{
    display: block;
}

.monitor__li-section.active + .active{
    padding-top: .3rem;
    border-top: var(--border-main);
}

.monitor__side-menu.side-menu--readonly .monitor__li-section{
    border-top: var(--border-main);
}

.monitor__side-menu.side-menu--readonly .monitor__li-section.active{
    border-radius: var(--br-main) var(--br-main) 0 0;
}

.monitor__side-menu.side-menu--readonly .monitor__li-section.active + .active{
    border-radius: 0;
}

.monitor__item{
    color: white;
    border-radius: var(--br-main);
    background-color: var(--c-primary-400);

    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;

    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;

    width: 2.5rem;
    height: 2.5rem;
    margin-top: .5rem;

    position: relative;
    display: none;
}

.env .monitor__item{
    color: var(--c-primary-400);
    background-color: white;

    border: var(--border-main);
    border-color: var(--c-primary-300);
}

.monitor__item.add{
    background-color: var(--c-primary-bkg);
    color: var(--c-primary-300);
    border: var(--border-main);

    -webkit-transition: all .2s ease;
         -o-transition: all .2s ease;
            transition: all .2s ease;

}

.monitor__item.add:hover{
    background-color: var(--c-primary-050);
    color: var(--c-primary-400);
}

.monitor__item.active{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.monitor__item i {
    font-size: 1.35em;
}

.monitor__item span{
    position: absolute;
    right: calc(100% + .5rem);

    font-weight: bold;
    color: var(--c-primary-400);
    color: inherit;
    background-color: inherit;

    white-space: nowrap;
    height: 100%;

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;

    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;

    padding: 0 1rem;
    border-radius: var(--br-main);
    border: inherit;

    -webkit-box-shadow: var(--shadow-main);
            box-shadow: var(--shadow-main);

    opacity: 0;
    pointer-events: none;

    -webkit-transition: all .3s ease;
         -o-transition: all .3s ease;
            transition: all .3s ease;
}

.monitor__item:hover span, .monitor__side-menu.show span{
    opacity: 1;
    pointer-events: auto;
}

.monitor__add-factor{
    width: 100%;
    border: none;
    border-bottom: var(--border-main);
    border-radius: var(--br-main) var(--br-main) 0 0;

    color: white;
    background-color: var(--c-primary-400);

    padding: .65rem;
    font-size: 1rem;
}

.monitor__add-factor:hover{
    background-color: var(--c-primary-300);
}

.monitor__show{
    width: 100%;
    border: none;
    border: var(--border-main);
    border-radius: 0 0 var(--br-main) var(--br-main);

    color: var(--c-primary-400);
    background-color: var(--c-primary-bkg);
    padding: .75rem;
}

.monitor__side-menu .monitor__show .fa-eye, .monitor__side-menu.show .monitor__show .fa-eye-slash{
    display: none;
}

.monitor__side-menu.show .monitor__show .fa-eye, .monitor__side-menu .monitor__show .fa-eye-slash{
    display: block;
}

.monitor__section-wrapper{
    width: 100%;
}

.monitor__table-wrapper {
    width: 100%;
    overflow-y: auto;
    padding: 0 .45rem 2rem;
}

.monitor__section-header{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;

    margin: 0 0.5rem 1rem;
    padding: 0 0 .5rem .65rem;
    border-bottom: var(--border-main);
}

.monitor__section-header.episody{
    margin-bottom: 0;
}

.monitor__section-title{
    text-transform: uppercase;
    margin: 0;
    color: var(--c-primary-400);
    font-size: 1.1rem;
    font-weight: normal;
    font-weight: bold;
    margin-right: 1rem;
}

.open .monitor__section-title {
    padding-right: 1.8rem;
}

.open .monitor__section-title span{
    display: none;
}

.monitor__section-title i{
    font-size: 1.25em;
    vertical-align: text-bottom;
    margin-right: .5rem;
}

.monitor__section-button{
    color: var(--c-primary-400);
    background-color: var(--c-primary-bkg);
    border: var(--border-main);
    border-radius: var(--br-main);

    width: 2rem;
    height: 2rem;

    font-size: .9rem;
    margin-left: .5rem;
    line-height: 1;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-negative: 0;
        flex-shrink: 0;
}

.monitor__section-title + .monitor__section-button{
    margin-left: auto;
}

.monitor__section-button:hover{
    color: var(--c-primary-300);
}

.monitor__section-button.add{
    color: white;
    background-color: var(--c-primary-400);
    border-color: var(--c-primary-400);
}

.monitor__section-button.add i {
    margin-top: 2px;
}

.monitor__section-button.chevron i{
    -webkit-transition: -webkit-transform .3s ease;
    transition: -webkit-transform .3s ease;
    -o-transition: transform .3s ease;
    transition: transform .3s ease;
    transition: transform .3s ease, -webkit-transform .3s ease;
    -webkit-transform: rotate(-90deg);
        -ms-transform: rotate(-90deg);
            transform: rotate(-90deg);
}

.open .monitor__section-button.chevron i{
    -webkit-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
            transform: rotate(0deg);
}

.monitor__section-button.add:hover{
    background-color: var(--c-primary-300);
    border-color: var(--c-primary-300);
}

.monitor__section-body{
    padding: 1rem;
    border-radius: var(--br-main);
    margin: 0 .5rem 1.5rem;
}

.monitor__section-body.episody{
    margin-bottom: .5rem;
}

.monitor__episody{
    margin: .45rem 0;
}

.monitor__episody .name{
    cursor: pointer;
}

.monitor__episody .date{
    margin: 0 3rem 0 0;
    position: relative;
}

.monitor__episody .fa-flag{
    color: var(--c-secondary-200);
    color: var(--c-primary-400);
    opacity: .25;
    margin-right: 1.25rem;
}

.monitor__episody:first-child .fa-flag{
    color: var(--c-warning);
    opacity: 1;
}

.monitor__episody .date::after{
    content: "";
    position: absolute;
    top: 0;
    left: calc(100% + .75rem);
    display: block;
    width: 1.5rem;
    height: 50%;
    border-bottom: var(--border-main);
}

.monitor__ul{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;

    -ms-flex-wrap: wrap;

        flex-wrap: wrap;

    height: 0;
    overflow: hidden;
}

.monitor__ul.open {
    height: auto;
    overflow: auto;
    background-color: var(--c-primary-bkg);
    
    padding: 0.45rem 0.25rem 0;
    margin: 0 0.5rem 1rem;
    
    border: var(--border-main);
    border-radius: var(--br-main);
    border-color: var(--c-primary-100);
}

.monitor__li{
    border: var(--border-main);
    border-radius: var(--br-main);

    padding: 0.75rem 0.25rem;
    margin: 0 0.25rem 0.5rem;

    max-width: calc(100% - .5rem);

    -webkit-box-flex: 1;

        -ms-flex-positive: 1;

            flex-grow: 1;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    -ms-flex-preferred-size: calc(25% - 1rem);
        flex-basis: calc(25% - 1rem);

    -webkit-box-shadow: var(--shadow-soft);

            box-shadow: var(--shadow-soft);
    background-color: white;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -ms-flex-line-pack: start;
        align-content: flex-start;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}

.monitor__li.create-on-popup{
    cursor: pointer;
}

.monitor__li-date{
    color: var(--c-primary-400);
    margin: 0 .78rem .15rem;
    width: 100%;
    font-size: .8rem;
    white-space: nowrap;

    display: flex;
    justify-content: space-between;
    align-items: center;
}

.monitor__li-title{
    width: 100%;

    font-size: .9rem;
    font-weight: bold;
    color: var(--c-primary-600);
    border-bottom: var(--border-main);
    margin-bottom: .5rem;
    padding: 0 .75rem .5rem;

    /* display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end; */

    white-space: nowrap;
    overflow: hidden;
    -o-text-overflow: ellipsis;
       text-overflow: ellipsis;
}

.monitor__li-title span {
    font-family: var(--ff-main);
    font-size: .8rem;
    line-height: 1.7;

    color: var(--c-primary-400);
    margin-left: 1rem;
    white-space: nowrap;
}

.monitor__li-data{
    font-size: .8rem;
    padding: 0 0.78rem;
    white-space: initial;
}

.monitor__li-data span{
    color: var(--c-primary-400);
    font-weight: bold;
    margin-right: .5rem;
}


@media screen and (max-width: 685px) {
    .monitor{
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
            -ms-flex-direction: column-reverse;
                flex-direction: column-reverse;
    }

    .monitor__wrapper{
        padding: 1rem;
    }

    .monitor__container{
        max-width: none;
    }

    .monitor__side-menu{
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        width: 100%;
        margin-bottom: .5rem;

        background-color: white;
        border: var(--border-main);
        border-top: none;
    }

    .monitor__side-menu > li:first-child{
        width: 100%;
    }

    .monitor__side-menu.side-menu--readonly{
        border-top: var(--border-main);
    }

    .monitor__ul-section{
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }

    .monitor__li-section {
        margin: .5rem 0;
        border: none;
        padding: 0;
    }

    .monitor__li-section.active + .active{
        border: none;
        border-left: var(--border-main);
        padding: 0 0 0 .5rem;
        margin: .5rem;
    }

    .monitor__li-section#none-section.active {
        border: none;
    }

    .monitor__side-menu.side-menu--readonly .monitor__li-section{
        border-top: none;
    }

    .monitor__item{
        margin: 0.15rem;
        width: 2.25rem;
        height: 2.25rem;

        position: static;
    }

    .monitor__item:nth-child(1n + 2){
        margin: 0.15rem;
    }

    .monitor__show{
        height: 100%;
        width: auto;
        border: none;
        border-left: var(--border-main);
        border-radius: 0 var(--br-main) var(--br-main) 0;
        margin: 0 0 0 1.5rem;

        display: none;
    }

    .monitor__item span{
        right: auto;
        left: 0;
        top: calc(100% + 0.5rem);
        width: 100%;
        height: 50%;
    }

    .monitor__item i{
        font-size: 1.25em;
    }

    .monitor__info-header{
        padding-top: 1rem;
    }

    .monitor__name{
        width: 100%;
        -webkit-box-ordinal-group: 3;
            -ms-flex-order: 2;
                order: 2;
        margin: .75rem 0 .5rem;
    }

    .monitor__contact:first-of-type{
        margin: 0;
    }

    .monitor__li, .monitor__ul.anti .monitor__li{
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%;
        margin: 0 0 1rem 0;
    }

    .monitor__li-title{
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }

    .monitor__li-title span{
        width: 100%;
        margin-left: 0;
    }

    .monitor__li-data, .monitor__li-title{
        white-space: initial;
    }
}

.control__table{
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

.control__table th:empty{
    visibility: hidden;
}

table tbody tr.control__row:nth-child(even){
    background-color: white;
}

.cell{
    margin: 0;
    padding: .5rem .75rem;
    border: var(--border-main);
    text-align: center;
}

.control__head{
    text-transform: uppercase;
    color: white;
    background-color: var(--c-primary-400);
    border-color: var(--c-primary-400);
    border-radius: var(--br-main) 0 0 var(--br-main);
    line-height: 1.1;

    font-size: .8rem;
    white-space: nowrap;
    width: 160px;
}

.control__header{
    text-transform: uppercase;
    color: var(--c-primary-400);
    color: white;
    background-color: var(--c-primary-400);
    border-color: var(--c-primary-400);
    border-radius: var(--br-main) var(--br-main) 0 0;
}

.control__row:nth-child(even) .control__cell{
    background-color: var(--c-primary-bkg);
}

.control__cell i{
    color: inherit;
    display: none;
}

.control__cell.good{
    color: var(--c-primary-400);
}

.control__row .control__cell.bad{
    color: var(--c-danger);
    background-color: var(--c-danger-o-15);
    border-color: var(--c-danger-o-5);
}

.control__cell.bad span.bad i{
    display: inline;
}

.monitor__table-wrapper {
    width: calc(100% - .9rem);
    overflow-y: auto;
    padding: 0;
    margin: 0 .45rem 2rem;
}    

.control__row{
    position: relative;
}

.control__table .control__head{
    position: sticky;
    left: 0.5rem;
    -webkit-transform: translateX(-.5rem);
        -ms-transform: translateX(-.5rem);
            transform: translateX(-.5rem);
}

@media screen and (max-width: 700px){
    .monitor{
        margin-top: 0;
    }
}

@media screen and (max-width: 500px) {
    .monitor__episody a{
        display: block;
    }

    .monitor__episody .date::after{
        display: none;
    }

    .monitor__section-header{
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }

    .monitor__section-title{
        width: 100%;
        text-align: center;
    }

    .monitor__section-button{
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        margin-top: .75rem;
    }

    .monitor__section-button.add{
        margin-left: 0;
    }

    .monitor__section-header{
        padding: 0 0 .5rem;
    }

    .monitor__section-header.episody{
        margin-bottom: 0;
    }
    
}

.readonly.monitor__info-container{
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}

@media screen and (min-width: 1225px){
    .monitor__info-container{
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start;
        -webkit-box-align: stretch;
            -ms-flex-align: stretch;
                align-items: stretch;

        margin-bottom: 1rem;
    }

    .monitor__info{
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    }

    .monitor__info.episody, .monitor__info.infections, .monitor__info.surgery{
        display: block;
    }

    .monitor__info:first-child{
        margin-right: .5rem;
        min-width: 60%;
    }

    .readonly .monitor__info{
        margin-left: .5rem;
    }

    .readonly .monitor__info:first-child{
        margin-right: 0;
        margin-left: 0;
        min-width: auto;
        -ms-flex-negative: initial;
            flex-shrink: initial;
        min-width: 500px;
        -ms-flex-preferred-size: 25%;
            flex-basis: 25%;
    }

    .readonly .monitor__info:first-child .monitor__info-body{
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }

    .readonly .monitor__info:nth-child(1n + 2){
        min-width: 30%;
    }

    .monitor__section-header.episody{
        margin-top: .9rem;
        padding: 0 .5rem .5rem;
    }

    .monitor__section-body.episody{
        margin-bottom: 1rem;

        overflow-y: auto;
        max-height: 150px;
    }
}

@media screen and (max-width: 1450px){

    .readonly .monitor__section-body.episody{
        max-height: 200px;
    }

    .readonly .monitor__episody{
        margin: .5rem;
    }
}


@media screen and (min-width: 1350px) {
    .monitor__tabs{
        display: none;
    }

    .monitor__main{
        display: none;
        margin-top: 1rem;
    }

    .monitor__main--big{
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    .monitor__section:first-child{
        max-width: 45%;
        min-width: 40%;
    }

    .monitor__section:last-child{
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
    }

    .monitor__section:last-child .monitor__section-title{
        width: 100%;
    }

    .monitor__section:last-child .monitor__ul{
        -ms-flex-line-pack: start;
            align-content: flex-start;
    }

    .monitor__section-title{
        font-size: 1.2rem;
    }

    .monitor__section:first-child .monitor__ul{
        display: block;
    }

    .control__head{
        font-size: .8rem;
        white-space: nowrap;
    }
}

/* ------------------------------ HOME ------------------------------ */

.home{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;

    padding: 2rem 2rem 0;

    gap: .5rem;
}

@media screen and (max-width: 700px){
    .home{
        padding: 1rem 1rem 1rem;
    }
}

.home__section{
    padding: 1rem;
    border: var(--border-main);
    border-radius: var(--br-main);
    -webkit-box-shadow: var(--shadow-main);
            box-shadow: var(--shadow-main);

    -webkit-box-flex: 150;

        -ms-flex-positive: 150;

            flex-grow: 150;
    -ms-flex-negative: 1;
        flex-shrink: 1;
}

.monitor-section{
    -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
    max-height: calc(100vh - 3.9rem);
    max-width: 1500px;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

.graph-section{
    -ms-flex-preferred-size: 550px;
        flex-basis: 550px;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 0.5rem;
}

.home__subtitle{
    font-size: 1.1rem;
    font-weight: bold;
    letter-spacing: 0;
    text-transform: uppercase;

    margin: .5rem 0;
    padding: 0 .5rem .5rem;
    color: var(--c-primary-400);

    border-bottom: var(--border-main);
}

.home__subtitle i{
    font-size: 1.25em;
    vertical-align: text-bottom;
    margin-right: .5rem;
}

.home__ul {
    height: auto;
    background-color: var(--c-primary-bkg);

    padding: 0.45rem 0.25rem 0;
    margin: 0;
    
    border: var(--border-main);
    border-radius: var(--br-main);
    border-color: var(--c-primary-100);

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-pack: stretch;
        -ms-flex-pack: stretch;
            justify-content: stretch;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;

    overflow-y: auto;
}

.home__li{
    border-radius: var(--br-main);

    margin: 0 0.25rem 0.5rem;
    
    -webkit-box-flex: 1;
    
        -ms-flex-positive: 1;
    
            flex-grow: 1;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    -ms-flex-preferred-size: calc(50% - 1rem);
        flex-basis: calc(50% - 1rem);
    
    -webkit-box-shadow: var(--shadow-soft);
    
            box-shadow: var(--shadow-soft);
    background-color: white;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;

    -webkit-box-ordinal-group: 2;

        -ms-flex-order: 1;

            order: 1;

    -webkit-transition: -webkit-box-ordinal-group .1s linear .1s;

    transition: -webkit-box-ordinal-group .1s linear .1s;

    -o-transition: order .1s linear .1s;

    transition: order .1s linear .1s;

    transition: order .1s linear .1s, -webkit-box-ordinal-group .1s linear .1s, -ms-flex-order .1s linear .1s;
}

.home__li.faved{
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
}

.home__fav{
    font-size: 1rem;
    color: var(--c-primary-400);
    color: white;
    background-color: var(--c-primary-400);

    padding: .5rem 1rem;

    border: none;
    border-radius: var(--br-main) 0 0 var(--br-main);
}

.faved .home__fav{
    background-color: var(--c-warning);
}

.home__fav .fa-solid{
    display: none;
}

.faved .home__fav .fa-solid{
    display: block;
}

.faved .home__fav .fa-regular{
    display: none;
}

.home__link{
    display: block;
    width: 100%;
    padding: 0.75rem 0.5rem 0.75rem .75rem;
    border: var(--border-main);
    border-left: none;
    border-radius: 0 var(--br-main) var(--br-main) 0;
}

.hand-hygiene .home__link{
    border: var(--border-main);
    border-radius: var(--br-main);
}

.home__li-title, .home__li-type, .home__li-episody{
    margin: 0;
}

.home__li-type{
    color: var(--c-primary-400);
    width: 100%;
    font-size: .8rem;
    margin-bottom: .15rem;
    padding: 0 .5rem;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}

.home__li-title{
    width: 100%;

    font-size: .9rem;
    font-weight: bold;
    color: var(--c-primary-600);
    border-bottom: var(--border-main);
    margin-bottom: .5rem;
    padding: 0 .5rem .5rem;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;

    white-space: nowrap;
}

.hand-hygiene .home__li-title{
    border: none;
    margin-bottom: 0;
    padding-bottom: 0;

    text-transform: uppercase;
}

.home__li-title span {
    font-family: var(--ff-main);
    font-weight: normal;
    font-size: .8rem;
    line-height: 1.7;

    color: var(--c-primary-400);
    margin-left: 1rem;
    white-space: nowrap;
}

.home__li-episody{
    font-size: .8rem;
    padding: 0 0.5rem;
    white-space: initial;
}

.home__li-data span{
    color: var(--c-primary-400);
    font-weight: bold;
    margin-right: .5rem;
}

.home__graph-container{
    position: relative;
}

.home__graph{
    max-height: 350px;
    opacity: 0;
    pointer-events: none;
}

.home__graph:nth-child(1n + 2){
    position: absolute;
    top: 0;
    left : 0;
    width: 100%;
}

.home__graph.active{
    opacity: 1;
    pointer-events: auto;
}

.home__button-container{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
}

.home__label{
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -ms-flex-negative: 0;
        flex-shrink: 0;

    cursor: pointer;
}

.home__label:nth-child(1n + 2){
    margin-left: .5rem;
}

.home__button{
    display: block;
    width: 100%;

    font-size: .8rem;
    text-align: center;
    text-transform: uppercase;

    padding: .25rem .5rem;

    border: var(--border-main);
    border-radius: var(--br-med);

    color: var(--c-primary-500);
    background-color: var(--c-primary-bkg);

    -moz-user-select: none;

         user-select: none;
    -ms-user-select: none; 
    -webkit-user-select: none;
}

.home__radio:checked + .home__button{
    color: white;
    border-color: var(--c-primary-400);
    background-color: var(--c-primary-400);
}

.home__radio{
    display: none;
}

@media screen and (max-width: 700px){
    .home{
        padding: 1rem 1rem 1rem;
    }

    .home__link{
        padding: 0.75rem 0.5rem;
    }

    .home__li-title{
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        white-space: normal;
        line-height: 1.3;
    }

    .home__li-title span{
        margin: .25rem 0 0;
        width: 100%;
    }

    .home__fav{
        font-size: .9rem;
        padding: .25rem .5rem;
    }
}


/* ------------------------------ CLEAN HANDS ------------------------------ */

.clean-hands .select2{
    min-width: 200px;
    display: block;
}

.clean-hands .ul-section-base{
    display: block;
}

.clean-hands .li-title-section-base{
    width: auto;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
}

.clean-hands .ul-section-base{
    background-color: transparent;
    border: none;
    padding: 0;
    border-radius: 0;
}

.form-time{
    position: relative;
    top: 1.25rem;
}

.clean-hands .row:last-child{
    margin-bottom: 1rem;
}

.clean-hands__section{
    margin-top: .5rem;
    padding-bottom: 0;
}

.clean-hands__li{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    margin-bottom: .5rem;
}

.clean-hands__selec-button{
    cursor: pointer;
}

.clean-hands label{
    padding: 0;
    margin: 0;
}

.clean-hands__tick-body{
    display: block;
    height: 100%;
    
    display: -webkit-box;
    
    display: -ms-flexbox;
    
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;

    background-color: var(--c-primary-200-t);
    border: var(--border-main);
    border-right: none;
    border-radius: var(--br-med) 0 0 var(--br-med);

    pointer-events: none;
}

.clean-hands__tick{
    position: relative;
    display: inline-block;
    width: 1.2rem;
    height: 1.2rem;

    margin-right: .25rem;

    background-color: var(--c-primary-bkg);
    border: var(--border-main);
    border-radius: 2.5px;

    vertical-align: top;

    pointer-events: none;
}

.clean-hands__selec-button .clean-hands__tick{
    margin: 1rem;
}

.clean-hands__li-body{
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;

    padding: .5rem;

    border: var(--border-main);
    border-radius: 0 var(--br-med) var(--br-med) 0;
    background-color: white;
}

.clean-hands__li-section{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0 0.75rem 0.25rem;

    -webkit-box-flex: 1;

        -ms-flex-positive: 1;

            flex-grow: 1;
}

.clean-hands .li-title-section-base{
    border: none;
    padding: 0;
    margin: 0;
}

.clean-hands__label{
    -ms-flex-negative: 0;
        flex-shrink: 0;
    cursor: pointer;
}

.clean-hands__label:nth-child(1n + 2){
    margin-left: 1.5rem;
}

.clean-hands__li-section:first-child{
    padding: 0 0.75rem 0.5rem;
    margin-bottom: .5rem;
    border-bottom: var(--border-main);
}

.clean-hands__li-section:first-child > div{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;

    -ms-flex-negative: 0;

        flex-shrink: 0;
}

@media screen and ( max-width: 825px ) {
    .clean-hands__li-section:first-child{
        display: block;
        padding: 0;
    }

    .clean-hands .li-title-section-base{
        white-space: normal;
        padding: 0.25rem 0.75rem 0;
    }

    .clean-hands__li-section:first-child > div{
        border-top: var(--border-main);
        margin: .5rem 0;
        padding: 0.5rem 0.75rem 0;
    }
}

@media screen and ( max-width: 550px ) {
    .clean-hands__li-section{
        display: block;
    }

    .clean-hands__li-section:first-child > div{
        display: block;
    }

    .clean-hands__label:nth-child(1n + 2){
        margin-left: 0;
        margin-top: .5rem;
    }
}

.clean-hands__radio, .clean-hands__checkbox{
    display: none;
    pointer-events: none;
}

.clean-hands__button{
    position: relative;
    display: inline-block;
    width: 1.2rem;
    height: 1.2rem;

    margin-right: .25rem;

    background-color: var(--c-primary-bkg);
    border: var(--border-main);
    border-radius: 50%;

    vertical-align: top;

    pointer-events: none;
}

.clean-hands__radio:checked + .clean-hands__button, .clean-hands__checkbox:checked + .clean-hands__tick,
.clean-hands__checkbox:checked + .clean-hands__tick-body .clean-hands__tick{
    border-color: var(--c-primary-400);
    -webkit-box-shadow: inset 0 0 0 2px var(--c-primary-bkg), inset 0 0 0 100px var(--c-primary-400);
            box-shadow: inset 0 0 0 2px var(--c-primary-bkg), inset 0 0 0 100px var(--c-primary-400);
}

.clean-hands__checkbox:checked + .clean-hands__tick-body{
    background-color: var(--c-primary-400);
}

#datatable_monitorings td:has(span.bad), #datatable_monitorings td:has(span.good){
    padding: 0.25rem;
}

#datatable_monitorings td span.bad, #datatable_monitorings td span.good{
    width: 100%;
    display: inline-block;

    border: var(--border-main);
    border-radius: var(--br-small);
    
    text-align: center;
    padding: 0.3rem 0.6rem;

    font-weight: bold;
}

#datatable_monitorings td span.bad{
    color : var(--c-danger);
    background-color: var(--c-danger-o-15);
    
    border-color: var(--c-danger-o-5);
}

#datatable_monitorings td span.good{
    color: var(--c-success);
    background-color: var(--c-success-o-15);

    border-color: var(--c-success-o-5);
}

.select2-hidden-accessible[required] {
    display: block;
    height: 0;
    border: 1px solid transparent;
    margin-bottom: -2px;
}

.alert-danger {
    color: red;
}

.epine{
    padding: .25rem 2rem 2rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;

    width: calc(100vw - var(--header-open-width) - .5rem);
    height: 100%;
    overflow-y: scroll;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

.closed-menu .epine{
    width: calc(100vw - var(--header-height) - .5rem);
}

.epine__container{
    width: 100%;
}

.main.epine{
    overflow-y: auto;
    overflow-x: hidden;
    height: calc(100vh - var(--header-height));
}

.epine__title{
    font-size: 1.5rem;
    color: var(--c-primary-700);
    border-bottom: var(--border-main);
    padding: 0 0 .25rem 0;
    margin: 0 0 2rem 0;
}

.epine__subtitle{
    font-size: 1.25rem;
    color: var(--c-primary-400);
    border-bottom: var(--border-main);
    padding: 0 0 .25rem 0;
    margin: 0 0 1rem 0;
}

.epine__container + .epine__container{
    margin-top: 3rem;
}

.epine__table{
    width: 100%;
    font-size: .9rem;
    border-spacing: 0px;
}

.epine__th{
    color: var(--c-primary-400);
    font-weight: 400;
    font-weight: bold;
    text-align: left;
}

thead .epine__th{
    text-transform: uppercase;
}

.epine__th.border-left{
    border-left: var(--border-main);
}

.epine__upper .epine__th{
    text-align: center;
    border: var(--border-main);
    border-bottom: none;
    border-right: none;
}

.epine__upper .epine__th:last-child{
    border-right: var(--border-main);
}

.epine__th{
    border-top: var(--border-main);
    border-bottom: var(--border-main);
}

.epine__th:first-child, .epine__td:first-child{
    border-left: var(--border-main);
}

thead .epine__th:first-child{
    border-radius: var(--br-med) 0 0 0;
}

tfoot .epine__th:first-child{
    border-radius: 0 0 0 var(--br-med);
}

.epine__th:last-child, .epine__td:last-child{
    border-right: var(--border-main);
}

tfoot .epine__th:last-child{
    border-radius: 0 0 var(--br-med) 0;
}

.epine__th, .epine__td{
    padding: .75em 1em;
}

.epine__td{
    color: var(--c-primary-700);
}

.epine__tr:nth-child(odd){
    background-color: var(--c-primary-bkg);
}

.epine__tr.children .epine__td:first-child{
    padding-left: 2.5em;
}

.epine__tr.sec-children .epine__td:first-child{
    padding-left: 4em;
}

.total{
    font-weight: bold;
}

.epine__td{
    white-space: nowrap;
}

.no-footer .epine__tr:last-child td{
    border-bottom: var(--border-main);
}

.no-footer .epine__tr:last-child td:first-child{
    border-radius: 0 0 0 var(--br-med);
}

.no-footer .epine__tr:last-child td:last-child{
    border-radius: 0 0 var(--br-med) 0;
}

caption {
    padding: 1rem .5rem;
    caption-side: bottom;
    text-align: left;
}

caption span{
    font-size: .75rem;
    display: block;
}

caption span + span{
    margin-top: .5em;
}

.epine__table-wrapper{
    max-width: 100%;
    overflow-x: auto;
}

@media screen and (max-width: 920px){
    .epine{
        padding: 2rem 5% 2rem;
        width: 100vw;
    }
}

@media screen and (max-width: 500px) {

    .epine .main__info{
        padding: 0;
    }

    .epine__title{
        font-size: 1.1rem;
    }

    .epine__subtitle{
        font-size: 1rem;
    }

}