/* EL DOCUMENTO QUE CONTROLA TODO EL CSS DEL DOCUMENTO! NUFSET! */

/* FUENTES DE TEXTO */
@font-face {
    font-family: "Data 70";
    src: url(./Data\ 70\ Regular.otf);
}
.special-elite-regular {
  font-family: "Special Elite", system-ui;
  font-weight: 400;
  font-style: normal;
}
.rubik-vinyl-regular {
  font-family: "Rubik Vinyl", system-ui;
  font-weight: 400;
  font-style: normal;
}

/* LIMPIEZA */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre, a,
abbr, acronym, address, big, cite, code, del, dfn,
em, img, ins, kbd, q, s, samp, small, strike, strong,
sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset,
form, label,option{
    margin: 0;
    padding: 0;
    border: 0;
    font-size: medium;
    font: inherit;
    vertical-align: baseline;
    font-family: var(--tipografia-texto);
    font-weight: 100;
}

/* Variables del root */
:root{
    --color-primario: #f0ebdf ;
    --color-secundario: #001219;
    --color-terciario: #cd3f27;
    --color-cuaternario: #fdd56f;
    --color-quinto: #94c9cd;
    --color-sexto: #df6d58;

    --tipografia-texto: "Special Elite";
    --tipografia-titulo: "Data 70";

    --padding-left: 80px;
    --border-width: 2px;
}

/* EL CUERPO PRINCIPAL */
body{
    display: flex;
    flex-direction: column;

    margin-bottom: 20px;

    color: var(--color-secundario);

    background-color: var(--color-primario);
    background-size: 40%;
    overflow-x: hidden;
}
.pc{
    display: inline;
}
.md{
    flex-direction: row;
}
.mv{
    display: none;
}
.vl{
    display: inline-block;
    position: fixed;
    margin: 0;

    min-height: 100%;
    left: calc(var(--padding-left) + 4px);

    border: solid calc(var(--border-width) / 2) var(--color-secundario);
}
.sh{
    display: flex;
    flex-direction: row;
    gap: 20px;

    text-align: justify;

    flex-grow: 1;
}
.sv{
    display: flex;
    flex-direction: column;
    gap: 20px;

    text-align: justify;

    flex-grow: 1;
}
.sh-mv{
    display: flex;
    flex-direction: row;
    gap: 20px;

    text-align: justify;

    flex-grow: 1;
}

/* DEFAULTS */
a{
    padding-top: 5px;
    padding-right: 10px;

    font-size: large;

    text-decoration: none;

    background-image: linear-gradient(var(--color-cuaternario),var(--color-cuaternario));
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: 0% 100%;

    color: var(--color-secundario);

    transition: 0.3s ease;
}
a:hover, a:focus{
    background-size: 100% 100%;
    font-weight: 900;
}
b{
    font-weight: 900;
}

.def-button{
    margin: 0;
    padding: 0;

    height: auto;
    
    vertical-align: middle;

    background-color: transparent;

    border: none;

    font-family: var(--tipografia-texto);
    font-size: medium;
}

/* HEADER */
.hea{
    display: flex;
    flex-direction: row;

    margin: 0;
    padding: 15px;
    padding-left: calc(var(--padding-left) + 10px);

    height: calc(auto(var(--border-width) * 2));

    align-items: center;

    border-color: transparent transparent var(--color-secundario) transparent;
    border-style: solid;
    border-width: var(--border-width);
}
.hea-div{
    width: 100%;
    height: 40px;

    text-align: right;

    background-color: transparent;

    align-content: center;
}
.hea-h4, .hea-h3, .hea-h2, .hea-h1{
    width: 100px;
    
    margin: 0;
    margin-left: 20px;

    padding-right: 20px;

    font-weight: 100;

    background-image: linear-gradient(var(--color-cuaternario),var(--color-cuaternario));
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: 0 100%;
    transition: 0.3s ease;
}
.hea-h4:hover, .hea-h3:hover, .hea-h2:hover, .hea-h1:hover{
    font-weight: 900;    

    background-size: 100% 100%; 
}
.hea-button, .hea-select{
    margin: 0;
    padding: 0;

    height: auto;
    
    vertical-align: middle;

    background-color: transparent;

    border: none;

    font-family: var(--tipografia-texto);
    font-size: medium;    
}
.hea-button-h4, .hea-select{
    margin: 0px;
    padding: 0px;

    width: auto;

    color: var(--color-secundario);

    background-image: linear-gradient(var(--color-cuaternario),var(--color-cuaternario));
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: 0% 100%;
    transition: 0.3s ease;    
}
.hea-button-h4:hover, .hea-select:hover, .hea-button-h4:focus, .hea-select:focus{
    background-size: 100% 100%;
    font-weight: 900;
}
.hea-burger{
    --h: calc(100% / 2);

    display: flex;
    flex-direction: column;

    position: fixed;
    padding: 10px;
    margin: 0;
    right: 0;
    
    top: 117px;

    height: auto;
    width: 200px;

    background-color: var(--color-primario);
    border-color: var(--color-secundario);
    border-width: var(--border-width);
    border-style: solid;

    gap: 10px;
    z-index: 20;
}
.hea-burger-button, .hea-burger-select{


    color: var(--color-secundario);

    font-family: var(--tipografia-texto);

    border: none;

    background-color: transparent;

    background-image: linear-gradient(var(--color-cuaternario),var(--color-cuaternario));
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: 0% 100%;
    transition: 0.3s ease; 
}
.hea-burger-button:hover, .hea-burger-select:hover, .hea-burger-button:focus, .hea-burger-select:focus{
    background-size: 100% 100%;
    font-weight: 900;
}



