/***************************ANIMACIONES*******************************/


@-webkit-keyframes flipInX {
    0% {
        -webkit-transform: perspective(400px) rotateX(90deg);
        transform: perspective(400px) rotateX(90deg);
        opacity: 0
    }

    0%,40% {
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in
    }

    40% {
        -webkit-transform: perspective(400px) rotateX(-20deg);
        transform: perspective(400px) rotateX(-20deg)
    }

    60% {
        -webkit-transform: perspective(400px) rotateX(10deg);
        transform: perspective(400px) rotateX(10deg);
        opacity: 1
    }

    80% {
        -webkit-transform: perspective(400px) rotateX(-5deg);
        transform: perspective(400px) rotateX(-5deg)
    }

    to {
        -webkit-transform: perspective(400px);
        transform: perspective(400px)
    }
}

@keyframes flipInX {
    0% {
        -webkit-transform: perspective(400px) rotateX(90deg);
        transform: perspective(400px) rotateX(90deg);
        opacity: 0
    }

    0%,40% {
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in
    }

    40% {
        -webkit-transform: perspective(400px) rotateX(-20deg);
        transform: perspective(400px) rotateX(-20deg)
    }

    60% {
        -webkit-transform: perspective(400px) rotateX(10deg);
        transform: perspective(400px) rotateX(10deg);
        opacity: 1
    }

    80% {
        -webkit-transform: perspective(400px) rotateX(-5deg);
        transform: perspective(400px) rotateX(-5deg)
    }

    to {
        -webkit-transform: perspective(400px);
        transform: perspective(400px)
    }
}


