/* variables */

:root {
    --header: rgb(255, 255, 255);
    --header_letras: #2c5c97;
    --header_letras_shadow: #013a3a;
    --header_letras_hover: #006464;
    --header_letras_active: #005252;
    --nav: #2c5c97;
    --nav_letras: #ffffff;
    --article: #1b5eca00;
    --footer: #2c5c97;
    --footer_letras: #ffffff;
    /* --body: rgba(0, 42, 97, 0.979); */
    --body: rgba(255, 255, 255, 0.979);
    --section: #ffffff;
    --section_letras: #2c5c97;
}

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

html {
    font-size: 2vh;
}


/*Estructura principal*/


/**header*/

header {
    height: 100vh;
    margin: 0.5vh;
    padding: 1vh;
    background-color: var(--header);
    /* text-align: center; */
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    color: var(--header_letras);
    border: 3px solid var(--header_letras);
    background: radial-gradient(#ffffff, #acc8e9, var(--header_letras));
}

#headercentral {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

#headercentral div {
    height: 4.3vh;
    display: flex;
    justify-content: center;
    align-items: center;
}

header a {
    text-decoration: none;
    color: var(--header_letras)
}

.textoHeader {
    animation-name: textoHeader;
    animation-duration: 3s;
    animation-fill-mode: forwards;
}

.laterales_header {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-items: center;
    height: 100%;
    padding-left: 2vw;
    padding-right: 2vw;
    animation-name: laterales_header;
    animation-duration: 3s;
    animation-fill-mode: forwards;
}

.collage {
    /**imagenes laterales de header*/
    width: 5vw;
}

nav {
    height: 10vh;
    margin: 0.5vh;
    padding: 1vh;
    background-color: var(--nav);
    text-align: center;
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 999;
}


/**nav*/

nav ul {
    display: flex;
    justify-content: space-around;
    align-items: center;
    height: 100%;
    list-style: none
}

nav a {
    text-decoration: none;
    color: var(--nav_letras)
}


/**dentro de contenedor*/

.contenedor {
    min-height: 100vh;
}

section {
    margin: 0.5vh;
    padding: 1vh;
    min-height: 89vh;
    background-color: var(--section);
    display: flex;
    flex-direction: column;
    align-items: center;
    color: var(--section_letras);
    border: 3px solid var(--section_letras);
}

article {
    margin: 0.5vh;
    padding: 1vh;
    background-color: var(--article);
}

#proyectosPP {
    display: block;
}

#preyectosPG {
    display: none;
}

.habilidades,
.proyectos,
.contacto {
    width: 90vw;
}

.proyectos,
.contacto,
.me {
    display: flex;
    align-items: center;
    flex-direction: column;
    width: 70vw;
}


/*********************************/


/**************************************************/

#meS {
    justify-content: center;
}

#imgme {
    /**imagen sobre mi*/
    display: none;
}

#monitorhtml_icon {
    /**esta dentro de #imgme*/
    width: 80%;
}

#habilidades,
#proyectos {
    display: flex;
    flex-direction: column;
}

#habilidades fieldset,
#proyectoS fieldset {
    list-style: none;
    width: 85vw;
    padding: 2vw;
    border: 3px solid var(--section_letras);
    position: relative;
}

.imghabilidades {
    /**miniatura en habilidades*/
    position: absolute;
    top: 0px;
    right: 0px;
    width: 10%;
    margin: 3%;
}

.proyectos {
    list-style: none;
    /* width: 85vw; */
    padding: 0;
    position: relative;
    /* border: 3px solid var(--section_letras); */
    /* background-color: #0d6de21a; */
}

.amodmob {
    text-decoration: none;
    color: var(--section_letras);
}


/*apartado para card giro en proyectos*/

.flip-card {
    background-color: transparent;
    /* width: 100%; */
    /* height: 100%; */
    perspective: 1000px;
    width: 70vw;
    position: relative;
}

