/*Las fuentes originales son estas*/

* {
  box-sizing: border-box;
}
body {
  margin: 0;
  font-family: "Montserrat";
}
h1, h2, h3, h4, h5, h6 {
  font-family: "Bitter";
}
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;
}

.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: 30%;
  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: 75vh;
  object-fit: cover;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: -999;
  filter: brightness(60%);
}


/*Fin del banner video*/






/* Titutlo Servicios*/
.section__title2 {
  font-size: 2.8em;
  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*/




.welcome{
  text-align: center;
  padding: 20px;
  max-width: 750px;
  margin: auto;
}
.welcome__txt{
  font-size: 1.4em;
  color: #777;
}

/*Video*/

.main2 {
  width: 150%;
  height: 150%;
  display: flex;
  
 
}

video {
  max-width: 150%;
  max-height: 150%;
  width: 170%;
  height: 100%;
  align-items: center;
  justify-content: center;
}








/*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: #161486;
}
/*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: 200%;
  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: 250px;
   position: absolute;
   width: 250px;
   z-index: 1;
 }
 .logo-slider::after {
   right: 0;
   top: 0;
   -webkit-transform: rotateZ(180deg);
   transform: rotateZ(180deg);
 }
 .logo-slider::before {
   left: 0;
   top: 0;
 }
 .logo-slider .logo-slide-track {
   -webkit-animation: logo-scroll 20s linear infinite;
   animation: logo-scroll 30s linear infinite;
   display: -webkit-box;
   display: -ms-flexbox;
   display: flex;
   width: calc(250px * 14);
   animation-duration: 15s;
   animation-iteration-count: infinite;
 }
 .logo-slider .slide {
   height: 350px;
   width: auto;
   padding: 10px;
 }
 @-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*/


/*Resposive Sobre Nostros*/
@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 Video*/

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

/*Responsive Footer*/
@media (max-width: 800px) {
  .main-footer{
      width: 100%;
      background-color: #33477b;
  }
}

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


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




table th {
  background-color: #33477b;
  font-size: 20px;
  
  
}
table td {
  background-color: #c5c5c5;
  font-size: 18px;
}

@media (min-width: 600px) {
  .body {
    width: 50%;
  }
}


@media (min-width: 600px) {
  .main2 {
    width: 50%;
  }
}


@media screen and (max-width: 480px) { 
  .welcome__txt{
    width: 100%;
      background-color: #ffffff;
      overflow-y: scroll;
      margin: 1em 2em;
  }
}


@media screen and (max-width: 480px) { 
  .Viedo{
    width: 100%;
      background-color: #ffffff;
      overflow-y: scroll;
      margin: 1em 2em;
  }
}


@media screen and (max-width: 480px) { 
  .LogoServicio{
    width: 100%;
      background-color: #33477b;
      overflow-y: scroll;
      margin: 1em 2em;
  }
}


@media only screen and (max-width : 1024px)

{    .s-hidden{
      display: none
    }
        

    .s-visible{
      display: block
    }
}   




.main2 .Viedo{
  justify-content: center; 
  align-items: center;
  margin: 0;
  max-width: 100%;
  max-height: 100%;
}




.main2 {
  max-width: 100%; /* El video no excede el ancho del contenedor */
  height: auto; /* Altura se ajusta automáticamente */
}

/* Media query para dispositivos móviles con ancho máximo de 600px */
@media (max-width: 768px) {
  .main-header {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
  }
}


@media (max-width: 768px) {
	.Infografia {
    max-width: 100%; /* La imagen nunca será más ancha que su contenedor */
    height: auto; /* La altura se ajustará automáticamente para mantener la relación de aspecto */
    margin: 0 auto; /* Centra la imagen horizontalmente */
	}
}



@media (max-width: 767px) {
  .Viedo {
    padding-bottom: 90%; /* 3:4 */
  }
}