/*__filename__    : datawork.css */
/*__author__      : DataHome S. de R.L. de C.V. */
/* __copyright__  : DataHome S. de R.L. de C.V. */
/*__description__ : Hoja de estilos de la página comercial de DataWork */
/* __version__    : 1.1.1 */
/* __app__        : DW */

:root {
   --color-primary: #0bb550;
   --color-primary-hover: #00c951;
   --color-secondary: #2e3847;
   --color-white: #ffffff;
   --color-dark: #23272d;
   --color-light: #eceff2;
   --color-gray: #6e7184;
   --color-btn-secondary: #4d5662;
   --color-btn-secondary-hover: #626a75;
   --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;
}

/* html {
   scroll-behavior: smooth;
} */

body {
   font-family: 'Poppins', sans-serif;
   letter-spacing: .3px;
   font-size: 14px;
   color: var(--color-dark);
}

@media (min-width: 1400px) {
  .container, .container-sm, .container-md, .container-lg, .container-xl {
   max-width: 1400px;
  }
}

p {
   line-height: 24px;
}

/* [id] {
  scroll-margin-top: 10ex;
} */

/* .wrapper {
   padding-top: 36px;
} */

.header {
   width: 100%;
   min-height: 36px;
   background-color: var(--color-primary);
   display: flex;
   align-items: center;
   font-size: 12px;
}

/* ///// NAV MENU ///// */
.nav-menu {
   width: 100%;
   height: auto;
   background-color: transparent;
   /* background-color: var(--color-secondary); */
   padding: 20px 0px;
   position: fixed;
   /* top: 36px; */
   top: 0;
   z-index: 50;
   transition: all .3s;
}

.nav-menu-fixed {
   /* position: sticky; */
   top: 0px;
   z-index: 50;
   padding: 12px 0px;
   background-color: var(--color-secondary);
}

.nav-menu.nav-menu-fixed .container-xl .logo-menu-container .logo {
   width: 120px;
   margin-right: 25px;
}

.nav-menu.nav-menu-fixed .container-xl .login-options .btn {
   padding: 0.35rem 0.60rem;
}

.nav-menu .container-xl {
   display: flex;
   align-items: center;
   justify-content: space-between;
}

.nav-menu .container-xl .logo-menu-container {
   display: flex;
   align-items: center;
   justify-content: space-between;
}

.nav-menu .container-xl .logo-menu-container .logo {
   width: 180px;
   height: auto;
   margin-right: 50px;
   transition: all .3s;
}

.nav-menu .container-xl .logo-menu-container .menu-lg {
   display: flex;
}

.nav-menu .dropdown-modulos .dropdown-menu {
   /* width: 400px; */
}

.nav-menu .dropdown-modulos .dropdown-menu .img-container {
   width: 180px;
   height: 100%;
   position: absolute;
   top: 0px;
   left: 0px;
   background-color: var(--color-secondary);
   border-top-left-radius: 3px;
   border-bottom-left-radius: 3px;
   overflow: hidden;
}

.nav-menu .dropdown-modulos .dropdown-menu .img-container img {
   width: 100%;
   height: 100%;
   position: absolute;
   object-fit: cover;
   transition: all .3s;
}

.nav-menu .dropdown-modulos .dropdown-menu .dropdown-item-container {
   width: 260px;
   margin-left: 180px;
}

.nav-menu .dropdown-modulos .dropdown-menu .dropdown-item-container .dropdown-item {
   padding-left: 35px;
}

.nav-menu .dropdown-modulos .dropdown-menu .dropdown-item-container .dropdown-item.active {
   background-color: var(--color-primary);
   color: var(--color-white);
}

.nav-menu .dropdown-modulos .dropdown-menu .dropdown-item-container .dropdown-header {
   padding-left: 35px;
}

.nav-menu .dropdown-user-profile .dropdown-menu {
   width: 240px;
   padding-top: 0px;
}

.nav-menu .dropdown-user-profile .dropdown-toggle {
   color: var(--color-white);
   text-decoration: none;
}

.nav-menu .dropdown-user-profile .nav-photo-user {
   width: 36px;
   height: 36px;
   border-radius: 50%;
   object-fit: cover;
}

.nav-menu .dropdown-user-profile .dropdown-menu .info-user-container {
   width: 100%;
   height: auto;
   padding: 20px;
   text-align: center;
   border-top-left-radius: 3px;
   border-top-right-radius: 3px;
   /* background: var(--color-secondary) url("../images/registro/bg-register.jpg") no-repeat center center; */
   background-size: cover;
   /* background-color: var(--color-light); */
   border-bottom: 1px solid var(--color-black-20);
}