.animated {
    -webkit-animation-duration: 500ms;
    animation-duration: 500ms;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

.flipInX {
    -webkit-backface-visibility: visible!important;
    backface-visibility: visible!important;
    -webkit-animation-name: flipInX;
    animation-name: flipInX;
}

.hidden-element{
    display: none !important;
}

@-webkit-keyframes flipOutX {
  0% {
      -webkit-transform: perspective(400px);
      transform: perspective(400px)
  }

  30% {
      -webkit-transform: perspective(400px) rotateX(-20deg);
      transform: perspective(400px) rotateX(-20deg);
      opacity: 1
  }

  to {
      -webkit-transform: perspective(400px) rotateX(90deg);
      transform: perspective(400px) rotateX(90deg);
      opacity: 0
  }
}

@keyframes flipOutX {
  0% {
      -webkit-transform: perspective(400px);
      transform: perspective(400px)
  }

  30% {
      -webkit-transform: perspective(400px) rotateX(-20deg);
      transform: perspective(400px) rotateX(-20deg);
      opacity: 1
  }

  to {
      -webkit-transform: perspective(400px) rotateX(90deg);
      transform: perspective(400px) rotateX(90deg);
      opacity: 0
  }
}

.flipOutX {
  -webkit-animation-name: flipOutX;
  animation-name: flipOutX;
  -webkit-backface-visibility: visible!important;
  backface-visibility: visible!important
}

@-webkit-keyframes flipInY {
    0% {
        -webkit-transform: perspective(400px) rotateY(90deg);
        transform: perspective(400px) rotateY(90deg);
        opacity: 0
    }

    0%,40% {
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in
    }

    40% {
        -webkit-transform: perspective(400px) rotateY(-20deg);
        transform: perspective(400px) rotateY(-20deg)
    }

    60% {
        -webkit-transform: perspective(400px) rotateY(10deg);
        transform: perspective(400px) rotateY(10deg);
        opacity: 1
    }

    80% {
        -webkit-transform: perspective(400px) rotateY(-5deg);
        transform: perspective(400px) rotateY(-5deg)
    }

    to {
        -webkit-transform: perspective(400px);
        transform: perspective(400px)
    }
}

@keyframes flipInY {
    0% {
        -webkit-transform: perspective(400px) rotateY(90deg);
        transform: perspective(400px) rotateY(90deg);
        opacity: 0
    }

    0%,40% {
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in
    }

    40% {
        -webkit-transform: perspective(400px) rotateY(-20deg);
        transform: perspective(400px) rotateY(-20deg)
    }

    60% {
        -webkit-transform: perspective(400px) rotateY(10deg);
        transform: perspective(400px) rotateY(10deg);
        opacity: 1
    }

    80% {
        -webkit-transform: perspective(400px) rotateY(-5deg);
        transform: perspective(400px) rotateY(-5deg)
    }

    to {
        -webkit-transform: perspective(400px);
        transform: perspective(400px)
    }
}

.flipInY {
    -webkit-backface-visibility: visible!important;
    backface-visibility: visible!important;
    -webkit-animation-name: flipInY;
    animation-name: flipInY
}

@-webkit-keyframes flipOutY {
    0% {
        -webkit-transform: perspective(400px);
        transform: perspective(400px)
    }

    30% {
        -webkit-transform: perspective(400px) rotateY(-15deg);
        transform: perspective(400px) rotateY(-15deg);
        opacity: 1
    }

    to {
        -webkit-transform: perspective(400px) rotateY(90deg);
        transform: perspective(400px) rotateY(90deg);
        opacity: 0
    }
}

@keyframes flipOutY {
    0% {
        -webkit-transform: perspective(400px);
        transform: perspective(400px)
    }

    30% {
        -webkit-transform: perspective(400px) rotateY(-15deg);
        transform: perspective(400px) rotateY(-15deg);
        opacity: 1
    }

    to {
        -webkit-transform: perspective(400px) rotateY(90deg);
        transform: perspective(400px) rotateY(90deg);
        opacity: 0
    }
}

.flipOutY {
    -webkit-backface-visibility: visible!important;
    backface-visibility: visible!important;
    -webkit-animation-name: flipOutY;
    animation-name: flipOutY
}

@-webkit-keyframes bounceInRight {
  0%,60%,75%,90%,to {
      -webkit-animation-timing-function: cubic-bezier(.215,.61,.355,1);
      animation-timing-function: cubic-bezier(.215,.61,.355,1);
      z-index: 400;
  }

  0% {
      opacity: 0;
      -webkit-transform: translate3d(3000px,0,0);
      transform: translate3d(3000px,0,0);
      z-index: 400;
  }

  60% {
      opacity: 1;
      -webkit-transform: translate3d(-25px,0,0);
      transform: translate3d(-25px,0,0);
      z-index: 400;
  }

  75% {
      -webkit-transform: translate3d(10px,0,0);
      transform: translate3d(10px,0,0);
      z-index: 400;
  }

  90% {
      -webkit-transform: translate3d(-5px,0,0);
      transform: translate3d(-5px,0,0);
      z-index: 400;
  }

  to {
      -webkit-transform: none;
      transform: none;
      z-index: 400;
  }
}

@keyframes bounceInRight {
  0%,60%,75%,90%,to {
      -webkit-animation-timing-function: cubic-bezier(.215,.61,.355,1);
      animation-timing-function: cubic-bezier(.215,.61,.355,1);
      z-index: 400;
  }

  0% {
      opacity: 0;
      -webkit-transform: translate3d(3000px,0,0);
      transform: translate3d(3000px,0,0);
      z-index: 400;
  }

  60% {
      opacity: 1;
      -webkit-transform: translate3d(-25px,0,0);
      transform: translate3d(-25px,0,0);
      z-index: 400;
  }

  75% {
      -webkit-transform: translate3d(10px,0,0);
      transform: translate3d(10px,0,0);
      z-index: 400;
  }

  90% {
      -webkit-transform: translate3d(-5px,0,0);
      transform: translate3d(-5px,0,0);
      z-index: 400;
  }

  to {
      -webkit-transform: none;
      transform: none;
      z-index: 400;
  }
}

.bounceInRight {
  -webkit-animation-name: bounceInRight;
  animation-name: bounceInRight;
  z-index: 400;
}

@-webkit-keyframes bounceOutRight {
  20% {
      opacity: 1;
      -webkit-transform: translate3d(-20px,0,0);
      transform: translate3d(-20px,0,0)
  }

  to {
      opacity: 0;
      -webkit-transform: translate3d(2000px,0,0);
      transform: translate3d(2000px,0,0)
  }
}

@keyframes bounceOutRight {
  20% {
      opacity: 1;
      -webkit-transform: translate3d(-20px,0,0);
      transform: translate3d(-20px,0,0)
  }

  to {
      opacity: 0;
      -webkit-transform: translate3d(2000px,0,0);
      transform: translate3d(2000px,0,0)
  }
}

.bounceOutRight {
  -webkit-animation-name: bounceOutRight;
  animation-name: bounceOutRight
}

@keyframes fadeInRight {
  0% {
      opacity: 0;
      -webkit-transform: translate3d(100%,0,0);
      transform: translate3d(100%,0,0)
  }

  to {
      opacity: 1;
      -webkit-transform: none;
      transform: none
  }
}

.fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight
}

