:root{
  --textos:#FFF;
  --textos-claros:#ffffff;
  --acento:#fAA71B;
  --primario:#000;
  --primario-rgb:1,171,232;

  --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:1px solid #ced4da;border-radius:5px;;font-size:var(--font-small);width:100%;padding:.9rem;}
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);color:var(--textos-claros);}
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;}
b, strong, .fbold{font-family:'BX-BOLD';}
.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(--acento);
  border-radius: 100px;
  color: var(--primario);
  display: inline-block;
  padding: 5px 20px;
}
.enlace:hover{color:var(--textos);}
.link.enlace{
  background-color:transparent;
  border:2px solid var(--acento);
  padding:1% 4%;
  border-radius:70px;
}
.link.enlace:hover{background-color:var(--acento);}
.link-content{color:inherit;display:inline-block;}
.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{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);padding:1px 4px;vertical-align:middle;}
.badge-danger{font-weight:normal;border:1px solid var(--bs-danger);color:var(--bs-danger);padding:1px 4px;vertical-align:middle;}
.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;
}
.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 0px;
  position:relative;
  z-index:10;
}
.paso .imagen{ height:150px; margin:0px auto; }
.paso .imagen img{object-fit:contain;}
.paso .titulo{font-weight:bold;padding:10px 0px;text-transform:uppercase;font-size:var(--font-medium);height:85px;line-height:65px;}
.paso .titulo span{display:inline-block;line-height:normal;font-size:14px;}
.paso .imagen[data-paso]:before{
  background: var(--acento);
  content: attr(data-paso);
  display: inline-block;
  font-size: var(--font-medium);
  font-weight: bold;
  padding: 0px 4px;
  position: absolute;
  vertical-align: middle;
  z-index: 999;
}
.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;
}
.txt-ellipsis {
    display: -webkit-box !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal !important;
    width: 100%;
}
.icon-item{min-width:150px;margin:0px auto;}

.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{
  background:var(--bs-white);
  border-bottom: 1px solid var(--primario);
  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;
}

.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;
  color:var(--primario);
  align-items:center;
  justify-content:space-between;
  padding:10px;
  font-size:15px;
  font-weight:600;
  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-obscuro,.resaltado{background:var(--acento);display:inline-block;padding:0px 10px;color:var(--textos-claros);}
.resaltado-obscuro{background-color:var(--primario);color:var(--textos-claros)!important}
.menu-footer .resaltado,.menu-footer .resaltado-obscuro{background-color:transparent;padding:0px;}
.navbar .resaltado, .navbar .resaltado-obscuro{border:0px;padding:5px 25px;margin-left:30px;border-radius:50px;color:var(--textos-claros);line-height:normal;}
.navbar .resaltado:hover,.navbar .resaltado.active, 
.navbar .resaltado-obscuro:hover,.navbar .resaltado-obscuro.active{background:var(--primario);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:#FFF;
  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{
  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{
  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;
}

.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; }

#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); }
.slide .enlace{color:inherit;}

.carousel button{
  background: transparent;
  position: absolute;
  z-index: 100;
}
.carousel button > span.fa{
    background: var(--acento);
    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(--acento);
    opacity: 0.3;
}
.carousel-indicators [data-bs-target].active{opacity: 1!important;}

.carrusel-container .carrusel{
  position: relative;
  overflow-x: auto;
  white-space: nowrap;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.carrusel-container .carrusel::-webkit-scrollbar{ display: none; }
.carrusel-container .carrusel-content{
  display: inline-flex;
  gap: 1rem;
  padding: 1rem 0;
}
.carrusel-container .item{
  flex: 0 0 auto;
  width: 300px;
  scroll-snap-align: start;
  position: relative;
}
.carrusel-container .item img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 12px;
}
.carrusel-container .carrusel-btn{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0,0,0,0.5);
  border: none;
  color: white;
  padding: 0.5rem 1rem;
  border-radius: 50%;
  cursor: pointer;
  z-index: 10;
}
.carrusel-container .carrusel-btn:hover{background: rgba(0,0,0,0.7);}
.carrusel-container .carrusel-btn.prev{ left: 0.5rem; }
.carrusel-container .carrusel-btn.next{ right: 0.5rem; }
.carrusel-container .carrusel-bullets{
  display: flex;
  justify-content: center;
  gap: 0.5rem;
  accent-color: var(--acento);
  padding:0px!important;
}
.carrusel-container .carrusel-bullets button{
  border-radius: 50%;
  border: none;
  background: #ccc;
  padding:0px;
  transition: background 0.3s;
  height: 10px;
  width: 10px;
}
.carrusel-container .carrusel-bullets button.active{background:var(--acento);}
.carrusel-container.no-scroll .carrusel-bullets,.carrusel-container.no-scroll .carrusel-btn{display:none;}