.nav-menu .dropdown-user-profile .dropdown-menu .info-user-container .photo-user {
   display: block;
   width: 80px;
   height: 80px;
   margin: 0 auto;
   border-radius: 50%;
   object-fit: cover;
   /* border: 3px solid var(--color-black-20); */
}

.btn-menu-sm {
   color: var(--color-white);
   background-color: var(--color-btn-secondary);
   width: 40px;
   height: 40px;
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 22px;
   border-radius: 3px;
   cursor: pointer;
   transition: all .3s;
}

.btn-menu-sm:hover {
   background-color: var(--color-btn-secondary-hover);
}

.btn-close-menu-sm {
   position: fixed;
   top: 20px;
   right: -50px;
   color: var(--color-white);
   font-size: 32px;
   cursor: pointer;
   display: block;
   z-index: 70;
   transition: all .3s;
}

.btn-close-menu-sm.show {
   right: 20px;
}

.menu-sm {
   position: fixed;
   top: 0px;
   left: -1000px;
   width: 50%;
   height: 100%;
   background-color: var(--color-white);
   z-index: 99;
   padding: 30px;
   transition: all .3s;
   display: none;
   overflow: auto;
}

.menu-sm .subtitle {
   color: var(--color-gray);
   text-transform: uppercase;
   display: block;
   padding: 10px 0px;
   font-size: 13px;
   font-weight: 600;
   letter-spacing: .5px;
   opacity: .7;
}

.menu-sm .option {
   width: 100%;
   height: auto;
   display: block;
   text-decoration: none;
   margin-bottom: 22px;
   color: var(--color-secondary);
   transition: all .3s;
   display: block;
   cursor: pointer;
   font-size: 15px;
   font-weight: 500;
   position: relative;
   overflow: hidden;
   text-overflow: ellipsis;
   white-space: nowrap;
}

.menu-sm .option i {
   font-size: 22px;
   margin-right: 12px;
   vertical-align: -2px;
}

.menu-sm .sub-option {
   font-size: 14px;
}

.menu-sm .sub-option i {
   font-size: 22px;
}

.menu-sm .option .arrow {
   /* position: absolute;
   right: 0px; */
   font-size: 14px;
   margin-left: 8px;
   vertical-align: -1px;
}

.menu-sm .option:hover {
   color: var(--color-primary);
}

.menu-sm.open {
   left: 0px;
}

.options-sm {
   display: none;
}

@media(max-width: 992px) {
   .nav-menu .container-xl .logo-menu-container .menu-lg {
      display: none;
   }

   .nav-menu .container-xl .login-options {
      display: none;
   }

   /* .btn-menu-sm {
      display: flex;
   } */

   .menu-sm {
      display: block;
   }

   .options-sm {
      display: block;
   }
}

@media(max-width: 576px) {
   .nav-menu .container-xl .logo-menu-container .logo {
      width: 140px;
      margin-right: 0px;
   }

   .menu-sm {
      width: 80%;
   }
}

.nav-menu .container-xl .logo-menu-container .menu-lg .option {
   color: var(--color-white);
   margin-right: 25px;
   text-decoration: none;
   letter-spacing: .5px;
   font-weight: 500;
   transition: all .3s;
}

.nav-menu .container-xl .logo-menu-container .menu-lg .option:hover .linea {
   /* visibility: visible; */
   opacity: 1;
   margin-left: 0px;
}

.nav-menu .container-xl .logo-menu-container .menu-lg .option .linea {
   /* visibility: hidden; */
   opacity: 0;
   width: 25px;
   height: 2px;
   display: block;
   background-color: var(--color-primary);
   margin-bottom: 3px;
   transition: all .3s;
   margin-left: -10px;
}

.nav-menu .container-xl .logo-menu-container .menu-lg .option.active .linea {
   /* visibility: visible; */
   opacity: 1;
   margin-left: 0px;
}

.nav-menu .container-xl .login-options .btn {
   transition: all .3s;
}

/* ///// BANNER PRINCIPAL ///// */
.div-color {
   width: 100%;
   height: 60px;
   background-color: var(--color-secondary);
}

.banner-principal {
   width: 100%;
   height: auto;
   position: relative;
   overflow-x: hidden;
   color: var(--color-white);
   /* padding-top: 70px; */
}

.banner-principal .container-xl {
   position: relative;
   z-index: 10;
}

