/* 
    ** Formatos webp y etiqueta picture *** 
    Es como una cascada, si el navegador no soporta webp se pasa al jpg
    <picture> 
        <source srcset="img/blog1.webp" type="image/webp">
        <img src="img/blog1.jpg">
    </picture>
*/

html {
    box-sizing: border-box;
    font-size: 62.5%;
    /**Reset para REMS - 62.5% = 10px de 16px*/
    background-color: #000000;
    /*scroll-snap-type: y mandatory;*/
    scroll-behavior: smooth;
    user-select: none;
}

@font-face {
    font-family: 'Ricochet';
    src: url('../assets/fonts/Trebuchet_MS.ttf') format('truetype');
}

@font-face {
    font-family: 'LaPulga';
    src: url('../assets/fonts/Today-Easter.ttf') format('truetype');
}

@font-face {
    font-family: 'Zrnic';
    src: url('../assets/fonts/zrnicrg.ttf');
}

@font-face {
    font-family: 'Swis';
    src: url('../assets/fonts/swz721lc.ttf');
}

*,
*:before,
*:after {
    box-sizing: inherit;
}

::-webkit-scrollbar {
    width: 10px;
}

::-webkit-scrollbar-track {
    background-color: #1d191f;
}

::-webkit-scrollbar-thumb {
    background-color: var(--red);
    border-radius: 15px;
}

:root {
    scrollbar-color: var(--red) #1D191F !important;
    scrollbar-width: thin !important;
    --green:rgba(87,100,82,255);
    --gold:rgba(204,190,162,255);
    --red:rgb(208, 82, 54);
    --swis:'Swis';
    --ricochet:'Ricochet';
    --lapulga:'LaPulga';
    --zrnic:'Zrnic';
    --twocents:'Tw Cen MT';
    --arial:'Arial', 'sans-serif';
}


/* SNAP */

.section1,
.seccion2,
.seccion3 {
    scroll-snap-align: center;
    scroll-snap-stop: always;
}

a {
    text-decoration: none;
    color: white;
    font-weight: 600;
}

img {
    margin: 0 auto;
    width: 100%;
}

h2 {
    font-family: var(--zrnic);
}

h2,
h3 {
    color: white;
    font-size: 3rem;
    text-transform: uppercase;
    font-weight: 300;
    margin: 0;
    text-align: left;
}

h3 {
    font-family: var(--swis);
}

p {
    color: white;
    font-size: 2rem;
    font-family: var(--ricochet);
}


/* Heads will roll on the floor */


/* SECTIONS
    > section
    > marco
    > sidebar
    > content
*/

section {
    margin-bottom: 1rem;
    padding: 0 2rem;
    padding-top: 1rem;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    height: 100vh;
}

div.marco {
    display: flex;
    border-bottom: 1px solid white;
    border-right: 1px solid white;
    height: 95%;
}

div.tags {
    position: absolute;
    width: 5.3rem;
    bottom: 0rem;
    right: 10rem;
    display: flex;
}

div.tags .lang {
    position: relative;
}

div.tags .lang p {
    position: absolute;
    top: -0.5rem;
    margin-left: 13%;
    font-size: 1.2rem;
    color: #383030;
    font-family: var(--zrnic);
}

div.lang:hover {
    cursor: pointer;
}

@media only screen and (min-width:1600px) {
    div.tags {
        width: 8rem;
        bottom: 1rem;
        right: 10rem;
    }
    div.tags .lang p {
        top: -1.5rem;
        margin-left: 12%;
        font-size: 2rem;
    }
}

section.section1 {
    position: relative;
    background-image: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6));
}

section img.child {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100vh;
    z-index: -1;
}

@keyframes glitchMob {
    0% {
        opacity: 0;
    }
    20% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}

section.seccion2 {
    background-image: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), url(../assets/fondo.webp);
}

section.seccion3 {
    background-color: #e7e7e7;
    margin-bottom: 0;
}


/* SIDEBAR */

div.sidebar {
    display: flex;
    width: 40%;
}


/*div.sidebar img {
    margin: 3rem 0;
    width: 100%;
}*/

div.sidebar .bots {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 30%;
}

