@import url('https://fonts.googleapis.com/css2?family=Bacasime+Antique&family=Instrument+Sans:ital,wght@0,400..700;1,400..700&family=Josefin+Sans:ital,wght@0,100..700;1,100..700&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Raleway:ital,wght@0,100..900;1,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@200..700&family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Quattrocento:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Merriweather:ital,wght@0,300;0,400;0,700;0,900;1,300;1,400;1,700;1,900&display=swap');


body {
  font-family: 'Open-Sans', sans-serif;
  margin: 0;
  background-color: #ffffff; /* Color de fondo general */
  color: rkred; /* Color del texto */
  line-height: 1.6;
  overflow-y: auto;
  overflow-x: hidden;
}

header {
  /*position: sticky;*/
  top: 0;
  z-index: 10;
  /*background-color: rgba(241, 237, 231, 0.992); /* Color de fondo de la cabecera */
  /*box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);*/
  padding: 10px 0 10px 30px;
}

.titulo_portada {
  font-family: 'Oswald', sans-serif !important;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
  letter-spacing: 1px;
  color: #ffc107 !important;
  font-size: 3.5rem !important;
  text-align: left !important;
  font-weight: 600;
}

p{
  font-family: 'Open-Sans', sans-serif !important;
  font-size: .9rem;
  opacity: 0.9;
}

/*-------NAVBAR----------*/

.logo_link{
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}

.navbar-nav .nav-link {
  color: #ffffff;
  transition: color 0.3s;
  font-weight: 600;
}

.navbar-nav .nav-link:hover {
  color: #ff2832;
  /* Color del texto del menú al pasar el ratón */
}

.navbar-toggler {
  background-color: rgb(0, 0, 0) !important;
}

#icon{
  color: white;
  font-size: 2.2rem;
}


h1, h3, h5 {
  margin: 15px 0;
  color: #b12c39;
  text-shadow: 1px 1px 5px rgba(55, 51, 51, 0.2); /* Sombra de texto */
}


