:root {
  --color-base: #e3e2e5;
  --color-font-1: #1f1e22;
  --color-font-2: #55525e;
  --color-detail: #c2c0cb;
  --color-opacity: #eeeeeec4;
  --color-transparent: #00000000;
  --color-red: #f55356;
  --color-yellow: #f5c453;
  --color-blue: #53a9f5;
}

/* DARKMODE */
/* ------------------------------------- */

.darkmode {
  --color-base: #19181b;
  --color-font-1: #e3e2e5;
  --color-font-2: #8e8c9b;
  --color-detail: #26262b;
  --color-opacity: #1e1d21c7;

}

#theme_switch i:last-child {
  display: none;
}

.darkmode #theme_switch i:first-child {
  display: none;
}

.darkmode #theme_switch i:last-child {
  display: inline-block;
}

#theme_switch_res i:last-child {
  display: none;
}

.darkmode #theme_switch_res i:first-child {
  display: none;
}

.darkmode #theme_switch_res i:last-child {
  display: inline-block;
}

/* LOGO DARKMODE */
/* ------------------------------------- */

.figure_me_center img:nth-child(1) {
  display: block;
}

.figure_me_center img:nth-child(2) {
  display: none;
}

body.darkmode .figure_me_center img:nth-child(1) {
  display: none;
}

body.darkmode .figure_me_center img:nth-child(2) {
  display: block;
}

/* GLOBAL */
/* ------------------------------------- */

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
}

.ancho {
  max-width: 1200px;
  margin: auto;
}

body {
  font-family: Helvetica;
  -webkit-font-smoothing: antialiased;
  color: var(--color-font-2);
  background-color: var(--color-base);
  height: 100%;
  transition: all .20s linear;
}

h1,
h2 {
  color: var(--color-font-1);
}

h1 {
  font-size: xx-large;
}

button {
  cursor: pointer;
}

ul {
  list-style: none;
}

img {
  display: block;
  width: 100%;
  height: 100%;
  transition: all .20s linear;
  /* filter: saturate(0); */
}

figure {
  overflow: hidden;
  transition: all .20s linear;
}

a {
  display: inline-block;
  transition: all .15s linear;
  text-decoration: none;
  cursor: pointer;
  color: var(--color-font-2);
}

p {
  transition: all .15s linear;
}

hr {
  border: 2px solid var(--color-detail);
}

.dn {
  border-bottom: 2px var(--color-detail) solid;
  padding: clamp(10px, 1.5vh, 20px);
  width: 90%;
  text-align: center;
}

.btn_1 {
  background-color: var(--color-font-1);
  padding: clamp(5px, 1.5vh, 15px);
  border: 2px var(--color-font-1) solid;
  color: var(--color-detail);
  /* border-radius: clamp(5px, 1vh, 8px); */
}

.btn_1:hover {
  background-color: var(--color-base);
  color: var(--color-font-1);
}

.btn_2 {
  padding: clamp(5px, 1.5vh, 15px);
  border: 2px var(--color-detail) solid;
}

.btn_2:hover {
  background-color: var(--color-detail);
  color: var(--color-font-1);
}

.h2_title_section {
  border-bottom: 2px var(--color-detail) solid;
  /* border-top: 2px var(--color-detail) solid; */
  text-align: center;
  width: 100%;
}

/* .h2_title_section i {
  color: var(--color-blue);

} */

.span_title_section {
  /* background-color: var(--color-detail); */
  /* color: var(--color-font-2); */
  /* border: 2px var(--color-detail) solid; */
  display: inline-block;
  width: 50%;
  padding: clamp(10px, 1.5vh, 20px);
}

/* ------------------------------------- */

.div_fullpage {
  display: grid;
  grid-template-columns: 1fr 5fr 1fr;
  /* height: 100vh; */
}

