/*--------------------------------------------------------------------- File Name: style.css ---------------------------------------------------------------------*/


/*--------------------------------------------------------------------- import Fonts ---------------------------------------------------------------------*/

@import url('https://fonts.googleapis.com/css?family=Rajdhani:300,400,500,600,700');
@import url('https://fonts.googleapis.com/css?family=Poppins:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i');
@import url('https://fonts.googleapis.com/css?family=Raleway:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i');

/*--------------------------------------------------------------------- import Files ---------------------------------------------------------------------*/

@import url(font-awesome.min.css);
@import url(owl.carousel.min.css);

/*--------------------------------------------------------------------- basic ---------------------------------------------------------------------*/

body {
     color: #666666;
     font-size: 14px;
     font-family: 'Raleway', sans-serif;
     line-height: 1.80857;
     font-weight: normal;
}

html {
     scroll-behavior: smooth;
}

a {
     color: #1f1f1f;
     text-decoration: none !important;
     outline: none !important;
     -webkit-transition: all .3s ease-in-out;
     -moz-transition: all .3s ease-in-out;
     -ms-transition: all .3s ease-in-out;
     -o-transition: all .3s ease-in-out;
     transition: all .3s ease-in-out;
}

h1,
h2,
h3,
h4,
h5,
h6 {
     letter-spacing: 0;
     font-weight: normal;
     position: relative;
     padding: 0;
     font-weight: normal;
     line-height: normal;
     color: #111111;
     margin: 0
}

h1 {
     font-size: 24px
}

h2 {
     font-size: 22px
}

h3 {
     font-size: 18px
}

h4 {
     font-size: 16px
}

h5 {
     font-size: 14px
}

h6 {
     font-size: 13px
}

*,
*::after,
*::before {
     -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
     box-sizing: border-box;
}

h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
     color: #212121;
     text-decoration: none!important;
     opacity: 1
}

button:focus {
     outline: none;
}

ul,
li,
ol {
     margin: 0px;
     padding: 0px;
     list-style: none;
}

p {
     margin: 0px;
     padding: 0;
     font-weight: 400;
     font-size: 17px;
     line-height: 28px;
}

a {
     color: #222222;
     text-decoration: none;
     outline: none !important;
}

a,
.btn {
     text-decoration: none !important;
     outline: none !important;
     -webkit-transition: all .3s ease-in-out;
     -moz-transition: all .3s ease-in-out;
     -ms-transition: all .3s ease-in-out;
     -o-transition: all .3s ease-in-out;
     transition: all .3s ease-in-out;
}

img {
     max-width: 100%;
     height: auto;
}

 :focus {
     outline: 0;
}

.btn-custom {
     margin-top: 20px;
     background-color: transparent !important;
     border: 2px solid #ddd;
     padding: 12px 40px;
     font-size: 16px;
}

.lead {
     font-size: 18px;
     line-height: 30px;
     color: #767676;
     margin: 0;
     padding: 0;
}

.form-control:focus {
     border-color: #ffffff !important;
     box-shadow: 0 0 0 .2rem rgba(255, 255, 255, .25);
}

.navbar-form input {
     border: none !important;
}

.badge {
     font-weight: 500;
}

blockquote {
     margin: 20px 0 20px;
     padding: 30px;
}

button {
     border: 0;
     margin: 0;
     padding: 0;
     cursor: pointer;
}

.full {
     width: 100%;
     float: left;
     margin: 0;
     padding: 0;
}

.text_align_center {
     text-align: center;
}

.text_align_left {
     text-align: left;
}

.text_align_right {
     text-align: right;
}

.d_flex {
     display: flex;
     align-items: center;
     flex-wrap: wrap;
}

.container {
     max-width: 1170px;
}


/*---------------------------- preloader area ----------------------------*/

.loader_bg {
     position: fixed;
     z-index: 9999999;
     background: #fff;
     width: 100%;
     height: 100%;
}

