

/*-----------------------------------------------------------------------------------
   CSS INDEX
  ===================

  1. Theme Default CSS (body, link color, section etc)
  2. Header Area
    2.1 Stick menu Area
  3. Index 
    3.1 Seccion de soluciones
    3.2 Testimonial Area
    3.3 About Area
    3.4 Seccion de clientes
  4. Services Area
    4.1 Cards Productos
  5. Mantenimiento
  6. Galería
  7. Products Area
  8. Contact Area
  9. Footer Area

-----------------------------------------------------------------------------------*/

/*----------------------------------------*/
/*  1.  Theme default CSS
/*----------------------------------------*/
html, body {
  height: 100%;
  background-color: #f9f9f9;
}

.floatleft {
  float: left;
}

.floatright {
  float: right;
}

.alignleft {
  float: left;
  margin-right: 15px;
  margin-bottom: 15px;
}

.alignright {
  float: right;
  margin-left: 15px;
  margin-bottom: 15px;
}

.aligncenter {
  display: block;
  margin: 0 auto 15px;
}

a:focus {
  outline: 0px solid;
}

img {
  max-width: 100%;
  height: auto;
}

.fix {
  overflow: hidden;
}

p {
  margin: 0 0 15px;
  color: #444;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Montserrat', sans-serif;
  margin: 0 0 15px;
  color: #444;
  font-weight: 500;
}

h1 {
  font-size: 48px;
  line-height: 50px;
}

h2 {
  font-size: 38px;
  line-height: 40px;
}

h3 {
  font-size: 30px;
  line-height: 32px;
}

h4 {
  font-size: 24px;
  line-height: 26px;
  
}

h5 {
  font-size: 20px;
  line-height: 22px;
}

h6 {
  font-size: 16px;
  line-height: 20px;
}

a {
  transition: all 0.3s ease 0s;
  text-decoration: none;
}

a:hover {
  color: #3EC1D5;
  text-decoration: none;
}

a:active, a:hover {
  outline: 0 none;
}



body {
  background: #fff none repeat scroll 0 0;
  color: #444;
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  text-align: left;
  overflow-x: hidden;
  line-height: 22px;
}

/* Back to top button */
.back-to-top {
  position: fixed;
  display: none;
  background: #030A9A;
  color: #fff;
  padding: 6px 12px 9px 12px;
  font-size: 16px;
  border-radius: 2px;
  right: 15px;
  bottom: 15px;
  transition: background 0.5s;
}

@media (max-width: 768px) {
  .back-to-top {
    bottom: 15px;
  }
}

.back-to-top:focus {
  background: #030A9A;
  color: #fff;
  outline: none;
}

.back-to-top:hover {
  background: #1922ca;
  color: #F9D53D;
  
}

.clear {
  clear: both;
}

ul {
  list-style: outside none none;
  margin: 0;
  padding: 0;
}

input, select, textarea, input[type="text"], input[type="date"], input[type="url"], input[type="email"], input[type="password"], input[type="tel"], button, button[type="submit"] {
  -moz-appearance: none;
  box-shadow: none !important;
}


::-moz-selection {
  background: #030A9A;
  text-shadow: none;
}

::selection {
  background: #3EC1D5;
  text-shadow: none;
}

.area-padding {
  padding: 70px 0px 80px;
}

.area-padding-2 {
  padding: 70px 0px 50px;
}

.padding-2 {
  padding-bottom: 90px;
}

.section-headline h2 {
  display: inline-block;
  font-size: 40px;
  font-weight: 600;
  margin-bottom: 70px;
  position: relative;
  text-transform: capitalize;
  padding-top: 2%;
}

.section-headline h2::after {
  border: 1px solid #333;
  bottom: -10px;
  content: "";
  left: 0;
  margin: 0 auto;
  position: absolute;
  right: 0;
  width: 40%;
}

.sec-head {
  display: inline-block;
  font-size: 17px;
  font-weight: 600;
  margin-bottom: 0;
  padding: 0 0 10px;
  text-transform: uppercase;
  transition: all 0.4s ease 0s;
}









/*--------------------------------*/
/*  2. Header top Area
/*--------------------------------*/
/* Barra de Arriba*/
.header-area {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 10%;
  background: #fff;
  z-index: 9;
  box-shadow: 0px 0px 5px 1px black;
}

.navbar-header a.navbar-brand {
  display: inline-block;
  height: 70px;
  padding: 15px 0;
  
}

.sticky-logo img{
  width: 320px;
}

/*Barra de Inicio,Productos*/
.main-menu ul.navbar-nav li {
  display: inline-block;
  padding: 15px 13px;

}
/* Inicio, Productos, etc */
.main-menu ul.navbar-nav li a {
  background: rgba(0, 0, 0, 0) none repeat scroll 0 0;
  color: #313332;
  font-size: 15px;
  font-weight: 500;
  padding: 24px 0px;
  text-transform: capitalize;
  letter-spacing: 1px;
  font-weight:bold;

  
}

.main-menu ul.navbar-nav li.active a:hover {
  background: none;
  color: #030A9A;
}

.main-menu ul.navbar-nav li.active a:focus {
  color: #030A9A;
}
/* Cuando el Inicio esta seleccionado */
.main-menu ul.navbar-nav li.active a {
  background: rgba(0, 0, 0, 0) none repeat scroll 0 0;
  color: #030A9A;
  position: relative;
}
/*Cuando Pasas el Mouse por una seccion*/
.main-menu ul.navbar-nav li a:hover {
  color: #313332;
  background-color: #F9D53D;
  border-radius: 10px;
}

.navbar {
  border: medium none;
  margin-bottom: 0;
}

.navbar-default {
  background: rgba(0, 0, 0, 0) none repeat scroll 0 0;
}

.main-menu ul.navbar-default .navbar-nav>.active>a, .navbar-default .navbar-nav>.active>a:hover, .navbar-default .navbar-nav>.active>a:focus {
  background: none;
  color: #333;
}
/*Barras de la esquina movil*/
.navbar-default .navbar-toggle {
  background: rgba(0, 0, 0, 0) none repeat scroll 0 0;
  border: medium none;
  border-radius: 0;
  padding: 25px 0px;
}

.navbar-default .navbar-nav>li>a:hover, .navbar-default .navbar-nav>li>a:focus {
  background-color: transparent;
  color: #333;
}

.navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus {
  background: none;
}
/*Barras de la esquina movil*/
.navbar-default .navbar-toggle .icon-bar {
  background-color: #313332;
  width: 30px;
  height: 2px;
}

.top-right.text-right {
  float: right;
  position: relative;
  top: 24px;
  margin-left: 20px;
}

.top-right.text-right>li {
  float: right;
  margin: 0px 8px;
}

.top-right.text-right li a {
  color: #fff;
}

.main-menu .dropdown ul {
  background: #fff;
}

.main-menu .dropdown ul li {
  display: block;
}



/*--------------------------------*/
/* 2.1. Stick menu
/*--------------------------------*/

.header-area.stick {
  background-color:#fff;
  height: 85px;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 1000;
  box-shadow: 0px 0px 5px 1px black;
}

.stick .navbar-header a.navbar-brand {
  display: inline-block;
  height: 90px;
}

.stick .navbar-brand>img {
  display: none;
}

.stick .navbar-brand.sticky-logo>img {
  display: block;
}

.sticky-logo h1 {
  color: #fff;
  padding: 0;
  margin: 0;
  font-size: 36px;
  font-weight: bold;
  line-height: 1;
}

.sticky-logo h1 span {
  color: #3ec1d5;
}


.stick .main-menu ul.nav>li>a:hover {
  color: #313332;
}
/*Cuando tienes seleccionada un area como Inicio*/
.stick .main-menu ul.navbar-nav li.active a {
  background: rgba(0, 0, 0, 0) none repeat scroll 0 0;
  color: #030A9A;
  position: relative;
}

.stick .mainmenu ul#nav>li:hover>a, .stick .mainmenu ul#nav li .mega-menu, .stick .mainmenu ul#nav li ul.sub-menu {
  background-color: #f5f5f5;
  color: #fff;
  outline: medium none;
}

