/*--------------------------------------------------------------
# General
--------------------------------------------------------------*/
:root{
  --textos:#002D5A;
  --textos-claros:#ffffff;
  --acento:#01ABE8;
  --primario:#002D5A;
  --primario-rgb:1,171,232;
  --secundario:#f46d2c;
  --terciario:#000;
  --orange:#ec5b0b;

  --font-xsmall:10px;
  --font-small:16px;
  --font-medium:24px;
  --font-big:42px;
  --font-large:32px;
}

html,body{color:var(--primario);}
a{color:var(--acento);text-decoration:none;cursor:pointer;transition:all 0.3s linear;}
a:hover{opacity:0.9;}
h1, h2, h3, h4, h5, h6{}
h4{margin:20px auto 0px;}
select, input, textarea{border-radius:0;box-shadow:none;font-size:var(--font-small);width:100%;}
select, input{height:44px;}
textarea{padding:10px 12px;}
button,input[type="submit"],.btn{
  background:var(--acento);
  border:0;
  padding:10px 24px;
  color:var(--textos-claros);
  transition:0.4s;
  text-transform:uppercase;
  border-radius:10px;
}
button:not([type="submit"]), input[type="submit"]:hover, .btn:hover{background:var(--primario);}
input[type="checkbox"],input[type="radio"]{width:auto;height:auto;}
input:invalid,textarea:invalid,select:invalid{ border-left:3px solid red;}

img,svg{max-width:100%;max-height:100%;object-fit:cover;object-position:center;}
svg image{width:100%;height:100%;}
img.img-contain{object-fit:contain;}
img.contain{object-fit:contain;}
img.img-cover{position:absolute;right:0px;z-index:0;}
img.img-cover.bottomRight{max-height:120%;bottom:-20%;}
section.bottomRight{overflow:visible!important;z-index:100;}

.fullwidth{width:100%;}
.verMas{cursor:pointer;}
.oculto{display:none!important;}
.widgets{text-align:center;margin:60px auto;}
.link,.link-inline{color:var(--textos-claros);border-bottom:3px solid var(--acento);cursor:pointer;}
.link-inline{color:inherit;border-bottom-width:1px;}
.linea-80{border:0;position:relative;}
.linea-80::after{
  content: "";
  height: 2px;
  width: 80%;
  background: var(--acento);
  position: absolute;
  bottom: -4px;
  left: 50%;
  transform: translateX(-50%);
}
.enlace{
  background: var(--secundario);
  border-radius: 100px;
  color: var(--textos-claros);
  display: inline-block;
  padding: 5px 20px;
}
.enlace:hover{color: var(--primario);}
.link.enlace{
  background-color:transparent;
  border:2px solid var(--acento);
  color: var(--acento);
  padding:1% 4%;
  border-radius:70px;
}
.link.enlace:hover{background-color:var(--acento);color:var(--textos-claros);}
.link-content{color:inherit;display:inline-block;}
.link-acento{border-bottom:1px solid var(--secundario);color:var(--secundario);}
.click{cursor:pointer;}
.row > .row{margin:0px;}
.nowrap{white-space:nowrap;}
.centerV{position:relative;top:50%;transform:translateY(-50%);}
.text-left{text-align:left;}
.text-right{text-align:right;}
.text-justify{text-align:justify;}
#main{margin-top:70px;position:relative;z-index:3;}
#main.app{margin:0px auto;}
.alert .close{
  padding:0px;
  width:15px;
  height:15px;
  line-height:15px;
  right:20px;
  position:absolute;
  top:50%;
  transform:translateY(-50%);
}
.badge-primary{font-weight:normal;border:1px solid var(--acento);color:var(--acento);}
.badge+.badge{margin-left:2px;}
.shadow-box,.coverContent{
  padding:15px;
  border-radius:10px;
}
.shadow-box{background:var(--primario-opacity);}
.coverContent p{font-size:var(--font-small);}