.loader {
     height: 100%;
     width: 100%;
     position: absolute;
     left: 0;
     top: 0;
     display: flex;
     justify-content: center;
     align-items: center;
}

.loader img {
     width: 280px;
}


/*--------------------------------------------------------------------- header ---------------------------------------------------------------------*/

header {
     height: 105px;
     background: #66b2ff; 
     width: 100%;
     padding: 33px 30px;
}

.logo img {
     max-height: 50px; 
     height: auto;
     width: auto;
     display: block;
 }
/** menu section **/

ul.email {
     padding-top: 4px;
     display: flex;
     align-items: center;
     justify-content: end;
     flex-wrap: wrap;
}

ul.email li {
     display: inline-block;
     color: #fff;
     padding: 0 20px;
     font-size: 17px;
  
}

ul.email li:last-child {
     padding-right: 0;
}

ul.email li a {
     font-size: 16px;
}

ul.email li a {
     color: #fff;
}

ul.email li i {
     color: #fff;
     font-size: 20px;
     padding-right: 10px;
}

ul.email li a:hover {
     color: #fe9a0c;
}

ul.email li img {
     padding-right: 10px;
}

.sidepanel {
     width: 0;
     position: fixed;
     z-index: 9999999;
     height: 100%;
     top: 0;
     left: 0;
     background-color: #111;
     overflow-x: hidden;
     overflow-y: hidden;    
     transition: 0.5s;
     padding-top: 60px;
     white-space: nowrap;    
}


.sidepanel a {
     padding: 8px 8px 8px 32px;
     text-decoration: none;
     font-size: 22px;
     color: #fff;
     display: block;
     transition: 0.3s;
}

.sidepanel a:hover {
     color: #fe9a0c;
}

.sidepanel .closebtn {
     position: absolute;
     top: 0;
     right: 25px;
     font-size: 36px;
}

.openbtn {
     cursor: pointer;
     background-color: transparent;
     color: white;
     border: none;
}




/** about **/

.top_layer {
     position: relative;
}

.about {
     padding-top: 40px;
}

.about .titlepage p {
     line-height: 24px;
     padding-top: 19px;
     color: #000;
     font-weight: 400;
}

.about_box {
     padding: 20px 0;
     box-shadow: 4px 0 27px rgba(02, 3, 8, 0.20);
     background-color: #e6f2ff;
}

.about_box_text {
     padding-left: 50px;
}

.about_box_text h3 {
     font-size: 27px;
     text-transform: uppercase;
     font-weight: 700;
     color: #0b0d0a;
     line-height: 30px;
     padding-bottom: 20px;
     text-align: center;
}

.about_box_text p {
     font-size: 20px;
     line-height: 32px;
     color: #0b0d0a;
     font-weight: 400;
     padding-bottom: 35px;
}

.about_box_img {
     padding: 35px 0;
     margin-right: -60px;
}

.about_box_img figure {
     margin: 0;
}

.about_box_img figure img {
     width: 100%;
}
/** end about **/

.titlepage {
     padding-bottom: 60px;
}

.titlepage h2 {
     font-size: 40px;
     font-weight: 700;
     line-height: 46px;
     color: #251d12;
     text-transform: uppercase;
}

.read_more {
     display: block;
     background: #66b2ff;
     color: #fff;
     max-width: 224px;
     height: 61px;
     padding: 14px 0px;
     width: 100%;
     font-size: 17px;
     text-align: center;
     font-weight: 500;
     transition: ease-in all 0.5s;
}

.read_more:hover {
     background: #99ccff;
     color: #fff;
     transition: ease-in all 0.5s;
}

/** building **/

.building {
     padding-top: 323px;
     background: url(../images/bg.png);
     background-size: 100% 100%;
     background-position: center center;
     background-repeat: no-repeat;
     padding-bottom: 223px;
}

.building .titlepage h2 {
     color: #fff;
}