.stick .mainmenu ul#nav li:hover ul.sub-menu li a:hover, .mainmenu ul#nav li .mega-menu span>a:hover, .stick .mainmenu ul#nav li .mega-menu-shop a.mega-menu-title:hover {
  color: #fff;
}

.stick .logo {
  height: 20px;
}

.stick .logo a {
  margin-top: 0px;
}
/* Para editar diseño de Inicio,Productos*/
.stick .main-menu ul.nav>li>a {
  color: #313332;
  line-height: 22px;
  padding: 15px 0px;
  text-transform: capitalize;
  letter-spacing: 1px;
}

.stick .navbar-default .navbar-toggle .icon-bar {
  background-color: #fff;
  width: 30px;
  height: 2px;
}

.stick .navbar-default .navbar-toggle {
  padding: 10px 0px;
}

/*--------------------------------*/

















/*--------------------------------*/
/* 3. INDEX
/*--------------------------------*/

/*----------------------------------------*/
/*  3.1 Seccion de Soluciones
/*----------------------------------------*/

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@600&display=swap');


.containersol {
  width: 100%;
  display: block;
  margin: auto;
  align-items: center;
  justify-content: center;
}
.containerSO{
  width: 90%;
  position: center;
  display: flex;
  justify-content: center;
  margin: auto;
  padding-bottom: 50px; 
}

.containerSO .card{
  position: relative;
  cursor: pointer;
}

.containerSO .card .face{
  width: 300px;
  height: 200px;
  transition: 0.5s;
}

.containerSO .card .face.face1{
  position: relative;
  background: #313332;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1;
  transform: translateY(100px);
}

.containerSO .card:hover .face.face1{
  background: #F9D53D;
  transform: translateY(0);
}

.containerSO .card .face.face1 .content{
  opacity: 50;
  transition: 0.5s;
  justify-content: center;
  text-align: center;
}

.containerSO .card:hover .face.face1 .content{
  opacity: 1;
}

.containerSO .card .face.face1 .content img{
  max-width: 100px;
  color: #000;
}

.containerSO .card .face.face1 .content h3{
  margin: 10px 0 0;
  padding: 0;
  color: #fff;
  text-align: center;
  font-size: 1.5em;
}

.containerSO .card .face.face2{
  position: relative;
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px;
  box-sizing: border-box;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.8);
  transform: translateY(-100px);
}

.containerSO .card:hover .face.face2{
  transform: translateY(0);
}

.containerSO .card .face.face2 .content p{
  margin: 0;
  padding: 0;
  
}

.containerSO .card .face.face2 .content a{
  margin: 15px 0 0;
  display:  inline-block;
  text-decoration: none;
  font-weight: 900;
  color: #333;
  padding: 5px;
  border: 1px solid #333;
}

.containerSO .card .face.face2 .content a:hover{
  background: #333;
  color: #fff;
}

.fondo{
  background-image: url("../img/background/bg.jpg");
  background-size: 2100px,2100px;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
}

.icono-solucion {
  font-size: 8rem; /* tamaño base para escritorio */
}

@media (max-width: 768px) {
  .icono-solucion {
    font-size: 2.5rem; /* más pequeño en tabletas y celulares */
}
}
@media (max-width: 480px) {
  .icono-solucion {
    font-size: 2rem; /* aún más pequeño en pantallas muy chicas */
  }
}

/*----------------------------------------
 3.2 Testimonial Area 
----------------------------------------*/

.testimonials-area {
  background: rgba(0, 0, 0, 0) url("../img/VectorImages/MiddleImage.jpg") no-repeat fixed center top / cover;
  height: auto;
  width: 100%;
}
.testimonials-area2 {
  background: rgba(0, 0, 0, 0) url("../img/Refacciones/equipos2.jpeg") no-repeat fixed center top / cover;
  height: auto;
  width: 100%;
}

.testi-inner {
  position: relative;
  width: 100%;
  height: auto;
  z-index: 1;
}

.testi-overly {
  background: rgba(0, 0, 0, 0.7) none repeat scroll 0 0;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1;
}

.quate {
  border: 1px dotted #fff;
  border-radius: 50%;
  color: #fff;
  display: inline-block;
  font-size: 24px;
  height: 70px;
  line-height: 70px;
  width: 70px;
}

.quate:hover {
  color: #fff;
}

.testi-img img {
  border: 1px dotted rgba(0, 0, 0, 0.05);
  border-radius: 2px;
  height: 80px;
  margin: 0 auto;
  padding: 5px;
  transition: background 0.6s ease-out 0s;
  width: 80px !important;
}

.testi-text p {
  color: #fff;
  font-size: 16px;
  line-height: 1.5em;
  margin: 20px 0;
  letter-spacing: 1px;
}
.testi-text h4 {
  color: #fff;
  line-height: 1.5em;
  margin: 20px 0;
  letter-spacing: 1px;
}
.testi-text h6 {
  color: #fff;
  font-size: 20px;
}

.testimonial-carousel.owl-carousel.owl-theme .owl-controls .owl-dots div.owl-dot>span {
  background: #fff none repeat scroll 0 0;
  display: inline-block;
  height: 8px;
  width: 8px;
  -moz-transition: 0.4s;
  -webkit-transition: 0.4s;
  -o-transition: 0.4s;
  -ms-transition: 0.4s;
  transition: 0.4s;
  border-radius: 50%;
}

.testimonial-carousel.owl-carousel.owl-theme .owl-controls .owl-dots {
  bottom: -30px;
  display: block;
  left: 50%;
  margin-left: -20px;
  position: absolute;
}

.testimonial-content {
  margin-bottom: 15px;
}

.testimonial-carousel.owl-carousel.owl-theme .owl-controls .owl-dots div.owl-dot {
  display: inline-block;
  margin: 0 3px;
}

.testimonial-carousel.owl-carousel.owl-theme .owl-controls .owl-dots div.owl-dot.active span {
  background: #3EC1D5;
}

.testi-text.text-center>h6 {
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  text-transform: uppercase;
}

.guest-rev {
  color: #ddd;
  font-size: 16px;
}

.guest-rev>a {
  color: #3EC1D5;
  font-size: 14px;
}


/*------------------------------
  3.3 About Area
--------------------------------*/

.about-area {
  background-color: #f9f9f9;
  
}

.single-well>a {
  display: block;
}

.single-well ul li {
  color: #444;
  display: block;
  padding: 5px 0;
}

.single-well ul li i {
  color: #030A9A;
  padding-right: 10px;
  font-size: 12px;
}

.single-well p {
  color: #444;
  text-align: justify;
}


/*----------------------------------------*/
/*  3.4 Seccion de Clientes
/*----------------------------------------*/
.containerCLI {
	align-items: center;
	background: #fff;
  align-content: center;
  justify-content: center;
  margin-bottom: 20px;
}




@mixin white-gradient {
	background: linear-gradient(to right,  rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%);
}




@keyframes scroll {
	0% { transform: translateX(0); }
	100% { transform: translateX(calc(-250px * 8))}
}



.sliderC {
	background:  #fff;
	
	height: 100px;
	margin: auto;
	overflow:hidden;
	position: relative;
	width: 960px;
}
.sliderC::before,
.sliderC::after {
		@include white-gradient;
		content: "";
		height: 100px;
		position: absolute;
		width: 200px;
		z-index: 2;
}
	
    .sliderC::after {
		right: 0;
		top: 0;
		transform: rotateZ(180deg);
	}

	.sliderC::before {
		left: 0;
		top: 0;
	}
	
	.slide-track {
		animation: scroll 40s linear infinite;
		display: flex;
		width: calc(250px * 16);
	}
	
	.slide {
		height: 100px;
		width: 250px;
	}



















/*--------------------------------*/
/* 4. Services Area
/*--------------------------------*/
body {
  background-color: #f9f9f9;
}
.section-headline.services-head>h2 {
  margin-bottom: 70px;
  margin-top: 110px;
}

.section-container {
  margin-bottom : 2rem;
  margin-top: 1rem;
  align-items: center;
  background-color: #f9f9f9;
}

.services-section .button {
  display         : inline-block;
  padding         : 0.75rem 1.25rem;
  transition: all 0.3s ease;
  border-radius   : 50px;
  text-decoration : none;
  font-weight     : 600;
  color           :rgb(3, 10, 154);
  background      : rgba(0,0,0,0);
  border: 2px solid rgb(3, 10, 154);
  font-size: 16px;
}