.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{padding:20px 0px;}
.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:0;
}
.breadcrumbs ol li + li {padding-left:10px;}
.breadcrumbs ol li + li::before {
  display:inline-block;
  padding-right:10px;
  color:#565e49;
  content:"/";
}

.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);}

.pages h1,.pages h2, .titulo-principal{
  display:inline-block;
  color:var(--acento);
  font-size:var(--font-large);
  line-height:var(--font-large);
  font-weight:bold;
  text-transform:uppercase;
  width:auto;
}
.pages h2{display:block;width:100%;}
.pages ul li::marker{color:#ffd200;}
.pages h1.texto-claro,.texto-claro{color:var(--textos-claros);}
.pages a.oscuro{color:var(--primario)!important;font-weight:bold;}
.pagina-extracto{color:var(--acento);}

.PaginaInterna h1{
  color: var(--primario);
  font-size: var(--font-medium);
  margin: 40px auto 0px;
  letter-spacing: 5px;
  width: 100%;
}
.PaginaInterna h1+h2{margin:0px;}

.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));*/
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
}
.pages.Cover.min-h{height:auto;}
.pages.Cover .carousel-control-next, .pages.Cover .carousel-control-prev{width:7%;}
.pages.Cover .carousel-indicators [data-bs-target]{
  height:25px;
  width:80px;
  background:none no-repeat center center scroll;
  background-size:cover;
}
.pages.Cover .carousel-inner, .pages.Cover .carousel-inner .carousel-item{height:100%;}
.responsiveBG{
  background: none no-repeat center center scroll transparent;
  background-size: cover;
}

.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;}

.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;}

.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{background:#FFF;color:var(--primario);padding:0.5rem 1.5rem;margin:0px auto;outline:none;text-transform:none;line-height:normal;}

.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 .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:#3d9365;
  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{ background:var(--primario);padding:0;color:#FFF;font-size:14px; }
#footer a{ color:var(--textos); }
#footer .footer-group{
    background: var(--primario);
    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:#FFF;
  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(--acento);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;
}
.footer-links i{
  border: 1px solid #CCC;
  border-radius: 100%;
  font-size: 25px;
  text-align: center;
  line-height: 35px;
  padding: 10px;
  height: 60px;
  width: 60px;
}

.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;
}
.card h2{height:80px;}
.select2-container .select2-selection--single{padding:5px 0px;height:40px !important;}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:40px !important;}
.form-label+.choices,.form-label+select{margin-top:.25rem;}
.choices__inner{background-color:#FFF!important;}
.choices[data-type*=select-one] .choices__button {
  background-color: #fa9b9b;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 0.6;
}
.descripcion{
  color: red;
  font-size: small;
  position: relative;
  display: block;
}
.choices + .descripcion{margin-top: -20px;}
.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;}

.zoom{transition:all 0.2s linear;}
.zoom:hover{transform:scale(1.02) translateY(-20px);}

.link-products{border:1px solid var(--primario);overflow:hidden;}
.link-products a{color:var(--primario);}
.link-products .price{margin-top:-10px;}
.link-products .price > span{margin-left:5px;}
.link-products .content-products{height:200px;overflow-y:auto;}
.bg-acento{color:var(--textos)!important;background:var(--acento);}
.txt-acento{color:var(--acento);}
.txt-primario{color:var(--primario)!important;}
.btn.btn-secondary{
  background: var(--textos);
  border: 1px solid var(--primario);
  color: var(--primario);
  padding: 4px 15px;
  border-radius: 0px;
}
.nav-tabs .nav-link.tab.active{
    font-weight: bold;
    opacity: 1;
    color: #000 !important;
    border-bottom: 2px solid var(--acento) !important;
    border-radius: 0;
}
.card.active{box-shadow: 0px 0px 0px 2px var(--acento);}
.desactivado,.bloqueado{
  cursor:not-allowed!important;
  border-style: dashed;
  border-color: #ff7979;
  opacity: 0.5;
}
.desactivado .small,.bloqueado .small{color:red !important;}
.labelStatus[data-msg]:empty:before{content:attr(data-msg);}

