/*__filename__    : rh-cloud.css */
/*__author__      : DataHome S. de R.L. de C.V. */
/* __copyright__  : DataHome S. de R.L. de C.V. */
/*__description__ : Estilos de la página comercial de RH-Cloud */
/* __version__    : 2.4.0 */
/* __app__        : RH */
:root {
   --color-primary: #2144c4;
   --color-primary-hover: #2f5ee0;
   --color-secondary: #1cbcff;
   --color-secondary-hover: #4ad0ff;
   --color-dark: #2e3847;
   --color-light: #eceff2;
   --color-blue-dark: #172d5c;
   --color-blue-gray: #5b748c;
   --color-blue-light: #dae2e9;
   --color-white: #ffffff;
   --color-success: #29ca91;
   --color-danger: #F44336;
   --color-black-10: #f4f5f7;
   --color-black-20: #e9edef;
   --color-black-30: #dee2e6;
   --color-black-40: #ced4da;
   --color-black-50: #adb5bd;
   --color-black-60: #6c757d;
   --color-black-70: #495057;
   --color-black-80: #343a40;
   --color-black-90: #212529;
   --color-black-100: #000000;
}

body {
   font-family: 'Poppins', sans-serif;
   font-size: 14px;
   color: var(--color-blue-dark);
}

@media (min-width: 992px) {
  .container, .container-sm, .container-md, .container-lg {
    max-width: 1200px;
  }
}

@media (min-width: 1400px) {
  .container, .container-sm, .container-md, .container-lg, .container-xl {
    max-width: 1400px;
  }
}

.wrapper {
   padding-top: 80px;
}

/* ///// HEADER ///// */
.header {
   width: 100%;
   height: 34px;
   background-color: var(--color-blue-dark);
   border-bottom-left-radius: 5px;
   border-bottom-right-radius: 5px;
   color: var(--color-white);
   padding: 0px 15px;
   font-size: 12px;
   display: flex;
   align-items: center;
   justify-content: space-between;
}

@media (max-width: 992px) {
   .header {
      justify-content: center;
   }
}

/* ///// MENU ///// */
.nav-menu {
   width: 100%;
   height: auto;
   padding: 20px 0px;
   position: fixed;
   top: 0px;
   z-index: 50;
   background-color: var(--color-white);
   box-shadow: 0px 15px 30px 0px transparent;
   transition: all .3s;
}

.nav-menu .container {
   display: flex;
   align-items: center;
   justify-content: space-between;
}

.nav-menu.nav-menu-fixed {
   box-shadow: 0px 15px 30px 0px rgba(23,45,92,.1);
   padding: 8px;
}

.nav-menu.nav-menu-fixed .option {
   margin-right: 18px;
}

.nav-menu.nav-menu-fixed .logo {
   height: 36px;
}

.nav-menu .logo {
   width: auto;
   height: 55px;
   transition: all .3s;
}

.nav-menu .option {
   text-decoration: none;
   margin-right: 30px;
   color: var(--color-blue-dark);
   font-size: 14px;
   font-weight: 500;
   transition: all .3s;
}

.nav-menu .option:hover {
   color: var(--color-primary);
}

.nav-menu .option.active {
   color: var(--color-primary);
   font-weight: 600;
}

.nav-menu .nav-options {
   display: flex;
   align-items: center;
}

.nav-menu .dropdown-perfil .foto-perfil {
   width: 32px;
   height: 32px;
   object-fit: cover;
   border-radius: 50%;
}

.nav-menu .dropdown-perfil .dropdown-menu {
   overflow: hidden;
   padding: 0px;
}

.nav-menu .dropdown-perfil .dropdown-menu .info-perfil {
   width: 100%;
   height: auto;
   padding: 25px 25px 20px 25px;
   background-color: var(--color-blue-dark);
   border-top-left-radius: 0.25rem;
   border-top-right-radius: 0.25rem;
   text-align: center;
   position: relative;
   overflow: hidden;
   cursor: default;
}

.nav-menu .dropdown-perfil .dropdown-menu .info-perfil .blur {
   position: absolute;
   width: 280px;
   height: 280px;
   background-color: var(--color-primary);
   top: -220px;
   left: calc(50% - 140px);
   border-radius: 50%;
   filter: blur(50px);
   /* opacity: 1; */
   /* display: none; */
}

.nav-menu .dropdown-perfil .dropdown-menu .info-perfil img {
   width: 90px;
   height: 90px;
   object-fit: cover;
   border-radius: 50%;
   /* border: 5px solid rgba(255,255,255,.4); */
}

.nav-menu .dropdown-perfil .dropdown-menu .dropdown-item {
   padding: 10px 20px;
}

.nav-menu .dropdown-perfil .dropdown-menu .dropdown-item i {
   font-size: 24px;
   vertical-align: -3px;
   margin-right: 6px;
}

.dropdown-menu-language {
   min-width: auto;
}

.dropdown-menu-language .dropdown-toggle {
   color: var(--color-blue-dark);
   text-decoration: none;
}

.dropdown-menu-language .dropdown-toggle i {
   font-size: 10px;
   vertical-align: 1px;
}

.dropdown-menu-language .flag {
   width: 20px;
}

.dropdown-menu-language .dropdown-item {
   padding: 0.5rem 1.2rem;
}

/* ///// MOBILE MENU ///// */
.btn-open-mobile-menu {
   width: 40px;
   height: 40px;
   font-size: 28px;
   cursor: pointer;
   /* display: flex; */
   align-items: center;
   justify-content: center;
   border: 1px solid var(--color-black-30);
   border-radius: 3px;
}

.btn-close-mobile-menu {
   width: 40px;
   height: 40px;
   font-size: 28px;
   cursor: pointer;
   display: flex;
   align-items: center;
   justify-content: center;
   border: 1px solid var(--color-black-30);
   border-radius: 3px;
   /* color: var(--color-blue-dark); */
   position: absolute;
   top: 20px;
   right: 20px;
}

.mobile-nav-menu {
   width: 400px;
   height: 100%;
   position: fixed;
   top: 0px;
   right: 0px;
   background-color: var(--color-white);
   z-index: 99;
   right: -1000px;
   transition: all .3s;
   overflow: auto;
}