/* MARQUEE */
.mar{
    width: 100%;
    height: 35px;

    padding-left: calc(var(--padding-left) + 4px);

    align-content: center;

    text-align: right;
    vertical-align: bottom;

    border-bottom: var(--color-secundario) var(--border-width) solid;
    background-color: var(--color-quinto);
}
.mar-text{
    padding-top: 4px;
}

/* CONTENIDO */
.con{
    padding: 20px;
    padding-left: calc(var(--padding-left) + 30px);

    display: flex;
    flex-direction: column;

    gap: 20px;
}
.con-h1{
    margin: 0;
    padding-top: 60px;
    padding-left: 20px;
    padding-right: 20px;

    text-wrap-mode: nowrap;

    font-family: var(--tipografia-titulo);

    font-size: 8vw;

    padding: 20px;
}
.con-h2{
    margin: 0;
    padding: 0;
    padding-bottom: 10px;
    padding-top: 10px;

    text-wrap-mode: wrap;

    font-size: 20px;

    font-weight: 900;
    letter-spacing: 3px;
}
.con-ul{
    margin: 0;
    padding: 10px;
    padding-left: 20px;

    columns: 2;
    -moz-columns: 2;
}
.con-li{
    padding: 4px;
}
.con-div{
    border-color: var(--color-secundario);
    border-style: solid;
    border-width: var(--border-width);

    padding: 10px;

    width: auto;

    flex-grow: 1;
}

/*SOBRE MI*/
.sobremi{
    margin: 0;
    padding: 0;

    height: auto;
    width: auto;
}
.sobremi hr{
    padding: 0;
    margin: 0;
    color: var(--color-secundario);

    width: 100%;
}
.sobremi-datos{
    padding: 20px;
    position: absolute;
    transform: translate(10px, 50px) rotate(-3deg) scale(1);

    box-shadow: 5px 5px 5px 5px #00000062;

    color: var(--color-primario);
    background-color: var(--color-terciario);

    width: 300px;

    transition: 0.3s;

    z-index: 2;
}
.sobremi-datos h4{
    padding: 0;
    margin: 0;
    margin-bottom: 15px;
    margin-top: 15px;
    line-height: 12px;

    font-weight: 900;
    font-size: large;
    width: 100%;
    border-bottom: var(--border-width) solid var(--color-primario);

}
.sobremi-datos:hover{
    transform: translate(10px, 50px) rotate(0deg) scale(1.1);
    box-shadow: 5px 5px 10px 10px #00000033;
}

/* PROYECTOS */
.proyectos-carta{
    display: flex;
    flex-direction: row;
    width: 30%;
}
.proyectos-carta h2{
    font-size: 300%;
}
.proyectos-carta h4{
    margin: 0;
    margin-bottom: 10px;

    font-size: 20px;
    letter-spacing: 4px;

    font-weight: 900;
    text-decoration: underline;
}
.proyectos-carta div{
    flex-grow: 1;
    width: 0;
}
.proyectos-carta > .proyectos-interior{
    display: flex;
    flex-direction: column;

    justify-content: space-between;
}
.proyectos-interior > button{
    padding: 5px;
    
    background-color: transparent;
    border: var(--color-secundario) var(--border-width) solid;

    font-family: var(--tipografia-texto);

    transition: 0.3s;
}
.proyectos-interior > button:hover{
    background-color: var(--color-cuaternario);
    font-weight: 900;
}

