@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Turret+Road:wght@200;300;400;500;700;800&display=swap');

:root {
    --header-height: 3rem;

    --title-color: #0B0A0A;
    --text-color: #403A3A;
    --text-color-light: #707070;
    --container-color: #FAFAFA;
    --container-color-alt: #F0EFEF;
    --body-color: #FCFCFC;

    --body-font: 'Poppins', sans-serif;
    --h1-font-size: 1.5rem;
    --h2-font-size: 1.25rem;
    --h3-font-size: 1rem;
    --normal-font-size: .938rem;
    --small-font-size: .875rem;
    --smaller-font-size: .813rem;

    --font-medium: 600;
    --font-semi-bold: 500;

    --m1: .5rem;
    --m2: 1rem;
    --m3: 1.5rem;

    --z-tooltip: 10;
    --z-fixed: 100;
}

*, ::before, ::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0 0 var(--header-height) 0; padding: 0; font-family: var(--body-font); font-size: var(--normal-font-size); background-color: var(--body-color); color: var(--text-color); }
    body.dark-theme {
        --title-color: #F2F2F2;
        --text-color: #BFBFBF;
        --container-color: #212121;
        --container-color-alt: #181616;
        --body-color: #2B2B2B;
    }

    body.scale-cv {
        --h1-font-size: .938rem;
        --h2-font-size: .938rem;
        --h3-font-size: .875rem;
        --normal-font-size: .813rem;
        --small-font-size: .75rem;
        --smaller-font-size: .688rem;
    }

h1, h2, h3, ul, p { margin: 0; }
    h1, h2, h3 { margin: 0; }
    ul { padding: 0; list-style: none; }
a { text-decoration: none; }
img { max-width: 100%; height: auto; }
.section { padding: 1.5rem 11pxs; }
.section-title { font-size: var(--h2-font-size); color: var(--title-color); font-weight: var(--font-semi-bold); text-transform: uppercase; letter-spacing: 0.35rem; text-align: center; margin-bottom: var(--m3); }
.bd-container { width: calc(100% - 3rem); margin-left: var(--m3); margin-right: var(--m3); }
.bd-grid { display: grid; gap: 1.5rem; }

/*Header*/

.l-header { width: 100%; position: fixed; bottom: 0; left: 0; z-index: var(--z-fixed); background-color: var(--body-color); box-shadow: 0 -1px 4px rgba(0, 0, 0, .1); transition: .4s; }
.nav { height: var(--header-height); display: flex; justify-content: space-between; align-items: center; }

@media screen and (max-width: 968px) {
    .nav-menu { 
        position: fixed; 
        bottom: -100%; 
        left: 0; 
        width: 100%; 
        padding: 2rem 1.5rem; 
        background-color: var(--body-color); 
        box-shadow: 0 1px 4px rgba(0, 0, 0, .1); 
        border-radius: 1rem 1rem 0 0; 
        z-index: var(--z-fixed); 
        transition: .4s; 
    }
   
}

.nav-toggle, .nav-logo { color: var(--title-color); font-weight: var(--font-medium); }
    .nav-toggle { font-size: 1.2rem; cursor: pointer; }
.nav-item { text-align: center; }
.nav-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
.nav-link { display: flex; flex-direction: column; font-size: var(--smaller-font-size); color: var(--text-color-light); font-weight: var(--font-medium); }
    .nav-link:hover { color: var(--title-color); }
.nav-icon { font-size: 1.2rem; margin-bottom: var(--m1); }
.show-menu { bottom: var(--header-height); }
.active-link { color: var(--title-color); }

/*Home*/

.home { position: relative; }
.home-container { gap: 3rem; }
.home-data { gap: 0.5rem; text-align: center; }
.home-img {  border-radius: 50%; justify-self: center; margin-bottom: var(--m1); }
.home-title { font-size: var(--h1-font-size); }
.home-profession { font-size: var(--normal-font-size); margin-bottom: var(--m1); }
.home-address { gap: 1rem; }
.home-information { display: flex; align-items: center; font-size: var(--small-font-size); }
.home-icon { font-size: 1.2rem; margin-right: .25rem; }
.home-button-movil { display: inline-block; border: 2px solid var(--text-color); color: var(--title-color); padding: 1rem 2rem; border-radius: .25rem; transition: .4s; font-weight: var(--font-medium); margin-top: var(--m3); }
    .home-button-movil:hover { background-color: var(--text-color); color: var(--container-color); }

/*Scale-cv Classes*/