div.nombre {
    height: 33.3%;
    margin-top: 2rem;
}

div.nombre h2 {
    font-family: var(--swis);
    font-weight: 300;
    font-size: 2.5rem;
    margin: 0;
}

div.nombre h2:nth-child(2) {
    margin-left: 2rem;
}

@media only screen and (min-width:1600px) {
    div.nombre {
        margin-top: 4rem;
    }
    div.nombre h2 {
        font-size: 3.5rem;
    }
    div.nombre h2:nth-child(2) {
        margin-left: 2.5rem;
    }
}

div.vacio {
    height: 40%;
    width: 100%;
}

div.barras .box1 {
    border-left: 0;
    border-right: 0;
    height: 100%;
}

div.barras .box2 {
    height: 1rem;
}

div.barras {
    height: 33.3%;
    display: flex;
    flex-direction: column;
    padding: 50% 0;
}

div.barras p {
    margin: 0;
    height: 1rem;
}

@media only screen and (min-width:1600px) {
    div.barras .box2 {
        height: 2rem;
    }
    div.barras {
        padding: 50% 0;
    }
    div.barras p {
        height: 2rem;
    }
}

div.arrows {
    height: 33.3%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    width: 3rem;
    margin: 2rem 2rem;
}


/* Section 3 flip */

.arrows.volteado {
    transform: rotateX(180deg);
}

.volteado p,
.volteado a,
.volteado h2,
.volteado h3 {
    color: #383030;
}

.volteado h3 {
    border-left: 1px solid #383030!important;
}

section.seccion3 .marco {
    border-right: 1px solid #383030;
    border-bottom: 1px solid #383030;
}


/* Arrows animation */

div.arrows i {
    font-size: 3rem;
    animation: arrowZoom 1s infinite;
}

@media only screen and (min-width:1600px) {
    div.arrows i {
        font-size: 3.8rem;
    }
}

@keyframes arrowZoom {
    30% {
        padding-bottom: 0.3rem;
    }
}

div.lettering {
    display: flex;
    width: 70%;
    align-self: center;
    margin-left: 4rem;
}

div.lettering .letras {
    width: 33%;
    align-self: flex-start;
}

section.seccion3 .letras {
    width: 43%;
}

div.lettering .letritas {
    width: 50%;
    align-self: flex-start;
}

section div.lettering .letras h2 {
    margin: 0;
    font-size: 6rem;
    font-weight: 300;
}

section div.lettering .letritas h3 {
    margin: 0;
    padding-top: 1rem;
    padding-left: 1rem;
    font-size: 2rem;
    border-left: 1px solid white;
}


/* GLITCHING letras */


/* Hardcoded, so what, it gets the job done */

section.section1 .letritas h3:nth-child(1),
section.section1 .letritas h3:nth-child(3),
section.section1 .letras h2:nth-child(1),
section.section1 .letras h2:nth-child(3) {
    animation: 7s glitchleft infinite;
}

section.section1 .letritas h3:nth-child(2),
section.section1 .letritas h3:nth-child(4),
section.section1 .letras h2:nth-child(2) {
    animation: 7s glitchright infinite;
}

@keyframes glitchleft {
    0% {
        margin: 0;
        color: #d05236
    }
    0.1% {
        display: none;
    }
    0.3% {
        display: block;
        color: aqua
    }
    0.6% {
        display: none;
    }
    0.9% {
        margin-right: 20rem;
        display: block;
        color: yellowgreen;
    }
    1.2% {
        display: none;
    }
    1.25% {
        margin: 0;
        display: block;
    }
    1.3% {
        margin-right: 20rem;
        color: aqua;
    }
    1.5% {
        display: none;
    }
    1.55% {
        display: block;
        color: aqua
    }
    1.65% {
        display: none;
    }
    1.7% {
        margin-right: 20rem;
        display: block;
        color: yellowgreen;
    }
    1.8% {
        display: none;
    }
    1.9% {
        margin: 0;
        display: block;
    }
    1.95% {
        margin-right: 20rem;
        color: aqua;
    }
    2% {
        margin: 0;
        color: #e7e7e7;
    }
}