.services-section .button:hover {
  background: rgb(3, 10, 154);
  color: #fff;
}

.services-section .content-wrapper {
  display         : flex;
  gap             : 2rem;
  justify-content : center;

}

@media screen and (min-width: 1024px) {

  .services-section .content-wrapper {
    grid-template-columns : repeat(3, 1fr);
    
  }

}

.service-item {
  display        : flex;
  flex-direction : column;
  align-items    : center;
  text-align     : center;
  max-width      : 500px;
  margin         : 0 auto;
  position: relative;
  animation-name: anim-2;
  animation-duration: 2s;  
  
  animation-fill-mode: both;
}

.service-item2 {
  display        : flex;
  flex-direction : column;
  align-items    : center;
  text-align     : center;
  max-width      : 500px;
  margin         : 0 auto;
  position: relative;
  animation-name: anim-3;
  animation-duration: 2s;  
  
  animation-fill-mode: both;
}

@keyframes anim-2 {
  from {right: 1000px; }
  to {right: 0px; }
}


@keyframes anim-3 {
  from {left: 1000px; }
  to {left: 0px; }
}

.service-item .jam {
  margin-bottom : 2rem;
  width         : 60px;
  font-size     : 2rem;
}

.service-item h3 {
  margin-bottom : 1.5rem;
}
.service-item2 .jam {
  margin-bottom : 2rem;
  width         : 60px;
  font-size     : 2rem;
}

.service-item2 h3 {
  margin-bottom : 1.5rem;
}

/*--------------------------------*/
/* 4.1 Cards Productos
/*--------------------------------*/
.products-container {
  justify-content: center;
  padding-right: 2%;
  padding-left: 2%;
  background-color: #f9f9f9;
  width: 100%;
}

.section-container:before, 
.section-container:after {
  box-sizing: border-box;
}

.container-card{
  width:100%;
  height: 100%;
  display: flex;
  flex-flow: row;
  perspective: 1000px;
  perspective-origin: center;
  margin: 0;
  padding: 0;
  font-family: 'Montserrat, sans-serif';
  text-align: left;
  overflow-x: hidden;
  overflow-y: hidden;
  -webkit-tap-highlight-color: rgba(0,0,0,0); 
  transform-style: preserve-3d; 
  user-select: none;
}

.col{
  height:  100%;
  transition: transform 600ms cubic-bezier(0.390, 0.575, 0.565, 1.000), opacity 300ms ease;
  transform: translateZ(34px) scale(.98);
  flex: 0 0 33.3333%; 
  position: relative;
}

.col:nth-of-type(1){
  transform: rotateY(5deg) translateZ(34px) scale(.98);
}

.col:nth-of-type(3){
  transform: rotateY(-5deg) translateZ(34px) scale(.98);
}

.col:hover,
.col:focus{
  transform: translateZ(34px);
  transition: transform 300ms cubic-bezier(0.390, 0.575, 0.565, 1.000), opacity 300ms ease;
}

.card-container{
  position: relative;
  width: calc(100% - 25px);
  height:  calc(33.3% - 25px);
  margin: 17px;
  padding: 8px;
  text-align: center;
  opacity: 1;
  display: block;
}

.card-container:hover,
.card-container:focus{
  opacity: 1;
}

.overlay{
  display: block;
  position: absolute;
  cursor: pointer;
  width: 50%;
  height: 50%;
  z-index: 1;
  transform: translateZ(34px);
}

.overlay:nth-of-type(1){
  left: 0;
  top: 0;
}

.overlay:nth-of-type(2){
  right: 0;
  top: 0;
}

.overlay:nth-of-type(3){
  bottom: 0;
  right: 0;
}

.overlay:nth-of-type(4){
  bottom: 0;
  left: 0;
}

.overlay:nth-of-type(1):hover ~ .card-products,
.overlay:nth-of-type(1):focus ~ .card-products{
  transform-origin: right top;
  transform: rotateX(3deg) rotateY(-3deg) translateZ(0);
}

.overlay:nth-of-type(2):hover ~ .card-products,
.overlay:nth-of-type(2):focus ~ .card-products{
  transform-origin: left top;
  transform: rotateX(3deg) rotateY(3deg) translateZ(0);
}

.overlay:nth-of-type(3):hover ~ .card-products,
.overlay:nth-of-type(3):focus ~ .card-products{
  transform-origin: left bottom;
  transform: rotateX(-3deg) rotateY(3deg) translateZ(0);
}

.overlay:nth-of-type(4):hover ~ .card-products,
.overlay:nth-of-type(4):focus ~ .card-products{
  transform-origin: right bottom;
  transform: rotateX(-3deg) rotateY(-3deg) translateZ(0);
}

.card-products{
  border-radius: 5px;
  height: 400px;
  transition: all 300ms ease-out;
  align-items: center;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  position: relative;
  z-index: 0;
  opacity: 1;
  padding: 13px 21px;
}

.card-products:before,
.card-products:after{
  content: '';
  position: absolute;
  left:0;
  top: 0;
  display: block;
  width: 100%;
  height: 100%;
  opacity: 1;
  transition: transform 300ms ease;
  transform: scale(.98);
}

.card-products:before{
  background-size: cover;
  background-position: 50% 50%;
}

.card-container:hover .card-products:before,
.card-container:hover .card-products:after,
.card-container:focus .card-products:before,
.card-container:focus .card-products:after{
  opacity: .9;
  transform: scale(1);
}

.col:nth-of-type(1) .card-container:nth-of-type(1) .card-products:before{
      background-image: url(../img/VectorImages/Puertas_Corredizas/corredizas.jpg); 
}

.col:nth-of-type(2) .card-container:nth-of-type(1) .card-products:before{
  background-image: url(../img/VectorImages/Puertas_Rapidas/FOLDER_AMARILLA.jpg);
}

.col:nth-of-type(3) .card-container:nth-of-type(1) .card-products:before{
  background-image: url(../img/VectorImages/Puertas_Batientes/contrainc.jpg);
}

.col:nth-of-type(1) .card-container:nth-of-type(2) .card-products:before{
  background-image: url(../img/VectorImages/Puertas_Circulares/Puertacircular.jpg);
}

.col:nth-of-type(2) .card-container:nth-of-type(2) .card-products:before{
  background-image: url(../img/VectorImages/Puertas_Plegables/plegables.jpg);
}

.col:nth-of-type(3) .card-container:nth-of-type(2) .card-products:before{
  background-image: url(../img/VectorImages/Puerta_Industrial/portadanueva.jpg);
}

.col:nth-of-type(1) .card-container:nth-of-type(3) .card-products:before{
  background-image: url(../img/VectorImages/Puertas_Porton/portonaut.jpg);
}

.col:nth-of-type(2) .card-container:nth-of-type(3) .card-products:before{
  background-image: url(../img/VectorImages/Barreras_Automaticas/barreras_2.jpg);
}

.col:nth-of-type(3) .card-container:nth-of-type(3) .card-products:before{
  background-image: url(../img/VectorImages/torniqueteacceso/torniquetes5.jpg);
}

.col:nth-of-type(1) .card-container:nth-of-type(4) .card-products:before{
  background-image: url(../img/VectorImages/Equipamiento_de_Anden/portadanueva.jpg);
}

.col:nth-of-type(2) .card-container:nth-of-type(4) .card-products:before{
  background-image: url(../img/VectorImages/Puerta_Hangar/portada.png);
}
.col:nth-of-type(3) .card-container:nth-of-type(4) .card-products:before{
  background-image: url(../img/VectorImages/Controles_de_Acceso/Brivo_Portada.jpg);
}


.card-products:after{
  background: linear-gradient(to bottom, rgba(0,0,0,0) 80%,rgba(0,0,0,0.89) 100%);
}

.card-products h4{
  color: #fff;
  text-align: left;
  line-height: 35px;
  font-size: 2.5em;
  font-weight:400;
  text-transform: uppercase;
  transform: translateY(5px);
  transition: transform 450ms cubic-bezier(0.390, 0.575, 0.565, 1.000);
  max-width: 335px;
  outline: 1px solid transparent;
}