.mobile-nav-menu.open-menu {
   right: 0px;
}

@media (max-width: 576px) {
   .mobile-nav-menu {
      width: 85%;
   }
}

.mobile-nav-menu .options-container {
   padding: 30px;
}

.mobile-nav-menu .options-container .img-perfil {
   width: 80px;
   height: 80px;
   border-radius: 50%;
   object-fit: cover;
}

.mobile-nav-menu .options-container .logo {
   width: 80px;
}

.mobile-nav-menu .options-container .option {
   font-size: 15px;
   color: var(--color-blue-dark);
   display: block;
   text-decoration: none;
   margin-bottom: 17px;
}

.mobile-nav-menu .options-container .option i {
   font-size: 23px;
   vertical-align: -2px;
   margin-right: 8px;
}

.mobile-nav-menu .options-container .option.active {
   color: var(--color-primary);
   font-weight: 600;
}

.mobile-nav-menu .options-container .option-sm {
   font-size: 14px;
   margin-bottom: 10px;
}

/* ///// INDEX: BANNER PRINCIPAL ///// */
.banner-principal {
   width: 100%;
   height: auto;
   padding: 40px 0px 10px 50px;
   background-color: var(--color-primary);
   border-radius: 6px;
   position: relative;
   overflow: hidden;
}

.banner-principal .row {
   position: relative;
   z-index: 5;
}

.banner-principal .bg-blur {
   position: absolute;
   width: 40%;
   height: 60%;
   background-color: var(--color-secondary);
   bottom: 25%;
   right: 40px;
   border-radius: 50%;
   filter: blur(400px);
   z-index: 4;
}

@media (max-width: 992px) {
   .banner-principal {
      padding: 40px 40px 20px 40px;
   }

   .banner-principal .bg-blur {
      width: 80%;
      bottom: 40px;
      right: 10%;
   }
}

@media (max-width: 768px) {
   .banner-principal {
      padding: 40px 25px 25px 25px;
   }

   .banner-principal .bg-blur {
      width: 80%;
      bottom: -80px;
      right: 10%;
   }
}

.img-banner-principal {
   max-width: 80%;
   height: auto;
   display: block;
   margin: 0 auto;
}

/* ///// INDEX: BANNER CARACTERISTICAS ///// */
.banner-caracteristicas {
   padding: 40px 40px 0px 40px;
   border-radius: 8px;
   background-color: var(--color-light);
   box-shadow: 0px 55px 40px -35px rgba(23,45,92,.3);
   border: 2px solid var(--color-white);
}

.banner-caracteristicas .img-caracteristicas-index {
   margin: 0px auto;
   margin-top: -125px;
   display: block;
}

.banner-caracteristicas .item {
   display: flex;
   align-items: center;
}

.banner-caracteristicas .item .icon {
   width: 50px;
   height: 50px;
   background-color: var(--color-white);
   /* background-color: var(--color-secondary); */
   border-radius: 10px;
   display: flex;
   align-items: center;
   justify-content: center;
   margin-right: 20px;
   box-shadow: 0px 18px 35px -10px rgba(23,45,92,.6);
}

.banner-caracteristicas .item .icon i {
   color: var(--color-secondary);
   /* color: var(--color-white); */
   font-size: 32px;
}

@media (max-width: 1400px) {
   .banner-caracteristicas .img-caracteristicas-index {
      max-width: 100%;
      margin-top: -60px;
   }
}

@media (max-width: 992px) {
   .banner-caracteristicas .img-caracteristicas-index {
      max-width: 75%;
      margin: 15px auto;
      display: block;
   }

   .banner-caracteristicas .item {
      flex-direction: column;
   }

   .banner-caracteristicas .item .icon {
      margin-right: 0px;
      margin-bottom: 20px;
   }
}

@media (max-width: 576px) {
   .banner-caracteristicas .img-caracteristicas-index {
      max-width: 90%;
   }
}

/* ///// INDEX: CLIENTES ///// */
.logo-cliente {
   position: relative;
   text-align: center;
   margin-bottom: 30px;
   box-sizing: border-box;
}

.logo-cliente img {
   filter: grayscale(100);
   max-width: 100%;
}

.logo-cliente .color {
   width: 100%;
   height: 100%;
   background-color: #6a6a7f;
   position: absolute;
   mix-blend-mode: color;
   z-index: 5;
}

/* ///// INDEX: DISTRIBUIDORES ///// */
.banner-distribuidores {
   width: 100%;
   height: auto;
   padding: 50px;
   background-color: var(--color-primary);
   background-image: url(../images/index/bg-azul.jpg);
   background-repeat:no-repeat;
   background-position:center;
   background-size: cover;
   border-radius: 6px;
}

@media (max-width: 992px) {
   .banner-distribuidores {
      padding: 40px;
   }
}

/* ///// INDEX: MODULOS ///// */
.bloque-modulos .item {
   width: 100%;
   height: auto;
   border-radius: 5px;
   background-color: var(--color-light);
   margin-bottom: 30px;
   position: relative;
   overflow: hidden;
   transition: all ease .3s;
}

.bloque-modulos a {
   text-decoration: none;
}

.bloque-modulos .item:hover {
   background-color: var(--color-blue-dark);
   /* background-color: var(--color-white); */
   box-shadow: 0px 25px 35px -10px rgba(23,45,92,.5);
   /* margin-top: -5px; */
   /* transform: scale(1.05); */
   z-index: 10;
}

.bloque-modulos .item:hover .title,
.bloque-modulos .item:hover .subtitle {
   color: var(--color-white);
}

.bloque-modulos .item .info {
   width: 85%;
   position: absolute;
   bottom: 0px;
   padding: 25px;
   display: flex;
   align-items: flex-end;
   justify-content: space-between;
   z-index: 10;
}

.bloque-modulos .item .line {
   width: 25px;
   height: 2px;
   background-color: var(--color-secondary);
   display: inline-block;
   margin-bottom: 3px;
   transition: all ease .3s;
}

.bloque-modulos .item:hover .line {
   width: 40px;
}

.bloque-modulos .item .title {
   font-size: 24px;
   font-weight: 700;
   margin-bottom: 5px;
   transition: all .3s;
   color: var(--color-blue-dark);
}