.banner-principal .info {
   margin-top: 60px;
}

.banner-principal .titulo {
   font-size: 50px;
}

.banner-principal .subtitulo {
   line-height: 28px;
   font-size: 16px;
}

.banner-principal .btn-primary {
   font-size: 20px;
   padding: 12px 25px;
   display: inline-flex;
   align-items: center;
}

.banner-principal .btn-primary:hover .long-arrow {
   margin-left: 20px;
}

.banner-principal .btn-primary .long-arrow {
   vertical-align: middle;
   margin-left: 10px;
   font-size: 32px;
   transition: all .3s;
}

/* .banner-principal .btn-primary .arrow {
   width: 30px;
   height: 30px;
   background-color: var(--color-primary-hover);
   border-radius: 50%;
   margin-left: 10px;
   color: var(--color-primary);
} */

.banner-principal .img-computadora-index {
   margin-top: 20px;
}

.banner-principal .bg-color {
   width: 100%;
   height: 500px;
   background-color: var(--color-secondary);
   position: absolute;
   top: 0px;
   left: 0px;
}

@media(max-width: 1440px) {
   .banner-principal .info {
      margin-top: 50px;
   }

   .banner-principal .titulo {
      font-size: 40px;
   }

   .banner-principal .img-computadora-index {
      margin-left: -100px;
   }
}

@media(max-width: 1200px) {
   .banner-principal .img-computadora-index {
      max-width: 100%;
      margin: 50px 0px 30px 0px;
   }

   .banner-principal {
      width: 100%;
      height: auto;
      background-color: var(--color-secondary);
      margin-bottom: 60px;
   }
}

@media(max-width: 992px) {
   .banner-principal .info {
      text-align: center;
   }

   .banner-principal .bg-color {
      height: 580px;
   }

   .banner-principal {
      width: 100%;
      height: auto;
      background-color: transparent;
      margin-bottom: 0px;
   }

   .banner-principal .img-computadora-index {
      width: 600px;
      margin: 40px auto 40px auto;
      display: block;
   }
}

@media(max-width: 768px) {
   .banner-principal .info {
      margin-top: 20px;
   }

   .banner-principal .bg-color {
      height: 580px;
   }

   .banner-principal .titulo {
      font-size: 28px;
   }

   .banner-principal .subtitulo {
      font-size: 14px;
   }

   .banner-principal .img-computadora-index {
      width: 90%;
      margin: 40px auto 40px auto;
      display: block;
   }

   .banner-principal .btn-primary {
      font-size: 16px;
      padding: 12px 25px;
   }

   .banner-principal .btn-primary .long-arrow {
      display: none;
   }
}

@media(max-width: 576px) {
   .banner-principal {
      background-color: var(--color-secondary);
   }

   .banner-principal .bg-color {
      display: none;
   }
}

/* ///// INDEX: MÓDULOS ///// */
.modulo-index {
   width: 100%;
   height: 320px;
   padding: 40px;
   display: flex;
   justify-content: space-between;
   flex-direction: column;
}

.modulo-index::before {
   content: '';
   display: block;
   width: 50px;
   height: 50px;
   background-image: url('../images/logos/dw_isotipo_color.png');
   background-repeat: no-repeat;
   background-size: contain;
   position: absolute;
   top: 2rem;
   right: 2rem;
}

.modulo-index .info {
   width: 65%;
}

@media(max-width: 768px) {
   .modulo-index {
      padding: 25px;
   }

   .modulo-index .info {
      width: 80%;
   }
}

.modulo-index.generales {
   background: #f6f6f6 url("../images/index/bg-modulo-generales-index.jpg") no-repeat bottom right;
}

.modulo-index.compras {
   background: #d1e7e4 url("../images/index/bg-modulo-compras-index.jpg") no-repeat bottom right;
}

.modulo-index.inventario {
   background: #feeed6 url("../images/index/bg-modulo-inventario-index.jpg") no-repeat bottom right;
}

.modulo-index.contabilidad {
   background: #e4f5e7 url("../images/index/bg-modulo-contabilidad-index.jpg") no-repeat bottom right;
}

.modulo-index.ventas {
   background: #d9dbe2 url("../images/index/bg-modulo-ventas-index.jpg") no-repeat bottom right;
}

.modulo-index.tesoreria {
   background: #e0ebf5 url("../images/index/bg-modulo-tesoreria-index.jpg") no-repeat bottom right;
}