.flip-card-inner {
    position: relative;
    width: 100%;
    /* height: 100%; */
    text-align: center;
    transition: transform 0.6s;
    transform-style: preserve-3d;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
}

.flip-card:hover .flip-card-inner {
    transform: rotateY(180deg);
}

.flip-card-front,
.flip-card-back {
    position: absolute;
    width: 100%;
    /* height: 100%; */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    padding: 2vw;
}

.flip-card-front {
    background-color: #bbb;
    color: black;
    border: 3px solid var(--section_letras);
    background-color: #0d6de21a;
    display: flex;
    align-items: center;
    flex-direction: column;
}

.flip-card-back {
    background-color: #2980b9;
    color: white;
    transform: rotateY(180deg);
}

.proyecto {
    width: 100%;
}

#contactoS {
    /**restal la altura del header y del footer*/
    min-height: 79vh;
}

#contactar {
    /**formulario contacto*/
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    border: 3px solid var(--section_letras);
    width: 70vw;
    height: 62vh;
    padding: 2vh;
}

#contactar textarea {
    height: 20vh;
    width: 100%;
    font-size: 120%;
    padding: 2vw;
    resize: none;
}

#contactar input {
    height: 2.5vh;
    width: 100%;
    font-size: 100%;
    padding-left: 2vw;
    padding-right: 2vw;
}

#contactar label {
    margin-top: 1.5vh;
}

#contactar #button_enviar {
    margin-top: 2vh;
    height: 5vh;
    font-size: 120%;
}

#contactar #respuestaCorreo {
    margin-top: 1vh;
}

#cv {
    display: flex;
    justify-content: center;
    border: 3px solid var(--section_letras);
    align-items: center;
    width: 70vw;
    height: 10vh;
    margin-top: 2vh;
}


/**footer*/

#footerS {
    background-color: var(--footer);
    display: flex;
    justify-content: space-around;
    align-items: center;
    flex-direction: row;
    background-color: var(--footer);
    color: var(--footer_letras);
    border: 3px solid var(--footer_letras);
    height: 17vh;
}

.articlefooter {
    width: 20%;
    display: flex;
    justify-content: center;
}

#footerS a {
    text-decoration: none;
    color: var(--footer_letras)
}

.fottericon {
    width: 5vh;
    position: relative;
}

.fottericon:hover {
    width: 7vh;
}


/*animaciones**/

#namehead {
    position: relative;
    animation-name: namehead;
    animation-duration: 3s;
    animation-fill-mode: forwards;
}

#professionhead {
    position: relative;
    animation-name: professionhead;
    animation-duration: 3s;
    animation-fill-mode: forwards;
}

#developer {
    position: relative;
    animation-name: developer;
    animation-duration: 4s;
    animation-fill-mode: forwards;
    color: #2c5c9700;
}

#contachead {
    position: relative;
    animation-name: contachead;
    animation-duration: 3s;
    animation-fill-mode: forwards;
    animation-delay: 2s;
    color: #2c5c9700;
}

#conoceme {
    position: relative;
    animation-name: conoceme;
    animation-duration: 3s;
    animation-fill-mode: forwards;
    animation-delay: 2.5s;
    color: #2c5c9700;
}

#contachead:hover {
    font-size: 110%;
}

#conoceme:hover {
    font-size: 160%;
}

#laterales_headerr {
    position: relative;
    animation-name: laterales_headerr;
    animation-duration: 2s;
    animation-fill-mode: forwards;
    animation-delay: 3s;
    visibility: hidden;
}

#laterales_headerl {
    position: relative;
    animation-name: laterales_headerl;
    animation-duration: 2s;
    animation-fill-mode: forwards;
    animation-delay: 3s;
    visibility: hidden;
}

@keyframes laterales_headerl {
    from {
        top: -100vh;
        visibility: visible;
    }
    to {
        top: 0px;
        visibility: visible;
    }
}