.paso{
  margin:0px auto 10px;
  text-align:center;
  position:relative;
  max-width:80%;
}
.paso:before{
  background:var(--primario);
  border-radius:20% 0% 0% 0%;
  /*content:"";*/
  position:absolute;
  top:-20px;
  left:-20px;
  width:100px;
  height:100px;
}
.paso.abajo:before{top:auto;bottom:-20px;border-radius:0% 0% 0% 20%;}
.paso.derecha:before{border-radius:0% 20% 0% 0%;left:auto;right:-20px;}
.paso.abajo.derecha:before{border-radius:0% 0% 20% 0%;left:auto;right:-20px;}
.paso.abajo.izquierda:before{content:"";}
.paso .paso-content{
  padding:40px 10px;
  position:relative;
  z-index:10;
}
.paso .imagen{ height:150px; margin:0px auto; }
.paso .titulo{font-weight:bold;padding:10px 0px;text-transform:uppercase;color:var(--acento);font-size:var(--font-medium);height:85px;line-height:65px;}
.paso .titulo span{line-height:normal;display:inline-block;}
.paso .imagen:before{
  content:attr(data-paso);
  font-size:var(--font-large);
  display:inline-block;
  vertical-align:middle;
  padding:0px 4px;
  font-weight:bold;
}
.tarjeta .paso{max-width:none}
.tarjeta .paso .paso-content{text-align:left;min-height:215px;}
.tarjeta .paso[style]::before{
  background:var(--backgroundImage) no-repeat center center scroll transparent;
  background-size:contain;
  z-index:100;
}
.pasos-escalera li::marker{content:"";}
.pasos-escalera ol,.pasos-escalera ul{counter-reset:pasoApaso;column-count:2;text-align:center;width:100%;}
.pasos-escalera li{counter-increment:pasoApaso;padding-left:100px;position:relative;width:60%;display:inline-block;text-align:left;white-space:nowrap;}
.pasos-escalera li:nth-child(2n){margin-left:30%;}
.pasos-escalera li::after{content:"";position:relative;min-height:100px;}
.pasos-escalera li::before{
  content:counter(pasoApaso);
  background:var(--acento);
  color:var(--textos-claros);
  border-radius:100%;
  display:inline-block;
  text-align:center;
  position:relative;
  vertical-align:middle;
  margin-left:-100px;
  font-size:80px;
  width:100px;
  height:100px;
  line-height:100px;
  margin-right:20px;
}


/*--------------------------------------------------------------
# Botón volver al principio 
--------------------------------------------------------------*/
.back-to-top{
  background:var(--primario);
  bottom:65px;
  border-radius:4px;
  position:fixed;
  opacity:0;
  right:15px;
  width:40px;
  height:40px;
  visibility:hidden;
  transition:all 0.4s;
  z-index:996;
}
.back-to-top i{font-size:28px;line-height:0;color:var(--textos-claros);}
.back-to-top:hover{background:var(--acento);color:var(--textos-claros);}
.back-to-top.active{visibility:visible;opacity:1;}


/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
#header{
  background:#FFF;
  border-bottom: 1px solid var(--terciario);
  height:70px;
  transition:all 0.5s ease-in-out;
  z-index:997;
}
#header .logo h1 {
  font-size:28px;
  margin:0;
  line-height:0;
  font-weight:600;
  letter-spacing:1px;
}
#header .logo h1 a, #header .logo h1 a:hover {
  color:#3c4133;
  text-decoration:none;
}
#header .logo img {
  padding:0;
  margin:0 auto;
  max-height:60px;
}

/*--------------------------------------------------------------
# Menú
--------------------------------------------------------------*/
/* Desktop */
.navbar{padding:0;}
.navbar ul {
  margin:0;
  padding:0;
  display:flex;
  list-style:none;
  align-items:center;
}
.navbar li{position:relative;}
.navbar a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:10px;
  font-size:15px;
  font-weight:600;
  color:var(--primario);
  white-space:nowrap;
  text-transform:uppercase;
  transition:0.3s;
}
.navbar a i, .navbar a:focus i{font-size:12px;line-height:0;margin-left:5px;}
.navbar a:hover, .navbar .active, .navbar .active:focus, .navbar li:hover > a{}
.navbar a.menu-item{border-bottom:2px solid transparent;}
.navbar a.menu-item:hover,.navbar a.menu-item.active{color:var(--acento);border-color:var(--acento);}
.resaltado{background:var(--acento);display:inline-block;padding:0px 10px;color:var(--textos-claros);}
.navbar .resaltado{border:0px;padding:5px 25px;margin-left:30px;border-radius:50px;color:var(--textos-claros);line-height:normal;}
.navbar .resaltado:hover,.navbar .resaltado.active{background:var(--primario);color:var(--textos-claros);}
.navbar .enlace{padding:5px 25px;margin-left:30px;line-height:normal;color:var(--textos-claros);}
.navbar .lang .bx-lg{font-size:20px;}
.navbar .dropdown ul {
  display:block;
  position:absolute;
  right:0px;
  top:calc(100% + 30px);
  margin:0;
  padding:10px 0;
  z-index:99;
  opacity:0;
  visibility:hidden;
  background:#0683ff;
  box-shadow:0px 0px 30px rgba(127, 137, 161, 0.25);
  transition:0.3s;
}
.navbar .dropdown ul li {
  min-width:200px;
}
.navbar .dropdown ul a{
  color:var(--textos-claros);
  padding:10px 20px;
  font-size:15px;
  text-transform:none;
}
.navbar .dropdown ul a i {
  font-size:12px;
}
.navbar .dropdown ul a:hover, .navbar .dropdown ul .active:hover, .navbar .dropdown ul li:hover > a, .navbar .dropdown ul li.active > a{
  color:var(--textos-claros);
  background: rgba(255,255,255,0.3);
}
.navbar .dropdown:hover > ul {
  opacity:1;
  top:100%;
  visibility:visible;
}
.navbar .dropdown .dropdown ul {
  top:0;
  left:calc(100% - 30px);
  visibility:hidden;
}
.navbar .dropdown .dropdown:hover > ul {
  opacity:1;
  top:0;
  left:100%;
  visibility:visible;
}