/* ///// INDEX: BENEFICIOS ///// */
.cont-beneficio-img {
   width: 100%;
   height: auto;
   position: relative;
   height: 450px;
   display: flex;
   align-items: center;
   justify-content: flex-end;
}

.cont-beneficio-img img {
   width: 430px;
   height: 450px;
   object-fit: cover;
   position: absolute;
   top: 0px;
   left: 0px;
}

.cont-beneficio-img .cont-info {
   width: 60%;
   height: auto;
   padding: 30px;
   background-color: var(--color-white);
   border-radius: 5px;
   box-shadow: 0px 10px 20px -10px rgba(0,0,0,.2);
   z-index: 20;
}

@media(max-width: 992px) {
   .cont-beneficio-img {
      flex-direction: column-reverse;
      height: auto;
   }

   .cont-beneficio-img img {
      width: 100%;
      height: 260px;
      position: relative;
   }

   .cont-beneficio-img .cont-info {
      width: 100%;
   }
}

/* ///// INDEX: CLIENTES ///// */
.cont-clientes {
   width: 100%;
   height: auto;
   display: flex;
   align-items: center;
   justify-content: flex-start;
   flex-wrap: wrap;
}

.cont-clientes .cliente {
   width: 16%;
   height: auto;
   padding: 25px 25px;
   margin-bottom: 10px;
   filter: grayscale(100%);
   opacity: .5;
   transition: all .3s;
}

.cont-clientes .cliente:hover {
   filter: grayscale(0%);
   opacity: 1;
}

.cont-clientes .cliente img {
   max-width: 100%;
   /* height: auto; */
   display: block;
   margin: 0 auto;
}

@media(max-width: 992px) {
   .cont-clientes .cliente {
      width: 25%;
   }
}

@media(max-width: 768px) {
   .cont-clientes .cliente {
      width: 25%;
   }
}

@media(max-width: 576px) {
   .cont-clientes .cliente {
      width: 50%;
   }
}

/* ///// INDEX: EQUIPO TRABAJO ///// */
.teamwork-container {
   display: flex;
   align-items: center;
   justify-content: space-around;
   flex-wrap: wrap;
}

.teamwork-container .item {
   width: 16%;
   text-align: center;
   margin-left: 30px;
   margin-right: 30px;
   margin-bottom: 30px;
}

@media(max-width: 992px) {
   .teamwork-container .item {
      width: 28%;
      margin-left: 0px;
      margin-right: 0px;
   }
}

@media(max-width: 768px) {
   .teamwork-container .item {
      width: 45%;
   }
}

@media(max-width: 576px) {
   .teamwork-container .item {
      width: 90%;
   }
}

.teamwork-container .item img {
   margin-bottom: 20px;
   border-radius: 10px;
}

/* ///// FOOTER ///// */
.footer {
   width: 100%;
   height: auto;
   padding: 50px 0px;
   background-color: var(--color-secondary);
}

.footer .logo {
   width: 200px;
   height: auto;
}

.footer .linea {
   width: 30px;
   height: 2px;
   background-color: var(--color-primary);
   display: block;
}

.footer .footer-links a {
   color: var(--color-white);
   opacity: .6;
   text-decoration: none;
   font-size: 13px;
   display: block;
   transition: all .3s;
   margin-bottom: 8px;
}

.footer .footer-links a:hover {
   opacity: 1;
}

.footer-legales {
   background-color: var(--color-dark);
   padding: 12px 0px 8px 0px;
}

/* ///// MÓDULOS ///// */
.header-seccion {
   width: 100%;
   height: 460px;
   background-size: cover;
   transition: all .3s;
   display: flex;
   align-items: center;
   background-color: var(--color-secondary);
}

.header-seccion-sm {
   height: 260px;
}

.header-seccion.generales {
   background: var(--color-secondary) url("../images/modulos/generales/banner-modulo-generales.jpg") no-repeat center center;
}

.header-seccion.contabilidad {
   background: var(--color-secondary) url("../images/modulos/contabilidad/banner-modulo-contabilidad.jpg") no-repeat center center;
}

.header-seccion.compras {
   background: var(--color-secondary) url("../images/modulos/compras/banner-modulo-compras.jpg") no-repeat center center;
}

.header-seccion.ventas {
   background: var(--color-secondary) url("../images/modulos/ventas/banner-modulo-ventas.jpg") no-repeat center center;
}

.header-seccion.inventario {
   background: var(--color-secondary) url("../images/modulos/inventario/banner-modulo-inventario.jpg") no-repeat center center;
}