@keyframes glitchright {
    0% {
        margin: 0;
        color: violet;
    }
    0.1% {
        margin-left: 1rem;
        color: tomato
    }
    0.3% {
        margin: 0;
        color: violet;
    }
    0.6% {
        margin-left: 1rem;
        color: tomato
    }
    0.9% {
        margin: 0;
        color: violet;
    }
    1% {
        margin-left: 1rem;
        color: tomato
    }
    1.2% {
        margin: 0;
        color: #e7e7e7;
    }
}

@media only screen and (min-width:1600px) {
    section div.lettering .letras h2 {
        font-size: 9rem;
    }
    section div.lettering .letritas h3 {
        padding-left: 3rem;
        font-size: 3rem;
    }
}


/* CONTENT */

div.contenido {
    width: 100%;
    display: flex;
    max-height:100vh;
}

div.contenido img {
    height: 90%;
    width: 90%;
    margin: 0 auto;
    align-self: center;
}

div.flexes {
    width: 100%;
    display: flex;
    flex-direction: column;
}

div.flex-proyectos {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: space-between;
}

div.flex-proyectos:nth-child(2) {
    width: 70%;
    margin: 2rem auto;
}


/* 1st LAYER */

div.proyectos {
    position: relative;
    background-color: #000;
    width: 15rem;
    height: 19rem;
    margin: 0 auto;
    align-self: center;
}

div.proyectos img{
    position: absolute;
    bottom: -5rem;
    width: 35%;
    left: 50%;
    transform: translateX(-50%);
}

/* 2nd LAYER */

div.skeleton {
    border: 1px solid white;
    position: absolute;
    left: 50%;
    bottom: -2rem;
    transform: translateX(-50%);
    width: 80%;
    height: 70%;
    clip-path: polygon(50% 0%, 100% 0px, 100% 100%, 77.50% 103.76%, 65% 74%, 38% 74%, 21.84% 103.01%, 0px 100%, 0px 0px);
}

div.skeleton img {
    position: absolute;
    bottom: -3rem;
    width: 37%;
    left: 50%;
    transform: translateX(-50%);
}


/* 3rd LAYER */

.foreground {
    position: absolute;
    top: 2rem;
    left: 50%;
    transform: translateX(-50%);
    padding: 50% 70%;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

#proyectocomercial .foreground {
    background-image: url(../assets/comercial/comercial14.webp);
}

#proyectoresidencial .foreground {
    background-image: url(../assets/residencial/residencial23.webp);
}

#recorridosvirtuales .foreground {
    background-image: url(../assets/recorridosfondo.webp);
}

#renders .foreground {
    background-image: url(../assets/residencial/residencial1.webp);
}

#disenografico .foreground {
    background-image: url(../assets/disenografico/diseno2.webp);
}


/* 4th LAYER */

.text {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    font-family: var(--zrnic);
    text-align: center;
}

.text a {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: none;
    padding: 1rem;
}

.text a p#titulo {
    font-weight: 500;
    font-size: 1.8rem;
    text-transform: uppercase;
    margin-top: 0;
}

.text a p {
    font-size: 1.7rem;
    font-weight: 300;
    font-family: var(--zrnic);
    color:var(--gold);
}

.text:hover {
    background-color: var(--green);
}

.text:hover a {
    display: block;
}

a.hide {
    display: none!important;
}

@media only screen and (min-width:1600px) {
    /* 1st LAYER */
    div.proyectos {
        width: 20rem;
        height: 25rem;
        margin: 0 auto;
    }
    /* 2nd LAYER */
    div.skeleton {
        left: 50%;
        bottom: -4rem;
        transform: translateX(-50%);
        width: 80%;
        height: 100%;
    }
    div.skeleton img {
        bottom: -5rem;
        width: 50%;
    }
    .foreground {
        top: 2rem;
        left: 50%;
        transform: translateX(-50%);
        padding: 50% 70%;
    }
    /* 4th LAYER */
    .text a {
        font-size: 2.4rem;
    }
    .text a p {
        font-size: 2.3rem;
    }
}


/* SECTION 3 - ABOUT ME */

.cards {
    display: flex;
    width: 100%;
    padding-top: 5rem;
}