.overlay:hover ~ .card-products h4,
.overlay:focus ~ .card-products h4{
  transform: translateZ(144px);
}

.card-products > span{
  font-size: 34px;
  opacity: 1;
  transform: translateX(-3px);
  transition: all 300ms ease;
  color: #F9D53D;
}

.card-container:hover > .card-products > h4,
.card-container:focus > .card-products > h4{
  transform: translateY(-13px);
  background-color: #313332;
  transition: background-color .4s;
  transition: transform 1s;
}

.card-container:hover > .card-products > span,
.card-container:focus > .card-products > span{
 opacity: 1;
  transform: translateX(3px);
  animation: slideRight 300ms ease;
  color:#f5c800;
}

@media (max-width: 768px){
  body{
    overflow-y: scroll;
  }

  .card-products{
    height: 350px;
  }

  .container-card{
    flex-flow: column;
    perspective: none;
  }

  .card-container {
    align-items: center;
  }

  
  .col:nth-of-type(1),
  .col:nth-of-type(2),
  .col:nth-of-type(3),
  .col:hover{
      transform: none;
  }
  
  .card-products:after{
    background: none;
  }

  h4{
    padding-bottom: 8px;
    font-size: 18px;
  }
  
.card-products > span{
      display: none;
  }
}

@media (max-height: 599px){
.card-products > span{
      display: none;
  }
}

@media (max-width: 860px) and (max-height: 540px){
  h4{
    font-size: 14px;
  }
}

@media (max-width: 620px) and (max-height: 540px){
  h4{
    font-size: 13px;
  }
}

@media (width: 1024px) {
  .container-card {
    perspective: none;
  }
  .card-container {
    margin: 10px;
  }

  .card-products h4 {
    font-size: 2em;
  }

}

@media (max-width: 450px) {
  .card-products{
    height: 200px;
  }
  
  .card-products h4{
    font-size: 15px;
    background-color: #313332;
    opacity: 0.8;
  }
}











/*----------------------------------------*/
/*  5. Mantenimiento
/*----------------------------------------*/
.mantenimiento-area {
  background-color: #f9f9f9;
  margin-top: 100px;
}
.ref-container {
  margin-bottom : 2rem;
  margin-top: 1rem;
  align-items: center;
  background-color: #f9f9f9;
}
.mantenimiento-area .button {
  display         : inline-block;
  padding         : 0.75rem 3rem;
  transition: all 0.3s ease;
  border-radius   : 50px;
  text-decoration : none;
  font-weight     : 600;
  color           :rgb(0, 0, 0);
  background      : rgba(0,0,0,0);
  border: 2px solid rgb(0, 0, 0);
  font-size: 16px;
  margin-top: 20px;
  margin-left:20px;
}

.mantenimiento-area .button:hover {
  background: rgb(0, 0, 0);
  color: #fff;
}

.mantenimiento-area img {
  position: relative;
  display: block;
  animation-duration: 2s;
}

.man-image {
  position: relative;
  animation-name: anim-1;
  animation-duration: 3s;  
  animation-delay: 1s;
  animation-fill-mode: both;
}

@keyframes anim-1 {
  from {right: 1000px; }
  to {right: 0px; }
}


/* Slider */
.container-sliderMA {
  width: 90%;
  max-width: 900px;
  margin: auto;
  overflow: hidden;
  position: relative;
}

.sliderMA {
  display: flex;
  width: 200%;
  height:500px;
  margin-left: -100%;
}

.slider__sectionMA {
  width: 100%;
}

.slider__imgMA {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.dez-1{
  position: relative;
  animation-name: dez-1;
  animation-duration: 1s;  
 
  animation-fill-mode: both;
}
@keyframes dez-1 {
  from {left: 1000px; }
  to {left: 0px; }
}

@font-face {
  font-family: 'Montserrat', sans-serif;
  font-style: normal;
  font-weight: 400;
  src: url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFVZ0e.ttf) format('truetype');
}


.refa-container {
  width: 100%;
  max-width: 1200px;
  height: fit-content;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: auto;
  margin-bottom: 50px;
}

.refa-container .refa-card {
  width: 330px;
  height: fit-content;
  border-radius: 8px;
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2);
  overflow: hidden;
  margin: 20px;
  text-align: center;
  letter-spacing: 0.03em;
  line-height: 1.6;
}

.refa-container .refa-card img {
  width: 330px;
  height: 220px;
}

.refa-container .refa-card h4 {
  font-weight: 600;
  padding: 0 1rem;
}


/*----------------------------------------
 6. Galería
----------------------------------------*/


.pst-content {
  padding-left: 10px;
}

.project-menu {
  margin-bottom: 40px;
  text-align: center;
}

.project-menu li {
  display: inline-block;
}

.project-menu li a {
  background: #fff none repeat scroll 0 0;
  border: 1px solid #030A9A;
  border-radius: 20px;
  color: #030A9A;
  cursor: pointer;
  display: inline-block;
  font-size: 14px;
  font-weight: 600;
  margin: 0 4px;
  padding: 6px 15px;
  text-transform: capitalize;
  transition: all 0.3s ease 0s;
}

.project-menu li a.active, .project-menu li a:hover {
  border-color: #030A9A;
  background: #030A9A;
  color: #fff;
  text-decoration: none;
}

.awesome-project-content {
  min-height: 500px;
}

.single-awesome-portfolio {
  float: left;
  overflow: hidden;
  padding: 15px;
  width: 25%;
  position: relative;
}

.single-awesome-project {
  overflow: hidden;
  margin-bottom: 30px;
}

.first-item {
  margin-bottom: 30px;
}

.awesome-img {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
}

.awesome-img>a {
  display: block;
  position: relative;
}

.single-awesome-project:hover .awesome-img>a::after {
  opacity: 1;
}

.single-awesome-project:hover .add-actions {
  opacity: 1;
  bottom: 0;
}

.awesome-img>a::after {
  background: rgba(0, 0, 0, 0.7) none repeat scroll 0 0;
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  opacity: 0;
  transition: 0.4s;
}

.add-actions {
  background: rgba(0, 0, 0, 0.6) none repeat scroll 0 0;
  bottom: 30px;
  display: block;
  height: 100%;
  left: 0;
  opacity: 0;
  overflow: hidden;
  padding: 10px 15px;
  position: absolute;
  transition: all 0.4s ease 0s;
  width: 100%;
}

.project-dec {
  display: block;
  height: 100%;
  width: 100%;
}

.project-dec a {
  display: block;
  height: 100%;
  width: 100%;
}

.project-dec h4 {
  margin-bottom: 5px;
}

.project-dec h4:hover {
  color: #fff;
}

.project-dec h4 {
  color: #ddd;
  font-size: 24px;
  margin-top: -45px;
  padding-top: 50%;
  text-decoration: none;
  text-transform: uppercase;
  font-weight: 800;
}

.project-dec span {
  color: #ddd;
  font-size: 13px;
}

.project-action-btn {
  display: block;
  height: 100%;
  text-align: center;
  transition: all 1s ease 0s;
  width: 100%;
}

.project-action-btn li {
  display: block;
  height: 100%;
  width: 100%;
}

.project-action-btn li a {
  display: block;
  height: 100%;
  width: 100%;
}