.bloque-modulos .item .subtitle {
   font-size: 13px;
   color: var(--color-blue-dark);
   opacity: .65;
   margin-bottom: 0px;
   transition: all .3s;
}

.bloque-modulos .item.hcc {
   height: 400px;
}

.bloque-modulos .item.viaticos,
.bloque-modulos .item.wtm,
.bloque-modulos .item.nominas,
.bloque-modulos .item.kiosco {
   height: 185px;
}

.bloque-modulos .item img {
   position: absolute;
   transition: all ease .3s;
}

/* .bloque-modulos .item:hover img {
   filter: drop-shadow(0px 20px 100px rgba(33,68,196,1));
} */

.bloque-modulos .item.hcc img {
   top: -150px;
   right: -170px;
}

.bloque-modulos .item.hcc:hover img {
   top: -140px;
   right: -160px;
}

.bloque-modulos .item.viaticos img,
.bloque-modulos .item.kiosco img {
   top: -220px;
   right: -150px;
   transform: scale(.6);
}

.bloque-modulos .item.viaticos:hover img,
.bloque-modulos .item.kiosco:hover img {
   top: -210px;
   right: -140px
}

.bloque-modulos .item.wtm img,
.bloque-modulos .item.nominas img {
   top: -190px;
   right: -110px;
   transform: scale(.6);
}

.bloque-modulos .item.wtm:hover img,
.bloque-modulos .item.nominas:hover img {
   top: -180px;
   right: -100px;
}

@media (max-width: 1400px) {
   .bloque-modulos .item.hcc img {
      transform: scale(.9);
   }

   .bloque-modulos .item.wtm img,
   .bloque-modulos .item.nominas img {
      top: -190px;
      right: -120px;
      transform: scale(.6);
   }

   .bloque-modulos .item.wtm:hover img,
   .bloque-modulos .item.nominas:hover img {
      top: -180px;
      right: -110px;
   }
}

@media (max-width: 1200px) {
   .bloque-modulos .item .info {
      width: 90%;
   }
}

@media (max-width: 992px) {
   .bloque-modulos .item {
      height: auto!important;
   }

   .bloque-modulos .item .info {
      position: relative;
      width: 70%;
   }

   .bloque-modulos .item img {
      top: -180px!important;
      right: -145px!important;
      transform: scale(.46)!important;
   }
}

@media (max-width: 576px) {
   .bloque-modulos .item {
      margin-bottom: 10px;
   }

   .bloque-modulos .item .info {
      position: relative;
      width: 60%;
      padding: 20px;
   }

   .bloque-modulos .item .title {
      font-size: 20px;
   }

   .bloque-modulos .item .subtitle {
      line-height: 18px;
   }

   .bloque-modulos .item img {
      top: -170px!important;
      right: -160px!important;
      transform: scale(.4)!important;
   }
}

/* BLOQUE EQUIPO DE TRABAJO */
.team-container {
   width: 100%;
   height: auto;
   display: flex;
   align-items: flex-start;
   justify-content: space-between;
   flex-wrap: wrap;
}

.team-container .item {
   width: 20%;
   padding-right: 30px;
   text-align: center;
}

@media (max-width: 992px) {
   .team-container {
      justify-content: space-around;
   }

   .team-container .item {
      width: 30%;
      padding-right: 10px;
      margin-bottom: 40px;
   }
}

@media (max-width: 768px) {
   .team-container .item {
      width: 45%;
   }
}

.team-container .item .foto {
   max-width: 100%;
   height: auto;
   border-radius: 7px;
   margin-bottom: 20px;
   transition: all .3s;
   box-shadow: 0px 30px 40px -30px rgba(23,45,92,.8);
   border: 1px solid var(--color-white);
}

.team-container .item .nombre {
   font-size: 15px;
   margin-bottom: 3px;
   font-weight: 600;
   line-height: 20px;
   overflow: hidden;
   text-overflow: ellipsis;
   white-space: nowrap;
}

.team-container .item .puesto {
   font-size: 13px;
   color: var(--color-primary);
   margin-bottom: 0px;
   letter-spacing: .5px;
   overflow: hidden;
   text-overflow: ellipsis;
   white-space: nowrap;
}

/* ///// SECCIONES ///// */
.header-section {
   width: 100%;
   height: auto;
   padding: 35px;
   background-color: var(--color-primary);
   background-image: url(../images/index/bg-azul.jpg);
   background-repeat: no-repeat;
   background-position: center;
   background-size: cover;
   border-radius: 5px;
}

@media (max-width: 576px) {
   .header-section {
      padding: 20px;
   }
}

/* ///// SECCIÓN MÓDULOS ///// */
.caracteristicas-modulos .item {
   display: flex;
   align-items: flex-start;
   margin-bottom: 15px;
}

.caracteristicas-modulos .icon-check {
   width: 24px;
   height: 24px;
   background-color: var(--color-secondary);
   color: var(--color-white);
   font-size: 12px;
   box-shadow: 0px 8px 20px -5px var(--color-secondary);
   border-radius: 50%;
   display: flex;
   align-items: center;
   justify-content: center;
   margin-right: 15px;
}

.caracteristicas-modulos p {
   margin-bottom: 0px;
   line-height: 24px;
}

.caracteristicas-modulos ul {
   padding-left: 15px;
   margin: 0px;
   line-height: 26px;
}

@media (max-width: 992px) {
   .img-caracteristicas-modulos {
      max-width: 60%;
   }
}

@media (max-width: 768px) {
   .img-caracteristicas-modulos {
      max-width: 90%;
   }
}

/* ///// SECCIÓN DISTRIBUIDORES ///// */
.distribuidor .contenedor-logo {
   width: 100%;
   height: 200px;
   border-radius: 5px;
   border: 3px solid var(--color-blue-light);
   display: flex;
   align-items: center;
   justify-content: center;
}

.distribuidor .contenedor-logo img {
   width: 240px;
   height: 120px;
   object-fit: contain;
}

@media (max-width: 992px) {
   .distribuidor .contenedor-logo img {
      width: 150px;
      height: 100px;
   }
}

@media (max-width: 768px) {
   .distribuidor .contenedor-logo {
      width: 100%;
      height: 140px;
   }
}

.distribuidor .datos-contacto p {
   margin-bottom: 0px;
}

