@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');

:root{
    --gold1:#F4BD76;
    --gold2:#F6CD8F;
    --gray:#ffffff80;
    --gray2:#f7d9d990;
    --black1: #1A1B1F;
    --black2: #30353B;
    --shadow: 0 8px 8px;
    --color_shadow: #00000033;
}

*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body{
    font-family: "Roboto", sans-serif;
}

.container{  /* Estos son los estilos o formato de la pagina en general*/
    width: 90%;
    max-width: 1400px;
    margin: 0 auto;
    overflow: hidden;
    padding: 100px 0;
    height: auto;
}


                                                    /* HEADER */


.hero{ /* Formato de la primera pagina, header */
    width: 100%;
    min-height: 100vh;
    background: linear-gradient(180deg, var(--black2) 0%, var(--black1) 100%);
}

.nav__hero { /* Formato del top menu de navegacion */
    color: #fff;
    height: 70px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.nav__container{ /* El primer div del menu de navegacion (formatea las opciones)*/
    display: flex;  /* Es necesario para desencadenar las demas lineas*/
    align-items: center; /* los centra verticalmente */
    justify-content: space-between; /* se ponen a los costados */
    height: inherit;
    padding: 0; /* elimina el padding de la clase .container (padding: 100px 0;)*/
}

.logo__name { /* Razon social */
    font-size: 24px;
}

.link{ /* menu de opciones*/
    display: inline-block;
    color: inherit;
    text-decoration: none;
    font-weight: 300;
    padding: 10px;
}

.link--active{ /* texto activo en el menu*/
    color: var(--gold1);
    font-weight: 700;
}

.point{ /* es el punto que aparece dentro de un span despues de cada h2 */
    color:var(--gold1) ;
}

.hero__main{ /* es la parte de textos */
    height: calc(100vh - 70px);
    display: flex;
    justify-content: space-between;
    align-items: center; /* los centra verticalmente */
    padding: 0;
}

.mockup{ /* imagen de la pagina princiapl */
    object-fit: cover;
    width: 48%;
    max-height: 90vh;
    border-radius: 20px;
}

.hero__textos{
    width: 48%;
}

.title{  /* titulo pagina principal*/
    font-size: 56px;
    font-weight: 300;
    color: #fff;
}

.title--active{ /* Segundo texto pagina principal*/
    color: var(--gold1);
    font-weight: 700;
}

.copy{ /* Segundo parrafo pagina principal */
    font-size: 24px;
    color: var(--gray);
    text-shadow: var(--shadow) var(--color_shadow);
    margin: 15px 0;
}

.copy__active{ 
    font-weight: 700;
}

.cta{ /* Enlace o boton de pagina principal donde se aplicara el MODAL*/
    padding: 20px 30px;
    display: inline-block;
    background: linear-gradient(180deg, #F7CE90 0%, #F4BD76 100%);
    text-decoration: none;
    color: var(--black2);
    font-weight: 700;
    box-shadow: var(--shadow) var(--color_shadow);
    border-radius: 6px;
}

                    /* MODAL */
.modal {
    border: none;
    border-radius: 16px;
    width: 90vw;
    max-width: 480px;
    background: white;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.28);
    margin: auto;

    opacity: 0;
    transform: scale(.5);
    transition-property: opacity, transform, display;
    transition-duration: .25s;
    transition-behavior: allow-discrete;
}

.modal::backdrop {
    background-color: rgba(0, 0, 0, 0.555);
}

.modal[open] {
    opacity: 1;
    transform: scale(1);
}

@starting-style{
    .modal[open] {
        opacity: 0;
        transform: scale(.5);
    }
}

.modal__header {
    padding: 1.5rem 1.5rem 0 1.5rem;
}


.modal__close {
    position: absolute;
    top: 1rem;
    left: 1rem;

    width: 32px;
    height: 32px;
    border-radius: 50%;

    background: none;
    border: none;
    color: #717171;

    cursor: pointer;
    font-size: 1.2rem;
    font-weight: 300;

    display: flex;
    align-items: center;
    justify-content: center;

    transition: background-color 0.2s ease;
}

.modal__close:hover {
    background: #f7f7f7;
}

.modal__title {
    font-size: 1.25rem;
    font-weight: 600;
    color: #222;
    margin: 0;
    padding: 0 2rem;
    text-align: center;
}

.modal__content {
    padding: 1.5rem;
}

.modal__description {
    font-size: 0.95rem;
    color: #222;
    line-height: 1.6;
    margin-bottom: 1.5rem;
}


                                /* ACERCA DE NOSOTROS */

.services{
    background: #fafafa;
}

.subtitle{
    font-size: 42px;
}

/* aqui va la el modificador --modifier, en esta pagina no se usa */




.copy__section{
    color: var(--black2);
    font-size: 22px;
    line-height: 32px;
    margin-bottom: 60px;
}

/* aqui va la el modificador --modifier, en esta pagina no se usa */

                        /* TARJETAS DE MISION VISION VALORES*/

.container-cards{
    display: flex; /* los elementos se ponen en la misma linea */
    justify-content: space-between; /* se colocan a las esquinaS */
    align-items: center; /* los centra verticalmente */
    flex-wrap: wrap; /* en caso de no haber espacio disponible se van hacia abajo */
}

.card{  /* Este es el formato para la pagina 2 las cards*/
    width: 30%;
    padding: 30px 0;
    overflow: hidden;
    background: linear-gradient(180deg, var(--black2) 0%, var(--black1) 100%);
    border-radius: 10px;
    position: relative;
    /*text-align: right;*/
    margin-bottom: 60px;
    box-shadow: 0 0 6px var(--color_shadow);
}

.card__img{ /* Formato de cada card */
    width: 95%;
    height: 200px;
    object-fit: cover; /* ajusta una imagen o video para que llene su contenedor por completo, manteniendo su relación de aspecto original*/
    border-radius:10px 0 0 10px ;
}

.cards__text{ /* formato a los textos de la card */
    text-align: left;
    width: 95%;
    margin-left: auto;
    padding-right: 25px;
}

.card__list{ /* Titulo inspirador de cada card */
    color: var(--gold2);
    font-weight: 700;
    margin: 25px 0 12px;
    font-size: 18px;
}

.listas{
    margin: 0px 5px 0px 25px;
    color: #fff;
}

.card__title{ /* formato a los titulos de las cards Mision-Vision-Valores al ser h3 por defecto es font-weight: 700;*/
    font-size: 40px;
    color: #fff;
    margin-bottom: 8px;
}

.card__copy{ /* formato al texto o contenido de la card*/
    color: var(--gray2);
    margin-bottom: 16px;
    text-align: justify;
}
                    /* NUESTRA FILOSOFIA */
.card__button{ /* formato del boton de nuestra filosofia */
    display: block;
    background: linear-gradient(180deg, #F7CE90 0%, #F4BD76 100%);
    border-radius: 6px;
    text-decoration: none;
    width: 100%;
    color: var(--black1);
    font-weight: 700;
    text-align: center;
    padding: 12px 0;
    cursor: none;
}

.card__date{ /* formato a la frase Formacion global*/
    color: var(--gold2);
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 16px;
}

.container-bg{ /* formato al contenedor de nuestra filosofia */
    display: flex; /* uno a lado del otro*/
    justify-content: space-between; /* se van a las esquinas*/
    align-items: center; /* se centran verticalmente*/
    flex-wrap: wrap; /* si el espacio no es suficiente, se van a la otra fila*/
}

.background{ /*  formato a la imagen de nuestra filosofia */
    width: 68%;
    height: 290px;
    border-radius: 10px;
    position: relative; /* posiciona los textos en la imagen*/
    margin-bottom: 60px; /* esto separa una card de otra y las nivela, si es que la hubiese*/

}

.background__img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: inherit;
}

.background__text{ /* contenedor de los textos*/
    position: absolute; /*  se posiciona en su padre*/
    width: 100%;
    bottom: 30px; /* Empuja el texto arriba de la imagen */
    left: 15px; /* se empuja desde la derecha */
    color: #fff;
}

.background__title{
    font-size: 24px;
    margin-bottom: 4px;
}
                            /* ACTIVIDADES*/
.testimony{ 
    background: #fafafa; /* cambia el fondo de esta seccion*/
}

.testimony-container{ /* alinea las cards */
    display: flex; /* se coloca uno despues del otro*/
    justify-content: space-between; /* los situa en los extremos o esquinas */
    align-items: center; /* los centra verticalmente*/
    flex-wrap: wrap; /* si hay mas cards se alinean abajo*/
}

.testimony__card{ /* formato a las cards - estos cambios se reflejan cuando se aplique testimony__img*/
    width: 24%;
    height: 500px;
    background: linear-gradient(180deg, var(--black2) 0%, var(--black1) 100%);
    border-radius: 10px;
    position: relative; 
    margin-bottom: 30px;
}

.testimony__img{ /* formato a las imagenes de actividades */
    width: 100%;
    height: 100%;
    border-radius: inherit;
    object-fit: cover;
    object-position: center top;
}

.testimony__copy{ /* son los titulos o textos que se incrustan en las tarjetas*/
    position: absolute;
    bottom: 20px;
    left: 5%;
    width: 90%; /* estas lineas lo centran automaticamente*/
    background: linear-gradient(180deg, var(--black2) 0%, var(--black1) 100%);
    color: #fff;
    text-align: justify;
    margin: 0 auto;
    border-radius: 10px;
    box-shadow: var(--shadow) var(--color_shadow);
    padding: 15px 8px;
    display: flex;
    align-items: center;
}
.testimony__copy--modifier{
    background: none;
    box-shadow: none;
}

.testimony__logo{ /* modifico los iconos de las actividades*/
    font-size: 40px;
    margin-right: 15px;
    display: inline-block;
}

.testimony__name{ /* Los titulos de las actividades*/
    font-size: 24px;
    line-height: 28px;
}

.testimony__nane{ /* Los titulos de las actividades*/
    font-size: 18px;
    line-height: 28px;
}

.testimony__position{ /* el texto de las actividades*/
    color:var(--gray);
}

.testimony__text{
    padding: 40px 0;
    width: 90%;
    margin: 0 auto;
    color: #fff;
}

.google__logo{
    margin-bottom: 20px;
}

.testimony__history{
    font-size: 21px;
    font-weight: 300;
}

.testimony_info{
    width: 70%;
}

.logo--picture{ /* esta clase no se usa */
    width: 40px;
    height: 40px;
    object-fit: cover;
    border-radius: 50%;
    object-position: center top;
}

                            /* PORTAFOLIO*/
.contenedor{
    padding: 60px 0px;
    width: 90%;
    max-width: 1000px;
    margin: auto ;
    overflow: hidden;
}

.titulo{
   /* color: #642a73; */
   color: #000000;
    font-size: 30px;
    text-align: center;
    margin-bottom: 60px;
}

.portafolio{
   /* background: #f2f2f2; */
      background: #f2f2f2;
}

.galeria-port{
    display: flex;
    justify-content: space-evenly;
    flex-wrap: wrap;
}

.imagen-port{
    width: 24%;
    margin-bottom: 10px;   
    height: 300px; 
    overflow: hidden;
    position: relative;
    cursor: pointer;
    box-shadow: 0 0 6PX 0 rgba(0, 0, 0, .5);
}

.imagen-port > img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}