.building .titlepage p {
     color: #fff;
     line-height: 30px;
     padding-top: 30px;
     display: block;
}

.yello {
     color: #fe9a0c;
}

/** end building **/

/** services **/

.services_main {
     padding-top: 90px;
     background: url(../images/fondo.png);
     background-size: 100% 100%;
     background-position: center center;
     background-repeat: no-repeat;
     padding-bottom: 350px;
}

.services_main .titlepage {
     padding-bottom: 60px;
}

.services_main .titlepage span {
     color: #0f0f0e;
     font-size: 17px;
     line-height: 23px;
     padding-top: 15px;
     display: block;
}

.lisertab .servi_tab {
     border: inherit;
     border-radius: 0;
     padding: 12px 27px;
     line-height: 20px;
     font-size: 17px;
}

.lisertab .servi_tab.active {
     background: #99ccff;
     color: #fff;
}

.lisertab .servi_tab:focus,
.lisertab .servi_tab:hover {
     background: #99ccff;
     color: #fff;
}

.border_none {
     border: none;
}

.back_bg {
     background: transparent;
     border: inherit;
     padding-top: 70px;
}

.services_main .services_img {
     position: relative;
     margin: 0 auto;
}

.services_main .services_img figure {
     margin: 0;
}

.services_main .services_img figure img {
     width: 100%;
}

.ho_dist {
     position: absolute;
     z-index: 9999;
     top: 0px;
     right: 0;
     bottom: 0;
     left: 0;
     transition: .5s ease;
     background-color: #66b2ff87;
    
     margin: 0 auto;
     opacity: 0;
}

.ho_dist span {
     display: flex;
     align-items: center;
     justify-content: center;
     bottom: 0;
     top: 0;
     position: absolute;
     right: 0;
     left: 0;
     flex-wrap: wrap;
     font-size: 26px;
     color: #fff;
     font-weight: 600;
}

.ho_dist:hover {
     opacity: 1;
}


.padding_0 {
     padding: 0
}

.margin_top70p {
     margin-top: 170px;
}

.margin_left20 {
     margin-left: -20px;
}

.margin_right20 {
     margin-right: -20px;
}

.margin_top170 {
     margin-top: -170px;
}

.margin_left60 {
     margin-left: -108px;
     margin-right: 108px;
}

.margin_top40 {
     margin-top: -62px;
}


/** end services **/


/** instant **/

.instant {
     background: #66b2ff;
     position: relative;
}

.instant::before {
     background: url(../images/nuevo2.1.png);
     background-repeat: no-repeat;
     background-size: 100% 100%;
     position: absolute;
     content: "";
     width: 100%;
     height: 363px;
     bottom: -361px;
}

.instant::after {
     background: url(../images/nuevo.png);
     background-repeat: no-repeat;
     background-size: 100% 100%;
     position: absolute;
     content: "";
     width: 100%;
     height: 363px;
     top: -361px;
     z-index: 1;
}

.instant .titlepage {
     padding-top: 40px;
     max-width: 559px;
     float: right;
     width: 100%;
     padding-bottom: 0;
}

.instant .titlepage h2 {
     font-weight: 600;
     text-transform: none;
     color: #fff;
     font-size: 60px;
     line-height: 80px;
     text-align: center;
}

.instant .titlepage p {
     color: #fff;
     line-height: 30px;
     font-weight: 500;
     padding: 30px 0 55px 0;
}

.instant .titlepage .read_more {
     background: #0056b3;
     color: #fff;
     padding: 12px 25px;
     text-decoration: none;
     transition: 0.3s;
     display: inline-block;
 }
 


.instant .titlepage .read_more:hover {
     background: #003d80;
     color: white;
}

.instant_img {
     margin-top: -30px;
     z-index: 9999;
     position: relative;
}

.instant_img figure {
     margin: 0;
}

.instant_img figure img {
     width: 100%;
}