/*VIDEOS*/
.video-lista::-webkit-scrollbar {
  width: 5px;
}
.video-lista::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
}
.video-lista::-webkit-scrollbar-thumb {
background-color: darkgrey;
outline: 1px solid slategrey;
}
.video-container {
position: relative;
padding-bottom: 56.25%; /* 16:9 */
padding-top: 0;
height: 0;
overflow: hidden;
}
.video-container iframe,
.video-container object {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.contenedor {
max-width: 800px;
}
.video-galeria {
width: 100%;
overflow: hidden;
display: flex;
justify-content: center;
}
.video-ver {
float: left;
width: 70%;
}
.video-lista {
  width: 30%;
  overflow: auto;
}

.video-lista ul {
padding: 0;
margin: 0;
list-style: none;
display: grid;
  grid-template-columns: repeat(2, 150px);
  justify-content: center;
  align-content: center;
  grid-gap: 5px;
  height: fit-content;
}
.video-lista ul li {
position: relative;
}
.video-lista ul li img {
width: 100%;
height: 100%;
}
.video-lista ul li span {
font-family: sans-serif;
  position: absolute;
  z-index: 9;
  color: #fff;
  bottom: 0;
  left: 0;
  right: 0;
  font-size: 13px;
  background: #000;
  padding: 4px 8px;
}
.video-lista ul li img:hover {
cursor: pointer;
}


@media all and (max-width: 1080px) {

.video-galeria {
  display: block;
}

.video-ver,
.video-lista {
width: 100%;
margin-bottom: 10px;
}

.video-lista ul {
  grid-template-columns: repeat(3, 100px);
}

.video-lista ul li {
width: 100%;
}
.video-lista ul li:nth-child(2n) {
  margin: 4px 0 !important;
}
.video-lista {
height: auto !important;
}
.video-lista ul li span {
text-overflow:ellipsis;
white-space:nowrap; 
overflow:hidden; 
font-size: 12px;
}

}





/*----------------------------------------*/
/*  7.  Products Area
/*----------------------------------------*/
    /* SIDEBAR */
    .mothership {
      position: relative;
  }

  .container-model {
      display: flex;
      gap: 20px;
  }

  .wrapper-model {
      display: flex;
      gap: 20px;
      width: 100%;
  }

  /* Sidebar Navigation Styles */
  .sidenav {
      background-color: #313332;
      color: white;
      border-radius: 8px;
      transition: all 0.3s ease;
      position: fixed;
      top: 120px;
      left: 20px;
      z-index: 1000;
      overflow: hidden;
      box-shadow: 0 4px 15px rgba(0,0,0,0.2);
  }

  /* Collapsed state */
  .sidenav.collapsed {
      width: 60px;
      height: 200px;
      padding: 15px 10px;
  }

  /* Expanded state */
  .sidenav.expanded {
      width: 300px;
      height: auto;
      max-height: 80vh;
      padding: 20px;
      overflow-y: auto;
  }

  /* Toggle indicator */
  .menu-toggle {
      position: absolute;
      top: 15px;
      right: 15px;
      background: #F9D53D;
      color: white;
      border: none;
      width: 30px;
      height: 30px;
      border-radius: 50%;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 14px;
      transition: all 0.3s ease;
      z-index: 10;
  }

  .menu-toggle:hover {
      background: #F9D53D;
      transform: scale(1.1);
  }

  /* Collapsed indicator */
  .collapsed-indicator {
      display: none;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      height: 100%;
      text-align: center;
  }

  .sidenav.collapsed .collapsed-indicator {
      display: flex;
  }

 

  .collapsed-indicator span {
      font-size: 16px;
      writing-mode: vertical-lr;
      text-orientation: mixed;
      margin-top: 50%;
  }

  /* Menu content */
  .menu-content {
      transition: opacity 0.3s ease;
  }

  .sidenav.collapsed .menu-content {
      opacity: 0;
      display: none;
  }

  .sidenav.expanded .menu-content {
      opacity: 1;
      display: block;
  }

  .sidenav h3 {
      margin: 0 0 20px 0;
      font-size: 20px;
      font-weight: 600;
      color: #F9D53D;
      border-bottom: 2px solid #3498db;
      padding-bottom: 10px;
  }

  .unstyled {
      list-style: none;
      padding: 0;
      margin: 0;
  }

  .unstyled li {
      margin-bottom: 8px;
  }

  .unstyled li a {
      color: #ecf0f1;
      text-decoration: none;
      display: block;
      padding: 12px 15px;
      border-radius: 6px;
      transition: all 0.3s ease;
      position: relative;
      overflow: hidden;
      font-weight: bold;
  }

  .unstyled li a:hover {
      background-color: #3498db;
      color: white;
      transform: translateX(5px);
      box-shadow: 0 2px 10px rgba(52, 152, 219, 0.3);
  }

  .unstyled li a[style*="color: #F9D53D"] {
      background-color: #f39c12;
      color: white;
      font-weight: 600;
  }

  .unstyled li a:before {
      content: '';
      position: absolute;
      left: 0;
      top: 0;
      height: 100%;
      width: 3px;
      background: #3498db;
      transform: scaleY(0);
      transition: transform 0.3s ease;
  }

  .unstyled li a:hover:before {
      transform: scaleY(1);
  }

  /* Main content area */
  .main-products {
      flex: 1;
      background: white;
      padding: 30px;
      border-radius: 8px;
      box-shadow: 0 2px 10px rgba(0,0,0,0.1);
      margin-left: 100px; /* Space for the collapsed menu */
      transition: margin-left 0.3s ease;
  }

  .main-products.section-container
  {
    margin-left: 100px;
  }

  /* Adjust main content when menu is expanded */
  .main-products.menu-expanded {
      margin-left: 340px;
  }
  

  .section-headline h2 {
      color: #2c3e50;
      font-size: 28px;
      margin-bottom: 20px;
      text-align: center;
  }

  /* Mobile dropdown (hidden by default) */
  .drop-container {
      display: none;
  }

  /* Responsive design */
  @media (max-width: 768px) {
      .sidenav {
          display: none !important;
      }

      .drop-container {
          display: block;
          margin-bottom: 20px;
      }

      .main-products {
          margin-left: 0 !important;
      }

      .container-model {
          flex-direction: column;
      }

      .wrap-drop {
          background-color: #2c3e50;
          border-radius: 8px;
          overflow: hidden;
      }

      .wrap-drop label {
          display: block;
          padding: 15px 20px;
          color: white;
          cursor: pointer;
          background-color: #313332;
          font-weight: 600;
      }

      .wrap-drop label:hover {
          background-color: #313332;
      }

      #touch {
          display: none;
      }

      .slide-drop {
          list-style: none;
          padding: 0;
          margin: 0;
          max-height: 0;
          overflow: hidden;
          transition: max-height 0.3s ease;
      }

      #touch:checked ~ .slide-drop {
          max-height: 500px;
      }

      .slide-drop li a {
          display: block;
          padding: 12px 20px;
          color: #ecf0f1;
          text-decoration: none;
          border-bottom: 1px solid #34495e;
          transition: background-color 0.3s ease;
      }

      .slide-drop li a:hover {
          background-color: #3498db;
          color: white;
      }
      /* Smooth animations */
      * {
        box-sizing: border-box;
    }

    .sidenav, .menu-content, .collapsed-indicator {
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }

    /* Hover effect for the entire sidebar */
    .sidenav.collapsed:hover {
        transform: scale(1.02);
        box-shadow: 0 5px 20px rgba(0,0,0,0.2);
    }
    }

/* INFORMACION LADO DERECHO */
.main-products {
  position:relative;
  margin-left: 10px; 
  padding: 0px 30px 0px 40px;
  align-items: center;
  width: 75%;
}


