body{
  background: #f7f7f7;
} 

.cco-login{
  margin:auto;
}

  /* Elevation Class */
  .elevation-0 {
    box-shadow: none !important;
  }
  
  .elevation-1 {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24) !important;
  }
  
  .elevation-2 {
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23) !important;
  }
  
  .elevation-3 {
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23) !important;
  }
  
  .elevation-4 {
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22) !important;
  }
  
  .elevation-5 {
    box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22) !important;
  }
  
  /* ----------------------------------  */
  

.info-box {
    box-shadow: 0 0 1px rgba(0, 0, 0, 0.125), 0 1px 3px rgba(0, 0, 0, 0.2);
    border-radius: 0.25rem;
    background: #ffffff;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 1rem;
    min-height: 80px;
    padding: .5rem;
    position: relative;
  } 

  
.info-box .progress {
    background-color: rgba(0, 0, 0, 0.125);
    height: 2px;
    margin: 5px 0;
  }
  
  .info-box .progress .progress-bar {
    background-color: #ffffff;
  }
  
  .info-box .info-box-icon {
    border-radius: 0.25rem;
    -ms-flex-align: center;
    align-items: center;
    display: -ms-flexbox;
    display: flex;
    font-size: 1.875rem;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
    width: 70px;
  }
  
  .info-box .info-box-icon > img {
    max-width: 100%;
  }
  
  .info-box .info-box-content {
    -ms-flex: 1;
    flex: 1;
    padding: 5px 10px;
  }
  
  .info-box .info-box-number {
    display: block;
    font-weight: 700;
  }
  
  .info-box .progress-description,
  .info-box .info-box-text {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  
  .info-box .info-box .bg-primary,
  .info-box .info-box .bg-gradient-primary {
    color: #ffffff;
  }
  
  .info-box .info-box .bg-primary .progress-bar,
  .info-box .info-box .bg-gradient-primary .progress-bar {
    background-color: #ffffff;
  }
  
  .info-box .info-box .bg-secondary,
  .info-box .info-box .bg-gradient-secondary {
    color: #ffffff;
  }
  
  .info-box .info-box .bg-secondary .progress-bar,
  .info-box .info-box .bg-gradient-secondary .progress-bar {
    background-color: #ffffff;
  }
  
  .info-box .info-box .bg-success,
  .info-box .info-box .bg-gradient-success {
    color: #ffffff;
  }
  
  .info-box .info-box .bg-success .progress-bar,
  .info-box .info-box .bg-gradient-success .progress-bar {
    background-color: #ffffff;
  }
  
  .info-box .info-box .bg-info,
  .info-box .info-box .bg-gradient-info {
    color: #ffffff;
  }
  
  .info-box .info-box .bg-info .progress-bar,
  .info-box .info-box .bg-gradient-info .progress-bar {
    background-color: #ffffff;
  }
  
  .info-box .info-box .bg-warning,
  .info-box .info-box .bg-gradient-warning {
    color: #1F2D3D;
  }
  
  .info-box .info-box .bg-warning .progress-bar,
  .info-box .info-box .bg-gradient-warning .progress-bar {
    background-color: #1F2D3D;
  }
  
  .info-box .info-box .bg-danger,
  .info-box .info-box .bg-gradient-danger {
    color: #ffffff;
  }
  
  .info-box .info-box .bg-danger .progress-bar,
  .info-box .info-box .bg-gradient-danger .progress-bar {
    background-color: #ffffff;
  }
  
  .info-box .info-box .bg-light,
  .info-box .info-box .bg-gradient-light {
    color: #1F2D3D;
  }
  
  .info-box .info-box .bg-light .progress-bar,
  .info-box .info-box .bg-gradient-light .progress-bar {
    background-color: #1F2D3D;
  }
  
  .info-box .info-box .bg-dark,
  .info-box .info-box .bg-gradient-dark {
    color: #ffffff;
  }
  
  .info-box .info-box .bg-dark .progress-bar,
  .info-box .info-box .bg-gradient-dark .progress-bar {
    background-color: #ffffff;
  }
  
  .info-box .info-box-more {
    display: block;
  }
  
  .info-box .progress-description {
    margin: 0;
  }
/* ----------------------------------------  */  
.p-2 {
    padding: 0.5rem !important;
  }
  
  .pt-2,
  .py-2 {
    padding-top: 0.5rem !important;
  }
  
  .pr-2,
  .px-2 {
    padding-right: 0.5rem !important;
  }
  
  .pb-2,
  .py-2 {
    padding-bottom: 0.5rem !important;
  }
  
  .pl-2,
  .px-2 {
    padding-left: 0.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;
}

  
.mb-1,
.my-1 {
  margin-bottom: 0.25rem !important;
}

.ml-1,
.mx-1 {
  margin-left: 0.25rem !important;
}

.m-2 {
  margin: 0.5rem !important;
}

.mt-2,
.my-2 {
  margin-top: 0.5rem !important;
}

.mr-2,
.mx-2 {
  margin-right: 0.5rem !important;
}

.mb-2,
.my-2 {
  margin-bottom: 0.5rem !important;
}

.ml-2,
.mx-2 {
  margin-left: 0.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;
}

  
  @media (min-width: 768px) {
    .col-xl-2 .info-box .progress-description,
    .col-lg-2 .info-box .progress-description,
    .col-md-2 .info-box .progress-description {
      display: none;
    }
    .col-xl-3 .info-box .progress-description,
    .col-lg-3 .info-box .progress-description,
    .col-md-3 .info-box .progress-description {
      display: none;
    }
  }
  
  @media (min-width: 992px) {
    .col-xl-2 .info-box .progress-description,
    .col-lg-2 .info-box .progress-description,
    .col-md-2 .info-box .progress-description {
      font-size: 0.75rem;
      display: block;
    }
    .col-xl-3 .info-box .progress-description,
    .col-lg-3 .info-box .progress-description,
    .col-md-3 .info-box .progress-description {
      font-size: 0.75rem;
      display: block;
    }
  }
  
  @media (min-width: 1200px) {
    .col-xl-2 .info-box .progress-description,
    .col-lg-2 .info-box .progress-description,
    .col-md-2 .info-box .progress-description {
      font-size: 1rem;
      display: block;
    }
    .col-xl-3 .info-box .progress-description,
    .col-lg-3 .info-box .progress-description,
    .col-md-3 .info-box .progress-description {
      font-size: 1rem;
      display: block;
    }
  }
  /* ----------------------  */
  
/* Modal Option */

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.modalDialog {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.8);
  z-index: 2147483647;      /* muy por encima */
  opacity:0;
  -webkit-transition: opacity 100ms ease-in;
  -moz-transition: opacity 100ms ease-in;
  transition: opacity 100ms ease-in;
  pointer-events: none;
}
.modalDialog:target {
  opacity:1;
  pointer-events: auto;
}
.modalDialog > div {
  max-width: 900px;
  width: 90%;
  position: relative;
  margin: 10% auto;
  padding: 20px;
  border-radius: 3px;
  background: #fff;
}
.close {
  font-family: Arial, Helvetica, sans-serif;
  background: #f26d7d;
  color: #fff;
  line-height: 25px;
  position: absolute;
  right: -12px;
  text-align: center;
  top: -10px;
  width: 34px;
  height: 34px;
  text-decoration: none;
  font-weight: bold;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  -moz-box-shadow: 1px 1px 3px #000;
  -webkit-box-shadow: 1px 1px 3px #000;
  box-shadow: 1px 1px 3px #000;
  padding-top: 5px;
}
.close:hover {
  background: #fa3f6f;
}


