/*
 Theme Name:   Protafolio Child Theme
 Description:  Child theme para personalizar el tema principal.
 Author:       Tiare Bergmann
 Version:      1.0.0
*/

.nunito-sans-200 {
  font-family: "Nunito", sans-serif;
  font-weight: 200;
}

.nunito-sans-300 {
  font-family: "Nunito", sans-serif;
  font-weight: 300;
}

.nunito-sans-400 {
  font-family: "Nunito", sans-serif;
  font-weight: 400;
}

.nunito-sans-600 {
  font-family: "Nunito", sans-serif;
  font-weight: 600;
}

/* Agrega aquí tus estilos personalizados */

:root {
  --main-color: #f429ff;
  --secondary-color: #ff871d;
  --accent-color: #f3ff00;
  /* --background-color: #06001c; */
  --background-color: #202228;

  --color-bg1: rgb(108, 0, 162);
  --color-bg2: rgb(0, 17, 82);
  --color1: 192, 33, 200;
  --color2: 153, 50, 244;
  --color3: 255, 92, 40;
  --color4: 255, 255, 0;
  --color5: 153, 50, 244;
  --color-interactive: 140, 100, 255;
  --circle-size: 50%;
  --blending: hard-light;
  --badge-border: 1px;
}

.gradient-text {
  background: #9005f4;
  background: linear-gradient(to left, #9932f4 30%, #e736b5 50%, #ff5c28 70%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Chakra Petch", sans-serif;
  font-weight: 500;
  color: #fff;
  letter-spacing: 2px;
}

.line-break {
  display: block;
}

.fs-xs {
  font-size: 0.8rem;
}

.fs-s {
  font-size: 1rem;
}

.fs-sm {
  font-size: 1.2rem;
}

.fs-md {
  font-size: 1.5rem;
}

.fs-l {
  font-size: 2rem;
}

.fs-lg {
  font-size: 2.5rem !important;
}

.fw-700 {
  font-weight: 700;
}

.fw-500 {
  font-weight: 500;
}

.fw-400 {
  font-weight: 400;
}

.text-center {
  text-align: center;
}

.text-left {
  text-align: left !important;
}

.text-right {
  text-align: right;
}

.roboto-regular {
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  font-style: normal;
}

body {
  font-family: "Chakra Petch", sans-serif;
  background-color: #000000 !important;
  color: #fff;
  margin: 0;
}

.header {
  background-color: #0d0d0d;
  /* padding: 10px 0px; */
  display: flex;
  justify-content: space-between;
  padding: 1rem 2rem;
  /* box-shadow: 0px 11px 15px 0px rgba(244, 107, 190, 0.5); */
  position: fixed;
    width: 100%;
    z-index: 99;
    top: 0;
}

.header nav {
  width: 60%;
}

.header nav ul {
  display: flex;
  flex-direction: row;
  gap: 1rem;
  justify-content: center;
  list-style: none;
}

.header nav ul li {
  padding: 0.5rem 1rem;
  border-radius: 5px;
  /* background-color: #fff; */
  /* color: #000; */
}

.header nav ul li a {
  text-decoration: none;
  color: #fff;
}

.header nav ul li a:hover {
  color: #f429ff;
}

.logo{
  width: 50px;
  height: 50px;
}

main {
  /* margin: 2rem; */
  padding-top: 6rem;
}

/* main .container {
  display: flex;
  justify-content: space-between;
} */

section {
  padding: 2rem 0;
  padding-top: 0;
}

.section_hero {
  width: 90%;
  margin: 0 auto;
}
.container_title,
.container_image {
  width: 100%;
}

.container_title {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}

@media screen and (max-width: 768px) {
  .container_title p{
    display: none;
  }
}

.container_title .hello {
  font-size: 1.5rem;
  color: #fff !important;
  text-align: center;
}

.container_title .title {
  font-size: 2rem;
  color: #fff !important;
  text-align: center;
}

.container_title .title span .greeting {
  background: #f429ff;
  background: linear-gradient(to right, #f429ff 0%, #ff871d 60%, #f3ff00 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.container_title .subtitle {
  font-size: 1.5rem;
  color: #fff !important;
  text-align: center;
}

.container_image img {
  width: 100%;
  height: auto;
  filter: drop-shadow(0 -0.9rem 0.75rem #f46bbe);
}

.circle {
  width: 300px;
  height: 300px;
  border-radius: 50%;
  background: #f429ff;
  background: linear-gradient(90deg, rgba(244, 41, 255, 1) 0%, #f3ff00 100%);
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
}

.photo_profile {
  width: 280px;
  height: 280px;
  border-radius: 50%;
  background: rgb(244, 41, 255);
  background: linear-gradient(
    90deg,
    rgba(244, 41, 255, 1) 0%,
    rgba(243, 255, 0, 1) 100%
  );

  display: flex;
  justify-content: center;
  align-items: center;
  object-fit: cover;
  object-position: top;
}

.section_about {
  background-color: #1e1e1e;
}
.section_about .container {
  padding: 2rem;
  display: flex;
  justify-content: space-between;
  width: 80%;
  margin: 0 auto;
  gap: 8rem;
}

.section_about .container .about_text {
  width: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: white;
}

.section_about .container .about_text p {
  font-size: 2rem;
  color: #fff;
}

.section_projects {
  background-color: #1e1e1e;
}

.section_projects .container {
  padding: 2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 80%;
  margin: 0 auto;
  gap: 8rem;
}

.section_projects .container .title {
  font-size: 2rem;
  color: #fff;
}

.title {
  margin-bottom: 2rem;
  font-size: 2.2rem;
}

.section_projects .container .projects {
  width: 100%;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2rem;
}

.section_projects .container .projects .project {
  width: 200px;
  background-color: #fff;
  padding: 1rem;
  border-radius: 5px;
  box-shadow: 0px 11px 15px 0px rgba(244, 107, 190, 0.5);
}

.section_projects .container .projects .project img {
  width: 100%;
  height: auto;
  border-radius: 5px;
}

.section_projects .container .projects .project .stacks {
  display: flex;
  gap: 0.5rem;
  margin-top: 0.5rem;
}

.section_projects .container .projects .project .stacks .stack {
  padding: 0.5rem;
  background-color: #f46bbe;
  color: #fff;
  border-radius: 5px;
}

.section_contact {
  /* background-color: #1e1e1e; */
}

.section_contact .container {
  padding: 2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 80%;
  margin: 0 auto;
  gap: 8rem;
}

.section_contact .container .contact_form {
  font-size: 1.4rem;
  color: #fff;
  text-align: center;
  width: 75%;
}

@media screen and (max-width: 768px){

  .section_contact .container {
    padding: 0;
    margin: 0;
    width: 100%;
  }

  .section_contact .container .contact_form {
    width: 100%;
  }
}

.section_contact .container .contact_form form {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
  width: 50%;
  margin: 0 auto;
}

.section_contact .container .contact_form form .from_group {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}



.experiencias {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  position: relative;;
}

.card_experience,
.card_project,
.card_service {
  background-color: #0d0d0e;
  padding: 0.5rem 1rem;
  border: 1px solid #282828;
  color: #fff;
  z-index: 5;
  width: 100%;
  transition: transform 1s ease;
  height: 100%;
}

.card_experience .line-left {
  border-bottom: 0.5px solid #540479;
  height: 100%;
  position: absolute;
  width: 30px;
  top: -50%;
  left: -16%;
  transform: translate(71px, 10px);
  z-index: 1;
}

.card_experience:hover {
  background-color: #0d0d0e;
  /* border: #3a3a3a; */
  /* transition: 0.5s; */
  cursor: pointer;
  border: 1px solid #444444;

  /* border-left: .5px solid #fff;
    border-right: .5px solid #fff; */
}

.card_project:hover {
  background-color: var(--background-color);
  /* border: #3a3a3a; */
  /* transition: 0.5s; */
  cursor: pointer;
  border: 1px solid #444444;
  /* border-left: .5px solid #fff;
    border-right: .5px solid #fff; */
}

.card_service{
  align-items: center;
}



.card_service img {
  width: 144px;
  height: 144px;

}

.card_service:hover {
  background-color: var(--background-color);
  /* border: #3a3a3a; */
  /* cursor: pointer; */
  border: 1px solid #444444;
  /* transform: scale(1.1); */
  /* animation: scale 1s none; */
}

.cursor_lantern {
  pointer-events: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /* background: radial-gradient(
    circle at var(--x) var(--y),
    #19085647,
    transparent 25%
  ); */
  z-index: 0;
}

.top_lantern {
  position: absolute;
  top: -50%;
  left: 0;
  width: 100%;
  height: 100%;
  background: radial-gradient(circle, #319fca47, transparent 25%);
  z-index: 0;
}

.list-stack {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding-left: 0;
}
.badge {
  /* background-color: #f429ff; */
  /* background: linear-gradient(90deg, rgb(192, 33, 200) 0%, #858c01 100%); */
  color: #fff;
  padding: 0.2rem 1rem;
  border-radius: 2px;
  position: relative;
  /* $border: 5px; */
  color: #fff;
  background: #000;
  background-clip: padding-box;
  border: solid var(--badge-border) transparent;
  border-radius: 1em;
}

.badge:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  margin: -1px;
  border-radius: inherit;
  background: linear-gradient(to left, #9932f4 30%, #e736b5 50%, #ff5c28 70%);
}


.form-contact input:hover {
  border: 1px solid #ff5c28;
} 

.contact_form button {
  font-family: "Chakra Petch", sans-serif;
}

.truncate {
  width: 500px; /* Ajusta el ancho según sea necesario */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.truncate-multiline {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3; /* Número de líneas a mostrar */
  overflow: hidden;
  text-overflow: ellipsis;
}

@keyframes moveInCircle {
  0% {
    transform: rotate(0deg);
  }
  50% {
    transform: rotate(180deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

@keyframes moveVertical {
  0% {
    transform: translateY(20%);
  }
  50% {
    transform: translateY(50%);
  }
  100% {
    transform: translateY(20%);
  }
}

@keyframes moveHorizontal {
  0% {
    transform: translateX(20%) translateY(10%);
  }
  50% {
    transform: translateX(50%) translateY(20%);
  }
  100% {
    transform: translateX(20%) translateY(10%);
  }
}

.gradient-bg {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
  background: rgba(99, 99, 99, 0);
  top: 0;
  left: 0;
  /* border-radius: 30%; */
  svg {
    display: none;
  }

  .gradients-container {
    filter: url(#goo) blur(40px);
    width: 100%;
    height: 100%;
  }

  .g1 {
    position: absolute;
    background: radial-gradient(
        circle at center,
        rgba(var(--color1), 0.8) 0,
        rgba(var(--color1), 0) 50%
      )
      no-repeat;
    mix-blend-mode: var(--blending);

    width: var(--circle-size);
    height: var(--circle-size);
    top: calc(50% - var(--circle-size) / 2);
    left: calc(50% - var(--circle-size) / 2);

    transform-origin: center center;
    animation: moveVertical 30s ease infinite;

    opacity: 1;
  }

  .g2 {
    position: absolute;
    background: radial-gradient(
        circle at center,
        rgba(var(--color2), 0.8) 0,
        rgba(var(--color2), 0) 50%
      )
      no-repeat;
    mix-blend-mode: var(--blending);

    width: var(--circle-size);
    height: var(--circle-size);
    top: calc(50% - var(--circle-size) / 2);
    left: calc(50% - var(--circle-size) / 2);

    transform-origin: calc(50% - 50px);
    animation: moveInCircle 20s reverse infinite;

    opacity: 1;
  }

  .g3 {
    position: absolute;
    background: radial-gradient(
        circle at center,
        rgba(var(--color3), 0.8) 0,
        rgba(var(--color3), 0) 50%
      )
      no-repeat;
    mix-blend-mode: var(--blending);

    width: var(--circle-size);
    height: var(--circle-size);
    top: calc(50% - var(--circle-size) / 2 + 50px);
    left: calc(50% - var(--circle-size) / 2 - 100px);

    transform-origin: calc(50% + 80px);
    animation: moveInCircle 40s linear infinite;

    opacity: 1;
  }

  .g4 {
    position: absolute;
    background: radial-gradient(
        circle at center,
        rgba(var(--color4), 0.8) 0,
        rgba(var(--color4), 0) 50%
      )
      no-repeat;
    mix-blend-mode: var(--blending);

    width: var(--circle-size);
    height: var(--circle-size);
    top: calc(50% - var(--circle-size) / 2);
    left: calc(50% - var(--circle-size) / 2);

    transform-origin: calc(50% - 200px);
    animation: moveHorizontal 40s ease infinite;

    opacity: 0.7;
  }

  /* .g5 {
    position: absolute;
    background: radial-gradient(circle at center, rgba(var(--color5), 0.8) 0, rgba(var(--color5), 0) 50%) no-repeat;
    mix-blend-mode: var(--blending);

    width: calc(var(--circle-size) * 2);
    height: calc(var(--circle-size) * 2);
    top: calc(50% - var(--circle-size));
    left: calc(50% - var(--circle-size));

    transform-origin: calc(50% - 800px) calc(50% + 200px);
    animation: moveInCircle 20s ease infinite;

    opacity: 1;
  } */

  .interactive {
    position: absolute;
    background: radial-gradient(
        circle at center,
        rgba(var(--color-interactive), 0.8) 0,
        rgba(var(--color-interactive), 0) 50%
      )
      no-repeat;
    mix-blend-mode: var(--blending);

    width: 100%;
    height: 100%;
    top: -50%;
    left: -50%;

    opacity: 0.7;
  }
}

.button {
  background-color: #961271;
  border: none;
}

.button:hover,
 .button:focus-visible,
  .button:focus, 
  .button:active {
  background-color: #ff5c28 !important;
}

.list-none {
  list-style: none;
}

@keyframes scale {
  0% {
    transform: scale(1);
  }

  100% {
    transform: scale(1.05);
  }
}


footer {
  position: relative;
  bottom: 0;
}

footer .container .footer {
  background-color: #000;
  padding: 1rem 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
}

.time_box{
  background-color: #0d0d0e;
  padding: 0.5rem 1rem;
  border: 1px solid #444444;

  text-align: center;
  color: #fff;
  position: relative;
  z-index: 2;
  width: 80%;
  margin: 0 auto;
}

.timeline{
  position: absolute;
  left: 50%;
  border: 3px solid #f536ff;
  filter: blur(4px);
  width: 1px;
  z-index: 1;
  height: 100%;
  background: #ffffff;
  margin-top: .5rem;
}

.navbar-toggler {
  background-color: #ff5c28;
}

#confetti-container {
  position: fixed;
  top: -1rem;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: hidden;
  z-index: 9999;
}

.confetti-hidden {
  display: none;
  transition: 1s;
}

#confirmationMessage{
  height: 330px;
}

.margin-0-auto {
  margin: 0 auto;
}

.text_ver_mas {
  letter-spacing: 2px;
}

#about {
  /* background-color: #1e1e1e; */
  padding-top: 2rem;
  padding-bottom: 2rem;
}

@media screen and (max-width: 768px){
  #about {
    padding: 0;
  }
  
}


#about img {
  /* max-width: 100%;
  height: auto;
  border-radius: 10px;
  display: block;*/
  margin: 0 auto; 
}

#about .title {
  margin-bottom: 20px;
}

#about p {
  font-size: 16px;
}


.footer_logo{
  width: 50px;
  height: 50px;
}

.footer ul {
  display: flex;
  justify-content: center;
  gap: 1rem;
  width: 50%;
}

@media screen and (max-width: 768px){
  .footer ul {
    width: 100%;
  }
}

.post_content a{
  color: #f429ff;
}

.go-start{
  border-radius: 5px;
  text-decoration: none;
  position: fixed;
  bottom: 0rem;
  right: -1rem;
  z-index: 9999;
}

.go-start-button{
  background-color: #f429ff;
  color: #fff;
  padding: .5rem 1rem;
  padding-right: 1.2rem;
  border-radius: 30px 0 0 30px;
  text-decoration: none;
  border: none;
}


.caret {
  display: inline-block;
  margin-left: 5px; /* Ajusta el margen según sea necesario */
  font-weight: bold;
  animation: blink 1s step-end infinite;
  color: #9932f4;
}

@keyframes blink {
  0%, 50% {
      opacity: 1;
  }
  50.01%, 100% {
      opacity: 0;
  }
}