/* Slider productos */
.slider-container-products {
            position: relative;
            width: 100%;
            height: 50vh;
            min-height: 600px;
            overflow: hidden;
            border-radius: 24px;
            margin: 2rem auto;
            max-width: 1400px;
            
        }

        .slider-wrapper-products {
            position: relative;
            width: 100%;
            height: 100%;
            overflow: hidden;
        }

        .slide-products {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            opacity: 0;
            transition: opacity 1s cubic-bezier(0.4, 0, 0.2, 1);
            background-size: cover;
            background-position: center;
            background-repeat: no-repeat;
        }

        .slide-products.active {
            opacity: 1;
        }

        /* Overlay sutil para mejorar contraste */
        .slide-products::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: linear-gradient(135deg, rgba(0, 0, 0, 0.05) 0%, rgba(0, 0, 0, 0.15) 100%);
            z-index: 1;
        }

        /* Navegación con puntos */
        .dots-navigation-products {
            position: absolute;
            bottom: 2rem;
            left: 50%;
            transform: translateX(-50%);
            display: flex;
            gap: 0.75rem;
            z-index: 10;
        }

        .dot-products {
            width: 12px;
            height: 12px;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.4);
            cursor: pointer;
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
            border: 2px solid transparent;
        }

        .dot-products.active {
            background: rgba(255, 255, 255, 0.9);
            transform: scale(1.2);
            box-shadow: 0 0 20px rgba(255, 255, 255, 0.5);
        }

        .dot-products:hover {
            background: rgba(255, 255, 255, 0.7);
            transform: scale(1.1);
        }

        /* Flechas de navegación */
        .nav-arrow-products {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            width: 60px;
            height: 60px;
            background: rgba(255, 255, 255, 0.15);
            border: 2px solid rgba(255, 255, 255, 0.3);
            border-radius: 50%;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
            z-index: 10;
            backdrop-filter: blur(10px);
            opacity: 0;
        }

        .slider-container-products:hover .nav-arrow-products {
            opacity: 1;
        }

        .nav-arrow-products:hover {
            background: rgba(255, 255, 255, 0.25);
            border-color: rgba(255, 255, 255, 0.5);
            transform: translateY(-50%) scale(1.1);
        }

        .nav-arrow-products.prev {
            left: 2rem;
        }

        .nav-arrow-products.next {
            right: 2rem;
        }

        .nav-arrow-products svg {
            width: 24px;
            height: 24px;
            fill: rgba(255, 255, 255, 0.9);
        }

        /* Indicador de progreso */
        .progress-bar-products {
            position: absolute;
            bottom: 0;
            left: 0;
            height: 4px;
            background: rgba(255, 255, 255, 0.9);
            transition: width 5s linear;
            z-index: 10;
            border-radius: 0 4px 0 0;
        }

        /* Responsivo */
        @media (max-width: 768px) {
            .slider-container-products {
                height: 60vh;
                width: 44vh;
                min-height: 400px;
                border-radius: 16px;
                margin: 1rem;
            }

            .nav-arrow-products {
                width: 50px;
                height: 50px;
            }

            .nav-arrow-products.prev {
                left: 1rem;
            }

            .nav-arrow-products.next {
                right: 1rem;
            }

            .dots-navigation-products {
                bottom: 1.5rem;
                gap: 0.5rem;
            }

            .dot-products {
                width: 10px;
                height: 10px;
            }
        }

        @media (max-width: 480px) {
            .slider-container-products {
                height: 50vh;
                min-height: 350px;
                border-radius: 12px;
            }
        }

/* Menu dropdown movil */
.wrap-drop {
  display: none;
}



.main-products h3 {
  margin-top: 40px;
  margin-bottom: 30px;
  font-weight: bolder;
}

.main-products h4 {
  font-size: 2em;
  font-weight: 600;
  color: #030A9A;
}

.subtitle-prod {
  font-weight: bold;
}

.main-products p {
  font-size: 16px;
  text-align: justify;
  line-height: 25px;
}



.model-container {
  justify-content: center;
  margin-bottom: 80px;
  width: 100%;
}

.model {
	display: block;
	width: 100%;
  margin-bottom: 60px;
}




.model-img {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(4, 200px);
  justify-content: center;
  align-content: center;
  grid-gap: 10px;
  height: fit-content;
  
}

.model-img img:not(.img-show){
  width: 200px;
  height: 200px;
  cursor: pointer;
}

.model-img img:hover:not(.img-show){
  opacity: 0.8;
  border: 1px solid black;
}

.container-img {
  position: fixed;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  transform: translateX(-100%);
  background-color: rgba(0, 0, 0, .8);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
  transition: transform .4s ease-in;
}

.move {
  transform: translateX(0);
}

.img-show{
  width: 500px;
  max-height: 80%;
  transform: scale(0);
  display: block;
  transition: transform .2s .4s;
  padding: 4px;
  background-color: black;
  border: 2px solid white;
  margin-bottom: 50px;
}

.show {
  transform: scale(1);
}

.copy {
  position: fixed;
  color: #fff;
  bottom: 40px;
}

.bx.bx-x {
  position: absolute;
  color: #fff;
  top: 20px;
  right: 10px;
  font-size: 40px;
  cursor: pointer;
} 

.more-info {
  position: relative;
  display: block;
  text-align: center;
  margin-bottom: 30px;
  padding: 20px;
  padding-top: 0;
  background-color: #F9D53D;
  border-radius:20px;
  box-shadow: #666;
}

.more-info h3 {
  padding-top: 15px;
  margin-top: 20px;
  margin-bottom: 40px;
}

.more-info .button {
  padding         : 13px;
  border-radius   : 50px;
  text-decoration : none;
  font-weight     : 600;
  color           :rgb(3, 10, 154);
  background      : rgba(0,0,0,0);
  border: 2px solid rgb(3, 10, 154);
  font-size: 18px;
}

.more-info .button:hover {
  background: rgb(3, 10, 154);
  color: #fff;
}
/* Tablas de Colores Puertas Rapidas*/

.colorp
{
  width: 40%;
  border: 2px;
  border-style:solid;
}

.colorp td
{
  padding: 5px;
  border: 3px;
  border-style:solid;
  width: 15%;
  justify-content: center;
  text-align: center;
}

video {
width:100%;
max-width: 1000px;

}


/* Tarjetas de Brivo */

/* Font */
@import url('https://fonts.googleapis.com/css?family=Quicksand:400,700');

/* Design */
*,
*::before,
*::after {
  box-sizing: border-box;
}






.btn {
  color: #ffffff;
  padding: 0.8rem;
  font-size: 14px;
  text-transform: uppercase;
  border-radius: 4px;
  font-weight: 400;
  display: block;
  width: 100%;
  cursor: pointer;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: transparent;
}

.btn:hover {
  background-color: rgba(255, 255, 255, 0.12);
}

.cards {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
}

.cards_item {
  
  padding: 1rem;
}

@media (min-width: 40rem) {
  .cards_item {
    width: 50%;
  }
}

@media (min-width: 56rem) {
  .cards_item {
    width: 33.3333%;
  }
}