.navbar ul li ul{
  display: none;
  box-shadow: 0px 10px 10px 0px rgba(0,0,0,0.3);
  position: absolute;
  background: #FFF;
  min-width: 100%;
  height: auto;
  right: 0px;
  z-index: 999;
}
.navbar ul li:hover ul{display:block;}

/* Movil */
.mobile-nav-toggle{
  color:var(--acento);
  font-size:20px;
  cursor:pointer;
  display:none;
  line-height:0;
  transition:0.5s;
  position:absolute;
  right:30px;
  z-index:9999;
}
.navbar-mobile{
  background:rgba(0, 0, 0, .9);
  bottom:0;
  display: inline-block;
  position:fixed;
  overflow:hidden;
  top:0;
  right:0;
  left:0;
  margin: 0px auto;
  transition:0.3s;
  z-index:999;
}
.navbar-mobile .mobile-nav-toggle{
  position:absolute;
  top:15px;
  right:15px;
}
.navbar-mobile .menu-logo{display:none;}
.navbar-mobile ul {
  display:block;
  position:absolute;
  top:55px;
  right:15px;
  bottom:15px;
  left:15px;
  padding:10px 0;
  background-color:#fff;
  overflow-y:auto;
  transition:0.3s;
}
.navbar-mobile a {
  padding:10px 20px;
  font-size:15px;
  color:#3c4133;
}
.navbar-mobile a:hover, .navbar-mobile .active, .navbar-mobile li:hover > a{ color:var(--primario); }
.navbar-mobile .resaltado{margin:15px;}
.navbar-mobile .dropdown ul {
  position:static;
  display:none;
  margin:10px 20px;
  padding:10px 0;
  z-index:99;
  opacity:1;
  visibility:visible;
  background:#fff;
  box-shadow:0px 0px 30px rgba(127, 137, 161, 0.25);
}
.navbar-mobile .dropdown ul li{min-width:200px;}
.navbar-mobile .dropdown ul a{padding:10px 20px;}
.navbar-mobile .dropdown ul a i {font-size:12px;}
.navbar-mobile .dropdown ul a:hover, .navbar-mobile .dropdown ul .active:hover, .navbar-mobile .dropdown ul li:hover > a{color:var(--primario);}
.navbar-mobile .dropdown > .dropdown-active{display:block; }
.navbar-mobile .menu{width:100%;}
.navbar-mobile .menu ul{ position:relative;right:auto;left:auto; }

/*--------------------------------------------------------------
# Slider
--------------------------------------------------------------*/
#hero {
  width:100%;
  height:50vh;
  background:none no-repeat top center var(--acento);
  background-size:cover;
  border-bottom:4px solid var(--acento);
  position:relative;
  margin-bottom:-140px;
  z-index:1;
}
#hero:before {
  content:"";
  background:rgba(60, 65, 51, 0.4);
  position:absolute;
  bottom:0;
  top:0;
  left:0;
  right:0;
}
#hero .hero-container {
  position:absolute;
  bottom:0;
  top:0;
  left:0;
  right:0;
  display:flex;
  justify-content:center;
  align-items:center;
  flex-direction:column;
  text-align:center;
}
#hero h1{margin:0 0 10px 0;font-size:48px;font-weight:700;line-height:56px;color:#FFF;}
#hero h2{color:#eee;margin-bottom:50px;font-size:24px;}
#hero .btn-get-started{
  font-weight:600;
  font-size:13px;
  letter-spacing:1px;
  text-transform:uppercase;
  display:inline-block;
  padding:8px 28px;
  border-radius:50px;
  transition:0.5s;
  margin:10px;
  border:2px solid var(--primario);
  color:#fff;
}
#hero .btn-get-started:hover{ background:var(--primario); }

