* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Archivo Black', sans-serif;

}

/* Header */


/* .imagen-de-fondo {
    width: 100%;
    height: auto;
    /* fallback for old browsers */
    /* background: -webkit-linear-gradient(to right, hsl(0deg 0% 0% / 31%), hsl(0deg 0% 0% / 18%)), url(../img/portada.jpg); */
    /* Chrome 10-25, Safari 5.1-6 */
    /* background: linear-gradient(to right, hsl(0deg 0% 0% / 31%), hsl(0deg 0% 0% / 18%)), url(../img/portada.jpg); */
    /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
    /* background-size: cover;
    background-attachment: fixed;
    position: relative;
} */ 

.video-de-fondo {
    width: 100%;
    height: auto;
    position: relative;
    overflow: hidden;
  }
  
  .video-de-fondo video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: fixed;
    top: 0;
    left: 0;
    z-index: -2;
  }
  
  .video-de-fondo::before {
    content: "";
    background: rgb(0 0 0 / 25%);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    background-attachment: fixed;
  }
  


  /*Header -Menu*/ 
  .openSideMenu, .botonResponsive,
  .menuIconToggle {
    display: none;
  }
  .menuIconToggle {
    box-sizing: border-box;
    cursor: pointer;
    position: fixed;
    z-index: 10;
    height: 100%;
    width: 100%;
    top: 28px;
    right: 35px;
    height: 22px;
    width: 22px;
    transition: all 0.3s;
    z-index: 100000;
    }
    .hamb-line {
    box-sizing: border-box;
    position: absolute;
    height:2px;
    width: 100%;
    background-color: #fff;
    transition: all 0.25s;
    }
    .hor {
    transition: all 0.3s;
    box-sizing: border-box;
    position: relative;
    float: left;
    margin-top: 3.5px;
    }
    .dia.p-1 {
    position: relative;
    box-sizing: border-box;
    float: left;
    transition: all .25s;
    }
    .dia.p-2 {
    box-sizing: border-box;
    position: relative;
    float: left;
    margin-top: 4px;
    transition: all .25s;
    }
    input[type=checkbox]:checked ~ .menuIconToggle > .hor {
    box-sizing: border-box;
    opacity: 0;
    transition: all .25s;
    }
    input[type=checkbox]:checked ~ .menuIconToggle > .dia.p-1 {
    box-sizing: border-box;
    transform: rotate(135deg);
    margin-top: 8px;
    transition: all .25s;
    }
    input[type=checkbox]:checked ~ .menuIconToggle > .dia.p-2 {
    box-sizing: border-box;
    transform: rotate(-135deg);
    margin-top: -8px;
    transition: all .25s;
    }
    .sidenav {
    height: 100%;
    width: 0px;
    position: fixed;
    z-index: 9000;
    top: 0;
    right: 0;
    background-color: rgb(0 0 0 / 29%);
    backdrop-filter: blur(10px); /* Efecto de desenfoque (ajusta el valor según desees) */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* Opcional: agregar una sombra */    
    overflow-x: hidden;
    transition: 1s;
    padding-top: 61px;
    }
    .line {
    border-bottom: 1px solid #f2f2f263;;
    margin-left: 10px;
    margin-right: 10px;
    display: block;
    transition: 0.3s;
    }
    .sidenav a {
    padding-top: 16px;
    padding-bottom: 16px;
    padding-left: 20px;
    text-align: left;
    text-decoration: none;
    font-size: 16px;
    font-family: 'Archivo', sans-serif;
    color: #fff;
    display: block;
    transition: 0.3s;
    }
    .sidenav a:hover {
    color: #f1f1f1;
    }
    /*Fin Header -Menu*/
  
