@import url('https://fonts.googleapis.com/css2?family=Raleway:wght@0,300;400;700&display=swap');
:root{
    /*
    --background: linear-gradient(135deg, #667eea7e 0%, #764ba298 100%);
    --color-primary:#667eea;
    --color-secondary:#764ba2;
    */
    --background: linear-gradient(135deg, #3c408a7e 0%, #33afe398 100%);
    --color-primary:#3c408a;
    --color-secondary:#33afe3;
    --boton-padding:20px 40px;
}

body{
    font-family: "Raleway", sans-serif;
}

.container{
    width:90%;
    margin:0 auto;
    overflow:hidden;
    padding:80px 0;
    max-width:1200px;
}

.subtitle{
  color: var(--color-primary);
  font-size:2.5rem;
  margin-bottom:35px;
}

.hero{
    height:100vh;
    background-image: var(--background), url('../assets/img_principal.jpg');
    background-repeat:no-repeat;
    background-size:cover;
    background-attachment:fixed;
    background-position:center;
    background-position:relative;
}

.hero .container{
    padding:0;
}
.nav{
    position:fixed;
    width:100%;
    z-index: 100;
}

.nav{
   display:flex;
   justify-content:flex-end;
   height:70px;
   align-items:center;
   font-weight:700;
   background:var(--color-primary);
}



.nav--footer{
    font-weight:300;
    justify-content:flex-start;
}


/**/
.nav__items{
   color:#fff;
   text-decoration:none;
   margin-right:20px;
   padding: 10px 15px;
   font-weight:inherit;
}

nav a:hover {
  border-bottom: 2px solid #cecece;
  transition: 0.3s;
}

nav .active {
    color:crimson;
    border-bottom: 2px solid  #F0C40B;
}

.nav__items--footer{
    padding:10px;
}

.hero__container{
    display:flex;
    height:calc(100vh - 70px);
    align-items:center;
    color:#fff;
}

.hero__texts{
    width:80%;
    margin-bottom:50px;
}

.hero__title{
    font-size:3.2rem;
}

.hero__subtitle{
    font-size:2rem;
    font-weight:300;
    margin:15px 0;
}

.hero__cta{
    display:inline-block;
    background:#fff;
    margin-top:20px;
    padding: var(--boton-padding);
    color: var(--color-primary);
    text-decoration:none;
    border-radius:40px;
}

.hero__wave{
    position:absolute;
    bottom:0;
    left:0;
    width:100%;
    height:100px;
}

/* ----- About -----  */
.presentation{
    padding:0;
    text-align:center;
    /* border: 1px solid #000;*/
}

.presentation__picture{
   width:154px;
   height:174px;
   /*border-radius:50%;*/
   margin-bottom:10px;
   object-fit:cover;
   object-position:top;
}

.presentation__copy{
    width:80%;
    margin: 0 auto;
}

.presentation__cta{
    display:inline-block;
    margin-top:30px;
    background:var(--color-primary);
    color:#fff;
    text-decoration:none;
    padding: var(--boton-padding);
    border-radius:40px;
}

.about{
    min-height:400px;
    display:grid;
    grid-template-columns: 1fr 1fr;
    row-gap:80px;
    justify-items: center;
    align-items:center;
}

.about__img{
    text-align:center;
}

.about__img--left{
    text-align:left;
}

.about__picture{
    max-width:80%;
}

.about__paragraph{
    margin-bottom: 20px;
    line-height:1.5;
    font-weight: 300;
    text-align: justify;
}

/* ----- Projects ----- */

.projects{
    background:#f2f2f2;
}


.projects__grid{
    display:grid;
    height:550px;
    grid-template-areas:
    "img1 img2 "
    "img3 img4";
    gap:10px;
}

.projects__item{
    position:relative;
    width:100%;
    height:100%;
    overflow:hidden;/*  */
}

.projects__img{
    width:100%;
    height:100%;
    object-fit:cover;
    cursor:pointer;
}

.projects__item:nth-of-type(1){
    grid-area:img1;
}

.projects__item:nth-of-type(2){
    grid-area:img2;
}

.projects__item:nth-of-type(3){
    grid-area:img3;
}

.projects__item:nth-of-type(4){
    grid-area:img4;
}


.projects__hover{
    position:absolute;
    background:#333333;
    opacity: .4;
    top: 0;
    left: 0;
    width:100%;
    height:100%;
    color:#fff;
    text-align: center;
    display: flex;
    flex-direction:column;
    justify-content:center;
    transform:translatex(100%);
    cursor:pointer;
    transition:transform .3s ease-in-out;
}

.projects__item:hover .projects__hover{
    transform:translatex(0%);
}


.projects__icon{
    margin:top;
    font-size:30px;
}

/*----- Testimonio -----*/

.testimony__grid{
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

.testimony__item{
    width:95%;
    margin: 0 auto;
    background: var(--color-secondary);
    box-shadow:0 8px 10px rgb(66,66,66, .5);
    border-radius: 7px;
    padding:30px 25px;
    color:#fff;
    margin-bottom:50px;
}

.testimony__person{
    display:flex;
    align-items:center;
    margin-bottom:20px;
}

.testimony__img{
    width: 100px;
    min-width: 100px;
    height:100px;
    object-fit:cover;
    object-position:top;
    border-radius:50%;
    border: 3px solid #fff;
    margin-right:30px;
}


.testimony__name{
    font-size: 1.5rem;
    margin-bottom:10px;
}

.testimony__verification{
    color:#E0AFA0;
    font-weight:700;
}


.testimony__review{
    font-weight:300;
}





/** Foooter **/

.footer {
    width: 100%;
    background-color: #ec3237;
}

.footer__content {
    padding: 10px 0;
    /*width: min(90%, 1200px);  #ec3237 */
    margin: 0 auto;
    overflow: hidden;
}

.footer__main {
    display: grid;
    gap: 1.5rem;
    justify-items: center;
}

.footer__links {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    text-align: center;
}

.footer__link {
    color: white;
    text-decoration: none;
}

.footer__link:hover {
    text-decoration: underline;
}

.footer__copy {
    justify-self: center;
    background-color: var(--color-primary);
    color: var(--color-secondary);
    font-weight: 500;
    padding: 4px;
    border-radius: 6px;
}

.footer__contact {
    max-width: 250px;
    display: grid;
    gap: 1.3rem;
    color: white;
    text-align: center;
}

.footer__newsletter {
    width: min(100%, 500px);
    padding: 2rem 1.5rem;
    /*background-color: #292A32;
    border-radius: 10px;*/
    display: grid;
    gap: 1rem;
    grid-template-rows: 48px 48px;
}

.footer__email {
    border: 1px solid #fff;
    border-radius: 6px;
    padding: 0 1.5rem;
    background-color: transparent;
    color: white;
}

.footer__email::placeholder {
    color: white;
}

.footer__submit {
    background-color: var(--color-primary);
    color: var(--color-secondary);
    border: none;
    border-radius: 6px;
}

.footer__social {
    display: grid;
    grid-auto-flow: column;
    gap: 1rem;
}

.footer__social-links {
    width: 36px;
    height: 36px;
    background-color: #fff;
    border-radius: 50%;

    display: flex;
    align-items: center;
    justify-content: center;
}

.footer__copyright {
    margin-top: 2rem;
    padding-top: 2rem;
    border-top: 2px solid #fff;
}

.footer__copyright-text {
    text-align: center;
    color: white;
}


@media (width >= 900px) {

    /** Foooter **/

    .footer {
        background-color: #fff;
    }

    .footer__content {
        /*border-radius: 30px 30px 0 0;*/
        background-color: #ec3237;

    }

    .footer__main {
        width: 90%;
        margin: 0 auto;
        grid-template-columns: 1fr 55% 1fr;
        grid-template-areas:
            "logo links media"
            "contact news news";
        justify-items: start;
    }

    .footer__links {
        grid-area: links;
        
        width: 100%;
        justify-content: center;
        flex-direction: row;
        flex-wrap: wrap;
    }

    .footer__copy {
        justify-self: start;
    }

    .footer__contact {
        grid-area: contact;

        text-align: left;
    }

    .footer__newsletter {
        grid-area: news;
        align-self: start;
        justify-self: end;
    }

    .footer__email {
        border: 1px solid #fff;
        border-radius: 6px;
        padding: 0 1.5rem;
        background-color: transparent;
        color: white;
    }

    .footer__email::placeholder {
        color: white;
    }

    .footer__submit {
        background-color: #B9FF66;
        color: black;
        border: none;
        border-radius: 6px;
    }

    .footer__social {
        grid-area: media;
        justify-self: end;
    }

    
    .footer__copyright {
        width: 90%;
        margin-left: auto;
        margin-right: auto;
    }


}










/*----- Footer ----- var(--color-primary)*/
/*
.footer{
    background: #ec3237;
}

.footer__grid{
    display:grid;
    grid-template-columns:3fr 2fr;
    gap:20px;
    align-items:center;
}

.footer__title{
    font-weight:400;
    color:#fff;
    font-size: 2rem;
    margin-bottom:30px;
    text-align: center;
}

.footer__icons{
    display:flex;
    justify-content:space-evenly;
}

.footer__container-icons{
    display:inline-block;
    width:60px;
    height:60px;
    color:#fff;
    text-align: center;
    border: 1px solid #fff;
    border-radius:50%;
}

.footer__icon{
    color: inherit;
    font-size:30px;
    text-decoration:none;
    
}

.fa-brands.footer__icon{
    line-height:60px;
}
*/













/*  RESPONSIVE DESING  */

@media screen and (max-width: 800px){
    :root{
      --boton-padding:18px 40px;
    }
    
    .nav{
        justify-content:space-around;
    }
    
    .nav__items--cta{
       border: none;
    }
    
    .nav__items{
        font-weight: 400;
        border-bottom: 1px solid #fff;
        margin: 0;
    }
    
    
    .nav__items--footer{
       border: none; 
    }
    
    .hero__texts{
        width: 100%;
        margin-bottom: 80px;
    }
    
    .hero__title{
        font-size: 2.5rem;
    }
    
    .hero__subtitle{
        font-size: 1.5rem;
    }
    
    
    /*  About  */
    
    .presentation__copy{
        width: 100%;
    }
    
    .about{
        grid-template-columns: 1fr;
    }
    
    .about.container{
        padding-top:30px;
    }
    
    .about__img--left{
        text-align: center;
    }
    
    .about__texts:last-child{
        grid-row: 3/4;
    }
    
    /*  My projects*/
    
    .projects__grid{
       grid-template-areas:
       "img1 img1 img2 img2"
       "img3 img3 img4 img4";
    }
    
    /*  Testimony */
    
    .testimony__grid{
        grid-template-columns: 1fr;
        gap: 30px
    }
    
    
    /*  Footer 
    
    .footer__grid{
        grid-template-columns: 1fr;
    }
    
    .footer__contact{
        grid-row: 1/2;
    }
    */
}




/*  RESPONSIVE DESING 500 */

@media screen and (max-width: 500px){
    :root{
      --boton-padding:18px 35px;
    }
    
    .subtitle{
        font-size: 2rem;
        margin-bottom: 20px;
    }
    
    .nav{
        flex-wrap:wrap;
        justify-content:space-evenly;
        margin-top:10px;
    }
    
    .nav__items{
        padding: 0 10px;
        border: 0;
    }
    
    .hero__texts{
        text-align: center;
        margin-bottom: 100px;
    }
    
    .hero__title{
        font-size: 2rem;
    }
    
    .hero__wave{
        bottom:-56px;
    }
    
    /*  about */
    
    .presentation__picture{
        width: 130px;
        height: 146px;
    }
    
    
    
    .about{
        row-gap: 60px;
    }
    
    .about.container{
        padding-top:10px;
    }
    
    /*  My projects */
    
    
    .projects__grid{
       grid-template-areas:
       "img1"
       "img2"
       "img3"
       "img4";
       height:auto;
       grid-template-rows: repeat(4, 250px);
       grid-auto-rows: 250px;
       gap: 10px;
    }
    
    /*  Testimony */
    
    
    .testimony__item{
        padding: 30px 15px;
    }
    
    .testimony__person{
        flex-direction: column;
    }
    
    .testimony__texts{
        text-align:center;
    }
    
    .testimony__img{
        margin: 0;
        margin-bottom:20px;
    }

}



/*  RESPONSIVE DESING 500 */

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

    
    .hero__wave{
        bottom:0;
    }
    
    /*  about */
    
    .presentation__picture{
        width: 130px;
        height: 146px;
    }
    
    
    
   

}