/** end instant **/


/** footer **/

.footer {
     background: #003d80;
     padding-top: 362px; /* Considera reducir si es mucho espacio */
}

.logo-footer {
     width: 200px; 
     height: auto; 
}

.reader p {
     color: #fff;
     padding-top: 25px;
     line-height: 30px;
}

.padd_flet40 {
     padding-right: 40px;
}

.reader h3 {
     color: #fff;
     font-size: 30px;
     text-transform: uppercase;
     font-weight: 600;
     padding-top: 1px;
}

ul.xple_menu {
     padding-top: 29px;
}

ul.xple_menu li a {
     font-size: 17px;
     color: #fff;
     line-height: 31px;
     font-weight: 500;
     position: relative;
     padding-left: 21px;
}

ul.xple_menu li a:hover {
     color: #fd990c;
}

ul.xple_menu li a::before {
     position: absolute;
     content: "";
     background: #fff;
     width: 12px;
     height: 12px;
     border-radius: 20px;
     left: 0;
     top: 5px;
}

ul.re_post {
     padding-top: 35px;
}

ul.re_post li {
     display: inline-block;
     padding: 3px;
}

ul.re_post li img {
     width: 110px;     
     height: 80px;     
}

.copyright p {
     margin-top: 54px;
     color: #fff;
     padding: 20px 0px;
     border-top: white solid 1.5px;
}

.copyright a {
     color: #fff;
}

.copyright a:hover {
     color: #fd990c;
}

/** end footer **/

/*- - ener page css--*/

.inner_page .about {
     padding-bottom: 90px;
     padding-top: 80px;
}

.inner_page .services_main {
     padding-bottom: 90px;
}

.inner_page .footer {
     padding-top: 50px;
}


/** contact **/

.contact {
     padding-top: 90px;
     padding-bottom: 90px;
}

#map {
     height: 100%;
     min-height: 477px;
}

.main_form {
     max-width: 566px;
     float: right;
}

.form-control {
     border-radius: 11px;
     margin-bottom: 20px;
     padding: 0 20px;
     background: transparent;
     border: transparent;
     box-shadow: 4px 0 14px rgba(02, 3, 8, 0.20);
     height: 55px;
}

.form-control:focus {
     box-shadow: inherit;
     background: transparent;
     box-shadow: 4px 0 14px rgba(02, 3, 8, 0.20);
}

.textarea {
     background: transparent;
     box-shadow: 4px 0 14px rgba(02, 3, 8, 0.20);
     border: transparent;
     padding: 0 20px;
     width: 100%;
     height: 176px;
     color: #666666;
     opacity: 1;
     border-radius: 11px;
     padding-top: 25px;
     font-size: 17px;
}

.send {
     margin: 0 auto;
     display: block;
     background: #540705;
     color: #fff;
     max-width: 160px;
     padding: 10px 0px;
     width: 100%;
     font-size: 18px;
     margin-top: 20px;
     border-radius: 11px;
}

.send:hover {
     background: #fd990c;
     color: #fff;
}

.padddd {
     padding-right: 0;
}


/** end contact **/



/*SobreNosotros*/

.img-wrapper {
     aspect-ratio: 1 / 1;
     width: 100%;
     overflow: hidden;
     border-radius: 8px;
   }
   
   .img-hover {
     width: 100%;
     height: 100%;
     object-fit: cover;
     transition: transform 0.3s ease, box-shadow 0.3s ease;
   }
   
   .img-hover:hover {
     transform: scale(1.05);
     box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
   }
   
   .titulo-instalaciones {
     color: #000;
     font-size: 2rem;
     font-weight: bold;
     text-align: center;
     border-bottom: 3px solid #000;
     padding-bottom: 0.5rem;
     margin-bottom: 2rem;
   }


   .text-center_mb-4{
     color: #000;
     font-size: 2rem;
     font-weight: bold;
     text-align: center;
     border-bottom: 3px solid #000;
     padding-bottom: 0.5rem;
     margin-bottom: 2rem;
   }
   