.header-seccion.tesoreria {
   background: var(--color-secondary) url("../images/modulos/tesoreria/banner-modulo-tesoreria.jpg") no-repeat center center;
}

.header-seccion.precios {
   background: var(--color-secondary) url("../images/precios/banner-precios.jpg") no-repeat center center;
}

.header-seccion.contacto {
   background: var(--color-secondary) url("../images/contacto/banner-contacto.jpg") no-repeat center center;
}

.header-seccion.mas-servicios {
   background: var(--color-secondary) url("../images/mas_servicios/banner-mas-servicios.jpg") no-repeat center center;
}

@media (max-width: 1400px) {
   .header-seccion {
      height: 360px;
   }

   .header-seccion-sm {
      height: 260px;
   }
}

@media (max-width: 768px) {
   .header-seccion {
      background: var(--color-secondary)!important;
   }

   .header-seccion-sm {
      height: 260px;
   }
}

@media (max-width: 576px) {
   .header-seccion,
   .header-seccion-sm {
      height: 180px;
   }
}

.header-seccion .title-container {
   display: flex;
   align-items: center;
   margin-top: 50px;
   color: var(--color-white);
}

.header-seccion-sm .title-container {
   margin-top: 100px;
}

.header-seccion .title-container .icon {
   width: 180px;
   height: 180px;
}

.header-seccion .title-container .icon img {
   width: 180px;
   height: 180px;
}

.header-seccion .title-container .title {
   /* color: var(--color-white); */
   padding-left: 15px;
   margin-top: -10px;
}

@media (max-width: 768px) {
   .header-seccion .title-container {
      flex-direction: column;
      text-align: center;
   }

   .header-seccion .title-container .icon {
      width: 100px;
      height: 100px;
   }

   .header-seccion .title-container .icon img {
      width: 100px;
      height: 100px;
   }
}

@media (max-width: 576px) {
   .header-seccion .title-container {
      margin-top: 70px;
   }

   .header-seccion .title-container h1 {
      font-size: 28px;
   }
}

/* ///// SECCIONES MODULOS ///// */
.caracteristica-modulo {
   display: flex;
}

.caracteristica-modulo h5 {
   font-size: 18px;
   line-height: 28px;
}

.caracteristica-modulo i {
   font-size: 28px;
   color: var(--color-primary);
   margin-right: 10px;
}

@media (max-width: 992px) {
   .caracteristica-modulo h5 {
      font-size: 16px;
   }

   .caracteristica-modulo i {
      font-size: 24px;
   }
}

/* ///// BANNER REGISTRATE ///// */
.banner-registrate {
   width: 100%;
   height: auto;
   background-color: var(--color-primary);
   color: var(--color-white);
   padding: 60px 0px;
   position: relative;
   margin-top: 160px;
}

.banner-registrate .img-cohete {
   position: absolute;
   width: 700px;
   bottom: 0px;
   left: 0px;
   transition: all .3s;
   /* transform: scale(90%); */
}

@media (max-width: 1600px) {
   .banner-registrate .img-cohete {
      left: -200px;
   }
}

@media (max-width: 1200px) {
   .banner-registrate {
      margin-top: 100px;
   }

   .banner-registrate .img-cohete {
      left: -300px;
   }
}

@media (max-width: 992px) {
   .banner-registrate {
      padding: 40px 0px;
   }

   .banner-registrate .img-cohete {
      left: -400px;
   }
}

@media (max-width: 768px) {
   .banner-registrate {
      margin-top: 0px;
   }

   .banner-registrate .img-cohete {
      display: none;
   }
}

/* ///// PRECIOS ///// */
.card-precio {
   padding: 40px 20px;
   background-color: var(--color-light);
   background-image: url('../images/logos/dw_isotipo_blanco.png');
   background-size: 168px;
   background-position: -43px 111px;
   background-repeat: no-repeat;
   background-blend-mode: soft-light;
   border: 1px solid var(--color-light);
   border-radius: 3px;
   text-align: center;
   margin-bottom: 20px;
   transition: all .3s;
}

@media (max-width: 576px) {
   .card-precio {
      padding: 30px 15px;
   }
}

.card-precio:hover {
   background-color: var(--color-white);
   background-image: url('../images/logos/dw_isotipo_color.png');
   background-blend-mode: unset;
   border-color: var(--color-primary);
   box-shadow: 0px 25px 30px -20px rgba(25,30,35,.4);
}

.estimacion-consumo .card .icon {
   width: 60px;
   height: 60px;
}