/* ///// SECCIÓN CONTACTO ///// */
.img-edificio {
   border-radius: 5px;
}

@media (max-width: 576px) {
   .img-edificio {
      max-width: 80%;
   }
}

.img-contacto-footer {
   max-width: 100%;
   height: auto;
}

.msj-enviado,
.msj-no-enviado {
   width: 100%;
   height: 260px;
   background-color: var(--color-light);
   border-radius: 5px;
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
}

/* ///// SECCIÓN LEGALES ///// */
.contenedor-legales {
   line-height: 26px;
   text-align: justify;
}

.contenedor-legales ul {
   padding-left: 15px;
}

.contenedor-legales ul li {
   margin-bottom: 5px;
}

.contenedor-legales h6:first-child {
   margin-top: 0px;
}

.contenedor-legales h6 {
   margin-top: 20px;
}

.menu-legales {
   display: flex;
   flex-direction: column;
   text-align: left;
   position: sticky;
   top: 80px;
}

.menu-legales .title {
   font-weight: 700;
   color: var(--color-blue-gray);
   letter-spacing: 1px;
   opacity: .6;
}

.menu-legales a {
   font-size: 20px;
   margin-bottom: 20px;
   color: var(--color-blue-dark);
   text-decoration: none;
   transition: all .3s;
}

@media (max-width: 992px) {
   .menu-legales {
      position: relative;
      top: 0;
   }

   .menu-legales a {
      font-size: 16px;
      margin-bottom: 10px;
   }
}

.menu-legales a:hover {
   color: var(--color-primary);
}

.menu-legales a.active {
   font-weight: 700;
   color: var(--color-primary);
}

/* ///// FOOTER ///// */
.footer {
   padding: 50px 0px;
}

.footer .logo {
   width: auto;
   height: 55px;
}

.footer a {
   color: var(--color-blue-gray);
   transition: all .3s;
   display: table;
   text-decoration: none;
   margin-bottom: 12px;
   letter-spacing: .3px;
}

.footer a:hover {
   color: var(--color-primary);
}

@media (max-width: 992px) {
   .footer a {
      display: block;
   }
}

/* ///// LOGIN - REGISTRO ///// */
.wrap-login {
   width: 100%;
   height: 100%;
   position: fixed;
   background-color: var(--color-blue-light);
   display: flex;
   align-items: center;
   justify-content: center;
   overflow: auto;
}

.wrap-login .ventana {
   width: 900px;
   height: 600px;
   background-color: var(--color-white);
   border-radius: 5px;
   box-shadow: 0px 22px 35px -15px rgba(23,45,92,.6);
   position: relative;
   overflow: hidden;
}

.wrap-login .ventana .info {
   width: 50%;
   height: 100%;
   position: absolute;
   top: 0px;
   left: 0px;
}

.wrap-login .ventana .info .info-login {
   width: 100%;
   height: 100%;
   position: absolute;
   padding: 40px;
   display: flex;
   flex-direction: column;
   justify-content: space-between;
}

.wrap-login .ventana .info .info-login-mas {
   width: 100%;
   height: 100%;
   position: absolute;
   top: 0px;
   left: -500px;
   z-index: 5;
   background-color: var(--color-white);
   box-shadow: 15px 0px 30px 0px rgba(23,45,92,.1);
   transition: all ease .6s;
}

.wrap-login .ventana .info .info-login-mas.show-recuperar {
   left: 0px;
}

.wrap-login .ventana .info .info-login-mas .div-contenedor-login-mas,
.wrap-login .ventana .info .info-login-mas .info-recuperar-enviado {
   width: 100%;
   height: 100%;
   padding: 40px;
   top: 0px;
   left: 0px;
   position: absolute;
   display: flex;
   flex-direction: column;
   justify-content: center;
}

@media (max-width: 992px) {
   .wrap-login {
      align-items: flex-start;
   }

   .wrap-login .ventana {
      width: 50%;
      height: auto;
      margin-top: 30px;
   }

   .wrap-login .ventana .info {
      width: 100%;
      height: auto;
      position: relative;
      top: 0px;
      left: 0px;
   }

   .wrap-login .ventana .info .info-login {
      width: 100%;
      height: auto;
      position: relative;
      padding: 30px;
   }
}

@media (max-width: 768px) {
   .wrap-login .ventana {
      width: 60%;
   }
}

@media (max-width: 576px) {
   .wrap-login .ventana {
      width: 90%;
   }
}

.wrap-login .ventana .info .info-login .logo {
   width: auto;
   height: 30px;
}

.wrap-login .ventana .imagen {
   width: 50%;
   height: 100%;
   position: absolute;
   top: 0px;
   right: 0px;
   background-color: var(--color-blue-dark);
   /*background-image: url(../images/login_registro/img-login.jpg);*/
   background-position: center;
   background-repeat: no-repeat;
   background-size: cover;
   z-index: 10;
}

@media (max-width: 992px) {
   .wrap-login .ventana .imagen {
      display: none;
   }
}

.btn-google {
   /* padding: 0.5rem .85rem !important; */
   border: 1px solid var(--color-black-30);
   background-color: var(--color-white);
}

.btn-google img {
   height: 20px;
}

.btn-google:hover {
   border-color: var(--color-black-50);
}

.wrap-registro {
   width: 100%;
   height: 100%;
   position: fixed;
   background-color: var(--color-blue-light);
   padding: 40px;
   overflow: auto;
}

.wrap-registro .ventana {
   width: 500px;
   height: auto;
   background-color: var(--color-white);
   border-radius: 5px;
   box-shadow: 0px 22px 35px -15px rgba(23,45,92,.6);
   position: relative;
   margin: 0 auto 40px auto;
   /* overflow: hidden; */
}

.wrap-registro .ventana .info-registro {
   padding: 40px 60px 30px 60px;
}

.wrap-registro .ventana .info-registro .logo {
   height: 32px;
}

.wrap-registro .ventana .info-btn-google {
   background-color: var(--color-light);
   border-top: 1px solid var(--color-black-30);
   padding: 20px 60px 30px 60px;
   border-bottom-left-radius: 5px;
   border-bottom-right-radius: 5px;
}