/*------------------------------------------------*/
/*-------EFECTO AL PASAR A LA OTRA PAGINA --------*/
/*------------------------------------------------*/
.ripple-wrap {
  display: none;
  overflow: hidden;
  position: fixed;
  font-size: 0;
  z-index: 1000;
  top: 0; left: 0; right: 0; bottom: 0;
}
@keyframes RIPPLER {
  0%   { border-width: 0; }
  40% { 
    height: 0;
    width: 0;
    border-width: 1500px;
    margin-top: -1500px;
    margin-left:-1500px; 
    border-color: #ca0b0b;
  }
  41% { 
    height: 0;
    width: 0;
    border-width: 1500px;
    margin-top: -1500px;
    margin-left:-1500px; 
    border-color: #ac0505;
  }
  100% {
    border-width: 1500px;
    height: 2000px;
    width: 2000px;
    margin-top: -2500px;
    margin-left:-2500px;
    border-color: #8a0808;
  }
}
@keyframes RIPPLER {
  0%   { border-width: 0; }
  40% { 
    height: 0;
    width: 0;
    border-width: 1500px;
    margin-top: -1500px;
    margin-left:-1500px; 
    border-color: #ca0b0b;
  }
  41% { 
    height: 0;
    width: 0;
    border-width: 1500px;
    margin-top: -1500px;
    margin-left:-1500px; 
    border-color: #ac0505;
  }
  100% {
    border-width: 1500px;
    height: 2000px;
    width: 2000px;
    margin-top: -2500px;
    margin-left:-2500px;
    border-color: #8a0808;
  }
}
.ripple {
  display: block;
  height: 0;
  width: 0;
  border-width: 0px;
  border-style: solid;
  border-color: #8a0808;
  border-radius: 100%;
  position: absolute;
  top: 300px;
  left: 300px;
  -webkit-animation: none;
  animation: none;
}
.ripple-wrap.goripple {
  display: block;
}
.ripple-wrap.goripple .ripple {
 -webkit-animation-name: RIPPLER;
 -webkit-animation-duration: 1.5s;
 -webkit-animation-fill-mode: forwards;
 animation-name: RIPPLER;
 animation-duration: 1.5s;
 animation-fill-mode: forwards;
}
/*--------Navbar ------*/


 /******************** SERVICIOS ****************/

 .section-bg2 {
   background: #ffffff;
 }

 #servicios {
   background-size: cover;
   padding: 6rem 0;
   background-color: #ffffff;
 }

 #servicios .box {
   margin-bottom: 1.875rem;
 }

 #servicios .icon {
   float: left;
 }

 #servicios .icon i {
   color: #0857c3;
   font-size: 2.25rem;
   line-height: 1;
   transition: 0.5s;
 }

 #servicios .title {
   margin-left: 3.75rem;
   font-weight: 700;
   margin-bottom: 1rem;
   font-size: 1.125rem;
 }

 #servicios .title a {
   color: #000000;
 }

 #servicios .box:hover .title a {
   color: #0857c3;
 }

 #servicios .description {
   font-size: 0.875rem;
   margin-left: 3.75rem;
   line-height: 1.5rem;
   margin-bottom: 0;
 }

 .servicebutton {
   border: none;
   background: none;
   cursor: pointer;
   text-decoration: none;
   margin: 0;
   padding: 0;
 }

 .service {
   border-radius: 0.25rem;
   width: 100%;
   height: auto;
   background-size: 100% auto;
 }

 .service img {
   width: 100%;
   height: auto;
   border-radius: 0.25rem;
 }

 .serv {
   margin: auto;
   padding: 0 1.5rem;
 }

 @media (max-width: 60.5rem) {
   .serv {
     flex-direction: column;
   }
 }




 .tarjeta-wrap {
   margin-bottom: 1.25rem;
   -webkit-perspective: 800;
   perspective: 800;
   display: flex;
   align-items: center;
   flex-direction: column;
 }

 .tarjeta {
   /* width: 22rem; */
   height: 25rem;
   background: #ffffff;
   position: relative;
   -webkit-transition: 0.7s ease;
   transition: 0.7s ease;
   width: 33.33%;
   float: left;
 }

 @media (max-width: 60.5rem) {
   .tarjeta {
     width: auto;
   }

 }




 .img:hover {

   background-color: rgba(119, 103, 13, 0.445);
 }

 .tarjeta2 {
   /* width: 22rem; */
   height: 26.875rem;
   background: #ffffff;
   position: relative;
   -webkit-transition: 0.7s ease;
   transition: 0.7s ease;
   width: 49.99%;
   float: left;
 }

 @media (max-width: 60.5rem) {
   .tarjeta2 {
     width: auto;
   }

 }

 .banner {
  display: flex;
  margin: 0 auto 15px;
  align-items: flex-end;
  position: relative;
  height: 90vh;
  background: linear-gradient(190deg, #ffffff0d 20%, #000000 80%), url(../img/imgSeccion/servicios-bg.png);
  background-position: center bottom 25%;
  background-size: cover !important;
}

 .bannerpdm {
   display: flex;
   margin: 0 auto;
   align-items: center;
   position: relative;
   height: 32rem;
   background: #000000 url(../img/imgSeccion/fondopdm.webp);
   background-position: bottom -20rem center;
 }



 /*Ejemplo 1*/
 .contenedor .servicio1 {
   transition: all 0.4s linear;
 }

 .contenedor .servicio2 {
   transition: all 0.4s linear;
 }

 .contenedor .servicio3 {
   transition: all 0.4s linear;
 }

 .contenedor .servicio4 {
   transition: all 0.4s linear;
 }

 .contenedor .servicio5 {
   transition: all 0.4s linear;
 }

 .contenedor .btnservicio {
   transform: translateX(-12.5rem);
   /*Desplazamos a la izquierda*/
   opacity: 0;
   transition: all 0.7s ease-in-out;
 }

 .contenedor:hover .btnservicio {
   opacity: 1;
   transform: translateX(0rem);
   /*Regresamos a las posiciones originales*/
 }




 .contenedor:hover .servicio1 {
   -webkit-transform: scale(1.3);
   transform: scale(1.3);
   filter: blur(0.25rem);
 }

 .contenedor:hover .servicio2 {
   -webkit-transform: scale(1.3);
   transform: scale(1.3);
   filter: blur(0.25rem);
 }

 .contenedor:hover .servicio3 {
   -webkit-transform: scale(1.3);
   transform: scale(1.3);
   filter: blur(0.25rem);
 }

 .contenedor:hover .servicio4 {
   -webkit-transform: scale(1.3);
   transform: scale(1.3);
   filter: blur(0.25rem);
 }

 .contenedor:hover .servicio5 {
   -webkit-transform: scale(1.3);
   transform: scale(1.3);
   filter: blur(0.25rem);
 }

 .contenedor {
   overflow: hidden;
 }

 .modal-body label{
  font-family: 'Open-Sans', sans-serif;
 }

 .modal-body h2{
  font-family: 'Raleway', sans-serif !important;
 }



 .tarjeta h3 {
  font-family: 'Open-Sans', sans-serif;
   text-align: center;
   color: #ffffff;
   position: relative;
   font-weight: bold;
   font-style: italic;
   align-items: center;
 }

 .tarjeta .texto {
   display: flex;
   align-items: center;
   justify-content: center;
   text-align: center;
   color: #ffffff;
   position: relative;
   font-weight: bold;
   font-style: italic;
   margin: 9.375rem 0rem 0rem 0rem;
 }

 .tarjeta2 .texto {
   display: flex;
   align-items: center;
   justify-content: center;
   text-align: center;
   color: #ffffff;
   position: relative;
   font-weight: bold;
   font-style: italic;
   margin: 9.375rem 0rem 0rem 0rem;
 }

 .tarjeta2 h3 {
  font-family: 'Open-Sans', sans-serif;
   text-align: center;
   color: #ffffff;
   position: relative;
   font-weight: bold;
   font-style: italic;
   align-items: center;
 }





 .adelante,
 .atras {
   width: 100%;
   height: 100%;
   position: absolute;
   -webkit-backface-visibility: hidden;
   backface-visibility: hidden;
 }

 .adelante {
   width: 100%;
 }

 .adelante::before {
   content: '';
   position: absolute;
   width: 100%;
   height: 100%;
   background-image: linear-gradient(130deg, rgba(0, 0, 0, 0), #000000);
 }


 .adelante img {
   width: 100%;
 }



 .atras {
   -webkit-transform: rotateY(180deg);
   transform: rotateY(180deg);
   padding: 1rem;
   display: flex;
   flex-direction: column;
   flex-wrap: nowrap;
   align-content: flex-start;
   justify-content: center;
   align-items: flex-start;
   color: #fff;
 }

 .atras h5 {
   font-size: 1.125rem;
   margin-bottom: 0.625rem;
 }

 .atras p {
   font-size: 1rem;
   margin-bottom: 0rem;
 }

 .atras a {
   margin-top: 0.625rem;
   margin-left: 4.375rem;
   float: right;
   padding: 0.625rem 1.25rem;
   background: #000000;
   color: #fff;
   border-radius: 1.25rem;
 }

 /*   .tarjeta-wrap:hover .tarjeta {
    -webkit-transform: rotateY(180deg);
    transform: rotateY(180deg);
  } */

 .servicio4p h5 {
   font-size: 1rem;
 }

 .servicio4p p {
   font-size: 0.875rem;
 }

 .atras-ser1 {
   margin-top: 1.25rem !important;
 }

 .atras-ser2 {
   margin-top: 1.25rem !important;
 }

 .atras-ser3 {
   margin-top: 5.625rem !important;
 }

 .atras-ser4 {
   margin-top: 0.25rem !important;
 }

 .atras-ser5 {
   margin-top: 1.875rem !important;
 }

 .atras-ser6 {
   margin-top: 1.25rem !important;
 }

 .atras-ser7 {
   margin-top: 11.875rerm !important;
 }

 .servicio1 {
   background-image: url(../img/imgSeccion/fondopdm.webp);
   background-size: cover;
 }

 .servicio2 {
   background-image: url(../img/imgSeccion/reparacion2.webp);
   background-size: cover;
 }

 .servicio3 {
   background-image: url(../img/imgSeccion/vision.webp);
   background-size: cover;
 }

 .servicio4 {
   background-image: url(../img/imgSeccion/tubos.webp);
   background-size: cover;
 }

 .servicio5 {
   background-image: url(../img/imgSeccion/cnc2.webp);
   background-size: cover;
 }

 .servicio6 {
   background-image: url(../img/fondo2.webp);
   background-size: cover;
 }

 .servicio7 {
   background-image: url(../img/mision.webp);
   background-size: cover;
 }

 .img-modal {
   background-image: url(img/imgSeccion/reparacion2.webp);
   background-size: cover;

 }

 .section-header p {
   text-align: center;
   padding-bottom: 1.25rem;
   color: #000000;
   font-size: 1.125rem;
   /* -webkit-text-stroke-width: thin; */
   font-weight: 500;
   padding-top: 1rem;
 }

 
/*----------------- FOOTER ------------------*/
  
footer {
  /*background: url(../img/imgSeccion/red\ gradient\ 1.png);*/
  background: #000000 !important;
  color: #dcdcdc !important;
  padding: 2rem 0;
  /* border-top: 1px solid #ffc107; */
}

.footer-top {
  text-align: center;
}

.footer-contact {
  margin-bottom: 20px;
}

.footer-contact a{
  font-size: 14px;
  color: #dcdcdc !important;
}

.footer-colored-line {
  background: linear-gradient(45deg, #a31321, #ab8d8d);
  width: 25%;
  height: 0.125rem;
  border-radius: 1.25rem;
  margin: 0.5rem auto;
}

.footer-line {
  width: 25px;
  background: linear-gradient(329deg, #ff81008a, #ffc107);
  border-radius: 0;
  height: 2px;
  margin: 15px auto;
}

.text-white{
  color: #ffffff;
}

footer ul{
  padding: 0;
  list-style-type: none;
}

@media (max-width: 1025px) {
  .fastlinks{
    gap: 0 !important;
  }
}
@media (max-width: 992px) {
.footer-contact{
    width:32% !important;
}
}

@media (max-width: 884px){
.fastlinks{
  margin-left: 4rem !important;
  margin-right: 4rem!important;
}
}  

@media (max-width: 820px) {
.fastlinks .link {
  margin-bottom: 2rem;
  padding: 0 2rem 0 0;
}
}

@media (max-width: 768px) {
.fastlinks{
  justify-content: center !important;
  margin: 0 3rem !important;
}

.footer-contact {
  margin-bottom: 1rem;
  width:100% !important;
}
}

@media (max-width: 724px) {
.fastlinks {
  column-gap: 1rem;
}
.fastlinks .link{
  width: 23%;
}
}

@media (max-width: 696px) {
.fastlinks .link {
  width: 40%;
  text-align: center;
}
}

@media (max-width: 590px) {
.fastlinks {
  column-gap: 0;
}
.fastlinks .link{
  width: 45%;
}
}

@media (max-width: 450px) {

.fastlinks {
  margin-left: 2rem !important;
  margin-right: 1rem !important;
}


.fastlinks .link {
  margin-bottom: 2rem;
  padding: 0 2rem 0 0;
  text-align: left;
}
}

@media (max-width: 868px){
  .titulo_portada{
    text-align: center !important;
  }

  header p{
    text-align: center !important;
  }
}


/*-------------------Efecto para icono de redes sociales--------------------*/



.redes a:hover {
  transform: scale(1.1); /* Efecto de aumento al pasar el mouse */
  color: #0077b5; /* Cambia el color al pasar el mouse (por ejemplo, azul para LinkedIn) */
}

/* Colores personalizados para cada red social */
.redes a.facebook:hover {
  color: #3b5998; /* Azul de Facebook */
}

.redes a.linkedin:hover {
  color: #0077b5; /* Azul de LinkedIn */
}

.redes a.instagram:hover {
  color: #e4405f; /* Rosa de Instagram */
}

.redes a.whatsapp:hover {
  color: #25D366; /* Verde de WhatsApp */


}

.redes a.tiktok:hover{
  color: #000000;
}

.redes a.youtube:hover{
  color: #b80000;
}

.redes {
  display: flex;
  flex-direction: column;
  position: absolute;
  bottom: 6%;
  left: 20px;
  background-color: rgb(255 255 255 / 0%);
  padding: 10px;
  border-radius: 50px;
  /*z-index: 100;*/
}

.redes a {
  margin: 5px 0; /* Espaciado entre los íconos */
  text-decoration: none; /* Eliminar subrayado */
  color: #ffffff; /* Color inicial */
  transition: transform 0.3s ease, color 0.3s ease; /* Efectos de transición */
  font-size: 25px; /* Tamaño del ícono, ajustado para encajar mejor en el lado derecho */
}

.redes a:hover {
    transform: scale(1.1); /* Efecto de aumento al pasar el mouse */
}


/*---------REDES FOOTER-----------*/
.redes-footer {
  display: flex;
  flex-direction: row; 
  position: relative; /* Fija la posición */
  justify-content: center;
  background-color: rgba(201, 203, 63, 0);
  padding: 10px; /* Espaciado interno */
  border-radius: 5px; /* Bordes redondeados (opcional) */
  /*box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2); /* Sombra (opcional) */
  z-index: 100;
  gap: 1.8rem;
  margin-bottom: 2rem;
}

.redes-footer a {
  margin: 5px 0; /* Espaciado entre los íconos */
  text-decoration: none; /* Eliminar subrayado */
  color: #ffc200; /* Color inicial */
  transition: transform 0.3s ease, color 0.3s ease; /* Efectos de transición */
  font-size: 25px; /* Tamaño del ícono, ajustado para encajar mejor en el lado derecho */
}

.redes-footer a:hover {
  transform: scale(1.1); /* Efecto de aumento al pasar el mouse */
}

.redes a:hover {
transform: scale(1.1); /* Efecto de aumento al pasar el mouse */
color: #0077b5; /* Cambia el color al pasar el mouse (por ejemplo, azul para LinkedIn) */
}

/* Colores personalizados para cada red social */
.redes-footer a.facebook:hover {
color: #3b5998; /* Azul de Facebook */
}

.redes-footer a.linkedin:hover {
color: #0077b5; /* Azul de LinkedIn */
}

.redes-footer a.instagram:hover {
color: #e4405f; /* Rosa de Instagram */
}

.redes-footer a.whatsapp:hover {
color: #25D366; /* Verde de WhatsApp */
}

.redes-footer a.tiktok:hover{
color: #000000;
}

.redes-footer a.youtube:hover{
color: #b80000;
}


/* ---------------- LINKS RÁPIDOS --------------- */
.fastlinks{
  display: flex;
  flex-wrap: wrap;
  margin-right: 6rem;
  margin-left: 6rem;
  margin-bottom: 2rem;
  justify-content: center;
  gap: 4rem;

}

.link{
  padding: 0 3rem 0 0;
  text-align: left;
}

.link a{ 
  color: #dcdcdc !important;
  text-decoration: none;
  font-family: "Instrument Sans", sans-serif;
}

.link li a{
  font-size:14px;
  font-weight:100;
}

.link a:hover {
  color: #FFC107 !important;
}

.link ul li{
  list-style-type: none;
}

/*------------Navbar dropdown----------*/

.drop-menu-nav{
  background: #000000d7 !important;
  border-radius: 5px !important;
  transform: translate(0, 12px) !important;
  backdrop-filter: blur(7px) !important;
}

.drop-hover{
  color: white !important;
}

.drop-hover:hover{
  color: #ffc107 !important;
  background: #1c1c1cb0 !important;
}

@media (max-width:991px){
  .drop-menu-nav{
    transform: none !important;
  }

  li .drop-hover{
    background: #303030 !important;
  }
  
}

@media (max-width:767px){
  .redes{
    visibility: hidden;
  }
}