/*Pagina de servicio -------------------------------------------------------------------------------------*/

/* --- SECCION DE COLAS --- */
.titulo-colas {
  font-size: 2.6rem;
  font-weight: 800;
  color: #111;
  position: relative;
  text-align: center;
  padding-bottom: 10px;
}

.titulo-colas::after {
  content: "";
  width: 60px;
  height: 4px;
  background-color: #66b2ff; 
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 2px;
}

.card {
  border: none;
  border-radius: 16px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08); 
  transition: transform 0.3s ease;
  background-color: #eaf4ff;
}

.card:hover {
  transform: translateY(-4px);
}

.card h4 {
  font-weight: 700;
  color: #212529;
  font-size: 1.3rem;
  margin-bottom: 15px;
  border-bottom: 2px solid #66b2ff;
  padding-bottom: 8px;
}

/*------PAGINA FORMULARIO DE CONTACTO------*/

  .custom-input {
    border-radius: 12px;
    border: 1px solid #ced4da;
    transition: all 0.3s ease;
  }

  .custom-input:focus {
    border-color: #4b0000;
    box-shadow: 0 0 0 0.2rem rgba(75, 0, 0, 0.15);
  }

  .form-label {
    font-size: 0.95rem;
    color: #333;
  }



/*--------- CSS PARA SISTEMA DE RECOGIDA DE PRODUCTOS----------------------*/

.formulario-recogida {
  max-width: 650px;
  margin: 60px auto;
  background: #fefefe;
  border-radius: 16px;
  padding: 40px 35px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
  font-family: "Helvetica Neue", sans-serif;
}

.formulario-recogida h2 {
  margin-bottom: 25px;
  font-weight: 700;
  font-size: 24px;
  color: #222;
  text-align: center;
}

.formulario-recogida p {
  font-size: 15px;
  color: #666;
  text-align: center;
  margin-bottom: 30px;
}

.formulario-recogida .form-group {
  margin-bottom: 20px;
}

.formulario-recogida label {
  display: block;
  font-size: 14px;
  color: #444;
  margin-bottom: 8px;
  font-weight: 600;
}

.formulario-recogida input[type="date"],
.formulario-recogida input[type="time"],
.formulario-recogida input[type="text"] {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid #ccc;
  border-radius: 10px;
  background-color: #fafafa;
  font-size: 15px;
  transition: border 0.3s ease;
}

.formulario-recogida input:focus {
  border-color: #007bff;
  background-color: #fff;
  outline: none;
}

.btn-enviar {
  width: 100%;
  padding: 14px;
  background: #007bff;
  border: none;
  border-radius: 10px;
  color: white;
  font-size: 16px;
  font-weight: bold;
  transition: background 0.3s ease;
}

.btn-enviar:hover {
  background: #005dc2;
  cursor: pointer;
}

.alert {
  padding: 12px 16px;
  margin-bottom: 20px;
  border-radius: 8px;
  font-size: 14px;
}

.alert-success {
  background-color: #d4edda;
  color: #155724;
}

.alert-danger {
  background-color: #f8d7da;
  color: #721c24;
}

  
/* Estilo general del nav */
.nav-servicios .nav-link {
  background-color: #ffffff;
  border: 2px solid #66b2ff;
  color: #0077cc;
  font-weight: 600;
  padding: 10px 20px;
  border-radius: 50px;
  margin: 8px;
  transition: all 0.3s ease;
  box-shadow: 0 2px 5px rgba(0, 123, 255, 0.1);
}

.nav-servicios .nav-link:hover,
.nav-servicios .nav-link:focus {
  background-color: #66b2ff;
  color: white;
  text-decoration: none;
  border-color: #66b2ff;
  box-shadow: 0 4px 10px rgba(0, 123, 255, 0.2);
}