nav {
    text-align: right;
    align-items: center;
    padding: 20px 40px;
    font-family: 'Archivo', sans-serif;
    font-size: 16px;
    display: flex;
    justify-content: space-between;
    position: fixed; /* Establecer la posición como fija */
    top: 0; /* Fijar el nav en la parte superior de la pantalla */
    width: 100%; /* Establecer el ancho al 100% de la ventana */
    z-index: 1000; /* Ajusta el índice z para asegurarte de que el nav esté en la parte superior */
    transition: background-color, backdrop-filter 0.2s ease-in-out; /* Agrega una transición suave */
}
nav:hover,
.navScroll{    
    background-color: rgb(0 0 0 / 29%);
    backdrop-filter: blur(10px); /* Efecto de desenfoque (ajusta el valor según desees) */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* Opcional: agregar una sombra */
}

.container {
    display: flex; /* Utilizar flexbox para alinear los elementos en una fila */
    align-items: center; /* Alinear verticalmente los elementos en el centro */
  }
.CustomHeader-cta {
    margin-left: 10px;
    background: transparent;
    transition: 2s; /* Establece la transición en 2 segundos para el fondo degradado */

} 
.CustomHeader-cta a {
    display: block;
}
.CustomButton-bordered {
    padding: 16.5px 27.5px;
    text-transform: uppercase;
    color: #fff;
    transition: .3s ease;
    position: relative;
    border-radius: 33px;
}
.CustomButton, .menu a, b{
    font-size: 14px;
    font-weight: 700;
    font-stretch: normal;
    font-style: normal;
    line-height: 20px;
    letter-spacing: normal;
    text-align: left;
    text-decoration: none;
    transition: .3s ease;
}