.cards .circulos {
    width: 50%;
    position: relative;
    display: flex;
    justify-content: flex-end;
    margin-top: 15rem;
}

.circulo1,
.circulo2 {
    border-radius: 50%;
}

.cards .circulo1 {
    position: absolute;
    height: 18rem;
    width: 18rem;
    background-color: rgb(239, 212, 195);
}

.circulo2 {
    position: absolute;
    top: 5rem;
    right: -8rem;
    height: 21rem;
    width: 21rem;
}

.circulo2 img {
    height: 110% !important;
    width: 110% !important;
    object-fit: cover;
}

@media only screen and (min-width:1600px) {
    .cards .circulos {
        width: 50%;
        margin-top: 27rem;
    }
    .cards .circulo1 {
        height: 25rem;
        width: 25rem;
    }
    .circulo2 {
        top: 5rem;
        right: -8rem;
        height: 28rem;
        width: 28rem;
    }
}

.info {
    width: 35rem;
    height: 40rem;
    float: right;
    background-color: rgb(243, 201, 176);
    padding: 4rem;
    margin: 4rem auto;
}

.info h3 {
    font-family: var(--twocents);
    font-size: 3.6rem;
    text-transform: none;
    text-align: center;
    font-weight: 700;
    color: #383030;
}

.info p.tedmosby {
    font-weight: 500;
    font-size: 1.2rem;
    margin: 0;
    margin-left: 3.8rem;
}

.info p {
    font-family: var(--arial);
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.5;
    color: #383030;
}

.info p:nth-child(3) {
    text-align: right;
    width: 80%;
    float: right;
    margin-right: 1.5rem;
    margin-top: 2rem;
}

.icons {
    margin-top: 17rem;
    margin-left: 3rem;
}

.icons>p {
    margin: 0 !important;
    font-size: 1.5rem !important;
    align-self: center;
}

.icons p i {
    margin: 1rem;
    font-size: 2.8rem;
    align-self: center;
}

@media only screen and (min-width:1600px) {
    .info {
        width: 45rem;
        height: 50rem;
        padding: 4rem;
        margin: 13rem 4rem;
    }
    .info h3 {
        font-size: 4rem;
    }
    .info p.tedmosby {
        font-size: 1.7rem;
        margin-left: 7rem;
    }
    .info p {
        font-size: 1.3rem;
        line-height: 2;
    }
    .info p:nth-child(3) {
        margin-top: 7rem;
    }
    .icons {
        margin-top: 22rem;
        margin-left: 3rem;
    }
    .icons>p {
        margin: 0 !important;
        font-size: 2rem !important;
    }
    .icons p i {
        margin: 1.2rem;
        font-size: 3.2rem;
    }
}


/* I push my fingers into my EEEEEEEEEYEESSSSSS */


/* MAIN */

div.pagina-proyecto .sidebar {
    display: flex;
    flex-direction: column;
    margin-top: 3rem;
    text-align: center;
    height: 90%;
    justify-content: space-between;
    align-self: center;
}

div.pagina-proyecto .arriba img {
    width: 10rem;
    margin: 0;
}

div.pagina-proyecto .medio {
    display: flex;
}

div.pagina-proyecto .medio .iconos {
    display: flex;
    flex-direction: column;
    width: 50%;
    margin-top: 4rem;
    padding-left: 3rem;
}

div.medio .iconos a {
    width: 6rem;
    margin-bottom: 10%;
}

div.medio .iconos a:hover {
    transform: scale(1.5);
    transition: .3s ease-in-out;
}

div.medio .actual {
    margin-top: 0.3rem;
}

div.medio .actual h2 {
    border-left: 1px solid white;
    font-size: 4rem;
    padding-left: 1rem;
}

div.pagina-proyecto .abajo {
    height: 20%;
    width: 100%;
}

div.abajo .arrows {
    flex-direction: row;
    height: 100%;
    width: 7rem;
    align-items: flex-end;
    padding-bottom: 1rem;
    margin: 0;
}

div.abajo .arrows i {
    font-size: 3rem;
    animation: leftArrow 1s infinite;
}

@keyframes leftArrow {
    60% {
        margin-left: 0.3rem;
    }
}