.div_parallax {
  /* background-image: url("/Portfolio/files/background.gif"); */
  background-image: url("/files/background.gif");
  height: 100px;
  height: clamp(50px, 15vh, 100px);
  width: 100%;
  background-attachment: fixed;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

::-webkit-scrollbar {
  width: 1vh;
}

::-webkit-scrollbar-track {
  background: var(--color-detail);
}

::-webkit-scrollbar-thumb {
  background: var(--color-font-2);
}


/* ------------------------------------- */
/* LEFT */
/* ------------------------------------- */

.section_left {
  border-right: 2px var(--color-detail) solid;
}

/* .section_left i {
  color: var(--color-red);
} */

.nav_left {
  position: sticky;
  top: 0;
  left: 0;
  padding: clamp(5px, 3vh, 20px);
  padding-top: clamp(10px, 18vh, 120px);
}

.nav_left a {
  padding: clamp(5px, 1.5vh, 15px);
  border: 2px var(--color-base) solid;
  /* width: 100%; */
}

.nav_left a:hover,
.nav_left a:focus {
  border: 2px var(--color-detail) solid;
  color: var(--color-font-1);
}

.div_hr {
  height: 2px;
  background-color: var(--color-detail);
}

.p_hr_movile {
  display: none;
  color: var(--color-detail);
}

.li_res {
  display: none;
}

/* ------------------------------------- */
/* CENTER */
/* ------------------------------------- */

.section_center {
  z-index: 101;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(10px, 6vh, 50px);
}

/* HEADER */
/* ------------------------------------- */

.header_center {
  width: 100%;
}

.div_header_figures {
  position: relative;
}

.figure_bg_center {
  height: 230px;
  background-color: var(--color-detail);
}

.figure_me_center {
  max-width: 130px;
  /* border-radius: 100%; */
  border-radius: 0 100% 100% 0;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: var(--color-base);
  transition: all .20s linear;
  padding: 20px;
  /* filter: saturate(0); */
  /* border: 1px var(--color-detail) solid; */
}

.main_center {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: clamp(10px, 5vh, 50px);
  /* padding: 6vh 0 6vh 0; */
  /* padding: clamp(10px, 6vh, 50px) 0 clamp(10px, 6vh, 50px) 0; */
  padding-top: clamp(80px, 1vh, 100px);
}

.typingeffect_css {
  border-right: 3px solid var(--color-font-2);
  padding-right: 3px;
  animation: blink 0.8s infinite;
}

@keyframes blink {
  50% {
    border-color: transparent;
  }
}

.copyfield {
  border: 2px var(--color-detail) solid;
  display: flex;
}

#copytext {
  padding: clamp(5px, 1.5vh, 15px);
}

#copybtn {
  padding: clamp(5px, 1.5vh, 15px);
  /* background-color: var(--color-font-1); */
  cursor: pointer;
  border-left: 2px var(--color-detail) solid;
  transition: all .15s linear;
}

#copybtn:hover {
  color: var(--color-detail);
  background-color: var(--color-font-1);
}

.div_status {
  position: absolute;
  top: 100%;
  left: 20%;
  transform: translate(-50%, -50%);
  transition: all .15s linear;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(5px, 1vh, 10px);
}

.div_socials {
  width: 90%;
  /* padding: clamp(5px, 1.5vh, 15px); */
}

.div_socials ul {
  display: flex;
  align-items: center;
  justify-content: center;
}

.div_socials a {
  padding: clamp(5px, 1.5vh, 15px);
  border: 2px var(--color-base) solid;
  text-align: center;
}

.div_socials a:hover,
.div_socials a:focus {
  border: 2px var(--color-detail) solid;
  color: var(--color-font-1);
}


/* TOOLS */
/* ------------------------------------- */

.section_tools {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: clamp(10px, 5vh, 50px);
  width: 90%;
}

.div_articles_tools {
  /* display: flex;
  justify-content: space-evenly;
  flex-wrap: wrap;
  row-gap: clamp(10px, 3vh, 20px); */
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(10px, 5vh, 35px);
}

.div_articles_tools article {
  width: 200px;
}

.div_articles_tools h3 {
  text-align: center;
  padding: clamp(5px, 1.5vh, 15px);
  border-bottom: 2px var(--color-detail) solid;
  color: var(--color-font-1);
}

.div_details {
  color: var(--color-font-2);
  cursor: pointer;
  padding: clamp(5px, 1.5vh, 15px);
  transition: all .20s linear;
  border: 2px var(--color-base) solid;
  text-align: center;
}

.div_details:hover,
.div_details:focus {
  color: var(--color-font-1);
  border: 2px var(--color-detail) solid;
  color: var(--color-font-1);
}