@media (max-width: 576px) {
   .wrap-registro {
      padding: 30px 0px 0px 0px;
   }

   .wrap-registro .ventana {
      width: 90%;
      margin-bottom: 30px;
   }

   .wrap-registro .ventana .info-registro {
      padding: 30px;
   }

   .wrap-registro .ventana .info-btn-google {
      padding: 30px;
   }
}

/* ///// TITULOS SUPERIORES ///// */
.suptitle {
   display: flex;
   align-items: center;
}

.suptitle .line {
   width: 30px;
   height: 2px;
   display: block;
   margin-right: 10px;
}

.suptitle .title {
   font-size: 18px;
   font-weight: 600;
   color: var(--color-secondary);
   margin-bottom: 0px;
}

@media (max-width: 992px) {
   .suptitle-md-center {
      flex-direction: column;
      text-align: center;
   }

   .suptitle .line {
      margin-bottom: 10px;
   }
}

/* ///// PÁGINA INTERNET EXPLORER ///// */
.bg-ie {
   width: 100%;
   height: 100%;
   position: fixed;
   top: 0px;
   left: 0px;
   background-color: #2144c4;
}

.container-ie {
   width: 1200px;
   margin: 0 auto;
   padding: 40px 0px;
}

.container-ie .info {
   width: 55%;
   float: left;
   padding-right: 60px;
   box-sizing: border-box;
}

.container-ie .info .logo {
   height: 40px;
   margin-bottom: 40px;
}

.container-ie .info .suptitulo {
   color: #1cbcff;
   font-size: 24px;
   font-weight: bold;
   margin: 0px 0px 10px 0px;
}

.container-ie .info .titulo {
   color: #ffffff;
   font-size: 46px;
   font-weight: bold;
   line-height: 48px;
   margin-bottom: 15px;
}

.container-ie .info .subtitulo {
   color: #ffffff;
   font-size: 20px;
   line-height: 32px;
   margin-bottom: 20px;
}

.container-ie .info .modulos {
   width: 100%;
   height: auto;
   background-color: #ffffff;
   border-radius: 5px;
   padding: 15px 10px;
   box-sizing: border-box;
}

.container-ie .info .modulos .item {
   width: 19%;
   height: auto;
   padding: 5px;
   text-align: center;
   display: inline-block;
   box-sizing: border-box;
}

.container-ie .info .modulos .item img {
   max-width: 70%;
   margin-bottom: 15px;
}

.container-ie .info .modulos h5 {
   margin-bottom: 15px;
   font-size: 18px;
   font-weight: bold;
   color: #172d5c;
}

.container-ie .info .modulos .item h6 {
   color: #172d5c;
   font-size: 14px;
   margin-bottom: 0px;
}

.container-ie .imagen {
   width: 45%;
   float: right;
}

.mb-0px {
   margin-bottom: 0px;
}

/* .container-ie .imagen img {
   max-width: 100%;
} */
.ie-mensaje {
   width: 100%;
   height: auto;
   padding: 30px;
   border: 3px solid #1cbcff;
   float: left;
   margin-top: 30px;
   color: #ffffff;
}

.ie-mensaje .left-content {
   width: 40%;
   float: left;
}

.ie-mensaje .left-content .padding {
   padding-top: 15px;
   padding-right: 10px;
}

.ie-mensaje .right-content {
   width: 60%;
   float: right;
}

.ie-mensaje .nota {
   width: 100%;
   float: left;
   margin-top: 25px;
}

.ie-navegadores {
   width: 100%;
}

.ie-navegadores .item {
   width: 25%;
   float: left;
}

.ie-navegadores .item .padding {
   padding: 5px;
}

.ie-navegadores .item .padding a {
   color: #1cbcff!important;
   text-decoration: none;
}

.ie-legales {
   width: 100%;
   padding-top: 20px;
   float: left;
   color: #ffffff;
}

.ie-legales .left-content {
   float: left;
}

.ie-legales .right-content {
   float: right;
   text-align: right;
}

.mb-0px {
   margin-bottom: 0px;
}

.mb-10px {
   margin-bottom: 10px;
}

.mb-20px {
   margin-bottom: 20px;
}

.ie-color-secondary {
   color: #1cbcff;
}

/* ///// MENSAJE POLITICA DE COOKIES ///// */
.overlay-cookies {
   width: 1100px;
   height: auto;
   position: fixed;
   bottom: 30px;
   left: calc(50% - 550px);
   padding: 30px;
   border-radius: 7px;
   z-index: 30;
   color: var(--color-white);
   /* background-color: var(--color-white); */
   background-color: var(--color-dark);
   border: 3px solid var(--color-black-60);
   /* box-shadow: 0px 20px 25px -15px rgba(23,45,92,.6); */
   box-shadow: 0px 20px 25px -15px rgba(0,0,0,.4);
}

@media (max-width: 1200px) {
   .overlay-cookies {
      width: calc(100% - 40px);
      left: 20px;
      bottom: 20px;
   }
}

/* ///// LINKS ///// */
.link-primary {
   color: var(--color-primary);
}

.link-primary:hover {
   color: var(--color-primary-hover);
}

.link-secondary {
   color: var(--color-secondary);
}

.link-secondary:hover {
   color: var(--color-secondary-hover);
}

.link-danger {
   color: var(--color-danger);
}

.link-danger:hover {
   color: var(--color-danger);
}

/* ///// BUTTONS ///// */
.btn {
   padding: 0.6rem 0.85rem;
   font-size: 13px;
   border-radius: 3px;
   font-weight: 500;
   /* letter-spacing: .5px; */
}

.btn-circle {
   width: 50px;
   height: 50px;
   display: flex;
   align-items: center;
   justify-content: center;
   padding: 0px;
   border-radius: 50%;
   font-size: 24px;
}

.btn-sm {
   padding: 0.4rem 0.60rem;
   font-size: 13px;
}

.btn-lg {
   font-size: 16px;
   padding: 1rem 1.4rem;
}

.btn-shadow:hover {
   box-shadow: 0px 25px 40px -10px rgba(0,0,0,.8);
}

.btn-primary {
   color: var(--color-white);
   background-color: var(--color-primary);
   border-color: var(--color-primary);
}

