* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    list-style: none;
    scroll-behavior: smooth;
    text-decoration: none;
}

:root {
    --purple-color: #fd04dc;
    --darkGrey-color: rgb(158, 156, 156);
    --ligthGrey-color: rgb(235, 232, 232);
    --lightBrown-color: rgb(247, 178, 88);
}

body {
    background: #1f1a1f;

}


.container {
    display: flex;
    flex-direction: column;
    text-align: center;
    gap: 100px;
    width: 100%;
    margin: auto;
    padding:0px 10px 40px 10px;
    max-width: 1100px;
    
    color: var(--darkGrey-color);
    font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
}

header {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 25px 10px;
}

#logo {
    width: 50%;
    max-width: 90px;
}

nav {
    width: 60%;
    max-width: 600px;
    font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
    display: flex;
    justify-content: space-around;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
}

.header_a {
    text-decoration: none;
    color: var(--darkGrey-color);
    position: relative;
}

.header_a::after {
    content: '';
    position: absolute;
    width: 0;
    height: 1px;
    background-color: var(--purple-color);
    bottom: -4px;
    right: 0;
    transition: .3s;

}

.header_a:hover::after {
    width: 100%;
    right: inherit;
    left: 0;
    box-shadow: 0px 0px 2px 2px var(--purple-color);
}

.header_a:hover {
    color: var(--ligthGrey-color);
}

.btn {
    color: black;
    margin: auto;
    background-color: var(--purple-color);
    border-radius: 7px;
    box-shadow: 0px 0px 2px 2px var(--purple-color);
    padding: 10px;
    cursor: pointer;
    transition: .3s;
}
.btn_languaje{
    width: 20px;
    border: none;
    outline: none;
    background: transparent;
    cursor: pointer;

}
.btn_languaje img{
    width: 100%;
    aspect-ratio: 1;
}
.btn:hover {
    box-shadow: 0px 0px 5px 5px var(--purple-color);
}



.download {
    color: var(--purple-color);
    font-size: 13px;
    margin-right: 10px;
    transition: .3s;
}

.download:hover {
    color: var(--lightBrown-color);
}

.typing {
    position: relative;
    margin: 0 auto;
    width: 0ch;
    font-family: monospace;
    font-size: 4em;
    white-space: nowrap;
    overflow: hidden;
    animation: typing 2s steps(30) forwards;
}

.t2 {
    animation: typing2 2s steps(30) forwards;
}

.typing::after {
    position: absolute;
    content: '';
    right: 0;
    width: 2px;
    height: 100%;
    background-color: grey;
    animation: showing 0.8s ease infinite alternate-reverse;
}

@keyframes typing {
    to {
        width: 9ch;
    }
}

@keyframes typing2 {
    to {
        width: 13ch;
    }
}

@keyframes showing {
    to {
        opacity: 0;
    }
}


/* ABOUT ME */
.caja_grid {
    padding: 30px;
    margin-top: 20px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 80px;

}

.destacar {
    color: var(--purple-color);
}


.div_info {
    width: 100%;
    max-width: 700px;
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin: auto;

}

.div_info h2 {
    font-size: 2em;
}

.div_info h3 {
    font-size: 2em;
    font-family: 'caveat', 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;
}

.div_img {
    background: radial-gradient(black 15%, var(--purple-color) 35%, transparent 50%);
    height: 300px;
    width: 100%;
    max-width: 300px;
    margin: auto;
    position: relative;
    top: 0;
}

.div_img img {
    display: block;
    width: 60%;
    height: 100%;
    position: absolute;
    left: 20%;
    object-fit: contain;
    aspect-ratio: 1;

}

.circulo1 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-bottom: 7px solid var(--purple-color);
    border-right: 7px solid var(--purple-color);

    border-radius: 100%;
    animation: rotate1 15s ease infinite;
}

.circulo2 {
    position: absolute;
    top: 10%;
    left: 10%;
    width: 80%;
    height: 80%;
    border-top: 7px solid var(--purple-color);
    border-left: 7px solid var(--purple-color);
    border-radius: 100%;
    animation: rotate2 15s ease infinite;
}

@keyframes rotate1 {
    to {
        transform: rotate(360deg);
    }
}

@keyframes rotate2 {
    to {
        transform: rotate(-360deg);
    }
}

/* LENGUAJES */
.caja_flex {
    display: flex;
    justify-content: space-around;
    gap: 20px;
    flex-wrap: wrap;
    padding: 40px;
}

.leng {
    border: 1px solid grey;
    border-radius: 6px;
    padding: 10px 10px 30px 10px;
    width: 100%;
    max-width: 100px;
    margin: auto;
    overflow: hidden;
    position: relative;
    opacity: 0;
    transform: translateX(70px);
    transition: all 1.5s ease;
}

.left {
    transform: translateX(-70px);
}