.carousel button{
  background: transparent;
  position: absolute;
  z-index: 100;
}
.carousel button > span.fa{
    background: var(--secundario);
    width: 3rem;
    height: 3rem;
    border-radius: 1.5rem 0rem 1.5rem 0rem;
    transform: rotate(45deg);
    font-size: xx-large;
}
.carousel button > span.fa:before {
    transform: rotate(-45deg) translate(-5px, 5px);
    display: block;
}

.carousel-indicators{margin-top:1rem;}
.carousel-indicators [data-bs-target]{
    position: relative;
    background: var(--secundario);
    opacity: 0.3;
}
.carousel-indicators [data-bs-target].active{opacity: 1!important;}

/*--------------------------------------------------------------
# Sección General
--------------------------------------------------------------*/
section{overflow:hidden;}
.section-bg {
  background-color:#f6f6f6;
}
.section-title {
  text-align:center;
  padding-bottom:30px;
}
.section-title h2 {
  font-size:32px;
  font-weight:600;
  margin-bottom:20px;
  padding-bottom:0;
  color:#646c55;
}
.section-title p {
  margin-bottom:0;
}

/*--------------------------------------------------------------
# Breadcrumbs
--------------------------------------------------------------*/
.breadcrumbs{padding:0;}
.breadcrumbs .breadcrumb-hero{background:none no-repeat center center scroll transparent;background-size:cover;text-align:center;padding:0px 0;color:#FFF;}
.breadcrumbs .breadcrumb-hero h2{font-size:var(--font-big);font-weight:bold;padding:20px 0px;text-transform:uppercase;line-height:normal;margin:0px auto}
.breadcrumbs .breadcrumb-hero p {
  font-size:14px;
  margin-bottom:0;
}
.breadcrumbs ol {
  display:flex;
  flex-wrap:wrap;
  list-style:none;
  padding:0;
  margin:30px 0;
}
.breadcrumbs ol li + li {
  padding-left:10px;
}
.breadcrumbs ol li + li::before {
  display:inline-block;
  padding-right:10px;
  color:#565e49;
  content:"/";
}

/*--------------------------------------------------------------
# Llamado de acción
--------------------------------------------------------------*/
.cta{background:#000;padding:50px 0;}
.cta h3{color:var(--acento);font-size:28px;font-weight:700;}
.cta p{color:#fff;}
.cta .cta-btn{
  font-weight:500;
  font-size:15px;
  letter-spacing:1px;
  display:inline-block;
  padding:8px 28px;
  border-radius:25px;
  transition:0.5s;
  margin-top:10px;
  border:2px solid #fff;
  color:#fff;
}
.cta .cta-btn:hover{background:var(--primario);border-color:var(--primario);}

/*--------------------------------------------------------------
# Paginas
--------------------------------------------------------------*/
.pages h1,.pages h2, .titulo-principal{
  display:inline-block;
  color:var(--acento);
  font-size:var(--font-big);
  line-height:var(--font-big);
  font-weight:bold;
  text-transform:uppercase;
  width:auto;
}
.pages h2{ margin:20px auto 0px;width:100%;line-height:1;}
.pages ul li::marker{color:#f46d2c;}
.pages h1.texto-claro,.texto-claro{color:var(--textos-claros);}
.pages a.oscuro{color:var(--primario)!important;font-weight:bold;}
.pagina-extracto{color:var(--secundario);}
ul{padding-left:15px;}
h5{font-size:medium;text-transform:uppercase;}
.text-overflow{
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  vertical-align: middle;
  width: 100%;
}

.PaginaInterna h1{
  color: var(--textos);
  font-size: var(--font-medium);
  text-align: center;
  margin: 40px auto 0px;
  letter-spacing: 5px;
  width: 100%;
}

/*--------------------------------------------------------------
# Plantilas;
--------------------------------------------------------------*/
.pages.Cover{
  background:none no-repeat center right scroll transparent;
  background-size:cover;
  color:var(--textos-claros);
  position:relative;
  font-size:var(--font-medium);
  height:calc(100vh - 70px);
  width:100%;
}
.pages.Cover[style]{background-color:var(--primario);}
.pages.Cover[style]::before{
  /*background:linear-gradient(to right, #000, rgba(0,0,0,0.2));*/
  background:var(--cover2, none) no-repeat center center scroll transparent;
  background-size: cover;
  opacity: 0.2;
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
}
.pages.Cover.min-h{height:auto;}

/*--------------------------------------------------------------
# Sidebar
--------------------------------------------------------------*/

.sidebar {
  padding:10px 20px;
  margin:0 0 60px 20px;
  box-shadow:0 4px 16px rgba(0, 0, 0, 0.1);
}
.sidebar .sidebar-title {
  font-size:20px;
  font-weight:700;
  padding:0 0 0 0;
  margin:0 0 15px 0;
  color:#3c4133;
  position:relative;
}
.sidebar .sidebar-item {
  margin-bottom:30px;
}
.sidebar .search-form form {
  background:#fff;
  border:1px solid #ddd;
  padding:3px 10px;
  position:relative;
}
.sidebar .search-form form input[type="text"] {
  border:0;
  padding:4px;
  border-radius:4px;
  width:calc(100% - 40px);
}
.sidebar .search-form form button {
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  border:0;
  background:none;
  font-size:16px;
  padding:0 15px;
  margin:-1px;
  background:var(--primario);
  color:#fff;
  transition:0.3s;
  border-radius:0 4px 4px 0;
  line-height:0;
}
.sidebar .search-form form button i {
  line-height:0;
}
.sidebar .search-form form button:hover {
  background:#9dc554;
}
.sidebar .categories ul {
  list-style:none;
  padding:0;
}
.sidebar .categories ul li + li {
  padding-top:10px;
}
.sidebar .categories ul a {
  color:#3c4133;
  transition:0.3s;
}
.sidebar .categories ul a:hover {
  color:var(--primario);
}
.sidebar .categories ul a span {
  padding-left:5px;
  color:#aaaaaa;
  font-size:14px;
}
.sidebar .recent-posts .post-item + .post-item {
  margin-top:15px;
}
.sidebar .recent-posts img {
  width:80px;
  float:left;
}
.sidebar .recent-posts h4 {
  font-size:15px;
  margin-left:95px;
  font-weight:bold;
}
.sidebar .recent-posts h4 a {
  color:#3c4133;
  transition:0.3s;
}
.sidebar .recent-posts h4 a:hover {
  color:var(--primario);
}
.sidebar .recent-posts time {
  display:block;
  margin-left:95px;
  font-style:italic;
  font-size:14px;
  color:#aaaaaa;
}
.sidebar .tags {
  margin-bottom:-10px;
}
.sidebar .tags ul {
  list-style:none;
  padding:0;
}
.sidebar .tags ul li {
  display:inline-block;
}
.sidebar .tags ul a {
  color:#7e886b;
  font-size:14px;
  padding:6px 14px;
  margin:0 6px 8px 0;
  border:1px solid #edefea;
  display:inline-block;
  transition:0.3s;
}
.sidebar .tags ul a:hover {
  color:#fff;
  border:1px solid var(--primario);
  background:var(--primario);
}
.sidebar .tags ul a span {
  padding-left:5px;
  color:#d5d8ce;
  font-size:14px;
}
.sidebar .categories ul li.total{padding:0px;margin:0px;border-top:1px dotted;position:relative;}
.sidebar .categories ul li.total:first-child{border:0px;}
.sidebar .categories ul li.total a{display:inline-block;width:100%;}
.sidebar .categories ul li.total a .valor{float:right;}


/*--------------------------------------------------------------
# Projects
--------------------------------------------------------------*/
.proyecto-item{ background:none no-repeat center center scroll;background-size:cover;padding:50px 0px;height:300px;position:relative; }
.proyecto-item::before{
  background:rgba(0, 0, 0, 0.6);
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  z-index:1;
}
.proyecto-item .content-proyecto{ position:relative;z-index:1;text-transform:uppercase;margin-top:30%;opacity:0;transition:all 0.3s linear; }
.proyecto-item .proyecto-titulo{ color:var(--textos-claros);font-size:var(--font-medium);padding:0px 20px; }
.proyecto-item:hover::before{content:"";}
.proyecto-item:hover .content-proyecto{margin-top:0px;opacity:1;}

/*--------------------------------------------------------------
# Preguntas frecuentes
--------------------------------------------------------------*/
.faq{padding:0px;margin:2rem auto;border-radius:10px;}
.faq .accordion-item{margin:0px;padding:0px;border:0px;border-bottom:1px solid #CCC;}
.faq .accordion-item .accordion-header{margin:0px;padding:0px;font-family:'BX-REGULAR';}
.faq .accordion-item .accordion-header .accordion-button.collapsed{color:#FFF;margin:0px auto;outline:none;text-transform:none;}

.faq .accordion-item .accordion-content{background:#e4e4e4;}
.faq .accordion-item .accordion-body{color:var(--primario);margin:0px;padding:1rem 1.5rem;font-style:italic}
.faq .accordion-item .accordion-body .enlace{padding:.1rem 1rem;}




/*--------------------------------------------------------------
# Contacto
--------------------------------------------------------------*/
.contacto .info{width:100%;}
.contacto .info i {
  font-size:20px;
  color:var(--primario);
  float:left;
  width:44px;
  height:44px;
  background:var(--acento);
  display:flex;
  justify-content:center;
  align-items:center;
  border-radius:50px;
  transition:all 0.3s ease-in-out;
}
.contacto .info h4 {
  padding:0 0 0 60px;
  font-size:22px;
  font-weight:600;
  margin-bottom:5px;
  color:#3c4133;
}
.contacto h4.inline{
  display:inline-block;
  opacity:0.5;
  padding:0px 10px;
  margin-right:10px;
}
.contacto h4.activo{opacity:1;}
.toggle-class{cursor:pointer;}
.info p{padding:0 0 0 60px;margin-bottom:0;font-size:14px;color:#7d7d7d;}
.info .email, .info .phone{margin-top:40px;}
.info .email:hover i, .info .address:hover i, .info .phone:hover i {
  background:var(--primario);
  color:#fff;
}
.form-content {
  background:var(--primario);
  padding:20px 30px;
  border-radius:20px;
  color:#FFF;
}
.form-content [type=submit]{
  background:var(--acento);
  border-radius:0;
  color:var(--textos-claros);
  width:100%;
}
.bluex-form{width:100%;}
.bluex-form .form-group{padding-bottom:8px;}
.bluex-form .error-message {
  display:none;
  color:#fff;
  background:#ed3c0d;
  text-align:left;
  padding:15px;
  font-weight:600;
}
.bluex-form .error-message br + br{margin-top:25px;}
.bluex-form .sent-message {
  display:none;
  color:#fff;
  background:#18d26e;
  text-align:center;
  padding:15px;
  font-weight:600;
}
.bluex-form .loading {
  display:none;
  background:#fff;
  text-align:center;
  padding:15px;
}
.bluex-form .loading:before{
  content:"";
  display:inline-block;
  border-radius:50%;
  width:24px;
  height:24px;
  margin:0 10px -6px 0;
  border:3px solid #18d26e;
  border-top-color:#eee;
  -webkit-animation:animate-loading 1s linear infinite;
  animation:animate-loading 1s linear infinite;
}
@-webkit-keyframes animate-loading{ 0%{ transform:rotate(0deg); } 100%{ transform:rotate(360deg); } }
@keyframes animate-loading{ 0%{ transform:rotate(0deg); } 100%{ transform:rotate(360deg); } }

/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
#footer{ border-top:1px solid #FFF;padding:0;color:var(--primario);font-size:14px; }
#footer a{ }
#footer .footer-group{
    background:no-repeat center center scroll transparent;
    background-size: cover;
    border-bottom: 1px solid rgba(var(--primario-rgb), 0.2);
    float: left;
    padding: 2rem 0rem;
    width: 100%;
}
#footer .footer-info{ margin-bottom:30px; }
#footer .footer-info h3 {
  font-size:26px;
  margin:0 0 10px 0;
  padding:2px 0 2px 0;
  line-height:1;
  font-weight:600;
  letter-spacing:3px;
  color:#9fc658;
}
#footer .footer-info p {
  font-size:14px;
  line-height:24px;
  margin-bottom:0;
  color:#fff;
}
#footer .social-links a {
  display:inline-block;
  background:var(--primario);
  color:#fff;
  line-height:1;
  margin-right:10px;
  border-radius:50%;
  text-align:center;
  width:25px;
  height:25px;
  transition:0.3s;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
#footer .social-links img{ transition:0.3s;filter:grayscale();opacity:0.5; }
#footer .social-links a i{ line-height:0;font-size:16px; }
#footer .social-links a:hover img{ filter:none;opacity:1; }
#footer h4{
  font-size:14px;
  font-weight:bold;
  color:var(--primario);
  text-transform:uppercase;
  position:relative;
  padding-bottom:1rem;
  margin-bottom:2rem;
}
#footer h4::before, #footer .footer-group h4::after{
  content:'';
  position:absolute;
  left:0;
  bottom:0;
  height:2px;
}
#footer h4::before{right:0;}
#footer h4::after{background:var(--secundario);width:15%;}
#footer .footer-links .footer-social i{font-size:large;padding:0px 5px;color:var(--acento);}
#footer .footer-links p{padding:15px 0px 0px;margin:0px auto;}
#footer .footer-links ul{
  list-style:none;
  display:flex;
  padding:15px 0 0 0;
  margin:0;
}
#footer .footer-links ul li{
  text-align:right;
  text-transform:uppercase;
  padding-left:2rem;
}
#footer .footer-links.justify-content-start ul li{
    padding-left: 0px;
    padding-right: 1rem;
}
#footer .footer-links ul a{color:#FFF;transition:0.3s;}
#footer .footer-links ul a.active,#footer .footer-group .footer-links ul a:hover{color:var(--acento);}
#footer .footer-contact{margin-bottom:30px;}
#footer .footer-contact p{line-height:26px;}
#footer .footer-newsletter{margin-bottom:30px;}
#footer .footer-newsletter input[type="email"] {
  border:0;
  padding:6px 8px;
  width:65%;
  border-radius:4px 0 0 4px;
}
#footer .footer-newsletter input[type="submit"] {
  background:var(--primario);
  border:0;
  border-radius:0 4px 4px 0;
  width:35%;
  padding:6px 0;
  text-align:center;
  color:#fff;
  transition:0.3s;
  cursor:pointer;
}
#footer .footer-newsletter input[type="submit"]:hover {
  background:#789d35;
}
#footer .copyright {
  text-align:center;
  padding-top:30px;
}
#footer .terms{
  color: #fff;
  text-align: center;
  font-size: 10px;
  padding: 0px !important;
}
.cintillo-footer{margin:-90px auto -40px;z-index:-1;position:relative;}