.estimacion-consumo .input-number-container {
   display: flex;
   align-items: center;
}

.estimacion-consumo .input-number-container .input-number {
   width: 60px;
   height: 36px;
   background-color: var(--color-white);
   border: 1px solid var(--color-black-40);
   text-align: center;
   border-radius: 0px;
   -webkit-appearance: none;
   -moz-appearance: none;
   appearance: none;
   font-size: 12px;
}

.estimacion-consumo .input-number-container span {
   width: 36px;
   height: 36px;
   background-color: var(--color-light);
   color: var(--color-secondary);
   display: flex;
   align-items: center;
   justify-content: center;
   cursor: pointer;
   border: 1px solid var(--color-black-40);
   transition: all .3s;
}

.estimacion-consumo .input-number-container .input-number-decrement {
   margin-right: -1px;
}

.estimacion-consumo .input-number-container .input-number-increment {
   margin-left: -1px;
}

/* ///// LEGALES ///// */
.legales-container {
   text-align: justify;
   line-height: 26px;
   font-size: 13px;
}

.layout-legales {
   position: sticky;
   top: 100px;
   display: inline-flex;
   flex-direction: column;
   text-align: left;
}

.layout-legales .title {
   font-size: 16px;
   font-weight: 700;
   /* color: var(--color-black-50); */
   margin-bottom: 25px;
   opacity: .3;
}

.layout-legales .option {
   text-decoration: none;
   font-size: 20px;
   /* display: block; */
   margin-bottom: 30px;
   color: var(--color-secondary);
   transition: all .3s;
}

@media (max-width: 768px) {
   .layout-legales .option {
      margin-bottom: 15px;
   }
}

.layout-legales .option:hover {
   color: var(--color-primary);
}

.layout-legales .option.active {
   color: var(--color-primary);
   font-weight: 600;
}

/* ///// MENSAJE INTERNET EXPLORER ///// */
.msj-internet-explorer {
   text-align: center;
   padding: 25px;
   border-radius: 5px;
   border: 2px solid red;
}

.msj-internet-explorer .icono {
   font-size: 40px;
   margin-bottom: 10px;
   color: red;
}

/* ///// MENSAJE POLITICA DE COOKIES ///// */
.overlay-cookies {
   width: 800px;
   height: auto;
   position: fixed;
   bottom: 30px;
   left: calc(50% - 400px);
   padding: 30px;
   border-radius: 5px;
   z-index: 30;
   background-color: rgba(46, 56, 71, .95);
   border: 2px solid var(--color-gray);
   color: var(--color-white);
   box-shadow: 0px 25px 30px -15px rgba(0,0,0,.6);
}

@media (max-width: 992px) {
   .overlay-cookies {
      width: calc(100% - 40px);
      left: 20px;
      bottom: 20px;
   }
}

/* ///// MENSAJE FORMULARIO CONTACTO ///// */
.msj-form-contacto {
   width: 100%;
   height: auto;
   padding: 40px;
   text-align: center;
   border: 3px solid transparent;
   border-radius: 5px;
   margin-bottom: 25px;
}

.msj-form-contacto .icon {
   font-size: 60px;
   margin-bottom: 15px;
}

.msj-form-contacto.msj-enviado {
   border-color: var(--color-primary);
}

.msj-form-contacto.msj-enviado .icon {
   color: var(--color-primary);
}

.msj-form-contacto.msj-no-enviado {
   border-color: var(--danger);
}

.msj-form-contacto.msj-no-enviado .icon {
   color: var(--danger);
}

/* ///// ESTILOS INTERNET EXPLORER ///// */
.ie-body {
   width: 100%;
   height: 100%;
   padding: 40px 0px;
   background-color: #2e3847;
   color: #fff;
   position: fixed;
   position: relative;
   top: 0px;
   left: 0px;
   overflow-x: hidden!important;
   overflow-y: auto;
}

.ie-container {
   width: 1200px;
   height: auto;
   margin: 0 auto;
}

.ie-container .ie-principal-info .left-content {
   width: 50%;
   float: left;
}

.ie-container .ie-principal-info .left-content .padding-left {
   padding-right: 50px;
}

.ie-container .ie-principal-info .left-content .logo {
   margin-bottom: 10px;
}

.ie-container .ie-principal-info .right-content {
   width: 50%;
   float: right;
}

.ie-container .ie-principal-info .right-content .padding-top {
   padding-top: 20px;
}