/* GALERIA */
.galeria{
    padding: 0;
    margin: 0;

    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(400px, 1fr));
    gap: 20px;
}
.galeria-carta{
    display: flex;
    flex-direction: row;
    width: auto;

    padding: 0px;
}

/* IMAGENES */
.halftone{
    background: transparent;
    position: relative;
    filter: saturate(0) brightness(0.75) contrast(2500%);
    overflow: hidden;
    transform: translateZ(0);
    mix-blend-mode: multiply;

    transition: 0.9s;
}
.halftone::after{
    content: '';
    position: absolute;
    top: -100%;
    left: -100%;
    right: -100%;
    bottom: -100%;
    background-blend-mode: multiply;
    background: 
        radial-gradient(3px 3px, var(--color-secundario), white);
    background-size: 3px 3px;
    background-position: 0 -3px, -2px 0, 2px 0;
    mix-blend-mode: screen;
    pointer-events: none;
    transform: rotate(45deg);
    z-index: 1;
}
.halftone img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    overflow: hidden;
}
.halftone:hover{
    filter: saturate(0.65) brightness(0.7) contrast(5);
    transition: 0.3s;
    mix-blend-mode: normal;
}
.halftone::after:hover{
    mix-blend-mode: normal;
}

/* WIP */
.wip-popup-background{
    background-color: #0a94963e;

    position: fixed;

    width: 100%;
    height: 100%;

    z-index: 10;
}
.wip-popup{
    position: fixed;

    left: calc(50% - 200px);
    top: calc(50% - 200px);

    background-color: khaki;
    width: 300px;
    height: 300px;
    padding: 20px;
    box-shadow: 10px 10px 7px #00000051;
    transform: rotate(-3deg);

    transition: 0.4s;

    display: block;
    z-index: 11;
}
.wip-popup h1{
    font-size: larger;
    letter-spacing: 4px;
}
.wip-popup p{
    font-size: larger;
    line-height: 25px;
}
.wip-popup button{
    position: fixed;
    left: 305px;
    top: 0px;

    background-color: #00000000;
    border: none;
}
.wip-popup:hover{
    transform: rotate(0deg) scale(1.05);
    box-shadow: 15px 15px 10px #00000054;
}
.wip-popup:hover button p{
    font-weight: 900;
}

/* CONTACTAME */
input, textarea{
    padding: 5px;
    padding-top: 8px;
    width: 100%;

    background-color: transparent;

    font-family: var(--tipografia-texto);
    font-size: large;

    border: var(--color-secundario) var(--border-width) solid;
}
button[type=submit] {
    padding: 10px;
    background-color: transparent;

    font-family: var(--tipografia-texto);
    font-size: large;

    transition: 0.3s ease; 
}
button[type=submit]:hover{
    font-weight: 900;
}
/* PAGINA MEDIA */
@media only screen and (max-width: 1270px) {
    .md{
        flex-direction: column;
    }    
    .galeria{
        grid-template-columns: repeat(auto-fit,minmax(500px,1fr));
    }
}


/* PAGINA MOVIL */
@media only screen and (max-width: 900px) {
    :root{
        --padding-left: 0px;
    }
    .mv{
        display: inline;
    }
    .pc{
        display: none;
    }
    .vl{
        margin: 0;
        padding: 0;
        display: none;
    }
    .proyectos-carta{
        width: auto;
    }
    .hea-button-h4{
        padding-left: 0px;
        padding-right: 0px;
    }
    .wip-popup{
        left: calc(50% - 170px);
        top: calc(50% - 200px);
    }
    .con{
        padding: 20px;
        margin: 0;

        width: auto;
    }
    .sh{
        flex-direction: column;
    }
    .sv{
        flex-direction: column;
    }
    .con-h1{
        font-size: 20vw;
    }

    .sobremi{
        display: flex;
        flex-direction: column;

        flex-wrap: wrap;
        height: auto;

        width: 100%;
    }
    .sobremi-datos{
        transform: translate(10px, 120px) rotate(-3deg);
    }

    .sobremi-datos:hover{
        transform: translate(10px, 120px) rotate(0deg) scale(1.1);
        box-shadow: 5px 5px 10px 10px #00000033;
    }
    .hea-burger-button, .hea-burger-select{
        display: flex;
        width: 100%;

        padding: 0;
        margin: 0;
        padding-top: 4px;

        font-size: 20px;
        text-align: start;
    }
}