.logoTop img{width:200px;}

/* ========================================================== */
/*                01. FORMULARIO DE CONTACTO                   */
/* ========================================================== */
#contact-form{
  margin:0 auto;
  width:100%;
  max-width:960px;
  text-align:center;
  margin-bottom:10px;
}
input.contact-input{
  width:100%;
  height:55px;
  padding-left:2%;
  padding-right:2%;
  margin-bottom:20px;
  border: 1px solid #757575;
  background-color: transparent;
  font-size:14px;
  -webkit-border-radius: 5px 5px 5px 5px;
  -moz-border-radius: 5px 5px 5px 5px;
  border-radius: 5px 5px 5px 5px;
}

textarea{
  height:205px;
  margin-bottom:20px;
  width:100%;
  padding-left:2%;
  padding-right:2%;
  padding-top:10px;
  padding-bottom:10px;
  color: #aaa;
  border: 1px solid #757575;
  background-color: transparent;
  font-size:14px;
  -webkit-border-radius: 5px 5px 5px 5px;
  -moz-border-radius: 5px 5px 5px 5px;
  border-radius: 5px 5px 5px 5px;
}
input.white-input::-webkit-input-placeholder,
textarea.white-input::-webkit-input-placeholder { /* WebKit browsers */
    color:#aaa;
}
input.white-input:-moz-placeholder,
textarea.white-input:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
    color:#aaa;
}
input.white-input::-moz-placeholder,
textarea.white-input::-moz-placeholder { /* Mozilla Firefox 19+ */
    color:#aaa;
}
input.white-input:-ms-input-placeholder,
textarea.white-input:-ms-input-placeholder { /* Internet Explorer 10+ */
    color:#aaa;
}

#contact-form input.contact-input:focus, #contact-form textarea.contact-commnent:focus {
  border-color:#f1f1f1;
  outline: none;
}

p.contact_error_box {
    display: block;
    color: #cf4545;
    font-size: 20px;
    font-style: italic;
    padding: 20px 20px;
    border: 1px solid #cf4545;
    -webkit-border-radius: 5px 5px 5px 5px;
    -moz-border-radius: 5px 5px 5px 5px;
    border-radius: 5px 5px 5px 5px;
    text-align: center;
    margin: 0 auto;
    margin-bottom: 2%;
    width: 100%;
}
p {
    font-size: 16px;
    line-height: 26px;
    font-weight: 400;
    color: #555252;
    margin-bottom: 15px;
}

/* ========================================================== */
/*                02. IMAGEN SLIDER TOP CON DESGRADE           */
/* ========================================================== */
.home-banner-top {
    width: 100%;
    position: relative;
    overflow: hidden;
    z-index: 100;
    padding: 190px 0 120px 0;
    background: url(img/nosotros.webp);
    background-position: center center;
    background-repeat: no-repeat;
    background-attachment: scroll;
    background-size: cover;
}
.home-banner-oferta {
    width: 100%;
    position: relative;
    overflow: hidden;
    z-index: 100;
    padding: 190px 0 120px 0;
    background: url(img/oferta.webp);
    background-position: center center;
    background-repeat: no-repeat;
    background-attachment: scroll;
    background-size: cover;
}
.slider_degrade {
    position: absolute;
    opacity: 0.77;
    z-index: 10;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    background-color: rgba(0,0,0,0.2);
}