.ie-blockquote {
   padding: 5px 0px 0px 20px;
   border-left: 3px solid #0bb550;
   text-align: 18px;
}

.ie-modulos .item {
   width: 31%;
   height: auto;
   background-color: #424c59;
   border: 1px solid #68707a;
   color: #fff;
   font-weight: 500;
   float: left;
   margin-bottom: 10px;
   margin-right: 10px;
   font-size: 15px;
   text-align: center;
   box-sizing: border-box;
   transition: all .3s;
}

.ie-modulos .item:hover {
   background-color: #68707a;
}

.ie-modulos .item .padding {
   padding: 15px;
}

.ie-modulos .item .icono {
   width: 50px;
   height: 50PX;
   margin-bottom: 8px;
}

.ie-mensaje {
   width: 100%;
   height: auto;
   padding: 30px;
   border: 3px solid #0bb550;
   float: left;
   margin-top: 30px;
}

.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: #0bb550!important;
   text-decoration: none;
}

.ie-legales {
   width: 100%;
   padding-top: 20px;
   float: left;
}

.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;
}
/*/////////////// ESTILOS LOADER CIRCULAR ///////////////////*/
.showbox {
   position: fixed;
   top: 0px;
   left: 0px;
   background: rgba(0,0,0,.7);
   z-index: 9999 !important;
   height: 100%;
   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: #008744;
   }

   40% {
      stroke: #008744;
   }

   66% {
      stroke: #008744;
   }

   80%, 90% {
      stroke: #008744;
   }
}

/* ///// BUTTONS ///// */
a.btn-circle, a.btn-circle-text {
   text-decoration: none;
}

.btn-circle {
   width: 50px;
   height: 50px;
   border-radius: 50%;
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 24px;
   transition: all .3s;
   border: none;
}

.btn-circle:hover {
   box-shadow: 0 0 0 .4rem rgba(11,181,80,.25);
}

.btn-circle-text {
   text-decoration: none;
   display: flex;
   align-items: center;
}

.btn-circle-text .btn-circle {
   width: 32px;
   height: 32px;
   font-size: 20px;
}

.btn {
  padding: 0.6rem 0.85rem;
  font-size: 13px;
  border-radius: 3px;
  font-weight: 500;
  /* letter-spacing: .5px; */
}

.btn-lg, .btn-group-lg > .btn {
  padding: 0.8rem 1.2rem;
  font-size: 14px;
  line-height: 1.5;
  border-radius: 3px;
}

.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-btn-secondary);
  border-color: var(--color-btn-secondary);
}

.btn-secondary:hover {
  color: var(--color-white);
  background-color: var(--color-btn-secondary-hover);
  border-color: var(--color-btn-secondary-hover);
}

.btn-secondary:focus, .btn-secondary.focus {
  color: var(--color-white);
  background-color: var(--color-btn-secondary-hover);
  border-color: var(--color-btn-secondary-hover);
  box-shadow: none;
}

.btn-secondary.disabled, .btn-secondary:disabled {
  color: var(--color-white);
  background-color: var(--color-btn-secondary);
  border-color: var(--color-btn-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-btn-secondary);
  border-color: var(--color-btn-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;
}

.btn-light {
  color: var(--color-white);
  background-color: transparent;
  border-color: rgba(255,255,255,.6);
}

.btn-light:hover {
  color: var(--color-white);
  background-color: rgba(255,255,255,.3);
  border-color: rgba(255,255,255,.6);
}

.btn-light:focus, .btn-light.focus {
  color: var(--color-white);
  background-color: rgba(255,255,255,.3);
  border-color: rgba(255,255,255,.6);
  box-shadow: none;
}

.btn-light.disabled, .btn-light:disabled {
  color: var(--color-white);
  background-color: transparent;
  border-color: rgba(255,255,255,.6);
}

.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,
.show > .btn-light.dropdown-toggle {
  color: var(--color-white);
  background-color: transparent;
  border-color: rgba(255,255,255,.6);
}

.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,
.show > .btn-light.dropdown-toggle:focus {
  box-shadow: none;
}

.link-primary {
   color: var(--color-primary);
}

.link-primary:hover {
   color: var(--color-primary-hover);
}

.link-white {
   color: var(--color-white);
}

.link-white:hover {
   color: var(--color-white);
}

.link-underline {
   border-bottom: 1px solid var(--color-white);
}

.link-underline:hover {
   text-decoration: none;
}

/* ///// FORM ///// */
.form-group label {
   font-size: 12px;
   font-weight: 600;
}

.form-control {
   color: var(--color-secondary);
   border: 1px solid var(--color-black-40);
   font-size: 13px;
   caret-color: var(--color-primary)
}

.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: 500;
   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-secondary);
   border-color: var(--color-primary);
   box-shadow: 0 0 0 0.2rem rgba(11, 181, 80, 0.5);
}