/* --- [Shortcodes] --- */
.bg{position:relative;padding:20px;margin:0px auto;width:100%;}
.bg *{z-index:2;position:relative;}
.bg .bg-bg{
  background:none no-repeat center center scroll;
  background-size:cover;
  position:absolute;
  height:100%;
  width:100%;
  top:0px;
  left:50%;
  transform:translateX(-50%);
  z-index:1;
}
.bg .bg-content{position:relative;z-index:1;}
.bg.fullwidth{position:relative;}
.bg.fullwidth .bg-bg{width:100vw;max-width:none;}
.bg-titulo{margin:20px auto;color:#FFF;}
.fullscreen{width:100vw;height:100vh;position:relative;transform:translate(-50%, -50%);left:50%;top:50%;display:inline-block;}
.fullscreen-w{width:100vw;left:50%;transform:translateX(-50%);position:relative;display: inline-block;}
.fullscreen-v{height:100vh;top:50%;transform:translateY(-50%);position:relative;display: inline-block;}
.zIndexMax{z-index:9999!important;}
.enlace-img{text-align:center;display:inline-block;width:100%;line-height:100px;}
.enlace-img img{max-height:80px;}
.card-body .imagen-cover{margin:-1rem 0rem -1rem -0.3rem;padding:0px;}
.card-body .imagen-cover img{height:100%;width:100%;}
.card-cover{
  background: #000;
  border-bottom: 1px solid #DFDFDF;
  display: inline-block;
  height: 150px;
  margin: 0px auto;
  width: 100%;
}
.card-cover img{width:100%;height:100%;object-fit:contain;background-color:#FFF;}
.pages p img{max-height:25vh;object-fit:contain;}
.multiline{
  font-size: small;
  text-align: left;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  line-clamp: 3;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  white-space: normal !important;
  height: 50px;
  line-height: normal;
}
.card h3{
  white-space:nowrap;
  width:100%;
  text-overflow:ellipsis;
  overflow:hidden;
}
.select2-container .select2-selection--single{padding:5px 0px;height:40px !important;}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:40px !important;}
.form-check-input[type="radio"]{padding:8px;}
.team-info-body{min-height:310px;}
.group-skills{min-height:75px;}
.photocard{border-radius:20px;max-width:200px;margin:30px auto;padding:20px;}
.photocard:hover{border-color:var(--acento)!important;}
.photocard svg{position: absolute;width: 100%;height: 100%;}
.img-photocard{opacity:0;}

.col-icon-proyecto{overflow:hidden;}
.icon-proyecto{position:relative;max-width:120px;margin:0px auto;}
.icon-proyecto-img{
  border: 10px solid var(--acento);
  border-radius: 100%;
  padding: 15px;
  background: #FFF;
  position: relative;
  margin: 0px auto 20px;
  z-index: 10;
}
.icon-proyecto::before,.icon-proyecto::after{
  content:"";
  background:var(--acento);
  position:absolute;
  height:100vh;
  left:50%;
  transform:translateX(-50%);
  width:10px;
}
.icon-proyecto::before{top:50%;}
.icon-proyecto::after{bottom:50%;}
.primero .icon-proyecto::after,.ultimo .icon-proyecto::before{background-color:transparent;}


.breadcrumb-hero img.invisible{max-height:60vh;}


.variaciones{
  position: absolute;
  top: 0%;
  transform: translate(0, -100%);
  background: #FFF;
  width: 100%;
  box-shadow:0px -5px 10px 0px rgba(0, 0, 0, 0.06);
  left: 0px;
  padding: 0px 10px;
  overflow: hidden;
  max-height: 0%;
  transition:all 0.3s linear;
}
.card:hover .variaciones, .card:focus .variaciones, .card:active .variaciones{max-height:300%;}
.var-label{
  font-size: 10px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #888;
  margin: 6px 0 3px;
}
.var-pills{
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-bottom: 6px;
}
.pill{
  font-size: 11px;
  padding: 2px 8px;
  border-radius: 99px;
}
.pill-medida{ background: #E6F1FB; color: #0C447C; }
.pill-tipo{ background: #EEEDFE; color: #3C3489; }
.pill-color{ background: #E1F5EE; color: #085041; }
.pill-caracteristica{ background: #FAECE7; color: #712B13; }
.pill-especificaciones{ background: #F1EFE8; color: #444441; }

.productos h2{height:50px;vertical-align:middle;align-content:start;}
.productos.d-flex{transition:all 0.3s linear;transform:translate(0px, 0px);}
.productos .container:not(.gClients){
  max-width: 100%;
  width: 300px;
  height: 300px;
  position: relative;
}
.productos .container.gClients{
  max-width: 100%;
  width: 150px;
  height: 150px;
  position: relative;
}
.productos .container img{object-fit:contain;}
.productos .container .linkProduct {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  opacity: 0;
  object-fit:contain;
  transition: opacity 1s ease;
  margin:0 auto;
  z-index:10;
}
.productos .container .linkProduct.active {opacity: 1;z-index:20;}
.linkProduct span{
  color: #000;
  position: absolute;
  bottom: -10px;
  left: 0px;
  width: 100%;
}

.position-relative { position: relative; }
.btn-scroll {
  position: absolute;
  top: 50%;
  z-index: 100;
  background: rgba(0,0,0,0.5);
  color: white;
  border: none;
  padding: 10px 15px;
  cursor: pointer;
}
.btn-scroll.prev { left: -40px; }
.btn-scroll.next { right: -40px; }

#carouselContainer, #carouselClientsContainer{
  scroll-behavior: smooth;
  overflow-x: auto;
  scrollbar-width: none;
}
#carouselContainer::-webkit-scrollbar, #carouselClientsContainer::-webkit-scrollbar{ display: none; }
#carouselContainer::scrollbar, #carouselClientsContainer::scrollbar{ display: none; }


.loading-background {
  position: relative;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #1f4068, #162447, #1b1a1a);
  background-size: 300% 300%;
  animation: gradientAnimation 12s ease infinite;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  position: absolute;
  z-index: 0;
}
.loading-background::before {
  content: '';
  position: absolute;
  width: 600px;
  height: 600px;
  background: rgba(255, 255, 255, 0.03);
  border-radius: 50%;
  animation: pulseAnimation 4s ease-in-out infinite;
  z-index: 1;
}
.loading-background::after {
  content: '';
  position: absolute;
  width: 120px;
  height: 120px;
  border: 4px solid rgba(255, 255, 255, 0.1);
  border-top: 4px solid #00adb5;
  border-radius: 50%;
  animation: spinAnimation 1.5s linear infinite;
  z-index: 2;
}
@keyframes gradientAnimation {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
@keyframes spinAnimation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes pulseAnimation {
  0%, 100% {
    transform: scale(0.8);
    opacity: 0.2;
  }
  50% {
    transform: scale(1.2);
    opacity: 0.6;
  }
}