
/*Las fuentes originales son estas*/

* {
  box-sizing: border-box;
}
body {
  margin: 0;
  font-family: "Montserrat";
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Montserrat";
}
img {
  display: block;
  max-width: 100%;
}
p {
  line-height: 25px;
}
.container--flex{
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/*Estilos del header*/
.main-header {
  padding: 0 15px;
}
.main-title {
  color: rgb(255, 255, 255);
}
.color-span{
  color: #1e20a0;
}

/*Estilos del menu*/
.icon-menu{
  font-size: 1.5em;
  color: #EEAD33;
  border: 1px solid rgb(0, 0, 0);
  display: block;
  padding: 5px 12px;
  border-radius: 5px;
  cursor: pointer;
}  
.menu{
  position: absolute;
  top: 80px;
  left: 0;
  background: #212121;
  width: 100%;
  list-style: none;
  padding: 20px;
  margin: 0;
  z-index: 999;
  opacity: 0;
  visibility: hidden;
  transition: all 0.5s;
}
.menu__item {
  padding: 20px;
  text-align: center;
  width: 150px;
  margin: auto;
}
.menu__link {
  color: rgb(255, 255, 255);
  text-decoration: none;
  position: relative;
  display: block;
  
}
.menu__link:before {
  content: "";
  position: absolute;
  width: 5px;
  height: 5px;
  border-right: 2px solid #ffffff;
  border-top: 2px solid #ffffff;
  top: 0;
  right: 0;
  opacity: 0;
}
.menu__link:after {
  content: "";
  position: absolute;
  width: 5px;
  height: 5px;
  border-left: 2px solid #ffffff;
  border-bottom: 2px solid #ffffff;
  left: 0;
  bottom: 0;
  opacity: 0;
}
.menu__link span:before {
  content: "";
  position: absolute;
  width: 5px;
  height: 5px;
  border-left: 2px solid #ffffff;
  border-top: 2px solid #ffffff;
  top: 0;
  left: 0;
  opacity: 0;
}
.menu__link span:after {
  content: "";
  position: absolute;
  width: 5px;
  height: 5px;
  border-bottom: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
  bottom: 0;
  right: 0;
  opacity: 0;
}
.menu__link span{
  padding: 10px;
  font-size: 1.1em;
  display: block;
}
.menu__link--select:before, .menu__link--select:after, .menu__link--select span:before, .menu__link--select span:after {
  opacity: 1;
}
.menu__item:hover .menu__link:before, .menu__item:hover .menu__link:after, .menu__item:hover .menu__link span:before, .menu__item:hover .menu__link span:after {
  opacity: 1;
}
.nav-social{
  display: flex;
  justify-content: center;
}
.nav-social__item{
  width: 35px;
  height: 35px;
  display: block;
  text-align: center;
  padding: 10px;
  border-radius: 50%;
  margin: 10px;
}
.nav-social__item:first-child{
  background: #3b5998;
}
.nav-social__item:nth-child(2){
  background: #1da1f2;
}
.nav-social__item:nth-child(3){
  background: #ea4c89;
}
.nav-social__item i{
  color: white;
}
.mostrar{
  opacity: 1;
  visibility: visible;
}

.design__title1{
  position: absolute;
  top: 40%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  color: rgb(255, 255, 255);
  font-size: 2.5em;
  width: 100%;
  font-family: "Montserrat";
  text-align: center;
}

.design__title1:before {
  content: "";
  width: 200px;
  position: absolute;
  top: -20px;
  left: 50%;
  transform: translateX(-50%);
  height: 3px;
  background: transparent;
}
.design__title1:after {
  content: "";
  width: 200px;
  position: absolute;
  bottom: -30px;
  left: 50%;
  transform: translateX(-50%);
  height: 3px;
  background: transparent;
}


/*Estilos del banner video*/


#background-video {
  width: 100%;
  height: 85%;
  object-fit: cover;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: -999;
  filter: brightness(40%);
}


/*Fin del banner video*/






/* Titutlo Servicios*/
.section__title2 {
  font-size: 3.5em;
  position: relative;
  text-align: center;
}
.section__title2:before {
  content: "";
  width: 200px;
  position: absolute;
  top: -20px;
  left: 50%;
  transform: translateX(-50%);
  height: 4px;
  background: transparent;
}
/*Fin del titulo*/

.LogoServicio{
  width: 100%;
  height: 80%;
}
#tabla{
  margin: auto;
}
.contenedor {
  position: relative;
  height: 150px;
  width: 150px;
  float: center;
}

.contenedor img {
  position: absolute;
  left: 0;
  transition: opacity 1s ease-in-out;
}

.contenedor img.top:hover {
  opacity: 0;
  
}






