/*
Theme Name: Deseo theme
*/

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


:root{
    --s-1: 80px;
    --s-2: 56px;
    --s-3: 40px;
    --s-4: 32px;
    --s-5: 24px;
    --s-6: 20px;
    --s-7: 16px;
    --s-8: 14px;
    --s-9: 4px;

    --s-p-t-b: var(--s-1);
    --s-p-l-r: var(--s-3);

    --c-m-1: #EAE8E1 ;
    --c-m-2: #FADDE3;
    --c-c-1: #572D3D;
    /* --c-c-2: #390000; */
    /* --c-c-3: #642939; */

    --c-c-2: #230E13;

    --c-c-3: #5b2937;
    --c-a-1: #f9c2c8;
    --c-a-2: #e96e6b;
    --c-a-3: #eb1d25;
    --c-a-4: #9ccec0;

    --c-b:rgb(27, 22, 22);
    --max-width: 1400px;
}


@font-face {
    font-family: 'Karla';
    src: url('./assets/fonts/Karla.ttf') format('truetype');
}

@font-face {
    font-family: 'Outfit';
    src: url('./assets/fonts/Outfit.ttf') format('truetype');
}


a{
    text-decoration: none;
    color: var(--c-a-1);

    &:hover{
        transition: 240ms;
        color: var(--c-a-2) !important;

        svg path{
            stroke: var(--c-a-2);
        }
        svg circle{
            fill: var(--c-a-2);
            stroke: var(--c-a-2);
        }
    }

    svg path{
        stroke: var(--c-m-1);
    }
    svg circle{
        fill: var(--c-m-1);
        stroke: var(--c-m-1);
    }
}
li{
    list-style: none;
}

html{
    background-color: var(--c-b);
}

body{
    color: var(--c-c-1);
    font-family: 'Karla';
    font-size: var(--s-7);
    background-color: var(--c-m-1);

}

main{
    display: flex;
    flex-direction: column;
}

section{
    scroll-margin-top: -1px;
    .container{
        max-width: var(--max-width);
    }
}

footer{
    display: flex;
    justify-content: center;
    width: 100svw;
    background-color: var(--c-b);
    padding: var(--s-p-l-r);

    .copyright-stamp{
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        text-align: center;
        gap:  var(--s-9);

        .copyright-symbol{
            height: fit-content;
            font-size: var(--s-5);
        }
    }
    .wrapper{
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: var(--s-8);
        max-width: var(--max-width);
        width: 100%;

        .logo{
            max-width: 80px;
        }

        .link-wrapper{
            display: flex;
            justify-content: center;
            gap: var(--s-5);
            a{
                font-family: Karla;
                font-weight: 100;
                word-wrap: anywhere;
                color: var(--c-m-1);
                display: flex;
                align-items: center;
                gap: var(--s-9);

                &.ig{
                    svg path{
                        stroke: none;
                        fill: var(--c-m-1);
                    }
                }

                &:hover{
                    color: var(--c-a-1);
                    transition: 480ms;

                    &.ig{
                        svg path{
                            stroke: none;
                            fill: var(--c-a-2);
                            transition: fill 240ms ease-out;
                        }
                    }
                }
            }
        }
    }
}

button{
    cursor: pointer;
    border: none;
    font-family: 'Outfit';
    font-weight: 380;
    letter-spacing: 1%;
    color: var(--c-c-1);
    background-color: var(--c-a-1);
    padding: 6px 16px;
    border-radius: 4px;
    transition: 240ms ease-in-out;



    svg path{
        stroke: var(--c-c-1);
    }
    svg circle{
        fill: var(--c-c-1);
        stroke: var(--c-c-1);
    }

    &:hover{
        background-color: var(--c-a-2);
    }
}

/* texts */

p{
    font-size: var(--s-5);
    max-width: 640px;
    line-height: 1.5;
    transition: font-size 480ms;
}

h6{
    font-size: var(--s-6);
    font-weight: 160;
    transition: font-size 480ms;
    font-family: 'Outfit';
}

h5{
    font-size: var(--s-5);
    font-weight: 240;
    transition: font-size 480ms;
    font-family: 'Outfit';
}

h4{
    font-size: var(--s-4);
    font-weight: 320;
    transition: font-size 480ms;
    font-family: 'Outfit';

}

h3{
    font-size: var(--s-3);
    font-weight: 540;
    transition: font-size 480ms;
    font-family: 'Outfit';

}

h2{
    font-size: var(--s-2);
    font-family: 720;
    transition: font-size 480ms;
    font-family: 'Outfit';

}

h1{
    font-size: var(--s-1);
    line-height: 0.9;
    font-weight: 800;
    transition: font-size 480ms;
    font-family: 'Outfit';

}