@-webkit-keyframes fadeOutRight {
  0% {
      opacity: 1
  }

  to {
      opacity: 0;
      -webkit-transform: translate3d(100%,0,0);
      transform: translate3d(100%,0,0)
  }
}

@keyframes fadeOutRight {
  0% {
      opacity: 1
  }

  to {
      opacity: 0;
      -webkit-transform: translate3d(100%,0,0);
      transform: translate3d(100%,0,0)
  }
}

.fadeOutRight {
  -webkit-animation-name: fadeOutRight;
  animation-name: fadeOutRight
}
/***************************ANIMACIONES*******************************/

/*********************************ALERTAS ANIMADAS***********************************/

.fontBody {
  overflow: hidden;
  text-transform: uppercase;
  text-align: center;
}

.aletBody {
  position:fixed;
  top: 5px; 
  right: 0;
  width: 250px;
  height: 110px;
  z-index: 400;
}

.titleMessage {
  font-size: 0.9em;
  font-weight: 100;
  letter-spacing: 3px;
  padding-top: 5px;
  color: #FCFCFC;
  padding-bottom: 5px;
  text-transform: uppercase;
  z-index: 400;
}

.green {
  color: darken(#99DBB4, 20%);
}

.red {
  color: darken(#EF8D9C, 10%);
}

.messageBody {
  margin-top: -5px;
  font-size: 0.5em;
  font-weight: 100;
  color: darken(#777777, 10%);
  letter-spacing: 1px;
  text-transform: uppercase;
  z-index: 400;
}


#success-box {
  position: absolute;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom right, #B0DB7D 40%, #99DBB4 100%);
  border-radius: 20px;
  box-shadow: 5px 5px 20px rgba(#CBCDD3, 10%);
  perspective: 40px;
}

#error-box {
  position: absolute;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom left, #EF8D9C 40%, #FFC39E 100%);
  border-radius: 20px;
  box-shadow: 5px 5px 20px rgba(#CBCDD3, 10%);
}

.dot {
  width: 8px;
  height: 8px;
  background: #FCFCFC;
  border-radius: 50%;
  position: absolute;
  top: 4%;
  right: 6%;
}

.two {
  right: 12%;
  opacity: .5;
}

.face {
  position: absolute;
  width: 20%;
  height: 40%;
  background: #FCFCFC;
  border-radius: 50%;
  border: 1px solid #777777;
  top: 10%;
  left: 40%;
  z-index: 2;
  animation: bounce 0.4s ease-in infinite;
}

.face2 {
  position: absolute;
  width: 20%;
  height: 40%;
  background: #FCFCFC;
  border-radius: 50%;
  border: 1px solid #777777;
  top: 10%;
  left: 40%;
  z-index: 2;
  animation: roll 2s ease-in-out infinite;
}

.eye {
  position: absolute;
  width: 5px;
  height: 10px;
  background: #777777;
  border-radius: 50%;
  top: 30%;
  left: 10%;
}

.der {
  left: 60%;
}

.mouth {
  position:absolute;
  top: 43%;
  left: 31%;
  width: 6px;
  height: 6px;
  border-radius: 50%;
}

.happy {
  border: 2px solid;
  border-color: transparent #777777 #777777 transparent;
  transform: rotate(45deg);
}

.sad {
  top: 49%;
  border: 2px solid;
  border-color: #777777 transparent transparent #777777;
  transform: rotate(45deg);
}

.sombra {
  position: absolute;
  width: 21%;
  height: 3%;
  opacity: .5;
  background: #777777;
  left: 40%;
  top: 50%;
  border-radius: 50%;
  z-index: 1;
}

.scale {
  animation: scale 0.4s ease-in infinite;
}
.move {
  animation: move 2s ease-in-out infinite;
}


.message {
  position: absolute;
  width: 100%;
  text-align: center;
  height: 40%;
  top: 47%;
}


@keyframes bounce {
  50% {
     transform: translateY(-10px);
  }
}

@keyframes scale {
  50% {
    transform: scale(0.6);
  }
}

@keyframes roll {
  0% {
    transform: rotate(-20deg);
    left: 25%;
  }
  50% {
    left: 60%;
    transform: rotate(390deg);
  }
  100% {
    transform: rotate(-20deg);
    left: 25%;
  }
}

@keyframes move {
  0% {
    left: 25%;
  }
  50% {
    left: 60%;
  }
  100% {
    left: 25%;
  }
}

/******************tabla*******************/
tr.hide-table-padding td {
  padding: 0;
  }

  .expand-button {
    position: relative;
  }

  .accordion-toggle .expand-button:after
  {
    position: absolute;
    left:.75rem;
    top: 50%;
    transform: translate(0, -50%);
    content: '-';
  }
  .accordion-toggle.collapsed .expand-button:after
  {
    content: '+';
  }

  
/*Reusable parts*/
.module {
  margin-bottom: 2em;
  background: rgba(255,255,255,1);
  color: rgba(37,40,42,1);
  float:left;width:100%;
  height: 100%;
  box-shadow: 0 5px 20px rgba(0,0,0,.5);
  border-radius: .5em;
}
.module [class*='col-'] .inner {
  padding: 2em 0;
}
.red {color: rgba(241,0,0,1);}
.green {color :rgba(78,170,62,1);}


/*Responsive Table & Accordion Styles*/
.tabular-data {
  overflow:hidden;
  position: relative;
}
.data-group {
  border-bottom: 1px solid rgba(220,220,220,1);
}
.data-inactive {
  color: rgba(120,120,120,1);
  background: rgba(230,230,230,1);
  padding: 1.5em;
  float:left;
  width: 100%;
}
.data-header {
  font-weight:bold;
  text-transform: uppercase;
  color: rgba(85,91,96,.5);
  padding: 1.5em;
}
.data-group:last-child {border:none;}
.data-group .data-expands,
.data-group .expandable {
  will-change:
    max-height,
    padding,
    opacity,
    background;
  transition:
    ease max-height .5s,
    ease padding .5s,
    ease opacity .5s,
    ease background .5s;
}
.data-group .data-expands {
  cursor: pointer;
  padding: 1.5em;
  float:left;
  width: 100%;
}
.data-group .title {font-weight:600}
.data-group .expandable {
  transform-origin: top;
  margin: 0 1.25em 0;
  padding: 0 1.5em;
  font-weight: 600;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
}
.data-group .expandable p {
  font-weight: 400;
  color: rgba(100,100,100,1);
}
.data-group .expandable hr {
  margin: 1em 0;
}
.data-group .expandable .btn {
  margin: 0;
  padding: .75em 0;
  width: 100%;
}
.row-active, .row-open {
  background: rgba(245,245,245,1);
  opacity: 1 !important;
}
.row-open {
  max-height: 999px !important;
  padding: 1.5em !important;
}
.row-toggle {
  position: relative;
  cursor: pointer;
  float: right;
  display: block;
  margin: .3em 0.5em 0 0;
  font-size: 2em;
  transition: ease transform .5s;
  transform-origin: center;
  line-height: 1;
  font-weight: bold;
}
.row-toggle .horizontal,
.row-toggle .vertical {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -8px;
  content:" ";
  width: 16px;
  height: 2px;
  background: rgba(120,120,120,1);
  transition: ease transform .5s;
  transform-origin: center;
}
.row-toggle .vertical {
  transform: rotate(90deg);
}
.row-toggle-twist,
.row-toggle-twist .vertical {
  transform: rotate(180deg);
}
@media screen and (max-width: 992px) {
  .data-group .title {display:inline-block;padding-bottom: 1em;}
}