/*Inicio de imagenes de servicios*/
.main{
  margin-top: 350px;
}
.section__title {
  font-size: 2.5em;
  position: relative;
  text-align: center;
}
.section__title:before {
  content: "";
  width: 200px;
  position: absolute;
  top: -20px;
  left: 50%;
  transform: translateX(-50%);
  height: 4px;
  background: transparent;
}
.welcome{
  text-align: center;
  padding: 20px;
  max-width: 750px;
  margin: auto;
}
.welcome__txt{
  font-size: 1.4em;
  color: #777;
}
.welcome__btn {
  display: block;
  border: 2px solid #3f3f3f;
  width: 200px;
  margin: auto;
  padding: 10px;
  text-decoration: none;
  color: #3f3f3f;
  font-size: 1.2em;
  font-weight: bold;
  margin-top: 30px;
  transition: all 0.5s;
}
.welcome__btn:hover {
  background: #3f3f3f;
  color: white;
}
.container-design {
  margin: 30px 0;
}
.design__item{
  position: relative;
}
.design__item:before {
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.4);
  position: absolute;
  top: 0;
  left: 0;
}
.design__title{
  position: absolute;
  top: 40%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  color: rgb(255, 255, 255);
  font-size: 1.8em;
  width: 100%;
  text-align: center;
}
.design__title:before {
  content: "";
  width: 200px;
  position: absolute;
  top: -20px;
  left: 50%;
  transform: translateX(-50%);
  height: 3px;
  background: transparent;
}
.design__title:after {
  content: "";
  width: 200px;
  position: absolute;
  bottom: -30px;
  left: 50%;
  transform: translateX(-50%);
  height: 3px;
  background: transparent;
}
.design__img {
  border: 0px solid white;
  height: 150px;
  width: 100px;
}
/*fin de imagenes servicios*/




/*Inicio titulo alianzas*/

.section__title3 {
  font-size: 2.8em;
  position: relative;
  text-align: center;
}
.section__title3:before {
  content: "";
  width: 200px;
  position: absolute;
  top: -20px;
  left: 50%;
  transform: translateX(-50%);
  height: 4px;
  background: transparent;
}
/*Fin del titulo alianzas*/

.box{
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px;
  margin: 30px 0;
}
.box__content{
  width: 70%;
}
.box__icon{
  width: 100px;
  height: 100px;
  border: 2px solid #999;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 2em;
  color: #EEAD33;
}
.box__icon:hover{
  color: black;
}
.box__title{
  color: #EEAD33;
  margin: 0;
}
.box__txt {
  color: #999;
}
.newsletter{
  margin: 50px 0;
}
.form{
  margin: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px;
  max-width: 600px;
}
.form__mail{
  display: block;
  background: #ddd;
  padding: 15px;
  width: 75%;
  border: none;
  font-size: 1em;
}
.form__submit{
  display: block;
  background: #EEAD33;
  border: none;
  padding: 15px;
  width: 20%;
  color: white;
  font-size: 1em;
}




.main-footer{
  background: #33477b;
  color: #ffffff;
}
.main-footer .container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.footer__title{
  font-size: 1.8em;
  color: white;
  text-transform: uppercase;
}
.column--50-25 {
  width: 49%;
  padding: 20px;
}
.footer__author{
  text-align: right;
  color: #EEAD33;
  display: block;
}
.footer__txt {
  margin-right: 5px;
  font-size: .9em;
}
.footer__link{
  color: #ffffff;
}
.footer__date{
  font-size: .8em;
  border-bottom: 1px solid #888;
  padding-bottom: 10px;
  color: white;
}
.social-icon{
  display: flex;
  align-items: center;
  margin-bottom: 20px;
}
.social-icon i {
  margin-right: 10px;
  width: 35px;
  height: 35px;
  text-align: center;
  color: white;
  padding: 10px;
  border-radius: 50%;
  
}


.social__link{
  display: block;
  text-decoration: none;
  color: #828282;
}
.contact-icon{
  display: flex;
  align-items: center;
}
.contact-icon .fas{
  color: white;
  display: block;
  margin-right: 10px;
}
.contact__txt {
  font-size: .9em;
}
.copy{
  background: #39447e;
  padding: 10px;
  color: white;
  text-align: center;
  width: 100%;
  font-size: .8em;
}
@media screen and (min-width: 768px) {
  .menu{
    position: static;
    opacity: 1;
    visibility: visible;
    width: auto;
    display: flex;
    background: none;
    font-size: .8em;
  }
  .menu__item {
    width: auto;
  }
  .icon-menu{
    display: none;
  }
  .banner {
    min-height: 500px;
  }
  .banner:before {
    min-height: 500px;
  }
  .main{
    margin-top: 400px;
  }
  .box{
    justify-content: center;  
  }
  .box__icon{
    margin-right: 30px;
  }
}