img{
    &.ratio-3-4{
        aspect-ratio: 3/4;
    }

    &.ratio-4-3{
        aspect-ratio: 4/3;
    }

    &.ratio-9-16{
        aspect-ratio: 9/16;
    }
}


.page-not-found-container{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100vh;

    & h2{
        text-align: center;
    }
}


/* Page loader */
.page-loader{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100svw;
    height: 100svh;
    background-color: var(--c-c);
    z-index: 9999999;

    &.finished-loading{
        animation: page-loaded 600ms forwards;
        & .text{
            opacity: 0 !important;
            animation: none;
        }
    }

    & .text{
        color: var(--accent-color-2);
        font-size: var(--s-2);
        opacity: 0;
        animation: fade-in 3s forwards;

        & span{
            animation: fade-in 10s;
            animation-iteration-count: infinite;
            animation-direction: alternate;
            animation-delay: 600ms;
            &:nth-child(1){animation-delay: 600ms;}
            &:nth-child(2){animation-delay: 1200ms;}
            &:nth-child(3){animation-delay: 1800ms;}
        }
    }

    display: none;
}
@keyframes fade-in {
    0% { opacity: 0;}
    20% { opacity: 0;}
    100%{ opacity: 1;}
}
@keyframes page-loaded {
    0% { opacity: 1;}

    99%{height: 100svh;}
    100%{ 
        height: 0svh;
        opacity: 0;
    }
}
/* Responsive */

@media only screen and (max-width: 1080px){
    :root{
        --s-1: 64px;
        --s-2: 48px;
        --s-3: 32px;
        --s-4: 24px;
        --s-5: 20px;
        --s-6: 16px;
        --s-7: 14px;
        --s-8: 12px;
        --s-9: 4px;
        --s-p: var(--s-4);

    }

    footer{
        .wrapper .link-wrapper{
        flex-direction: column;
        align-items: center;
        > a{
        text-align: center;
    }
    }
    }
}


/* NAV */
.nav{
    position: absolute;
    width: 0;
    height: 0;

	#nav-wrapper{
        position: fixed;
        top: 0;
        display: flex;
        justify-content: flex-end;
		width: 100%;
        z-index: 9999;

        padding: var(--s-7) var(--s-p-l-r);
        ul{
            display: flex;
            width: fit-content;

            gap: var(--s-7);

            li > *{
                font-size: var(--s-4);
                color: var(--c-m-1);
                transition: color 240ms;
                background-color: transparent !important;
                padding: 0;

                &:hover{
                    color: var(--c-a-2) !important;
                }
            }

            &.invert{
                li > *{
                    color: var(--c-c-1);
                }
            }
        }

        >img{
            display: none;
        }
	}

    #nav-btn{
        display: none;
    }


}


@media only screen and (max-width: 768px){
    p{
        font-size: var(--s-6);
    }

    /* NAV */
    .nav{
        #nav-wrapper{
            height: 100%;
            background-color: var(--c-c-2);
            flex-direction: column;
            justify-content: space-between;
            top: -100%;
            opacity: 0;
            transition: top 880ms ease-out, opacity 640ms ease-in;
            border-radius: 0px 0px 8px 8px;
            height: fit-content;
            max-height: 100vh;
            overflow-x: scroll;

            ul{
                flex-direction: column;
                li > *{
                    font-size: var(--s-4);
                }

                &.invert{
                    li > *{
                        color: var(--c-m-1);
                    }
                }
            }

            >img{
                display: block;
            }
        }

        #nav-btn{
            position: fixed;
            top: var(--s-5);
            right: var(--s-p-l-r);
            display: flex;
            flex-direction: column;
            justify-content: space-between;

            width: var(--s-2);
            height: var(--s-5);
            padding: 0px;
            background-color: transparent;

            z-index: 10000;

            &::after{
                position: absolute;
                content: "close";
                opacity: 0;
                transition: opacity 1000ms;
                color: var(--c-m-1);

            }

            &.invert{
                > div{
                    background-color: var(--c-c-3);
                }
            }

            > div{
                width: 100%;
                height: 4px;
                background-color: var(--c-m-1);
                border-radius: 12px;
            }

                div:first-child{
                    transition: width 1000ms;
                    /* animation: nav-btn-animation 1000ms reverse forwards; */
                }
                div:last-child{
                    transition: width 1600ms;
                    /* animation: nav-btn-animation 1600ms reverse forwards; */
                }
        }

        &.open{
            #nav-wrapper{
                top: 0%;
                opacity: 1;
            }

            #nav-btn{
                &::after{
                    opacity: 1;
                }
                div:first-child{
                    width: 0%;
                }
                div:last-child{
                    width: 0%;
                }
            }
        }
    }

    @keyframes nav-btn-animation {
        0%{
            width: 100%;
        }

        100%{
            width: 0%;
        }
    }
}