.hover-galery{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    /* transform: scale(0); */
    /* background: hsla(273,91%, 27%, 0.7); */
    background: hsla(220,97%, 50%, 0.7);
    transition: transform .5s;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.hover-galery img{
    width: 50px;   
}

.hover-galery p{
    color: #fff;
}

.imagen-port:hover .hover-galery{
    transform:scale(0);
}

                                    /* FOOTER */

.contact{   /* formato inicial a la plantilla de footer*/
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    color: #fff;
}                         

.item__contact{
    width: 25%;
    padding: 60px 0;
    text-align: center;
    background: linear-gradient(180deg, var(--black2) 0%, var(--black1) 100%);
}

.item__contact--gold{
    background: linear-gradient(180deg, #F7CE90 0%, #F4BD76 100%);
    color: var(--black1);
}

.contact__icon{ /* modifica el icono */
    font-size: 26px;
    color:var(--gold1);
    line-height: 20px;
    margin-right: 4px;
}

.contact__icon--modifier{
    color: var(--black1);
}

.contact__title{
    font-size: 16px;
    line-height: 20px;
}

/** Grid **/
.grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem; /** separacion entre lineas y columnas **/
}
@media (min-width: 768px) {
    .grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/** Formatos **/ 
.formato {
    background-color: #f2f2f2;
    padding: 1rem;
}

.formato__imagen {
    width: 100%;
}

.formato__nombre {
    font-family: var(--fuentePrincipal);    
    margin: 1rem 0;
    text-align: center;
}

@media screen and (max-width:900px){
    .mockup{
        width:450px; /* original 600px*/
        height: auto;
    }

    .title{
        font-size: 50px;
    }

    .copy{
        font-size: 22px;
    }

    .cta{
        padding: 15px 22px;
    }

    .container-cards{
        justify-content: space-evenly;
    }

    .services .card{
        width: 45%;
    }

    .background{
        width: 52%;
    }

    .card{
        width: 42%;
    }

    .testimony-container{
        justify-content: space-evenly;
    }

    .testimony__card{
        width: 45%;
    }

    /* GALERIA*/
        .imagen-port{
        width: 44%;
    }
}

@media screen and (max-width:700px) {
    main .container,
    footer .container{
        padding: 60px 0;
    }

    .nav__container{
        flex-wrap: wrap;
        flex-direction: column;
        justify-content: space-evenly;
    }

    .nav__hero{
        height: auto;
    }

    .logo{
        padding: 15px 0;
        text-align: center;
    }

    .links{
        padding-bottom: 10px;
        text-align: center;
    }

    .link{  
        padding: 7px 10px;
    }

    .hero__main{
        flex-direction: column-reverse; /* hace que se ponga primero la imagen*/
        justify-content: flex-end; /* se ponen al inicio*/
        height: auto;
        padding: 30px 0;
    }

    .hero__textos{
        width: 100%;
        text-align: center;
    }

    .mockup{
        width: 60%;
        margin-bottom: 20px;
    }

    .title{ 
        font-size: 35px;
    }

    .copy{
        font-size: 20px;
    }

            /* ACERCA DE NOSOTROS */

    .subtitle{
        font-size: 35px;
        text-align: center;
    }

    .copy__section{
        font-size: 20px;
        text-align: center;
    }

    .services .card{
        width: 80%;
    }

    .container-bg{
        justify-content: space-evenly;
    }

    .card{
        margin-bottom: 40px;
        width: 65%;
    }

    .card__title{
        font-size: 35px;
    }

    .card__button{
        width: 100%;
    }

    .background{
        width: 65%;
        margin-bottom: 40px;
    }

    .background__copy{
        display: none;
    }

                                     /* ACTIVIDADES */

    .testimony__card{
        width: 65%;
    }  
    
    .testimony__name{
        font-size: 20px;
    }

                                    /* FOOTER */

    .item__contact{
        width: 100%;
        padding: 30px 0;
    }                                    
}

@media screen and (max-width:500px) {
    .mockup{
        width: 80%;
        margin-bottom: 15px;
    }

    .services .card{
        width: 95%;
    }

    .card{ 
        width: 95%;
    }

    .background{
        width: 95%;
    }

    .testimony__card{
        width: 95%;
    }

    .testimony__history{
        font-size: 20px;
    }    

    .testimony__nane{ /* Los titulos de las actividades*/
    font-size: 14px;
    }

    .container--modifier{
        width: 90%;
    }

        /* GALERIA*/
    .imagen-port{
        width: 95%;
    }
}