.cardca {
  background-color: white;
  border-radius: 0.25rem;
  box-shadow: 0 20px 40px -14px rgba(0, 0, 0, 0.25);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.card_content {
  padding: 1rem;
  background: linear-gradient(to bottom left, #666 40%, #afafaf 100%);
}

.card_title {
  color: #ffffff;
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: capitalize;
  margin: 0px;
}

.card_text {
  color: #ffffff;
  font-size: 0.875rem;
  line-height: 1.5;
  margin-bottom: 1.25rem;    
  font-weight: 400;
}
/*Cards de control de acceso*/
@import url('https://fonts.googleapis.com/css?family=Heebo:400,700|Open+Sans:400,700');

:root {
  --color: #3c3163;
  --transition-time: 0.5s;
}

* {
  box-sizing: border-box;
}




.cards-wrappercont {
  display: grid;
  justify-content: center;
  align-items: center;
  grid-template-columns: 1fr 1fr 1fr;
  grid-gap: 4rem;
  padding: 4rem;
  margin: 0 auto;
  width: max-content;
}

.cardcont {
  font-family: 'Montserrat', sans-serif;
  --bg-filter-opacity: 0.5;
  background-image: linear-gradient(rgba(0,0,0,var(--bg-filter-opacity)),rgba(0,0,0,var(--bg-filter-opacity))), var(--bg-img);
  height: 13em;
  width: 10em;
  font-size: 1.5em;
  color: white;
  border-radius: 1em;
  padding: 1em;
  /*margin: 2em;*/
  display: flex;
  align-items: flex-end;
  background-size: cover;
  background-position: center;
  
  transition: all, var(--transition-time);
  position: relative;
  overflow: hidden;
  border: 10px solid #ccc;
  text-decoration: none;
}

.cardcont:hover {
  transform: rotate(0);
}

.cardcont h1 {
  display: none;
  margin: 0;
  font-size: 1em;
  line-height: 1.2em;
  
}


.cardcont p {
  display: none;
  font-size: 0.5em;
  font-family: 'Montserrat', sans-serif;
  margin-top: 0.5em;
  
}

.cardcont:hover h1 {
  display:flex;
  margin: 0;
  font-size: 1em;
  line-height: 1.2em;
  font-weight: bold;
}


.cardcont:hover p {
  display:flex;
  font-size: 0.5em;
  font-family: 'Montserrat', sans-serif;
  margin-top: 0.5em;
  
}





.cardcont:before, .card:after {
  content: '';
  transform: scale(0);
  transform-origin: top left;
  border-radius: 50%;
  position: absolute;
  left: -50%;
  top: -50%;
  z-index: -5;
  transition: all, var(--transition-time);
  transition-timing-function: ease-in-out;
  
}

.cardcont:before {
  background: #ddd;
  width: 250%;
  height: 250%;
  
}

.cardcont:after {
  background: white;
  width: 200%;
  height: 200%;
  
}

.cardcont:hover {
  color: var(--color);
}

.cardcont:hover:before, .cardcont:hover:after {
  transform: scale(1);
 
}

.cardcont-grid-space .num {
  font-size: 3em;
  margin-bottom: 1.2rem;
  margin-left: 1rem;
}

.videobrivo{

  width: 90%;
  position: center;
  display: flex;
  justify-content: center;
  margin: auto;
  padding-bottom: 25px; 
}

/* MEDIA QUERIES */
@media screen and (max-width: 1285px) {
  .cards-wrappercont {
    grid-template-columns: 1fr 1fr;
  }
}

@media screen and (max-width: 900px) {
  .cards-wrappercont {
    grid-template-columns: 1fr;
  }
  
  .card-grid-space .num {
    margin-left: 0;
    text-align: center;
  }
}

@media screen and (max-width: 500px) {
  .cards-wrappercont {
    padding: 4rem 2rem;
  }
  .cardcont {
    max-width: calc(100vw - 4rem);
  }
}









/*--------------------------------*/
/*  8. Contact Area
/*--------------------------------*/

.contact-area {
  height: auto;
  width: 100%;
  margin-top: 100px
}

.contact-content {
  padding: 100px;
  background: #000 none repeat scroll 0 0;
}

.contact-content-right {
  padding: 100px;
}

.contact-form input[type="text"], .contact-form input[type="email"] {
  background: rgba(0, 0, 0, 0) none repeat scroll 0 0;
  border: 1px solid #ccc;
  border-radius: 0;
  color: #444;
  height: 40px;
  margin-bottom: 16px;
  padding-left: 20px;
  width: 100%;
}

.contact-form textarea  {
  background: rgba(0, 0, 0, 0) none repeat scroll 0 0;
  border: 1px solid #ccc;
  border-radius: 0;
  color: #444;
  height: 140px;
  padding: 20px;
  width: 100%;
}

.contact-form button[type="submit"] {
  padding: 15px 25px;
 border: unset;
 border-radius: 15px;
 color: #212121;
 z-index: 1;
 background: #e8e8e8;
 position: relative;
 font-weight: 1000;
 font-size: 17px;
 -webkit-box-shadow: 4px 8px 19px -3px rgba(0,0,0,0.27);
 box-shadow: 4px 8px 19px -3px rgba(0,0,0,0.27);
 transition: all 250ms;
 overflow: hidden;
}

.contact-form button[type="submit"]::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 0;
  border-radius: 15px;
  background-color: #212121;
  z-index: -1;
  -webkit-box-shadow: 4px 8px 19px -3px rgba(0,0,0,0.27);
  box-shadow: 4px 8px 19px -3px rgba(0,0,0,0.27);
  transition: all 250ms
}

.contact-form button[type=submit]:hover {
  color: #e8e8e8;
}
.contact-form button[type=submit]:hover::before {
  width: 100%;
}

.contact-form  #sendmessage {
  color: #3EC1D5;
  border: 1px solid #3EC1D5;
  display: none;
  text-align: center;
  padding: 15px;
  font-weight: 600;
  margin-bottom: 15px;
}

.contact-form #errormessage {
  color: red;
  display: none;
  border: 1px solid red;
  text-align: center;
  padding: 15px;
  font-weight: 600;
  margin-bottom: 15px;
}

.contact-form #sendmessage.show, .contact-form #errormessage.show, .contact-form .show {
  display: block;
}

#contact .form .validation {
  color: red;
  display: none;
  margin: 0 0 20px;
  font-weight: 400;
  font-size: 13px;
}

.single-icon i {
  font-size: 24px;
  width: 50px;
  height: 50px;
  border: 1px solid #444;
  line-height: 46px;
  border-radius: 50%;
  margin-bottom: 20px;
}



.single-icon p {
  font-size: 16px;
  line-height: 30px;
}

.contact-icon {
  margin-bottom: 40px;
}

#google-map {
  height: 370px;
  margin-bottom: 20px;
}

.containerpulse {
	position: relative;
	z-index: 0;
	
	display: flex;
	align-items: center;
	justify-content: center;
	
	overflow: hidden;
}

.pulse {
	z-index: -1;
	position: absolute;
	top: 40%;
	left: 50%;
	transform: translate(-50%, -55%);
	max-width: 6rem;
}
	circle {
		fill: #030A9A;
		transform: scale(0);
		opacity: 0;
		transform-origin: 50% 50%;
		animation: pulse 2s cubic-bezier(.5,.5,0,1);
  }
		circle:nth-child(2) {
			fill: #F9D53D;
			animation: pulse 2s 0.75s cubic-bezier(.5,.5,0,1);
		}
		
		circle:nth-child(3) {
			fill: #313332;
			animation: pulse 2s 1.5s cubic-bezier(.5,.5,0,1);
		}
		
	
	


@keyframes pulse {
	
	25% {
		opacity: 0.4;
	}
	
	100% {
		transform: scale(1);
	}
	
}
		



/*----------------------------------------*/
/*  9. Footer Area
/*----------------------------------------*/

.footer-area {
  padding: 40px 0;
  background: #D9D8D6;
  position: relative;
}

.footer-head p {
  color: #444;
  text-align: justify;
}

.footer-head h4 {
  color: #444;
  font-size: 16px;
  letter-spacing: 2px;
  padding-bottom: 10px;
  text-transform: uppercase;
}

.footer-logo {
  padding-bottom: 20px;
}

.footer-logo h2 {
  color: #222;
  padding: 0;
  margin: 0;
  font-size: 36px;
  font-weight: bold;
  line-height: 1;
}

.footer-logo h2 span {
  color: #3ec1d5;
}

.footer-icons ul li {
  display: inline-block;
}

.footer-icons ul li a {
  border: 1px solid #030A9A;
  color: #030A9A;
  display: block;
  font-size: 20px;
  height: 40px;
  line-height: 38px;
  margin-right: 10px;
  text-align: center;
  width: 40px;
  border-radius: 50%;
}

.flicker-img>a {
  float: left;
  padding: 1px;
  width: 33.33%;
}

.footer-icons {
  margin-top: 30px;
}

.footer-contacts p span {
  color: #030A9A;
  font-weight: 700;
}

.popular-tag ul li {
  display: inline-block;
}

.footer-content {
  display: block;
  overflow: hidden;
}

.popular-tag ul li a:hover, .footer-icons ul li a:hover {
  background: #3EC1D5;
  border: 1px solid #3EC1D5;
  color: #fff;
}

.popular-tag ul li a {
  border: 1px solid #444;
  border-radius: 30px;
  color: #444;
  display: block;
  font-size: 13px;
  font-weight: 600;
  margin: 5px 3px;
  padding: 5px 10px;
  position: relative;
  text-decoration: none;
  text-transform: capitalize;
  transition: all 0.4s ease 0s;
  width: 70px;
  text-align: center;
}

.footer-area-bottom {
  background: #afafaf none repeat scroll 0 0;
  padding: 15px 0;
}

.footer-container {
  display: flex;
  justify-content: center;
  gap: 20px;
}

.copyright-text a:hover {
  text-decoration: underline;
  color: #3EC1D5;
}

.copyright-text a {
  color: #444;
}

.copyright>p {
  margin-bottom: 0;
  color: #444;
}

.copyright a {
  color: #030A9A;
}




.certificade-container img {
  width: 200px;
}


/*Tabla Datos Tecnicos*/
.colorpt
{
  width: 85%;
  
}

.colorpt td
{
  padding: 5px;
  border: 3px;
  
  width: 15%;
  justify-content: center;
  text-align: center;
}

/*Botones Rapidas*/

:root {
  --border-size: 0.125rem;
  --duration: 250ms;
  --ease: cubic-bezier(0.215, 0.61, 0.355, 1);
  --font-family: monospace;
  --color-primary: white;
  --color-secondary: #292829;
  --color-tertiary: dodgerblue;
  --shadow: rgba(0, 0, 0, 0.1);
  --space: .90rem;
  
}