.btn-primary:hover {
   color: var(--color-white);
   background-color: var(--color-primary-hover);
   border-color: var(--color-primary-hover);
   /* box-shadow: 0px 25px 40px -20px var(--color-primary); */
}

.btn-primary:focus, .btn-primary.focus {
   color: var(--color-white);
   background-color: var(--color-primary-hover);
   border-color: var(--color-primary-hover);
   box-shadow: none;
}

.btn-primary.disabled, .btn-primary:disabled {
   color: var(--color-white);
   background-color: var(--color-primary);
   border-color: var(--color-primary);
}

.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,
.show > .btn-primary.dropdown-toggle {
   color: var(--color-white);
   background-color: var(--color-primary-hover);
   border-color: var(--color-primary-hover);
}

.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,
.show > .btn-primary.dropdown-toggle:focus {
   box-shadow: none;
}

.btn-secondary {
   color: var(--color-white);
   background-color: var(--color-secondary);
   border-color: var(--color-secondary);
}

.btn-secondary:hover {
   color: var(--color-white);
   background-color: var(--color-secondary-hover);
   border-color: var(--color-secondary-hover);
}

.btn-secondary:focus, .btn-secondary.focus {
   color: var(--color-white);
   background-color: var(--color-secondary-hover);
   border-color: var(--color-secondary-hover);
   box-shadow: none;
}

.btn-secondary.disabled, .btn-secondary:disabled {
   color: var(--color-white);
   background-color: var(--color-secondary);
   border-color: var(--color-secondary);
}

.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,
.show > .btn-secondary.dropdown-toggle {
   color: var(--color-white);
   background-color: var(--color-secondary);
   border-color: var(--color-secondary);
}

.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,
.show > .btn-secondary.dropdown-toggle:focus {
   box-shadow: none;
}

/* ///// FORM ///// */
.form-group .form-label {
   font-size: 12px;
   font-weight: 600;
}

.form-control {
   color: var(--color-blue-dark);
   border: 1px solid var(--color-black-40);
   font-size: 13px;
   caret-color: var(--color-primary);
}

.form-control-lg {
   height: calc(1.5em + 1rem + 4px);
}

.form-group {
   position: relative;
}

.form-group .campo-obligatorio {
   color: var(--danger);
   position: absolute;
   top: -3px;
   right: -12px;
}

.form-group.state-success .valid {
   border-color: var(--color-primary);
}

.form-group.state-error .invalid {
   border-color: var(--danger);
}

.form-group.state-error em.invalid,
.form-control.state-error ~ em.invalid {
   color: var(--danger);
   font-size: 12px;
   font-weight: 400;
   font-style: normal;
   display: inline-block;
   margin-top: 5px;
}

.form-group.state-error em.invalid::before,
.form-control.state-error ~ em.invalid::before {
   font-family: 'Font Awesome 5 Free';
   font-weight: 900;
   content: "\f06a";
   margin-right: 3px;
}

.form-control:focus {
   color: var(--color-blue-dark);
   border-color: var(--color-primary);
   box-shadow: 0 0 0 0.2rem rgba(33, 68, 196, 0.3);
}

.form-control.valid:focus {
   color: var(--color-blue-dark);
   border-color: var(--color-primary);
   box-shadow: 0 0 0 0.2rem rgba(33, 68, 196, 0.3);
}

.form-control.invalid:focus {
   color: var(--danger);
   border-color: var(--danger);
   box-shadow: 0 0 0 0.2rem rgba(33, 68, 196, 0.3);
}