.scale-cv .change-theme, .scale-cv .generate-pdf { display: none !important; } 
.scale-cv .bd-container { max-width: 595px; }
.scale-cv .section { padding: 1.5rem 0 .80rem; }
.scale-cv .section-title { margin-bottom: .75rem; }
.scale-cv .resume-left, .scale-cv .resume-right { padding: 0 1rem; }
.scale-cv .home-img { width: 90px; height: 90px; }
.scale-cv .home-container { gap: 1.5rem; }
.scale-cv .home-data { gap: 0.25rem; }
.scale-cv .home-address, .scale-cv .social-container { gap: 0.75rem; }
.scale-cv .home-icon, .scale-cv .social-icon, .scale-cv .interests-icon { font-size: 1rem; }
.scale-cv .education-container, .scale-cv .experience-container, .scale-cv .certificate-container { gap: 1rem; }
.scale-cv .education-time, .scale-cv .experience-time { padding-right: 0.5rem; }
.scale-cv .education-rounder, .scale-cv .experience-rounder { width: 11px; height: 11px; margin-top: 0.22rem; }
.scale-cv .education-line, .scale-cv .experience-line { width: 1px; height: 110%; transform: translate(5px, 0); }
.scale-cv .education-data, .scale-cv .experience-data { gap: 0.25rem; }
.scale-cv .skills-name { margin-bottom: var(--m1); }
.scale-cv .interests-container { column-gap: 2.5rem; }

/*Social*/

.social-container { grid-template-columns: max-content; gap: 1rem; }
.social-link { display: inline-flex; align-items: center; font-size: var(--small-font-size); color: var(--text-color); }
    .social-link:hover { color: var(--title-color); }
.social-icon { font-size: 1.2rem; margin-right: 0.25rem; }

/*Profile*/

.profile-description { text-align: center; }

/*Education and Experience*/

.education-content, .experience-content { display: flex; }
.education-time, .experience-time { padding-right: 1rem; }
.education-rounder, .experience-rounder { position: relative; display: block; width: 16px; height: 16px; background-color: var(--text-color-light); border-radius: 50%; margin-top: 0.25rem; }
.education-line, .experience-line { display: block; width: 2px; height: 110%; background-color: var(--text-color-light); transform: translate(7px, 0);}
.education-data, .experience-data { gap: 0.5rem; }
.education-title, .experience-title { font-size: var(--h3-font-size); }
.education-studies, .experience-company { font-size: var(--small-font-size); color: var(--title-color); }
.education-year { font-size: var(--smaller-font-size); }

/*Skills and Languages*/

.skills-content, .languages-content { grid-template-columns: repeat(2, 1fr); }
.languages-content { gap: 0; }
.skills-name, .languages-name { display: flex; align-items: center; margin-bottom: var(--m3); }
.skills-circle, .languages-circle { display: inline-block; width: 5px; height: 5px; background-color: var(--text-color); border-radius: 50%; margin-right: .75rem; }

/*Certification*/

.certificate-title { font-size: var(--h3-font-size); margin-bottom: var(--m1); }

/*References*/

.references-content { gap: 0.25rem; }
.references-subtitle { color: var(--text-color-light); }
.references-subtitle, .references-contact { font-size: var(--smaller-font-size); }
.references-title { font-size: var(--h3-font-size); }

/*Interests*/

.interests-container { grid-template-columns: repeat(3, 1fr); margin-top: var(--m2); }
.interests-content { display: flex; flex-direction: column; align-items: center; }
.interests-icon { font-size: 1.5rem; color: var(--text-color-light); }

/*Scroll Top*/

.scrolltop {
    position: fixed;
    right: 1rem;
    bottom: -20%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0.3rem;
    background-color: var(--container-color-alt);
    border-radius: .4rem;
    z-index: var(--z-tooltip);
    transition: .4s;
    visibility: hidden;
}
.scrolltop-icon { font-size: 1.2rem; color: var(--text-color); }
.show-scroll { visibility: visible; bottom: 5rem; }

.change-theme { position: absolute; right: 0; top: 2.2rem; display: flex; color: var(--text-color); font-size: 1.2rem; cursor: pointer; }
    .change-theme:hover { color: var(--title-color); }

.generate-pdf { display: none !important; position: absolute; top: 2.2rem; left: 0; font-size: 1.2rem; color: var(--text-color); cursor: pointer; }
    .generate-pdf:hover { color: var(--title-color); }

/*Media Queries*/

@media screen and (max-width: 330px) {
    .nav-list { grid-template-columns: repeat(2, 1fr); gap: 1rem .5rem; }
}

@media screen and (min-width: 968px) {
    body { margin: 3rem 0; }
    .bd-container { margin-left: auto; margin-right: auto; }
    .l-header, .scrolltop { display: none; }

    .resume { display: grid; grid-template-columns: 1fr 2fr; background-color: var(--container-color); box-shadow: 50px 87px 80px rgba(13, 12, 12, .15); }
    .resume-left { background-color: var(--container-color-alt); }
        .resume-left, .resume-right { padding: 0 1.5rem; }
    .section-title, .profile-description { text-align: initial; }
    .generate-pdf { display: inline-block !important; }

    .home-container { gap: 0.5rem; }
    .home-button-movil { display: none; }

    .references-container { grid-template-columns: repeat(2, 1fr); }
    .languages-content { grid-template-columns: repeat(3, max-content); column-gap: 3.5rem; }
    .interests-container { grid-template-columns: repeat(4, max-content); column-gap: 3.5rem; }
}