@media screen and (min-width: 1024px) {
  .container {
    width: 1000px;
    margin: auto;
  }
  .main-title{
    font-size: 2.5em;
  }
  .menu {
    font-size: 1em;
  }
  .banner {
    min-height: 600px;
  }
  .banner:before {
    min-height: 600px;
  }
  .banner__title, .banner__txt {
    font-size: 1.5em;
    padding: 10px;
  }
  .main{
    margin-top: 500px;
  }
  .design__item{
    height: 400px;
  }
  .container-design .design__img{
    height: 100%;
    width: 100%;
    object-fit: cover;
  }
  
  .container-design, .container-tips{
    display: flex;
    flex-wrap: wrap;
  }
  .design__item{
    width: 50%;
  }
  .container-box{
    width: 50%;
  }
  .container-tips {
    height: 500px;
  }
  .container-tips .design__item{
    height: 100%;
  }
  .container-tips .design__img {
    height: 100%;
    width: 100%;
    object-fit: cover;
  }
  .column--50-25 {
    width: 24%;
  }
}
@media screen and (min-width: 1280px) {
  .container {
    width: 1200px;
  }
  .design__title{
    font-size: 2.5em;
  }
  .design__item{
    height: 500px;
  }
}
@media screen and (min-width: 1600px) {
  .container {
    width: 1400px;
  }
  .banner__title, .banner__txt {
    font-size: 2em;
  }
}








/*Carrusel alianzas*/ 

/* Logo Slider */
.slider .slide {
  height: 50%;
  width: auto;
 }
 .logo-slider {
   background: none;
   -webkit-box-shadow: 0 0px 0px 0px rgba(0, 0, 0, 0.125);
   box-shadow: 0 0px 0px 0px rgba(0, 0, 0, 0.125);
   margin: auto;
   overflow: hidden;
   position: relative;
   width: auto;
 }
 .logo-slider::before,
 .logo-slider::after {
   background: -webkit-gradient(
      linear,
      left top,
      right top,
      from(white),
      to(rgba(255, 255, 255, 0))
   );
   background: linear-gradient(to right, white 0%, rgba(255, 255, 255, 0) 100%);
   content: "";
   height: 150px;
   position: absolute;
   width: 150px;
   z-index: 1;
 }
 .logo-slider::after {
   right: 0;
   top: 0;
   -webkit-transform: rotateZ(50deg);
   transform: rotateZ(50deg);
 }
 .logo-slider::before {
   left: 0;
   top: 0;
 }
 .logo-slider .logo-slide-track {
   -webkit-animation: logo-scroll 5s linear infinite;
   animation: logo-scroll 5s linear infinite;
   display: -webkit-box;
   display: -ms-flexbox;
   display: flex;
   width: calc(150px * 5);
   animation-duration: 30s;
   animation-iteration-count: infinite;
 }
 .logo-slider .slide {
   height: 200px;
   width: auto;
   padding: 20px;
 }
 @-webkit-keyframes logo-scroll {
   0% {
      -webkit-transform: translateX(0);
      transform: translateX(0);
   }
   100% {
      -webkit-transform: translateX(calc(-250px * 10));
      transform: translateX(calc(-250px * 10));
   }
 }
 @keyframes logo-scroll {
   0% {
      -webkit-transform: translateX(0);
      transform: translateX(0);
   }
   100% {
      -webkit-transform: translateX(calc(-250px * 10));
      transform: translateX(calc(-3000px));
   }
 }

/*Fin de carrusel alianza*/






/*Responsive Quienes Somos*/


@media (max-width: 800px) {
  .main{
      width: 100%;
      background-color: rgb(255, 255, 255);
  }
}


@media (max-width: 2500px) {
  .main{
      width: 100%;
      background-color: rgb(255, 255, 255);
  }
}





/*Responsive Servicios*/

@media (max-width: 800px) {
  .LogoServicio{
      width: 100%;
      background-color: rgb(255, 255, 255);
  }
}

/*Responsive Servicios*/
@media (max-width: 900px) {
  .contenedor{
      width: 100%;
      background-color: #33477b;
  }
}

/*Responsive Alianzas*/

@media (max-width: 900px) {
  .contenedor1{
      width: 100%;
      background-color: #ffffff;
  }
}



@media (max-width: 2500px) {
  .mapa{
      width: 100%;
      background-color: #ffffff;
      
  }
}

/*Responsive Alianzas*/

@media (max-width: 900px) {
  .mapa{
      width: 100%;
      background-color: #ffffff;
  }
}




@media (max-width: 700px) {
  table{
    width: 90%;
}
table tr{
    display: flex;
    flex-direction: column;  
    
}

table td[data-title]::before{
    content: attr(data-title);
    min-width: 100px; /* para los radios funciona width: 150px, tendré que hacer dos propiedades*/
    font-weight: bold;
}

  .contenedor {
      display: block; /* Cambiar el comportamiento del contenedor a bloque */
  }

  .image-caption {
      margin-top: 5px; /* Reducir el espacio entre la imagen y el texto */
  }
}



 /* Make the image smaller on smaller devices */
 @media (max-width: 768px) {
  .responsive-image {
    width: 90%;
    max-width: 100px;
    height: auto;
  }
 }


 #responsive-image {
  max-width: 100%;
  height: auto;
 }