.leng.visible {
    opacity: 1;
    transform: translateX(0);
}


.leng::after {
    position: absolute;
    width: 100px;
    content: attr(data-leng);
    bottom: -50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: .3s;
}

.img_leng {
    width: 70%;
    filter: invert(60%) sepia(10%);
}



.leng:hover::after {
    bottom: 1%;
}

.leng i {
    font-size: 60px;
    transition: .3s;
}

.leng:hover i {
    color: var(--purple-color);
}

.leng:hover .img_leng {
    filter: invert(39%) sepia(102%) saturate(660%) hue-rotate(288deg) brightness(100%) contrast(209%);

}

/* MIS PROYECTOS */
.li_caja {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 10px;
    gap: 7px;
    border-radius: 7px;
    max-width: 350px;
    box-shadow: 0px 0px 8px 3px rgb(11, 11, 11);
}

.li_caja h3 {
    color: var(--lightBrown-color);
}

.li_caja p {
    text-align: left;
    font-size: 14px;
}

.video {
    width: 80%;
    border-radius: 6px;
}

.ul_lengs {
    display: flex;
    gap: 10px;
}

.ul_lengs li {
    width: 20px;
}

.ul_lengs li img {
    width: 100%;
}

.jquery {
    filter: invert(51%) sepia(94%) saturate(406%) hue-rotate(160deg) brightness(96%) contrast(87%);
}


.destacar2 {
    color: var(--lightBrown-color);
}
.enlace_descarga {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 13px;
    margin-top: auto;
    flex-wrap: wrap;
}


/* ESTUDIOS */
.ul_studies {
    padding: 7px;
    width: 100%;
    max-width: 700px;
    display: flex;
    flex-direction: column;
    gap: 60px;
    margin: auto;
    text-align: left;
}

.caja_studies {
    display: flex;
    height: 190px;
    gap: 30px;
}

.caja_studies h3 {
    color: var(--lightBrown-color);
}

.caja_studies i {
    color: var(--purple-color);
    font-size: 20px;
}

.caja_studies p {
    font-weight: 700;
}

.caja_studies li {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.icon {
    position: relative;
}

.icon::after {
    position: absolute;
    content: '';
    top: 19px;
    left: 8px;
    width: 2px;
    height: 236px;
    background-color: var(--purple-color);

}

/* CONTÁCTAME */
.padre {
    width: 100%;
    max-width: 700px;
    margin: 20px auto;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    overflow: hidden;

}

.efecto_gradient {
    position: absolute;
    width: 900px;
    height: 900px;
    background: linear-gradient(var(--purple-color), #1f1a1f 75%);
    animation: move2 20s infinite both;
}


form {
    display: grid;
    grid-template-columns: auto auto;
    width: 100%;
    background-color: #1f1a1f;
    padding: 25px 15px;
    border: 3px solid transparent;
    background-clip: padding-box;
    z-index: 2;
}

.form_left {
    display: flex;
    flex-direction: column;
    gap: 30px;
    min-width: 400px;
}

.form_right p {
    font-family: 'caveat', Arial, Helvetica, sans-serif;
    font-size: 60px;
    transform: rotate(-20deg);

}

.form_left div {
    width: 100%;
    margin: auto;
    max-width: 400px;
    position: relative;
}

textarea {

    width: 400px;
    height: 200px;
    resize: none;
}

.style {
    outline: none;
    color: white;
    width: 100%;
    padding: 10px;
    border-radius: 7px;
    border: none;
    background-color: transparent;
    box-shadow: 0px 0px 10px 3px rgb(18, 17, 17);
    caret-color: var(--purple-color);
}

form label {
    text-align: left;
    position: absolute;
    left: 7px;
    top: 0;
    transition: .3s;
}

.style:focus~label,
.style:valid~label {
    top: -20px;
    color: var(--purple-color);
}

#telefono::-webkit-outer-spin-button,
#telefono::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.btn_enviar {
    width: 150px;
    margin-top: 10%;
    background-color: var(--purple-color);
    padding: 7px 0px;
    border: none;
    outline: none;
    border-radius: 7px;
    font-family: Verdana, Geneva, Tahoma, sans-serif;
    font-size: 20px;
    cursor: pointer;
    transition: 0.3s;

}

.btn_enviar:hover {
    box-shadow: 0px 0px 2px 2px var(--purple-color);
}

@keyframes move2 {
    to {
        transform: rotate(360deg);
    }
}






/* MEDIA QUERIES */
@media (max-width:1100px) {
    #logo {
        width: 50px;
    }

    .caja_grid {
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    }

    .li_caja {
        margin: auto;
    }

    nav {
        width: 100%;
    }

    form {
        grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
    }
.form_left{
    min-width: none;
}
    .form_left div {

        max-width: 600px;
    }

    .btn_enviar {
        margin: 0px;
    }
}