* {
  box-sizing: border-box;
}



.multi-button {
  display: flex;
  width: 90%;
  box-shadow: var(--shadow) 4px 4px;
}

.multi-button button {
  flex-grow: 2;
  cursor: pointer;
  position: relative;
  padding:
    calc(var(--space) / 1.125)
    var(--space)
    var(--space);
  border: var(--border-size) solid black;
  color: var(--color-secondary);
  background-color: var(--color-primary);
  
  transition: flex-grow var(--duration) var(--ease);
  width: 100%;
}

.multi-button button + button {
  border-left: var(--border-size) solid black;
  margin-left: calc(var(--border-size) * -1);
}

.multi-button button:hover,
.multi-button button:focus {
  flex-grow: 2;
  color: white;
  outline: none;
  text-shadow: none;
  background-color: var(--color-secondary);
}

.multi-button button:focus {
  outline: var(--border-size) dashed var(--color-primary);
  outline-offset: calc(var(--border-size) * -3);
}

.multi-button:hover button:focus:not(:hover) {
  flex-grow: 1;
  color: var(--color-secondary);
  background-color: var(--color-primary);
  outline-color: var(--color-tertiary);
}

.multi-button button:active {
  transform: translateY(var(--border-size));
}
.imbutton {
  display: flex;
  width: 60%;
  margin-left: 17%;
  
}
.imbutton1 {
  display: flex;
  width: 80%;
 margin-top: 5.5%;
 margin-bottom: 5.5%;
 margin-left: 10%;


  
}
/*GALERIA IMAGENES*/

.filter-buttons {
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
}

.filter-btn {
  background-color: #fff;
  border: none;
  padding: 10px 20px;
  margin: 0 5px;
  cursor: pointer;
  border-radius: 20px;
  transition: background-color 0.3s, color 0.3s;
}

.filter-btn.active {
  background-color: #007bff;
  color: #fff;
}

.gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 20px;
}

.image-card {
  background-color: #fff;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s;
}

.image-card:hover {
  transform: translateY(-5px);
}

.gallery-img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  cursor: pointer;
}

.image-info {
  padding: 10px;
}

.image-title {
  margin: 0;
  font-weight: bold;
  color: #333;
}

.image-category {
  margin: 5px 0 0;
  font-size: 0.9em;
  color: #666;
}

.lightbox {
  display: none;
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
}

.lightbox-content {
  display: block;
  max-width: 90%;
  max-height: 90%;
  margin: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.close {
  color: #fff;
  font-size: 35px;
  font-weight: bold;
  position: absolute;
  right: 30px;
  top: 15px;
  cursor: pointer;
}

#lightbox-caption {
  position: absolute;
  bottom: 20px;
  left: 0;
  right: 0;
  text-align: center;
  color: #fff;
  padding: 10px;
  background-color: rgba(0, 0, 0, 0.5);
}

@media (max-width: 600px) {
  .filter-buttons {
      flex-wrap: wrap;
  }
  
  .filter-btn {
      margin: 5px;
  }
}

/*PUERTAS CIRCULARES*/
#container {
  width: 100%;
  max-width: 400px;
  background: white;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

#container.closed header {
  cursor: pointer;
}
header {
  cursor: pointer;
}

.header {
  width: 100%;
  height: 250px;
  background: center / cover;
  background-image: url(https://3.bp.blogspot.com/-v7vHC8w2AKs/TbbD-X8BhTI/AAAAAAAAAJ4/LCcrwIaMgf0/s1600/Mint+Julep+glass+tools.jpg);
}

.title {
  position: relative;
  z-index: 1;
  font-size: 2rem;
  border-bottom: 2px solid rgba(0, 0, 0, 0.1);
  padding: 20px;
  margin-top: 0px;
}

#container.closed .title {
  padding: 40px 20px 10px 20px;
  margin-top: -87px;
  color: white;
  border: none;
  
}

.title:before {
  z-index: -1;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, 0.65) 100%
  );
  opacity: 0;
}

#container.closed .title:before {
  opacity: 1;
}

article {
  padding: 25px 30px;
  overflow: hidden;
  max-height: 400px;
}

#container.closed article {
  max-height: 0px;
  padding: 0 30px;
}

.ingredients {
  margin: 0px;
  padding: 0px;
  margin-bottom: 20px;
  padding-left: 4px;
  font-size: 0.9rem;
}

.ingredients > li {
  list-style-type: none;
  display: flex;
  margin: 4px 0px;
}

.ingredients > li > .amount {
  width: 80px;
  color: #1976d2;
}

.preperation > div {
  margin-bottom: 10px;
}

/* Tbala de Puertas Seccionales*/

.colorp2
{
  width: 100%;
  
}

.colorp2 td
{
  
  padding: 5px;
 
  border-bottom: solid;
  
  justify-content: center;
  text-align: center;
}





  
/* colores de pvc rapidas*/
.color-options {
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  padding: 20px;
  width: 100%;
  max-width: 600px;
}
.color-selection {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 20px;
}

.color-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  flex: 1;
  min-width: 200px;
}

.color-button {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border: 2px solid #ddd;
  cursor: pointer;
  transition: border-color 0.3s ease, transform 0.2s ease;
  position: relative;
}

.color-button:hover {
  transform: scale(1.1);
}

.color-button:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(66, 153, 225, 0.5);
}

.color-button.selected {
  border-color: #333;
}

.color-button.selected::after {
  content: '\2713';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  font-size: 1.5rem;
  text-shadow: 0 0 2px #000;
}

.selected-color {
  flex: 1;
  min-width: 200px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.color-preview {
  width: 150px;
  height: 150px;
  border-radius: 50%;
  margin-bottom: 15px;
  border: 2px solid #ddd;
  transition: background-color 0.3s ease;
}

.color-name {
  font-size: 1.4rem;
  font-weight: bold;
  text-align: center;
}

/* Responsive adjustments */
@media (max-width: 600px) {
  .color-selection {
      flex-direction: column;
  }

  .color-buttons {
      justify-content: center;
  }

  .color-preview {
      width: 120px;
      height: 120px;
  }

  .color-name {
      font-size: 1.2rem;
  }
}

@media (max-width: 400px) {
  .color-options {
      padding: 15px;
  }

  h2 {
      font-size: 1.5rem;
  }

  .color-button {
      width: 40px;
      height: 40px;
  }

  .color-preview {
      width: 100px;
      height: 100px;
  }

  .color-name {
      font-size: 1rem;
  }
}

.model-container{
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  padding: 20px;
  width: 100%;
  max-width: auto;
}
.model-container2{
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  padding: 20px;
  width: 100%;
  max-width: auto;
}

.container-CD{
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  padding: 20px;
  width: 100%;
  max-width: auto;
}

 /*RAPIDAS MENU SELECTOR-----------------------------------------------------------------------------------------------------*/
 

.list-group-item {
  cursor: pointer;
}

.list-group-item.active {
  background-color: #0d6efd;
  border-color: #0d6efd;
}

.thumbnail {
  cursor: pointer;
  transition: all 0.2s ease-in-out;
}

.thumbnail:hover {
  transform: scale(1.05);
}

.thumbnail.active {
  border: 3px solid #0d6efd;
} 

/* Principal image styling */
#principalImage {
  width: 800px;
  height: 600px;
  object-fit: cover;
  margin-bottom: 20px;
}

/* Media query para dispositivos móviles */
@media screen and (max-width: 768px) {
  #principalImage {
    width: 400px;
    height: 300px;
  }
}

/* Thumbnail styling */
.thumbnail {
  width: 100px;
  height: 100px;
  object-fit: cover;
  margin-right: 10px;
}

.thumbnail.active {
  border: 2px solid #007bff;
}

/* AREA DE DESCARGA PDF ------------------------------------------------------------------------------------*/
.download-section {
  margin-top: 40px;
}
.download-section h2 {
  font-size: 24px;
  margin-bottom: 20px;
}
.pdf-list {
  list-style-type: none;
  padding: 0;
}
.pdf-item {
  margin-bottom: 10px;
}
.pdf-item a {
  text-decoration: none;
  color: #007BFF;
  font-size: 18px;
}
.pdf-item a:hover {
  text-decoration: underline;
}