/* BTN GROUP */
/* multi-button styles moved to cco-ui.css for consistency */
.multi-button-actions{
  padding: 2px;
}


.Hideme{
  display: none;
}


/* Form Input */
input[type="text"], input[type="password"] {
  width: 100%;
  border: 2px solid #aaa;
  border-radius: 4px;
  margin: 8px 0;
  outline: none;
  padding: 8px;
  box-sizing: border-box;
  transition: 0.3s;
}

input[type="text"]:focus, input[type="password"]:focus {
  border-color: dodgerBlue;
  box-shadow: 0 0 8px 0 dodgerBlue;
}



/* Input Group */
.input-group {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-align: stretch;
  align-items: stretch;
  width: 100%;
}

.w3-input:invalid, .w3-input.is-invalid {
  border-color: #dc3545;
  padding-right: 2.25rem;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E");
  background-repeat: no-repeat;
  background-position: center right calc(0.375em + 0.1875rem);
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}




.input-group > .w3-input{
  position: relative;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  width: 1%;
  margin-bottom: 0;
}

.input-group > .w3-input:focus {
  z-index: 3;
}

.input-group > .w3-input:not(:last-child),
.input-group > .custom-select:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.input-group-prepend,
.input-group-append {
  display: -ms-flexbox;
  display: flex;
}