@keyframes laterales_headerr {
    from {
        bottom: -100vh;
        visibility: visible;
    }
    to {
        bottom: 0px;
        visibility: visible;
    }
}

@keyframes namehead {
    from {
        text-shadow: var(--header_letras_shadow) 1px 1px 3px;
        left: -200px;
    }
    to {
        text-shadow: var(--header_letras_shadow) 1px 1px 3px;
        left: 0px;
    }
}

@keyframes professionhead {
    from {
        text-shadow: var(--header_letras_shadow) 1px 1px 3px;
        left: +200px;
    }
    to {
        text-shadow: var(--header_letras_shadow) 1px 1px 3px;
        left: 0px;
    }
}

@keyframes developer {
    from {
        color: #2c5c9700;
        text-shadow: var(--header_letras_shadow) 10px 10px 20px;
    }
    to {
        color: var(--header_letras);
        text-shadow: var(--header_letras_shadow) 5px 5px 10px;
    }
}

@keyframes contachead {
    from {
        top: +200px;
        color: var(--header_letras);
        text-shadow: var(--header_letras_shadow) 1px 1px 3px;
        font-size: 10%;
    }
    to {
        top: 0px;
        color: var(--header_letras);
        text-shadow: var(--header_letras_shadow) 1px 1px 3px;
    }
}

@keyframes conoceme {
    from {
        top: +200px;
        color: var(--header_letras);
        text-shadow: var(--header_letras_shadow) 1px 1px 3px;
        font-size: 10%;
    }
    to {
        top: 0px;
        color: var(--header_letras);
        text-shadow: var(--header_letras_shadow) 1px 1px 3px;
    }
}

@media screen and (max-width: 1023px) and (orientation: portrait) {
    /**pantalla moviles en vertical
    * lo usamos por las animaciones
    */
    #headercentral div {
        height: 4.3vh;
    }
    header {
        flex-direction: column;
    }
    .laterales_header {
        flex-direction: row;
        width: 100%;
    }
    .collage {
        width: 5vh;
    }
    #footerS {
        height: 10vh;
    }
    /**animacion*/
    #professionhead {
        color: #2c5c9700;
    }
    @keyframes namehead {
        from {
            top: -200px;
            text-shadow: var(--header_letras_shadow) 1px 1px 3px;
        }
        to {
            top: 0px;
            text-shadow: var(--header_letras_shadow) 1px 1px 3px;
        }
    }
    @keyframes professionhead {
        from {
            top: -200px;
            color: #2c5c9700;
        }
        to {
            top: 0px;
            text-shadow: var(--header_letras_shadow) 1px 1px 3px;
            color: var(--header_letras);
        }
    }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
    /**Pantallas movil horizontal*/
    html {
        font-size: 2.1vw;
    }
    #headercentral div {
        height: 4.3vw;
    }
    nav {
        height: 100vh;
        width: 15vw;
        margin-left: 0.5vw;
        padding: 1vw;
        text-align: center;
        position: -webkit-sticky;
        position: sticky;
        /* top: 1vh; */
        float: left;
    }
    nav ul {
        display: flex;
        flex-direction: column;
        justify-content: space-around;
        align-items: center;
        height: 100%;
    }
    /*ponemos todos los section a la derecha para que no se pisen*/
    #habilidadS,
    #proyectoS,
    #contactoS,
    #meS {
        width: 82vw;
        min-height: 99vh;
        float: right;
        margin-right: 1.5vw;
    }
    #habilidades fieldset {
        width: 60vw;
        padding: 2vh;
    }
    #contactoS {
        /* height: 84vh; */
    }
    #contactar {
        /**formulario contacto*/
        width: 65vw;
        min-height: 75vh;
        padding: 2vw;
    }
    #contactar textarea {
        height: 10vh;
        width: 100%;
        font-size: 100%;
        padding: 2vw;
    }
    #contactar input {
        height: 2.5vw;
        width: 100%;
        font-size: 100%;
        padding-left: 2vh;
        padding-right: 2vh;
    }
    #contactar label {
        margin-top: 1.5vh;
    }
    #contactar #button_enviar {
        margin-top: 2vh;
        height: 7vh;
        font-size: 120%;
    }
    #contactar #respuestaCorreo {
        margin-top: 1vh;
    }
    #cv {
        width: 65vw;
        height: 10vh;
        margin-top: 2vh;
    }
    footer {
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-direction: row;
        width: 100vw;
    }
    #footerS {
        width: 82.5vw;
        float: right;
        margin-right: 1vw;
    }
    .fottericon {
        width: 5vw;
    }
    .fottericon:hover {
        width: 7vw;
    }
    #landscape {
        /**usamos este flag para poder colocar el footer bien en pantallas moviles horizontal*/
        width: 15vw;
    }
    .habilidades,
    .proyectos,
    .contacto,
    .me,
    .flip-card {
        width: 65vw;
    }
    /*termino prueba*/
    section {
        min-height: 100vh;
    }
}