.ul_sumary {
  display: none;
  text-align: center;
  color: var(--color-font-2);
  padding: 0px clamp(5px, 1.5vh, 15px) clamp(5px, 1.5vh, 15px);
  border-bottom: 2px var(--color-detail) solid;
}

/* PROJECTS */
/* ------------------------------------- */

.section_projects {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: clamp(10px, 5vh, 50px);
  width: 90%;
}

.div_projects {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-evenly;
  row-gap: clamp(20px, 4vh, 40px);
  /* display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(10px, 5vh, 35px); */
}

.div_projects article {
  width: 300px;
  display: flex;
  flex-direction: column;
  gap: clamp(5px, 2.5vh, 20px);
}

.div_projects figure {
  position: relative;
  background-color: var(--color-detail);
  height: 200px;
}

.div_projects figure:hover img {
  scale: 105%;
}

.div_hover_project {
  position: absolute;
  bottom: 0;
  right: 0;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--color-base);
  transition: all .20s linear;
  padding: clamp(5px, 1.5vh, 15px);
  gap: clamp(5px, 1.5vh, 15px);
}

.div_hover_project a {
  color: var(--color-font-2);
}

.div_hover_project a:hover,
.div_hover_project a:focus {
  color: var(--color-font-1);
}

.p_project_desc {
  text-align: center;
}

.div_tags_project {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-evenly;
  gap: clamp(5px, 1.5vh, 15px);
  padding: clamp(5px, 1.5vh, 15px) 0 clamp(5px,
      1.5vh,
      15px) 0;
  border-top: 2px var(--color-detail) solid;
  /* border-bottom: 2px var(--color-detail) solid; */
}

.div_tags_project p:hover {
  color: var(--color-font-1);
}

.h3_title_project {
  text-align: center;
  color: var(--color-font-1);
}

/* ABOUT ME */
/* ------------------------------------- */

.section_aboutme {
  display: flex;
  flex-direction: column;
  /* gap: clamp(10px, 3vh, 30px); */
  width: 90%;
}

.section_aboutme h3 {
  color: var(--color-font-1);
  display: inline-block;
  border-bottom: 2px var(--color-detail) solid;
  padding-bottom: clamp(10px, 1.5vh, 15px);
  margin-bottom: clamp(10px, 1.5vh, 15px);
}

.article_aboutme_1 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(10px, 3vh, 30px);
  /* border-bottom: 2px var(--color-detail) solid; */
  padding: clamp(10px, 1.5vh, 15px);
  padding-top: clamp(10px, 5vh, 50px);
}

.article_aboutme_1 figure {
  background-color: var(--color-detail);
  width: 300px;
}

.article_aboutme_2 {
  padding: clamp(10px, 1.5vh, 15px);
  /* border-bottom: 2px var(--color-detail) solid; */
}

.article_aboutme_2 ul {
  list-style: disc;
  padding-left: clamp(10px, 3vh, 30px);
}

.article_aboutme_2 li {
  padding: clamp(5px, 1vh, 15px);
}

.div_tags_aboutme {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-evenly;
  color: var(--color-font-2);
}

.div_tags_aboutme p {
  padding: clamp(5px, 1vh, 15px);
}

.div_tags_aboutme p:hover {
  color: var(--color-font-1);
}

.article_aboutme_2 a {
  color: var(--color-font-2);
  text-decoration: underline;
}

/* SERVICES */
/* ------------------------------------- */

.section_services {
  width: 90%;
  gap: clamp(10px, 3vh, 30px);
}

.div_wip {
  text-align: center;
  padding: clamp(10px, 3vh, 30px);
}

/* ------------------------------------- */

.footer-btn-up {
  width: 40px;
  height: 40px;
  display: none;
  text-decoration: none;
  align-items: center;
  justify-content: center;
  position: fixed;
  bottom: 10px;
  right: 10px;
  font-size: 20px;
  z-index: 101;
  border: 2px var(--color-detail) solid;
  color: var(--color-font-2);
  background-color: var(--color-opacity);
}

.footer-btn-up:hover {
  background-color: var(--color-detail);
}

/* ------------------------------------- */
/* RIGHT */
/* ------------------------------------- */

.section_right {
  border-left: 2px solid var(--color-detail);
}