.input-group-prepend .btn,
.input-group-append .btn {
  position: relative;
  z-index: 2;
}

.input-group-prepend .btn:focus,
.input-group-append .btn:focus {
  z-index: 3;
}


.input-group-prepend .btn + .btn,
.input-group-prepend .btn + .input-group-text,
.input-group-prepend .input-group-text + .input-group-text,
.input-group-prepend .input-group-text + .btn,
.input-group-append .btn + .btn,
.input-group-append .btn + .input-group-text,
.input-group-append .input-group-text + .input-group-text,
.input-group-append .input-group-text + .btn {
  margin-left: -1px;
}

.input-group-prepend {
  margin-right: -1px;
}

.input-group-append {
  margin-left: -1px;
}

.input-group-text {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 0;
  font-size: 1rem;
  font-weight: 400;
  
  color: #495057;
  text-align: center;
  white-space: nowrap;
  background-color: #e9ecef;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
}

/* Tooltip 

How to use: 
Just put the attribute hover-tooltip="" on an html attribute, and make it's value the text you want the tooltip to have. 
Example: hover-tooltip="This is some toolip text".

To change the position to be on the bottom of the hovered element, add tooltip-position="bottom" to it.

*/
[hover-tooltip] {
  position: relative;
  cursor: default;
}
[hover-tooltip]:hover::before {
  content: attr(hover-tooltip);
  font-size: 14px;
  text-align: center;
  position: absolute;
  display: block;
  left: 50%;
  min-width: 150px;
  max-width: 200px;
  bottom: calc(100% + 10px);
  transform: translate(-50%);
  animation: fade-in 300ms ease;
  background: #272727;
  border-radius: 4px;
  padding: 10px;
  color: #ffffff;
  z-index: 999990;
}
[hover-tooltip]:hover::after {
  content: "";
  position: absolute;
  display: block;
  left: 50%;
  width: 0;
  height: 0;
  bottom: calc(100% + 6px);
  margin-left: -3px;
  border: 1px solid black;
  border-color: #272727 transparent transparent transparent;
  border-width: 4px 6px 0;
  animation: fade-in 300ms ease;
  z-index: 999990;
}
[hover-tooltip][tooltip-position=bottom]:hover::before {
  bottom: auto;
  top: calc(100% + 10px);
}
[hover-tooltip][tooltip-position=bottom]:hover::after {
  bottom: auto;
  top: calc(100% + 6px);
  border-color: transparent transparent #272727;
  border-width: 0 6px 4px;
}

@keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

 
/* */
/* Custom invalid input class */
.cco-is-invalid {
  border-color: #dc3545 !important;
  padding-right: 2.25rem; /* Space for the error icon */
  background-position: right calc(0.375em + 0.1875rem) center;
  background-repeat: no-repeat;
  background-size: calc(1em + 0.375rem) calc(1em + 0.375rem);
  background-image: url('data:image/svg+xml,%3csvg xmlns="http://www.w3.org/2000/svg" fill="%23dc3545" viewBox="0 0 16 16"%3e%3cpath d="M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z"/%3e%3c/svg%3e');
}

/* Optional: Style for invalid feedback message */
.cco-invalid-feedback {
  color: #dc3545;
  display: block;
  margin-top: 0.25rem;
  font-size: 0.875em;
}