@media screen and (min-width: 1024px) {
    /*moviles y tablets vertical*/
    html {
        font-size: 2.5vh;
    }
    #headercentral div {
        height: 5vh;
    }
    #proyectosPP {
        display: none;
    }
    #preyectosPG {
        display: block;
    }
    .habilidades,
    .proyectos,
    .flip-card {
        width: 40vw;
    }
    #habilidades,
    #proyectos {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
    }
    #habilidades fieldset {
        width: 30vw;
        padding: 2vw;
    }
    #contactoS {
        /* height: 10vh; */
    }
    #contactar {
        width: 50vw;
        min-height: 60vh;
    }
    #mensajeCorreo {
        min-height: 100%;
    }
    #contactar input {
        height: 4vh;
        width: 100%;
        padding-left: 2vw;
        padding-right: 2vw;
    }
    #contactar {
        width: 85vw;
        height: 10vh;
        padding: 1vw;
    }
    #divCorreo {
        height: 100%;
        display: flex;
        justify-content: space-around;
        align-items: space-around;
        flex-flow: row wrap;
    }
    #datosCorreo {
        width: 25%;
        height: 70%;
    }
    #divMensajeCorreo {
        width: 70%;
        height: 70%;
    }
    #botonCorreo {
        width: 95%;
        height: 20%;
    }
    #button_enviar {
        width: 100%;
        height: 100%;
    }
    #cv {
        width: 50vw;
        height: 5vh;
    }
    #footerS {
        flex-direction: row;
        height: 15vh;
    }
    #meS {
        justify-content: space-around;
        flex-direction: row;
        align-content: space-between;
    }
    .me {
        width: 40vw;
    }
    #imgme {
        display: inline;
        width: 40vw;
    }
    .fottericon {
        width: 4vw;
    }
    .fottericon:hover {
        width: 5.4vw;
    }
}

@media screen and (min-width: 1400px) {
    /**portatiles y pantallas grandes*/
    html {
        font-size: 2.5vh;
    }
    #proyectosPP {
        display: none;
    }
    #preyectosPG {
        display: block;
    }
    .habilidades,
    .proyectos,
    .flip-card {
        width: 30vw;
    }
    #habilidades fieldset,
    #proyectoS fieldset {
        width: 25vw;
        padding: 2vw;
    }
    /* .contacto {
        width: 50vw;
    } */
    /* #contactar {
        width: 30vw;
    }
    #cv {
        width: 50vw;
        height: 5vh;
    } */
    footer {
        flex-direction: row;
    }
    #footerS {
        height: 12vh;
    }
    .fottericon {
        width: 3vw;
    }
    .fottericon:hover {
        width: 4.4vw;
    }
}

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

.buttonProyect:hover {
    font-size: 110%;
}