.custom-select {
   color: var(--color-blue-dark);
   border: 1px solid var(--color-black-40);
   font-size: 13px;
   background: var(--color-white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512' %3E%3Cpath fill='%232e3847' d='M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z' class=''%3E%3C/path%3E%3C/svg%3E") no-repeat right 0.75rem center/8px 10px;
}

.custom-select:focus {
   border-color: var(--color-primary);
   box-shadow: 0 0 0 0.2rem rgba(33, 68, 196, 0.3);
}

.custom-control-input:checked ~ .custom-control-label::before {
   color: #fff;
   border-color: var(--color-primary);
   background-color: var(--color-primary);
}

.custom-control-label::before {
   top: 0.1rem;
}

.custom-control-label::after {
   top: 0.11rem;
}

.custom-control-label {
   font-size: 13px;
   cursor: pointer;
}

.custom-control-input:focus ~ .custom-control-label::before {
   box-shadow: 0 0 0 0.2rem rgba(33, 68, 196, 0.3);
}

.custom-control.state-error em {
   display: none!important;
}

.custom-control.state-error label {
   color: var(--danger);
}

.custom-control.state-error .custom-control-label::before {
   border-color: var(--danger);
}

textarea {
   resize: none;
}

/* ///// DROPDOWN ///// */
.dropdown-toggle::after {
   display: none;
}

.dropdown-menu {
   border: none;
   box-shadow: 0px 25px 40px -10px rgba(46,56,71,.5);
}

.dropdown-toggle .arrow {
   margin-left: 3px;
   vertical-align: middle;
}

.dropdown-item {
   padding: 0.5rem 1.5rem;
   font-size: 13px;
   color: var(--color-blue-dark);
}

.dropdown-item:hover, .dropdown-item:focus {
   color: var(--color-blue-dark);
   background-color: var(--color-light);
}

.dropdown-item.active, .dropdown-item:active {
   color: var(--color-white);
   background-color: var(--color-primary);
}

/* ///// COLORES ///// */
.color-primary {
   color: var(--color-primary);
}

.color-secondary {
   color: var(--color-secondary);
}

.color-blue-dark {
   color: var(--color-blue-dark);
}

.color-blue-gray {
   color: var(--color-blue-gray);
}

.color-dark {
   color: var(--color-dark);
}

.color-light {
   color: var(--color-light);
}

.color-white {
   color: var(--color-white);
}

.color-success {
   color: var(--color-success);
}

.color-danger {
   color: var(--color-danger);
}

.bg-color-primary {
   background-color: var(--color-primary);
}

.bg-color-secondary {
   background-color: var(--color-secondary);
}

.bg-color-blue-dark {
   background-color: var(--color-blue-dark);
}

.bg-color-blue-light {
   background-color: var(--color-blue-gray);
}

.bg-color-dark {
   background-color: var(--color-dark);
}

.bg-color-light {
   background-color: var(--color-light);
}

.bg-color-white {
   background-color: var(--color-white);
}

/* ///// TAMAÑOS TEXTOS ///// */
.text-12px {
   font-size: 12px;
}

.text-13px {
   font-size: 13px;
}

.text-14px {
   font-size: 14px;
}

.text-16px {
   font-size: 16px;
}

.text-18px {
   font-size: 18px;
}

.text-20px {
   font-size: 20px;
}

.text-24px {
   font-size: 24px;
}

.text-28px {
   font-size: 28px;
}

.text-32px {
   font-size: 32px;
}

.text-36px {
   font-size: 36px;
}

.text-40px {
   font-size: 40px;
}

.text-50px {
   font-size: 50px;
}

.text-60px {
   font-size: 60px;
}

@media (min-width: 576px) {
   .text-sm-12px {
      font-size: 12px;
   }

   .text-sm-13px {
      font-size: 13px;
   }

   .text-sm-14px {
      font-size: 14px;
   }

   .text-sm-16px {
      font-size: 16px;
   }

   .text-sm-18px {
      font-size: 18px;
   }

   .text-sm-20px {
      font-size: 20px;
   }

   .text-sm-24px {
      font-size: 24px;
   }

   .text-sm-28px {
      font-size: 28px;
   }

   .text-sm-32px {
      font-size: 32px;
   }

   .text-sm-36px {
      font-size: 36px;
   }

   .text-sm-40px {
      font-size: 40px;
   }

   .text-sm-50px {
      font-size: 50px;
   }

   .text-sm-60px {
      font-size: 60px;
   }
}

@media (min-width: 768px) {
   .text-md-12px {
      font-size: 12px;
   }

   .text-md-13px {
      font-size: 13px;
   }

   .text-md-14px {
      font-size: 14px;
   }

   .text-md-16px {
      font-size: 16px;
   }

   .text-md-18px {
      font-size: 18px;
   }

   .text-md-20px {
      font-size: 20px;
   }

   .text-md-24px {
      font-size: 24px;
   }

   .text-md-28px {
      font-size: 28px;
   }

   .text-md-32px {
      font-size: 32px;
   }

   .text-md-36px {
      font-size: 36px;
   }

   .text-md-40px {
      font-size: 40px;
   }

   .text-md-50px {
      font-size: 50px;
   }

   .text-md-60px {
      font-size: 60px;
   }
}

@media (min-width: 992px) {
   .text-lg-12px {
      font-size: 12px;
   }

   .text-lg-13px {
      font-size: 13px;
   }

   .text-lg-14px {
      font-size: 14px;
   }

   .text-lg-16px {
      font-size: 16px;
   }

   .text-lg-18px {
      font-size: 18px;
   }

   .text-lg-20px {
      font-size: 20px;
   }

   .text-lg-24px {
      font-size: 24px;
   }

   .text-lg-28px {
      font-size: 28px;
   }

   .text-lg-32px {
      font-size: 32px;
   }

   .text-lg-36px {
      font-size: 36px;
   }

   .text-lg-40px {
      font-size: 40px;
   }

   .text-lg-50px {
      font-size: 50px;
   }

   .text-lg-60px {
      font-size: 60px;
   }
}

@media (min-width: 1400px) {
   .text-xl-12px {
      font-size: 12px;
   }

   .text-xl-13px {
      font-size: 13px;
   }

   .text-xl-14px {
      font-size: 14px;
   }

   .text-xl-16px {
      font-size: 16px;
   }

   .text-xl-18px {
      font-size: 18px;
   }

   .text-xl-20px {
      font-size: 20px;
   }

   .text-xl-24px {
      font-size: 24px;
   }

   .text-xl-28px {
      font-size: 28px;
   }

   .text-xl-32px {
      font-size: 32px;
   }

   .text-xl-36px {
      font-size: 36px;
   }

   .text-xl-40px {
      font-size: 40px;
   }

   .text-xl-50px {
      font-size: 50px;
   }

   .text-xl-60px {
      font-size: 60px;
   }
}

/* ///// LINE HEIGHT ///// */
.line-height-16px {
   line-height: 16px;
}

.line-height-20px {
   line-height: 20px;
}

.line-height-24px {
   line-height: 24px;
}

.line-height-28px {
   line-height: 28px;
}

.line-height-32px {
   line-height: 32px;
}

.line-height-36px {
   line-height: 36px;
}

.line-height-40px {
   line-height: 40px;
}

.line-height-44px {
   line-height: 44px;
}

.line-height-48px {
   line-height: 48px;
}

@media (min-width: 576px) {
   .line-height-sm-24px {
      line-height: 24px;
   }

   .line-height-sm-28px {
      line-height: 28px;
   }

   .line-height-sm-32px {
      line-height: 32px;
   }

   .line-height-sm-36px {
      line-height: 36px;
   }

   .line-height-sm-40px {
      line-height: 40px;
   }

   .line-height-sm-44px {
      line-height: 44px;
   }

   .line-height-sm-48px {
      line-height: 45px;
   }
}

@media (min-width: 768px) {
   .line-height-md-24px {
      line-height: 24px;
   }

   .line-height-md-28px {
      line-height: 28px;
   }

   .line-height-md-32px {
      line-height: 32px;
   }

   .line-height-md-36px {
      line-height: 36px;
   }

   .line-height-md-40px {
      line-height: 40px;
   }

   .line-height-md-44px {
      line-height: 45px;
   }

   .line-height-md-48px {
      line-height: 48px;
   }
}

@media (min-width: 992px) {
   .line-height-lg-24px {
      line-height: 24px;
   }

   .line-height-lg-28px {
      line-height: 28px;
   }

   .line-height-lg-32px {
      line-height: 32px;
   }

   .line-height-lg-36px {
      line-height: 36px;
   }

   .line-height-lg-40px {
      line-height: 40px;
   }

   .line-height-lg-44px {
      line-height: 44px;
   }

   .line-height-lg-48px {
      line-height: 48px;
   }
}

@media (min-width: 1400px) {
   .line-height-xl-24px {
      line-height: 24px;
   }

   .line-height-xl-28px {
      line-height: 28px;
   }

   .line-height-xl-32px {
      line-height: 32px;
   }

   .line-height-xl-36px {
      line-height: 36px;
   }

   .line-height-xl-40px {
      line-height: 40px;
   }

   .line-height-xl-44px {
      line-height: 44px;
   }

   .line-height-xl-48px {
      line-height: 48px;
   }
}

/* ///// ESTILOS TEXTOS ///// */
.light {
   font-weight: 300;
}

.regular {
   font-weight: 400;
}

.medium {
   font-weight: 500;
}

.semibold {
   font-weight: 600;
}

.bold {
   font-weight: 700;
}

/* ///// ESTILOS LOADER CIRCULAR ///// */
.showbox {
   position: fixed;
   /*top: 0;*/
   bottom: 0px;
   /*left: 0;*/
   right: 0px;
   /*padding: 25%;*/
   background: rgba(255,255,255,.7);
   z-index: 9999 !important;
   height: 100vh;
   width: 100%;
   display: flex;
   justify-content: center;
   align-items: center;
}

.loader {
   position: relative;
   margin: 0 auto;
   width: 100px;
}

.loader:before {
   content: '';
   display: block;
   padding-top: 100%;
}

.circular {
   -webkit-animation: rotate 2s linear infinite;
   animation: rotate 2s linear infinite;
   height: 100%;
   -webkit-transform-origin: center center;
   transform-origin: center center;
   width: 100%;
   position: absolute;
   top: 0;
   bottom: 0;
   left: 0;
   right: 0;
   margin: auto;
}

.path {
   stroke-dasharray: 1, 200;
   stroke-dashoffset: 0;
   -webkit-animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
   animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
   stroke-linecap: round;
}

@keyframes rotate {
   100% {
   -webkit-transform: rotate(360deg);
   transform: rotate(360deg);
   }
}
@keyframes dash {
   0% {
      stroke-dasharray: 1, 200;
      stroke-dashoffset: 0;
   }
   50% {
      stroke-dasharray: 89, 200;
      stroke-dashoffset: -35px;
   }
   100% {
      stroke-dasharray: 89, 200;
      stroke-dashoffset: -124px;
   }
}

@keyframes color {
   100%, 0% {
      stroke: var(--color-primary);
   }

   40% {
      stroke: var(--color-primary);
   }

   66% {
      stroke: var(--color-primary);
   }

   80%, 90% {
      stroke: var(--color-primary);
   }
}

/* ///// BOTON SCROLL HACIA ARRIBA ///// */
.scrollup {
	width: 50px;
	height: 50px;
	background: var(--color-primary);
   color: var(--color-white);
	position: fixed;
	bottom: 20px;
	right: 20px;
	z-index: 60;
	border-radius: 5px;
	display: none;
	cursor: pointer;
	transition: all .3s;
}

.scrollup:hover {
   background: var(--color-primary-hover);
}

.scrollup div {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

@media (max-width: 600px) {
	.scrollup {
		bottom: 20px;
		right: 20px;
	}
}

/* ///// UTILIDADES ///// */
.text-decoration-none {
   text-decoration: none;
}

.cursor-pointer {
   cursor: pointer;
}

.opacity-0 {
   opacity: 0;
}

.opacity-10 {
   opacity: .1;
}

.opacity-20 {
   opacity: .2;
}

.opacity-30 {
   opacity: .3;
}

.opacity-40 {
   opacity: .4;
}

.opacity-50 {
   opacity: .5;
}

.opacity-60 {
   opacity: .6;
}

.opacity-70 {
   opacity: .7;
}

.opacity-80 {
   opacity: .8;
}

.opacity-90 {
   opacity: .9;
}

.opacity-100 {
   opacity: 1;
}

.z-index-10 {
   z-index: 10;
}

.no-scroll {
   overflow: hidden;
}

.hide {
   display: none!important;
}

.show {
   display: block;
}

.overlay {
   width: 100%;
   height: 100%;
   background-color: rgba(0,0,0,.75);
   position: fixed;
   z-index: 90;
   display: none;
}

/* ///// PASSWORD REQUIRED CONTAINER ///// */
.password-container {
   position: relative;
}

.info-password {
   background-color: var(--color-light);
   width: 220px;
   border-radius: 5px;
   padding: 20px;
   font-size: 12px;
   box-shadow: 0px 40px 35px -25px rgba(23,45,92,.3);
   margin-top: 5px;
   position: absolute;
   top: -25px;
   right: -240px;
   z-index: 10;
}

.info-password p {
   line-height: 16px;
}

.info-password .flecha {
   position: absolute;
   top: 18px;
   left: -12px;
   font-size: 40px;
   color: var(--color-light);
}

@media (max-width: 992px) {
   .info-password {
      position: relative;
      width: 100%;
      right: 0;
      top: 0;
      box-shadow: none;
   }

   .info-password .flecha {
      top: -23px;
      left: 20px;
      transform: rotate(90deg);
   }
}

.info-password ul {
   padding-left: 0px;
   margin-bottom: 0px;
   list-style: none;
   color: var(--color-gray);
}

.info-password ul li {
   margin-bottom: 5px;
}

.info-password ul li:last-child {
   margin-bottom: 0px;
}

.info-password ul li i {
   margin-right: 3px;
}

.suite-badge {
   position: fixed;
   z-index: 30;
   bottom: 1rem;
   left: 1rem;
   background-color: white;
   border-radius: .25rem;
   box-shadow: 0 2px 1rem rgba(0,0,0,.12);
}
.suite-badge a {
   display: flex;
   flex-direction: column;
   padding: 20px;
   color: var(--color-black-80);
   text-decoration: none;
}

@media screen and (min-width: 768px) {
   .suite-badge {
      bottom: unset;
      left: unset;
      top: 90px;
      right: 30px;
   }
}

.suite-badge img { display: block; }

.suite-links .logo-dw {
   max-width: 320px;
   display: block;
   margin: 0 auto 20px;
}

.suite-links .suite-app-logo.logo-rh {
   max-width: 150px;
}

.suite-links .suite-app-logo {
   max-width: 200px;
   height: 60px;
   object-fit: contain;
}

/**/
.bloque-modulos .item .iso_dw {
   position: initial;
   width: 30px;
   display: block;
   transform: scale(1) !important;
}