.form-control.valid:focus {
   color: var(--color-secondary);
   border-color: var(--color-primary);
   box-shadow: 0 0 0 0.2rem rgba(11, 181, 80, 0.5);
}

.form-control.invalid:focus {
   color: var(--danger);
   border-color: var(--danger);
   box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
}

.custom-select {
   color: var(--color-secondary);
   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(11, 181, 80, 0.5);
}

.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.15rem;
}

.custom-control-input:focus ~ .custom-control-label::before {
   box-shadow: 0 0 0 0.2rem rgba(11, 181, 80, 0.5);
}

.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-secondary);
}

.dropdown-item:hover, .dropdown-item:focus {
   color: var(--color-secondary);
   background-color: var(--color-light);
}

.dropdown-item.active, .dropdown-item:active {
   color: var(--color-white);
   background-color: var(--color-secondary);
}

/* ///// ICONOS ///// */
.icono-50px {
   width: 50px;
   height: 50px;
   object-fit: contain;
}

.icono-60px {
   width: 60px;
   height: 60px;
   object-fit: contain;
}

/* ///// SCROLL UP ///// */
.scrollup {
   position: fixed;
   bottom: 30px;
   right: -50px;
   width: 50px;
   height: 50px;
   border-radius: 3px;
   background-color: var(--color-primary);
   color: var(--color-white);
   display: flex;
   align-items: center;
   justify-content: center;
   cursor: pointer;
   z-index: 50;
   transition: all .3s;
}

.scrollup:hover {
   background-color: var(--color-primary-hover);
   box-shadow: 0 0 0 .4rem rgba(11,181,80,.25);
}

.scrollup.show-scrollup {
   right: 30px;
}

/* ///// 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-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-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-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-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;
}

@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;
   }
}

@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;
   }
}

@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;
   }
}

@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;
   }
}

/* ///// ESTILOS TEXTOS ///// */
.light {
   font-weight: 300;
}

.regular {
   font-weight: 400;
}

.medium {
   font-weight: 500;
}

.semibold {
   font-weight: 600;
}

.bold {
   font-weight: 700;
}

/* ///// COLORES ///// */
.color-white {
   color: var(--color-white);
}

.color-gray {
   color: var(--color-gray);
}

.color-light {
   color: var(--color-light);
}

.color-primary {
   color: var(--color-primary);
}

.color-secondary {
   color: var(--color-secondary);
}

.color-danger {
   color: var(--danger);
}

.bg-color-primary {
   background-color: var(--color-primary);
}

.bg-color-light {
   background-color: var(--color-light);
}

.bg-color-secondary {
   background-color: var(--color-secondary);
}

/* COLORES: ESTILOS INTERNET EXPLORER */
@media screen and (min-width:0\0) {
   .color-white {
      color: #fff;
   }
}

/* ///// 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;
}

.no-scroll {
   overflow: hidden;
}

.hide {
   display: none;
}

.show {
   display: block;
}

.overlay {
   width: 100%;
   height: 100%;
   background-color: rgba(0,0,0,.6);
   position: fixed;
   z-index: 60;
   display: none;
}

.linea-verde {
   height: 2px;
   display: block;
   background-color: var(--color-primary);
}

.linea-verde.w-100px {
   width: 100px;
}

.linea-verde.w-50px {
   width: 50px;
}

.suite-badge {
   position: fixed;
   z-index: 30;
   bottom: 30px;
   left: 30px;
   background-color: white;
   border-radius: .25rem;
   padding: 20px;
   box-shadow: 0 2px 1rem rgba(0,0,0,.12);
}

@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;
}

.icono-precios {
   display: block;
   width: 80px;
   height: 80px;
   object-fit: contain;
   margin: 0 auto 30px;
}

/**/
.floating_brand { display: none; }

.footer_brand {
   width: 127px;
   display: block;
}

@media screen and (min-width: 1024px) {
   .floating_brand {
      display: block;
      position: absolute;
      top: 20px;
      right: 32px;
   }
}
@media screen and (min-width: 1200px) {
   .floating_brand {
      display: block;
      position: absolute;
      top: 20px;
      right: -58px;
   }
}