/*Inicio Imagen Banner Responsive*/
.banner-top{
  margin-top: 90px;
  width: auto;
  height: 350px;
  background-color: #ffefdf;
  background: -webkit-linear-gradient(45deg, rgba(0,0,0,3) 10%, #ffefdf 90%);
  background: -moz-linear-gradient(45deg, rgba(0,0,0,3) 10%, #ffefdf 90%);
  background: -ms-linear-gradient(45deg, rgba(0,0,0,3) 10%, #ffefdf 90%);
  background: -o-linear-gradient(45deg, rgba(0,0,0,3) 10%, #ffefdf 90%);
  background: linear-gradient(45deg, rgba(0,0,0,3) 10%, #ffefdf 90%);

/*    background: rgba(0, 0, 0, 0.3);
    background: -moz-linear-gradient(45deg, rgba(0, 0, 0, 0.6) 0%, transparent 70%);
    background: -webkit-gradient(left bottom, right top, color-stop(0%, rgba(0, 0, 0, 0.6)), color-stop(70%, transparent));
    background: -webkit-linear-gradient(45deg, rgba(0, 0, 0, 0.6) 0%, transparent 70%);
    background: -o-linear-gradient(45deg, rgba(0, 0, 0, 0.6) 0%, transparent 70%);
    background: -ms-linear-gradient(45deg, rgba(0, 0, 0, 0.6) 0%, transparent 70%);
    background: linear-gradient(45deg, rgba(0, 0, 0, 0.6) 0%, transparent 70%);*/

}
.banner-top img{
  width: 100%;
  height: auto;
  opacity: 0.7;
}
@supports(object-fit: cover){
    .banner-top img{
      height: 100%;
      object-fit: cover;
      object-position: center center;
    }
}
.title-banner{
  position:absolute;
  top:200px;
  left:4%;
  font-size:32px;
  font-weight: 500;
  letter-spacing: 2px;
  color:#FFFFFF;
  text-transform: uppercase;
  text-shadow: black 0.1em 0em 0.3em;
  padding: 2px 10px;
  border-radius: 5px;
  width: 80%;
}

.texto-banner{
  position:absolute;
  top:250px;
  left:4%;
  font-size:22px;
  font-weight: 500;
  letter-spacing: 1px;
  color:#FFFFFF;
  text-shadow: black 0.1em 0em 0.3em;
  padding: 2px 10px;
  border-radius: 5px;
  width: 80%;
}

/*Fin Imagen Banner Responsive*/


.home-slider-interior-inside {
    position: relative;
    z-index: 100;
}

h1.home-title {
    font-size: 46px;
    line-height: 54px;
    font-weight: 500;
    color: #fff;
    letter-spacing: 1px;
}
p.home-subtitle {
    font-size: 19px;
    line-height: 32px;
    font-weight: 400;
    color: #fff;
    margin-bottom: 25px;
}

h1.banner-title {
    font-size: 46px;
    line-height: 54px;
    font-weight: 700;
    color: #FFF;
    letter-spacing: 1px;
}
p.banner-subtitle {
    font-size: 19px;
    line-height: 32px;
    font-weight: 550;
    color: #FFF;
    margin-bottom: 25px;
}

/* ========================================================== */
/*                03. PAGINA LOADING                          */
/* ========================================================== */
#loader{
  background:#25627c;
  height: 100%;
  width: 100%;
  position: fixed;
  z-index: 90000;
  left: 0%;
  top: 0%;
}

.sk-three-bounce {
  position:absolute;
  top:50%;
  margin-top:-10px;
  left:50%;
  margin-left:-40px;
  width: 80px;
  text-align: center;
}

.sk-three-bounce .sk-child {
  width: 20px;
  height: 20px;
  background-color: #fff;
  border-radius: 100%;
  display: inline-block;
  -webkit-animation: sk-three-bounce 1.4s ease-in-out 0s infinite both;
  animation: sk-three-bounce 1.4s ease-in-out 0s infinite both;
}

.sk-three-bounce .sk-bounce1 {
    -webkit-animation-delay: -0.32s;
    /* animation-delay: -0.32s; */
}

.sk-three-bounce .sk-bounce2 {
    /* -webkit-animation-delay: -0.16s; */
    /* animation-delay: -0.16s; */
}

@-webkit-keyframes sk-three-bounce {
  0%, 80%, 100% {
    -webkit-transform: scale(0);
            transform: scale(0);
}

40% {
    -webkit-transform: scale(1);
            transform: scale(1); 
}
}

@keyframes sk-three-bounce {
  0%, 80%, 100% {
    -webkit-transform: scale(0);
            transform: scale(0); 
}
40% {
    -webkit-transform: scale(1);
            transform: scale(1); 
}
}

/* ========================================================== */
/*                04. MENU TOP                                */
/* ========================================================== */
.ftco-navbar-light {background: #FFFFFF;box-shadow: 0 0.3125rem 0.9375rem 0 rgba(0,0,0,.07);}
.ftco-navbar-light .navbar-brand {padding-top: .7rem;padding-bottom: .7rem;}
.ftco-navbar-light .navbar-nav > .nav-item > .nav-link {font-size: 14px;padding-top: .7rem;padding-bottom: .7rem;
  padding-left: 20px;padding-right: 20px;color: #656565;font-weight: 500;opacity: 1 !important;font-family: 'Roboto', sans-serif; }
.ftco-navbar-light .navbar-nav > .nav-item > .nav-link span {position: relative;display: block;}
.ftco-navbar-light .navbar-nav > .nav-item > .nav-link span:before {
content: "";position: absolute;color:#FF0606!important;width: 100%;height: 2px;bottom: 0;left: 0;background: #42719E;visibility: visible;-webkit-transform: scaleX(0);-moz-transform: scaleX(0);-ms-transform: scaleX(0);
        -o-transform: scaleX(0);transform: scaleX(0);-webkit-transition: all 0.3s ease-in-out 0s;-moz-transition: all 0.3s ease-in-out 0s;-ms-transition: all 0.3s ease-in-out 0s;
        -o-transition: all 0.3s ease-in-out 0s;transition: all 0.3s ease-in-out 0s; }
.ftco-navbar-light .navbar-nav > .nav-item > .nav-link:hover span:before {
visibility: visible;-webkit-transform: scaleX(1);-moz-transform: scaleX(1);-ms-transform: scaleX(1);-o-transform: scaleX(1);transform: scaleX(1); }
.ftco-navbar-light .navbar-nav > .nav-item a:hover{color:#42719E;}
.activeMenu{color:#42719E!important;font-weight:540!important;}
.activeSubMenu{color:#42719E!important;font-weight:540!important;background: #F3F5F6;}
.dropdown-item:hover{background: #F3F5F6;}


/*Menu derecho*/
.ftco-navbar-light .navbar-toggler {
border: none;cursor: pointer;padding-right: 0;text-transform: uppercase;font-size: 16px;letter-spacing: .1em;}
.ftco-navbar-light .navbar-toggler:hover, .ftco-navbar-light .navbar-toggler:focus {
text-decoration: none;color: #6e5773;outline: none !important; }

/* ========================================================== */
/*                05. FOOTER                                  */
/* ========================================================== */
footer{ background-color:#202020;bottom:44px;width: 100%; }
.footerleft { margin-top:50px;}
.logofooter { margin-bottom:10px; font-size:21px; color:#fff;}
.logofooter span{font-size:14px;margin-left:10px;}
.footerleft p{ color:#E6E0E0; font-size:13px;margin-bottom:4px;}
.footerleft p small{width:84px;float:left;font-size:12px;}
.nameFooter{font-family: 'Roboto', sans-serif;font-weight: 700;color:#FFFFFF;line-height: 35px;letter-spacing:2px;}
.nameFooter img{max-width: 200px;}
.copyright { min-height:40px; background-color:#2e2e2e;bottom: 0;width: 100%;}
.copyright p { text-align:left; color:#FFF; padding:10px 0; margin-bottom:4px;font-size:14px;}
.blockquote{text-align:center;}
b a.footerMenuHover {color: #E6E0E0;font-size:13px;width:100%;float:left; font-weight:normal;margin-bottom:.2rem;line-height:18px}
b a.active{color: #ffc811!important;}
b a.footerMenuHover:hover{color:#ffc811!important;transition:all .5s linear;text-decoration: none;}
.wFooter{width: 83%;color:#7f7f7f;}
b span.footerMenuHover {color: #E6E0E0;font-size:13px;width:100%;float:left; font-weight:normal;margin-bottom:.2rem;line-height:18px}
.titleFotter{font-family:Helvetica,Arial,Verdana,Arial;color:#FFFFFF!important;margin-top: 14px;font-size:18px!important;font-weight:650;letter-spacing:2px; }
/* ========================================================== */
/*                05. BLOQUE MARKETING                        */
/* ========================================================== */

.section-dark{
  background-color:#393f43;
  padding:90px 0;
}
h1.medium-title {
  font-size: 20px;
  text-transform:uppercase;
  font-weight:700!important;
}
h3.medium-title {
  font-size: 20px;
  text-transform:uppercase;
  font-weight:700!important;
}
p.medium-title {
  font-size: 18px;
  font-weight:700!important;
}
ul.features-list-dark{
  display: inline-block;
}

ul.features-list-dark li{
  float:left;
  font-size:16px;
  line-height:28px;
  margin:1px 0;
  text-decoration: none;
  list-style: none;
}
.width-100 {
  width: 100%;
}



/*FIN*/
p.text-section{
    font-size: 14px;
    line-height: 26px;
    font-weight: 400;
    color: #555252;
    margin-bottom: 15px;
}
p.section-subtitle{
  color:#555252;
  font-size: 17px;
  font-family: HelveticaLight,Helvetica;
}

p.section-subtitle.grey{
  color:#bbb;
}

.section-white{
  background-color:#fff;
  padding: 50px 0 50px 0;
}
.section-whites{
  background-color:#fff;
  padding: 20px 0px;
}
h2.section-title{
  font-size:36px;
  margin:0 0 25px 0;
}

h2.section-title.grey{
  color:#ddd;
}
.section-grey {
    background-color: #eef0f1;
    padding: 50px 0 50px 0;
}

.section-grey-diag {
    background-color: #eef0f1;
    padding: 50px 0 0px 0;
}
.diagonalgreen{
  -webkit-clip-path: polygon(0 55%, 100% 0%, 100% 100%, 0% 100%);
  clip-path: polygon(0 55%, 100% 0%, 100% 100%, 0% 100%);
  width:100%;
  height:100px;
  background-color:#eef0f1;
}
.diagonalwhite{
  -webkit-clip-path: polygon(0 50%, 100% 0%, 100% 100%, 0% 100%);
  clip-path: polygon(0 50%, 100% 0%, 100% 100%, 0% 100%);
  width:100%;
  height:50px;
  background-color:#FFFFFF;
  margin-top: 50px;
}




/*TEST*/

#top-section {
  position: relative;
  width: 100%;
  background: #5D2E46;
  min-height: 200px;
}

#top-section-border {
  
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 70px;
}



/* ========================================================== */
/*                 06. SERVICES                       */
/* ========================================================== */
.service-border-img{
    
    -webkit-border-radius: 5px 5px 0px 0px;
    -moz-border-radius: 5px 5px 0px 0px;
    border-radius: 5px 5px 0px 0px;
    transition: all .50s ease-in-out;
    -moz-transition: all .50s ease-in-out;
    -webkit-transition: all .50s ease-in-out;
}
.service-inner-border{
    background-color: #f7f7f7;
    border: 1px solid #eee;
    color: #616161;
    padding: 20px;
}
.service-item{
  margin:20px 0;
}
.service-inner{
  display:inline-block;
  padding:10px 20px 40px 20px;
  text-align:center;
  /*background-color: #FFFFFF;*/
  background-color: #F6F9FA!important;
    border-bottom: 1px solid #e0e0e0;
    -webkit-border-radius: 0 0 5px 5px;
    -moz-border-radius: 0 0 5px 5px;
    border-radius: 0 0 5px 5px;
    transition: all .50s ease-in-out;
    -moz-transition: all .50s ease-in-out;
    -webkit-transition: all .50s ease-in-out;
}
.service-inner h3{
  font-size:20px;
  margin-bottom:12px;
  margin-top: 12px;
  color:#454545;
  font-weight: 700;
}

.service-inner p{
  margin-bottom:25px;
}

.service-item img{
  -webkit-border-radius: 5px 5px 0 0;
    -moz-border-radius: 5px 5px 0 0;
    border-radius: 5px 5px 0 0;
}
.popup-wrapper{ display:block; position:relative; overflow:hidden;}
.popup-gallery img {
  position:relative;
  z-index:10;
  width: 100%;
  height: auto;
}

.popup-gallery:hover img {
  opacity: 0.25;
}

.popup-gallery a span.eye-wrapper, 
.popup-gallery a span.eye-wrapper2 {
  background-color:#000;
  position: absolute;
  display: block;
  overflow:hidden;
  z-index: 2;
  height:100%!important;
  top: 0%;
  margin-top: 0px;
  left: 0%;
  right: 0%;
  color:#fff;
  text-align: center;
  font-weight:300;
  opacity: 0;
  padding-top:35%;
  Font-size: 14px;  
}

.popup-gallery a span.eye-wrapper2 {
  -webkit-border-radius: 5px 5px 0 0;
    -moz-border-radius: 5px 5px 0 0;
    border-radius: 5px 5px 0 0;
}

.popup-gallery a span.eye-wrapper i.eye-icon, .popup-gallery a span.eye-wrapper2 i.eye-icon{
  position: absolute;
  display: inline-block;
  font-size:38px;
  z-index: 3;
  top: 50%!important;
  margin-top: -19px!important;
  left: 0%;
  right: 0%;
}

.popup-gallery a:hover span{
  opacity: 1;
}

.popup-gallery img,
.popup-gallery a span {
  -webkit-transition: all 0.25s ease-in-out;
  -moz-transition: all 0.25s ease-in-out;
  -ms-transition: all 0.25s ease-in-out;
  -o-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
}

.space-slider{margin-top:3.7rem;}
#content{width:100%; height:450px; position:relative; background:#99FF33; }
.fontHelvetica{font-family:Helvetica,Verdana,Arial;}

/* =====================
 * PORTAFOLIO
 * =====================
*/
.page-section {
  padding: 100px 0;
}

.page-section h2.section-heading {
  font-size: 40px;
  margin-top: 0;
  margin-bottom: 15px;
}

section#contact .section-heading {
  color: #fff;
}

.page-section h3.section-subheading {
  font-size: 16px;
  font-weight: 400;
  margin-bottom: 75px;
  text-transform: none;
 }


#portfolio .portfolio-item {
  right: 0;
  margin: 0 0 15px;
}

#portfolio .portfolio-item .portfolio-link {
  position: relative;
  display: block;
  max-width: 400px;
  margin: 0 auto;
  cursor: pointer;
}

#portfolio .portfolio-item .portfolio-link .portfolio-hover {
  position: absolute;
  width: 100%;
  height: 100%;
  transition: all ease 0.5s;
  opacity: 0;
  background: rgba(0, 0, 0, 0.7);
}

#portfolio .portfolio-item .portfolio-link .portfolio-hover:hover {
  opacity: 1;
}

#portfolio .portfolio-item .portfolio-link .portfolio-hover .portfolio-hover-content {
  font-size: 20px;
  position: absolute;
  top: 50%;
  width: 100%;
  height: 20px;
  margin-top: -12px;
  text-align: center;
  color: white;
}

#portfolio .portfolio-item .portfolio-link .portfolio-hover .portfolio-hover-content i {
  margin-top: -12px;
}

#portfolio .portfolio-item .portfolio-link .portfolio-hover .portfolio-hover-content h3,
#portfolio .portfolio-item .portfolio-link .portfolio-hover .portfolio-hover-content h4 {
  margin: 0;
}

#portfolio .portfolio-item .portfolio-caption {
  max-width: 400px;
  margin: 0 auto;
  padding: 25px;
  text-align: center;
  background-color: #fff;
}

#portfolio .portfolio-item .portfolio-caption h4 {
  margin: 0;
  text-transform: none;
}

#portfolio * {
  z-index: 2;
}

@media (min-width: 767px) {
  #portfolio .portfolio-item {
    margin: 0 0 30px;
  }
}

.portfolio-modal .modal-dialog {
  margin: 1rem;
  max-width: 100vw;
}

.portfolio-modal .modal-content {
  padding: 100px 0;
  text-align: center;
}

.portfolio-modal .modal-content h2 {
  font-size: 3em;
  margin-bottom: 15px;
}

.portfolio-modal .modal-content p {
  margin-bottom: 30px;
}

.portfolio-modal .modal-content p.item-intro {
  font-size: 16px;
  font-style: italic;
  margin: 20px 0 30px;
 }

.portfolio-modal .modal-content ul.list-inline {
  margin-top: 0;
  margin-bottom: 30px;
}

.portfolio-modal .modal-content img {
  margin-bottom: 30px;
}

.portfolio-modal .modal-content button {
  cursor: pointer;
}

.portfolio-modal .close-modal {
  position: absolute;
  top: 25px;
  right: 25px;
  width: 75px;
  height: 75px;
  cursor: pointer;
  background-color: transparent;
}

.portfolio-modal .close-modal:hover {
  opacity: 0.3;
}

.portfolio-modal .close-modal .lr {
  /* Safari and Chrome 
  z-index: 1051;
  width: 1px;
  height: 75px;
  margin-left: 35px;
  /* IE 9 */
  transform: rotate(45deg);
  background-color: #212529;
}

.portfolio-modal .close-modal .lr .rl {
  /* Safari and Chrome */
  z-index: 1052;
  width: 1px;
  height: 75px;
  /* IE 9 */
  transform: rotate(90deg);
  background-color: #212529;
}

/* =====================
 * FIN PORTAFOLIO
 * =====================
*/

  /* =====================
 * PORTAFOLIO DOS
 * =====================
*/

      .page-portafolio{
        padding: 0 5%;
      }
      
      .title-portafolio-p {
          font-size: 2.5rem;
          font-weight: 700;
          margin-bottom: 15px;
          color: #343a40;
      }
      p {
          font-size: 1.1rem;
          line-height: 1.7;
      }

     
      .portfolio-item-p {
          margin-bottom: 30px;
          background-color: #fff;
          border-radius: 10px;
          overflow: hidden;
          box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
          transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
      }
      .portfolio-item-p:hover {
          transform: translateY(-5px);
          box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
      }
      .portfolio-item-p img {
          width: 100%;
          height: auto;
          display: block;
          border-top-left-radius: 10px;
          border-top-right-radius: 10px;
      }

      .portfolio-item-p .aos-item__inner {
        background: #fff;
        padding: 15px;
        border-radius: 6px;
      }

      .portfolio-caption-p {
          padding: 25px 20px;
          text-align: center;
          min-height: 200px;
          display: flex;
          flex-direction: column;
          justify-content: center;
          align-items: center;
      }
      .portfolio-caption-p h4 {
          font-size: 1.5rem;
          margin-bottom: 8px;
          color: #002D49; 
          font-weight: 600;
      }
      .portfolio-caption-p p {
          font-size: 0.95rem;
          color: #6c757d;
          margin-bottom: 0;
      }

      
      .portfolio-link-p {
        display: block;
        position: relative;
      }
      .portfolio-hover-p {
          position: absolute;
          width: 100%;
          height: 100%;
          top: 0;
          left: 0;
          background: rgba(0, 123, 255, 0.7); 
          opacity: 0;
          transition: opacity 0.3s ease;
          display: flex;
          align-items: center;
          justify-content: center;
          border-top-left-radius: 10px;
          border-top-right-radius: 10px;
      }
      .portfolio-link-p:hover .portfolio-hover-p {
          opacity: 1;
      }
      .portfolio-hover-content-p {
          color: #fff;
          font-size: 3rem; /* Tamaño del icono */
      }

      /* Estilos para el Modal */
      .portfolio-modal-p .modal-dialog-p {
          max-width: 900px; /* Modal más ancho */
          margin: 30px auto;
      }
      .portfolio-modal-p .modal-content {
          border-radius: 15px; /* Bordes redondeados para el modal */
          box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
          padding: 30px;
      }
      .portfolio-modal-p .close-modal {
          position: absolute;
          top: 15px;
          right: 15px;
          width: 40px;
          height: 40px;
          cursor: pointer;
          background-color: rgb(0 94 204);
          border-radius: 50%;
          display: flex;
          align-items: center;
          justify-content: center;
          opacity: 0.8;
          transition: opacity 0.3s ease;
          z-index: 1050; /* Para que esté sobre el contenido del modal */
      }
      .portfolio-modal-p .close-modal:hover {
          opacity: 1;
      }
      .portfolio-modal-p .close-modal .lr,
      .portfolio-modal-p .close-modal .rl {
          height: 30px;
          width: 2px;
          background-color: #fff;
          position: absolute;
          transform: rotate(45deg);
      }
      .portfolio-modal-p .close-modal .rl {
          transform: rotate(-90deg);
      }

      .portfolio-modal-p .modal-body {
          padding: 20px;
          text-align: center;
      }
      .portfolio-modal-p .modal-body img {
          max-width: 100%;
          height: auto;
          margin-bottom: 25px;
          border-radius: 8px;
          box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
      }
      .portfolio-modal-p .modal-body .reference-title {
          font-size: 2.2rem;
          margin-bottom: 15px;
          color: #343a40;
          font-weight: 700;
      }
      .portfolio-modal-p .modal-body p {
          font-size: 1.05rem;
          line-height: 1.8;
          color: #495057;
          margin-bottom: 25px;
          text-align: justify;
      }
      .portfolio-modal-p .buttons {
          margin-top: 20px;
      }
      .portfolio-modal-p .btn-outline-primary {
          padding: 12px 25px;
          font-size: 1.1rem;
          border-radius: 50px;
          border: 2px solid #007bff;
          color: #007bff;
          transition: all 0.3s ease;
      }
      .portfolio-modal-p .btn-outline-primary:hover {
          background-color: #007bff;
          color: #fff;
          box-shadow: 0 5px 15px rgba(0, 123, 255, 0.3);
      }

      
      @media (max-width: 768px) {
          .page-section {
              padding: 50px 0;
          }
          .title-portafolio-p { 
              font-size: 2rem;
          }
          p {
              font-size: 1rem;
          }
          .portfolio-caption-p {
              min-height: 100px;
              padding: 15px;
          }
          .portfolio-caption-p h4 {
              font-size: 1.3rem;
          }
          .portfolio-modal-p .modal-body .reference-title {
              font-size: 1.8rem;
          }
          .portfolio-modal-p .modal-body p {
              font-size: 0.95rem;
          }
          .portfolio-modal-p .btn-outline-primary {
              padding: 10px 20px;
              font-size: 1rem;
          }
      }

/* =====================
 * FIN PORTAFOLIO DOS
 * =====================
*/

.title {
    display: inline-block;
    font-size: 2.2rem;
    font-weight: 700;
    padding: 10px 0;
    text-align: center;
    letter-spacing: 0.1em;
    line-height: 1.2;
    color: #364d59;
    margin-top: 20px;
    letter-spacing: 0;
}


.titleTwho {
    display: inline-block;
    font-size: 2.2rem;
    font-weight: 700;
    padding: 10px 0;
    text-align: center;
    letter-spacing: 0.1em;
    line-height: 1.2;
    color: #364d59;
    margin-top: 20px;
    letter-spacing: 0;
}

.title-portafolio {
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 15px;
    color: #343a40;
}

/*Linea centrada*/
.wpex-border-b {
    border-bottom: 1px solid #757575;
    width: 60px;
    margin-top: 0px;
    margin-bottom: 40px;
  }
.wpex-mx-auto {
    margin-right: auto;
    margin-left: auto;
}

.text-contact{
  color: #000000;
  margin-top: -8px;
  font-weight: 600;
  text-transform: uppercase;
  font-size: 16px;

}

.contact-border {
    border-bottom: 1px solid #616161!important;
    width: 60px;
    margin-top: 0px;
    margin-bottom: 40px;
  }