.CustomButton-bordered::before, .CustomButton-bordered-contact::before{
    width: 100%;
    content: "";
    position: absolute;
    inset: 0;
    padding: 0.8px 1.6px;
    border-radius: 33px;
    background: linear-gradient(to right,#90298d,#ec4067);
    -webkit-mask: linear-gradient(#ffffff 0 0) content-box,linear-gradient(#ffffff 0 0);
    mask: linear-gradient(#ffffff 0 0) content-box,linear-gradient(#ffffff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
}
:after, :before {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.CustomButton-bordered svg, .CustomButton-bordered-contact svg {
    margin-left: 8px;
    transition: transform 0.3s ease-in-out;
}

.CustomButton-bordered:hover svg, .CustomButton-bordered-contact:hover svg  {
    transform: rotate(45deg);
}
.menu {
    flex: 1; /* Distribuir el espacio disponible igualmente entre .menu y .CustomHeader-cta */
}

.menu a{
    color: #fff;
    margin-right: 30px;
}
.menu > a:hover{
    color: #ec4067;
}
.CustomHeader-cta  > a:hover{
    background: linear-gradient(to right,#90298d,#ec4067);
}

.logo img{
    width: 80px;
  }
  .containerTextos {
    display: flex;
    flex-direction: row;
    align-items: center;
}
header .textos-header{
    display: flex;
    height: 370px;
    width: 100%;
    align-items: flex-start;
    justify-content: center;
    flex-direction: column;
    text-align: center;
    line-height: 4em; /* Ajusta el interlineado a 1.2 veces el tamaño de fuente actual en em */
}
.textos-header{
    padding-top: 170px;
}

.textos-header h1, h2{
    color:#fff;
    margin-left: 60px;
}
.textos-header h1{
    font-size: 70px;
}
.textos-header h2{
    font-size: 60px;
    width: 80%;
}
.columna-vertical {
    flex: 1;
    text-align: center;
}

.columna-horizontal {
    flex: 1;
    text-align: start;
}

/* Establecer el color del texto y el borde */
.text-with-border {
    font-size: 70px;
    color: transparent; /* Color del relleno del texto (rojo en este caso) */
    -webkit-text-stroke: 2px #ffffff; /* Color y grosor del borde (verde en este caso) */
    text-stroke: 2px #ffffff; /* Color y grosor del borde (verde en este caso) */
    margin-left: 60px;
}
.texto-vertical {
    display: inline-block; /* Hace que el contenedor sea del tamaño del contenido */
    transform: rotate(-90deg); /* Rota el contenido 90 grados en sentido contrario a las manecillas del reloj */
    transform-origin: left bottom; /* Establece el punto de rotación en la esquina inferior izquierda */
    white-space: nowrap; /* Evita que el texto se divida en múltiples líneas */
    font-size: 12px; /* Tamaño de fuente opcional */
    color:#fff;
    margin: 25px 75px;
    position: absolute;
    font-family: 'Archivo', sans-serif;
    letter-spacing: 5px; /* Ajusta el espaciado entre letras según tu preferencia */
}

.pHeader{
    color:#fff;
    font-family: 'Archivo Narrow';
    font-size: 20px;
    font-stretch: normal;
    font-style: normal;
    line-height: 20px;
    letter-spacing: normal;
    text-align: left;
    text-decoration: none;
    transition: .3s ease;
    margin: 10px 60px 20px;
    width: 50%;
}
.pHeaderButton{
    display: flex;
    align-items: center;
    margin: 20px 0 0 50px;
}

.puntoCuadrado{
    display: flex;
    align-items: flex-end;
}
.cuadrado {
    width: 20px;
    height: 20px;
    background-color: purple;
    margin: 7px;
}

.titleHeader h1 {
    width: 60%!important;
    font-size: 40px;
    line-height: 1; /* Ajusta el espaciado entre líneas según tu preferencia */
}
.titleHeader h2{
    margin-bottom: 80px;
}

.space{
    height: 80px;
}

/* About us */
main .sobre-nosotros{
    padding: 80px 0 60px 0;
    text-align: center; /* Centra horizontalmente el contenido */
    width: 100%;
    height: auto;
    background-size: cover;
    background: #fff;
    background-attachment: fixed;
}

.sobre-nosotros h1{

    font-family: 'Archivo', sans-serif;
    text-transform: uppercase;
    font-size: 14px;
    font-weight: 300;
    line-height: 1.5;
    letter-spacing: .5px;
    margin-bottom: 50px;
    color: #081438;
}

.contenedor.sobre-nosotros svg{
    display: block; /* Asegura que el SVG sea un elemento de bloque */
    margin: 0 auto; /* Establece margen automático izquierdo y derecho para centrar horizontalmente */
}
.contenedor-sobre-nosotros{
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 90%;
    margin: auto;
}

.titulo {
    font-family: 'Archivo', sans-serif;
    font-size: 48px;
    text-align: center;
    color: #081438;
}
.imagen-about-us{
    flex: 1;
    width: 48%;
}
.video-website {
    width: 30%; 
    height: auto; 
    border-radius: 15px;
  }  

.contenido-textos{
    
    flex: 1;
    padding: 10px; /* Añade espaciado si lo deseas */
    width:50%;
}

.contenido-textos h3{
    font-family: 'Archivo', sans-serif;
    font-size: 36px;
    margin: 14px 0 30px 14px;
    text-align: start;
    color: #081438;
}

.contenido-textos p{
    font-family: 'Archivo', sans-serif;
    font-size: 20px;
    padding: 0px 0px 30px 15px;
    font-weight: 300;
    text-align: start;
    color: #081438;
}
.contenido-textos a {
    font-family: 'Archivo', sans-serif;
    font-weight: 700;
    font-size: 16px;
    margin: 14px 0 30px 14px;
    text-align: start;
    color: #081438;
    text-transform: uppercase;
    text-decoration: none;
    display: flex; /* Utiliza flexbox para alinear elementos en la misma línea */
    align-items: center; /* Alinea verticalmente los elementos */
}
.contenido-textos a svg {
    margin-left: 10px!important;
    transition: transform 0.3s ease-in-out; 
}

.contenido-textos:hover svg {
    transform: rotate(45deg);
}

/* Estilo para la línea divisoria */
.divider {
    width: 90%;
    height: 1px; /* Grosor de la línea */
    background-color: #081438   ; /* Color de la línea */
    margin: 0 auto; /* Centrar la línea horizontalmente */
}


/* Contacto*/

.gradient{
    background: linear-gradient(to top, rgba(0, 10, 64, 0.97), rgba(0, 10, 64, 0.97), rgba(0, 10, 64, 0.445));
}
.container-contact-box {
    display: flex;
    justify-content: center;
    align-items: center;
    height: auto; 
    /* background: linear-gradient(to top, rgba(0, 10, 64, 0.97), transparent); */
    padding: 60px 0 30px 0;
    margin: auto;
    overflow: hidden;
}
    .contact-box {
        width: 60%;
        height: 350px;
        padding: 60px;
        background-color: #fff;
        display: flex;
        border-radius: 10px;
        box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
        text-align: center;
        flex-direction: column;
        align-items: center;
        margin-bottom: 100px;
        justify-content: space-around;
    }
    .contact-box label{
        text-align: start;

    }
    
    .contact-box h2 {
        font-size: 31px;
        margin-bottom: 25px;
        font-family: 'Archivo', sans-serif;
        color: #010b40;
        margin-left: 0!important;
    }
    
    .row-form{
        width: 95%;
    }
    .form {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
    }
    
    .input-group {
        display: flex;
        flex-direction: column;
        margin: 10px;
        width: 250px;
        font-family: 'Archivo Narrow';
    }
    
    .input-group label {
        margin-bottom: 5px;
    }
    
    .form input {
        padding: 10px;
        border: 1px solid #ccc;
        border-radius: 5px;
        flex: 1; 
    }
    
    .Customcontact-cta > a {
        display: inline-flex!important;
        background: linear-gradient(to right,#90298d,#ec4067);
        width: 520px;
        align-items: center;
        justify-content: center;
}

.Customcontact-cta > a:hover {
    background: #fff;
    color: #081438;

}

.Customcontact-cta > button {
    display: inline-flex!important;
    background: linear-gradient(to right,#90298d,#ec4067);
    width: 520px;
    align-items: center;
    justify-content: center;
    border: 0;
    cursor: pointer;
}

.Customcontact-cta > button:hover {
background: #fff;
color: #081438;

}

.CustomButton-contact:hover .svg1 path{
    fill: #081438 !important;
}

.CustomButton-bordered-contact {
    padding: 16.5px 27.5px;
    text-transform: uppercase;
    color: #fff;
    transition: .3s ease;
    position: relative;
    border-radius: 33px;
}

.CustomButton-contact svg{
    margin-left: 5px;
}

/* footer */
footer {
    /* background-color: #000A40; */
    color: #fff;
    padding: 20px 0;
}

.footer-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px 50px;
    border-bottom: 0.5px solid #222b66;
}

.logo img {
    width: 80px; 
}

.logo p {
    font-size: 14px;
    margin-top: 5px;
    font-family: 'Archivo Narrow';
}

.footer-links {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.servicos, .siga-nos {
    text-align: start;
    margin: 0 15px;
}

.servicos ul, .siga-nos ul {
    list-style: none;
    padding: 0;
    font-family: 'Archivo Narrow';
}

.servicos ul li, .siga-nos ul li {
    margin-bottom: 5px;
}
.servicos ul li a, .siga-nos ul li a {
    text-decoration: none;
    color: #fff; 
}

.servicos ul li a:hover, .siga-nos ul li a:hover{
    color: #ec4067;
}

.servicos h3, .siga-nos h3 {
    font-size: 16px;
}
.titulo-final{
    text-align: center;
    margin: 20px 0 0 0;
    color: #9e9797;
    font-family: 'Archivo', sans-serif;
    font-size: 12px;
    font-weight: 300;
}

.ml-form-successContent p {
        font-family: 'Archivo', sans-serif;
        font-size: 20px;
        font-weight: 300;
        text-align: start;
        color: #081438;
    }

    .ml-form-successContent h2 {

        text-align: center;
    }

      .ml-error input, .ml-error textarea, .ml-error select {
        border-color: red!important;
      }

      .ml-error .custom-checkbox-radio-list {
        border: 1px solid red !important;
        border-radius: 4px;
        padding: 10px;
      }

      .ml-error .label-description,
      .ml-error .label-description p,
      .ml-error .label-description p a,
      .ml-error label:first-child {
        color: #ff0000 !important;
      }

      #mlb2-9670388.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-checkboxRow.ml-error .label-description p,
      #mlb2-9670388.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-checkboxRow.ml-error .label-description p:first-letter {
        color: #ff0000 !important;
      }


@media screen and (max-width: 1023px) {


    .menuIconToggle{
        display: block;
    }
    .menu, .noResponsive,.columna-vertical{
        display: none!important;
    }

    .CustomHeader-cta {
        margin-right: 50px;
    }
    .logo img{
        width: 60px;
    }
    .CustomButton, .menu a{
        font-size: 12px;
    }
    nav{
       padding: 10px 40px;
    }
    .botonResponsive{
        display: block;
        right: 50px;
    }
    header .textos-header {
        height: 300px;
        line-height: 2.5em;
    }
    .textos-header h1, .text-with-border {
        font-size: 40px;
        margin-left: 25px;
        color: #fff;
        -webkit-text-stroke: 0px transparent;
        text-stroke: 0px transparent;
    }
    .textos-header h2 {
        font-size: 30px;
    }
    .titleHeader h2{
        margin-left: 25px;
    }
    .cuadrado {
        width: 10px;
        height: 10px;
    }
    .pHeader {
        font-size: 16px;
        margin: 10px 0 20px 25px;
        width: 70%;
    }
    .pHeaderButton {
        align-items: center;
        justify-content: center;
        margin: 80px 20px;
    }
    .CustomHeader-ctaResponsive{
        margin: 0!important;
        backdrop-filter: blur(3px);

    }
    
    .contact-box {
        width: 90%;
        height: 325px;
        padding: 20px;
        margin: 50px 0;
    }
    .contact-box h2 {
        font-size: 20px;
        margin: 0px;
        text-align: center;
    }
    .form {
        display: flex;
        flex-direction: row;
        align-items: center;
    }

    .Customcontact-cta > a {
        width: 500px;
    }



}
@media screen and (max-width:700px){

.form {
    flex-direction: column;
}
.Customcontact-cta > a, .Customcontact-cta > button {
    width: 250px;
}
}

@media screen and (max-width:500px){

    nav{
        padding: 10px 20px;
     }
     .menuIconToggle {
        right: 20px;
     }

     .textos-header h1, .text-with-border {
        font-size: 30px;
     }

     .textos-header h2 {
        font-size: 30px;
        margin-left: 25px;
        line-height: 1.1em;
    }

    main .sobre-nosotros {
        padding: 40px 0 60px 0;
    }    
    .titulo {
        font-size: 30px;
        margin: 15px;
    }
     .contenedor-sobre-nosotros {
        flex-direction: column;
        width: 100%;
    }
    .imagen-about-us, .video-website{
        width: 90%;
    }
    .contenido-textos h3 {
        font-size: 28px;
        margin: 13px 0 30px;
    }        
    .contenido-textos p {
        font-size: 20px;
        padding: 0px 0px 30px;
    }
    .contenido-textos a{
        margin: 14px 0 30px;
    }
    .space {
        height: 40px;
    }
    .contenido-textos {
        flex: 1;
        padding: 10px;
        width: 90%;
    }

    .logo p {
        font-size: 10px;
        width: 80%;
    }
    .servicos, .siga-nos {
        margin: 0 5px;
    }    
    .servicos h3, .siga-nos h3 {
        font-size: 12px;
        margin-bottom: 10px;
    }
    .servicos ul li, .siga-nos ul li {
        font-size: 12px;
        line-height: 1em;
    }

}