.cargando{position:relative;color:transparent;opacity:0.5;pointer-events:none;}
.cargando:not(.leyenda):after{
  content: "Cargando";
  position: absolute;
  left: 50%;
  top: 50%;
  color: #000;
  background: #FFF;
  box-shadow: 0px 0px 100px 100px #FFF;
  transform: translate(-50%, -50%);
}
.cargando label.form-label{color:initial;}
.cargando.leyenda:before{
    content: "Espera un momento...";
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #FFF;
    color: red;
    font-weight: bold;
    font-size: x-large;
    padding: 10px;
    box-shadow: 0px 0px 100px 100px #FFF;
}
.croquis {
    width: 100%;
    background: #f0f0f0;
    min-height: 200px;
    max-height: 50vh;
    position: relative;
}
#map{
    width: 100%;
    height: 100%;
    position: absolute;
}
.layenda{
  position: absolute;
  z-index: 9999;
  font-weight: bold;
  bottom: 0px;
  left: 0px;
  font-size: 10px;
  padding: 0px 5px 2px;
}
a[href="https://leafletjs.com"],a[href="https://leafletjs.com"]+span{display:none!important;}
.card-wrapper{
  position: absolute;
  top: 0px;
  right: 0px;
  transform: translate(30%, -35%) scale(0.4);
}

.bx-overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.5);
display: none;
justify-content: center;
align-items: center;
z-index:9999;
}
.bx-popup {
position: relative;
width: 90%;
height: 90%;
max-width: 600px;
max-height: 600px;
background: #fff;
border-radius: 8px;
overflow: hidden;
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}
.bx-close-btn{
position: absolute;
top: 10px;
right: 10px;
background: #ff5c5c;
color: #fff;
border: none;
border-radius: 50%;
width: 30px;
height: 30px;
cursor: pointer;
display: flex;
justify-content: center;
align-items: center;
font-size: 16px;
}
.bx-close-btn:hover{background:#ff2c2c;}
.bx-iframe{width:100%;height:100%;border:none;}
.bx-iframe.max{height:100%;}
.alert:empty{display:none;}
.sticky-header-fixed{top:0px;transition:0.2s linear 0.2s all;}
.header-scrolled+main .sticky-header-fixed{top:80px;}

.iframe-view #main{margin-top:0px;}
.block-label{max-width:600px;margin:0px auto 30px;}
.code-review{
  max-width: 50% !important;
  background: #f5f5f5 !important;
  display: block;
  margin: 09px auto;
  padding: 20px 40px;
  text-align: left;
  border: 1px dotted #d63384;
}
.block-action{max-width:95%;margin:0px auto;width:300px;}
.block-action > input{border-radius:10px 0px 0px 10px;border:1px solid var(--acento);text-align:center;width:80px;}
.block-action > .btn{border-radius: 0px 10px 10px 0px;white-space:nowrap;}

.miniCarrito{position:absolute;top:calc(100% - 10px);right:0;width:350px;background-color:white;border:1px solid #dee2e6;border-radius:0.5rem;box-shadow:0 0.5rem 1rem rgba(0,0,0,0.15);padding:1rem;display:none;max-width:min(350px, 80vw);z-index:1000;}
.menu-checkout:hover+.miniCarrito,.menu-checkout:active+.miniCarrito,.miniCarrito:hover{display:block;}
.menu-checkout+.miniCarrito .cart-item:hover{background-color:#f4f4f4;}
.cart-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:0.5rem;}
.cart-item:last-child{margin-bottom: 0;}
.cart-widget{position:relative;display:inline-block;}
.cart-widget:hover .cart-dropdown{display:block;}
.cart-widget .cart-item{border-top:1px solid #f2f2f2;padding-top:5px;}
.cart-widget .cart-item:first-child{border:0px;}
.miniCarrito:empty{display:none!important;}

.ofertas{transition:all 0.3s linear;bottom:-100%;}
.activa.ofertas{
  background: rgba(255, 255, 255, 0.9);
  border-top: 1px solid var(--acento);
  padding: 10px 10px 0px;
  position: fixed;
  z-index: 9999;
  bottom: 0px;
  left: 0px;
  width: 100vw;
}
.activa.ofertas .link-products .content-products{height:150px;}
.activa.ofertas .col-3.mb-4{width:min-content;min-width:min(300px, 95vw);}
.activa.ofertas h2.txt-primario{text-align:center;font-size:large;}
.activa.ofertas .toggle-class{
  display:inline-block !important;
  height: 25px;
  vertical-align: middle;
  font-size: 10px;
  width: 25px;
  line-height: 1;
}
.activa.ofertas .destacados.my-5{margin:0px auto !important;}

.visible-incart,.visible-incart-inline{display:none;}
.inCart .visible-incart{display:block;}
.inCart .visible-incart-inline{display:inline-block;}
.grupoAdicionales .inCart .link-products {
    border-color: var(--acento);
    box-shadow: 0px 0px 5px 0px var(--acento);
}
.badge.totalItems{top:10px;right:0px;}