@media only screen and (min-width:1600px) {
    div.pagina-proyecto .sidebar {
        margin-top: 5rem;
        height: 90%;
    }
    div.pagina-proyecto .arriba img {
        width: 12rem;
        margin: 0;
    }
    div.pagina-proyecto .medio .iconos {
        width: 50%;
        margin-top: 4rem;
        padding-left: 3rem;
    }
    div.medio .iconos a {
        width: 10rem;
        margin-bottom: 12%;
    }
    div.medio .actual {
        margin-top: 1rem;
    }
    div.medio .actual h2 {
        font-size: 5rem;
    }
    div.abajo .arrows {
        width: 7rem;
    }
    div.abajo .arrows i {
        font-size: 3.8rem;
    }
}


/* LAYOUT */

div.layout {
    padding: 0 2rem;
    padding-top: 1rem;
    height: 100vh;
}


/* I won't let this build up inside of me */

div.imagenes {
    display: grid;
    grid-template-columns: repeat(6, 16.667%);
    grid-template-rows: repeat(3, 33.334%);
}

div.imagenes img {
    height: 100%;
    width: 100%;
}

div.imagenes.videos {
    grid-template-columns: repeat(3, 1fr);
}

div.imagenes.unshingo {
    grid-template-rows: repeat(5, 20%);
}

div.imagenes img {
    padding: 1rem;
    width: 100%;
    height: 100%;
}

div.imagenes .padre {
    position: relative;
}

div.padre img.work {
    object-fit: cover;
}

div.padre img.imagenhija {
    position: relative;
    top: 50%;
    transform: translateY(-50%);
}

div.foregroundZoom{
    display:none;
}

@media only screen and (min-width:1080px) {
    div.padre .foregroundZoom {
        background-color: var(--green);
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        right: 0;
    }
    div.padre img.imagenhija {
        display: block;
    }
    div.padre:hover .foregroundZoom {
        display: block;
        cursor: pointer;
    }
    div.foregroundZoom img {
        height: 10rem;
        width: 13rem;
    }
}

div.padre img.work:hover {
    transform: scale(1.045);
    transition: .3s ease-in-out;
    cursor: pointer;
}

div.imagenes .grid-column13 {
    grid-column: 1 / 3;
}

div.imagenes .grid-column24 {
    grid-column: 2 / 4;
}

div.imagenes .grid-column35 {
    grid-column: 3 / 5;
}

div.imagenes .grid-column46 {
    grid-column: 4 / 6;
}

div.imagenes .grid-column47 {
    grid-column: 4 / 7;
}

div.imagenes .grid-column57 {
    grid-column: 5 / 7;
}

div.imagenes .grid-column56 {
    grid-column: 5 / 6;
}

div.imagenes .grid-column67 {
    grid-column: 6 / 7;
}

div.imagenes .grid-column36 {
    grid-column: 3 / 6;
}

div.imagenes .grid-column37 {
    grid-column: 3 / 7;
}

div.imagenes .grid-row12 {
    grid-row: 1 / 2;
}

div.imagenes .grid-row13 {
    grid-row: 1 / 3;
}

div.imagenes .grid-row23 {
    grid-row: 2 / 3;
}

div.imagenes .grid-row24 {
    grid-row: 2 / 4;
}

div.imagenes .grid-row34 {
    grid-row: 3 / 4;
}

div.imagenes .grid-row46 {
    grid-row: 4 / 6;
}

div.imagenes .grid-row35 {
    grid-row: 3 / 5;
}


/* LIGHTBOX */

#lightbox {
    position: fixed;
    /* Gives the whole document a different flow B) */
    z-index: 1000;
    /* It'll be above the other content the whole time */
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .8);
    /* Makes a black filter for the whole page, which acts as a background when the image overlaps */
    display: none;
    /* Give a display none, otherwise the whole page would have the filter applied */
}

#lightbox.active {
    display: flex;
    /* Display lightbox, meaning activate black filter */
    justify-content: center;
    align-items: center;
    /* THis will center everything inside */
}

#lightbox img {
    max-width: 80%;
    /* Image dimensions */
    max-height: 90%;
    padding: 4px;
    background-color: black;
    border: 2px solid white;
}