:root {
  /*--color-body: #1f1d20;*/
  --color-body: #111111;
  --color-background: #f5ecdc;
  --color-btn-background: #d7c9b2;
  --color-line-background: #74953c;
  /*#8eb54b*/
  --color-content-background: #f8f5ec;
  --gradient-primary: linear-gradient(
    135deg,
    hsla(197, 100%, 63%, 1) 0%,
    hsla(294, 100%, 55%, 1) 100%
  );
  --gradient-secondary: linear-gradient(
    -135deg,
    hsla(197, 100%, 63%, 1) 0%,
    hsla(294, 100%, 55%, 1) 100%
  );
}

.bg-gradient-universal {
  background: linear-gradient(
    135deg,
    hsla(197, 100%, 63%, 1) 0%,
    hsla(294, 100%, 55%, 1) 100%
  );
}

@import url("https://fonts.googleapis.com/css2?family=Poppins&display=swap");

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

*:focus,
*:active {
  outline: none !important;
  -webkit-tap-highlight-color: transparent;
}

h1,
h2,
h3,
h4 {
  font-family: "Montserrat", sans-serif;
  line-height: 1.5;
}

p,
a,
li {
  font-family: "Open Sans", sans-serif;
  font-weight: 400; /* Regular weight for readability */
}

::selection {
  background: #00a1ff;
  color: #fff;
}

html {
  font-size: 62.5%;
  overflow-x: hidden;
}

p {
  margin-top: 0;
}

a {
  text-decoration: none;
}

body {
  background: var(--color-body);
  overflow-x: hidden;
}

.skills__text {
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
}

#tsparticles {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1; /* Keep the particles in the background */
}

.content-wrapper {
  position: relative;
  z-index: 1; /* Keeps all content above particles without extra z-index */
}

.container {
  border-radius: 25px;
  width: 95vw;
  margin: 0 auto;
  /* max-width: 1140px; */
}

.glass {
  background: linear-gradient(
    135deg,
    rgba(255, 255, 255, 0.1),
    rgba(255, 255, 255, 0)
  );
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  border-radius: 25px;
  border: 2px solid rgba(255, 255, 255, 0.18);
  box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.37);
}

.paragraph {
  font-weight: 500;
  font-size: 1.5em;
  margin-top: 8px;
  line-height: 1.6;
}

@media screen and (max-width: 1024px) {
  .container {
    width: 90vw;
  }
}
/*profile pic*/

.profile-section {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 3rem;
}

.profile-container {
  width: 250px;
  height: 250px;
  overflow: hidden;
  border-radius: 50%;
  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.5);
}

.profile-pic {
  width: 300px;
  height: 300px;
  object-fit: cover; /* Ensures the image covers the container */
  object-position: bottom;
  position: relative;
  right: 10px;
}

/*socials*/

.socials {
  margin-top: 3rem;
  display: flex;
  align-items: center;
  justify-content: center; /* This centers the wrapper horizontally */
  position: relative;
}

.wrapper {
  display: inline-flex;
  list-style: none;
  justify-content: center;
  padding: 0;
}

.wrapper .icon {
  position: relative;
  background: #fff;
  border-radius: 50%;
  padding: 15px;
  margin: 15px;
  width: 50px;
  height: 50px;
  font-size: 18px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  box-shadow: 0 10px 10px rgba(0, 0, 0, 0.1);
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.wrapper .tooltip {
  position: absolute;
  top: 0;
  font-size: 14px;
  background-color: #ffffff;
  color: #ffffff;
  padding: 5px 8px;
  border-radius: 5px;
  box-shadow: 0 10px 10px rgba(0, 0, 0, 0.1);
  opacity: 0;
  pointer-events: none;
  transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.wrapper a {
  text-decoration: none; /* Removes default underline */
  color: inherit; /* Ensures the icons keep their original color */
}

.wrapper a:link {
  color: inherit;
}

.wrapper a:active {
  color: inherit;
}

.wrapper a:hover {
  color: inherit; /* Prevent color change on hover */
}

.wrapper a:visited {
  color: inherit; /* Ensures the visited links retain the original color */
}

.wrapper .tooltip::before {
  position: absolute;
  z-index: -1;
  content: "";
  height: 8px;
  width: 8px;
  background: #ffffff;
  bottom: -3px;
  left: 50%;
  transform: translate(-50%) rotate(45deg);
  transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.wrapper .icon:hover .tooltip {
  top: -45px;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.wrapper .icon:hover span,
.wrapper .icon:hover .tooltip {
  text-shadow: 0px -1px 0px rgba(0, 0, 0, 0.1);
}

.wrapper .telegram:hover,
.wrapper .telegram:hover .tooltip,
.wrapper .telegram:hover .tooltip::before {
  background: #24a1de;
  color: #fff;
}

.wrapper .instagram:hover,
.wrapper .instagram:hover .tooltip,
.wrapper .instagram:hover .tooltip::before {
  background: linear-gradient(-135deg, #833ab4, #fd1d1d, #fcb045);
  color: #fff;
}

.wrapper .github:hover,
.wrapper .github:hover .tooltip,
.wrapper .github:hover .tooltip::before {
  background: #171515;
  color: #fff;
}

/*hero*/
.hero--container {
  display: grid;
  margin: 0 auto 0;
  padding: 4rem;
  margin-top: 3rem;
}

.hero__content {
  display: flex;
  align-items: center;
  flex-direction: column;
  overflow: hidden;
  color: #fff;
}

.hero__content h1 {
  text-align: center;
}

.hero__content .paragraph {
  margin-top: 1.5rem;
}

.hero__content .paragraph {
  line-height: 1.5;
}

.hero__content .btn {
  margin-top: 2em;
}

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

.hero__heading {
  margin-top: 0;
  font-size: 3rem;
}

.hero .btn {
  justify-self: center;
  align-self: center;
}

@media screen and (max-width: 768px) {
  .profile-section {
    margin-top: 1.75rem;
  }
  .profile-container {
    width: 200px;
    height: 200px;
  }
  .profile-pic {
    width: 250px;
    height: 250px;
  }

  .socials {
    margin-top: 1rem;
  }
  .hero--container {
    margin-top: 1rem;
    padding: 1.5rem;
  }
}

/*buttons*/

.btn {
  font-family: "Open Sans", sans-serif;
  border-radius: 40px;
  border: 0;
  cursor: pointer;
  font-weight: 600;
  font-size: 1.5rem;
  margin: 1rem 0;
  outline: 0;
  padding: 2rem 4vw;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
}

.btn--hero {
  position: relative;
  display: inline-block;
  background: var(--gradient-primary);
  color: #fff;
  margin-top: 2rem;
  border: none;
  cursor: pointer;
  overflow: hidden;
  z-index: 1;
  transition: color 0.5s ease;
}

.btn--hero::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--gradient-secondary);
  z-index: -1;
  transition: opacity 0.5s ease;
  opacity: 0;
}

.btn--hero:hover::before {
  opacity: 1;
}

.btn--hero:hover {
  color: #fff;
}

.btn--streched {
  padding-left: 5rem;
  padding-right: 5rem;
}

@media screen and (min-width: 1024px) {
  .btn {
    font-size: 1.5rem;
  }
  .btn--streched {
    padding-left: 10rem;
    padding-right: 10rem;
  }
}

/*about me header*/

.aboutMe__header {
  padding: 5rem 0;
  color: #fff;
  display: flex;
  align-items: center;
  flex-direction: column;
}
.aboutMe__header h2 {
  font-size: 2.125rem;
  font-weight: 400;
  line-height: 1.235;
  letter-spacing: 0.00735em;
}

/*about me line and icon*/

.aboutMe {
  margin: 2em auto;
  padding: 2em 0;
  position: relative;
  width: 95%;
}

.aboutMe::before {
  background: linear-gradient(
    135deg,
    hsla(197, 100%, 63%, 1) 0%,
    hsla(294, 100%, 55%, 1) 100%
  );

  background: -moz-linear-gradient(
    135deg,
    hsla(197, 100%, 63%, 1) 0%,
    hsla(294, 100%, 55%, 1) 100%
  );

  background: -webkit-linear-gradient(
    135deg,
    hsla(197, 100%, 63%, 1) 0%,
    hsla(294, 100%, 55%, 1) 100%
  );

  filter: progid: DXImageTransform.Microsoft.gradient( startColorstr="#40C9FF", endColorstr="#E81CFF", GradientType=1 );
  border-radius: 4px;
  content: "";
  height: 100%;
  position: absolute;
  top: 0;
  width: 4px;
  left: 18px;
}

.aboutMe--container {
  padding: 24px;
  padding: clamp(8px, 10%, 24px);
  margin: auto;
  /* background: var(--color-background); */
}

.aboutMe--element {
  position: relative;
  margin: 2em 0;
}

.aboutMe--element::after {
  clear: both;
  content: "";
  display: table;
}

.abouMe--element__icon__color {
  background: #647a92;
}

.abouMe--element__icon {
  border-radius: 50%;
  box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2),
    0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
  height: 40px;
  left: 0;
  position: absolute;
  top: 0;
  width: 40px;
}

.abouMe--element__icon img {
  display: block;
  width: 24px;
  height: 24px;
  left: 50%;
  margin-left: -12px;
  margin-top: -12px;
  position: relative;
  top: 50%;
}

@media only screen and (min-width: 1024px) {
  .aboutMe {
    margin: 3em auto;
    width: 90%;
  }
  .aboutMe::before {
    left: 50%;
    margin-left: -2px;
  }
  .aboutMe--element {
    margin: 4em 0;
  }
  .abouMe--element__icon {
    width: 60px;
    height: 60px;
    left: 50%;
    margin-left: -30px;
  }
  .abouMe--element__icon img {
    width: 30px;
    height: 30px;
    margin-left: -14px;
    margin-top: -15px;
  }
}

@media only screen and (min-width: 1024px) {
  .aboutMe--element:nth-child(2n) .aboutMe--element__content {
    float: right;
  }
}

/*about me content a=container*/

.aboutMe--element__content {
  box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2),
    0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
  background: var(--color-content-background);
  border-radius: 0.25em;
  margin-left: 60px;
  padding: 1em;
  position: relative;
}

@media only screen and (min-width: 1024px) {
  .aboutMe--element__content {
    margin-left: 0;
    padding: 1.5em;
    width: 44%;
  }
}

/* skills chart */

.skills {
  display: grid;
  gap: 4rem 2rem;
  margin: 0;
  overflow: hidden;
}

.block {
  --padding-vertical: 6rem;
  padding: var(--padding-vertical) 2rem;
}

@media screen and (min-width: 768px) {
  .grid--1x2 {
    grid-template-columns: repeat(2, 1fr);
  }
}

.skills--container {
  height: auto;
  padding: 25px 30px;
  margin-top: 2rem;
  overflow: hidden;
}
.skills--heading {
  text-align: center;
  /* text-underline-offset: 10px;
  text-decoration-thickness: 5px; */
  margin-bottom: 50px;
  font-weight: 500;
  color: #fff;
}

.horizontal-bars .bar {
  margin: 40px 0;
}
.horizontal-bars .bar:first-child {
  margin-top: 0;
}
.horizontal-bars .bar:last-child {
  margin-bottom: 0;
}
.horizontal-bars .bar .info {
  margin-bottom: 5px;
}
.horizontal-bars .bar .info span {
  font-size: 17px;
  font-weight: 500;
  /* animation: showText 0.5s 1s linear forwards; */
  opacity: 0;
  color: #fff;
  transition: opacity 0.5s linear 1s;
}

.horizontal-bars .bar .progress-line {
  position: relative;
  border-radius: 10px;
  width: 100%;
  height: 5px;
  /* background-color: #000; */
  /* animation: animate 1s cubic-bezier(1, 0, 0.5, 1) forwards; */
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 1s cubic-bezier(1, 0, 0.5, 1) 1s;
}
@keyframes animate {
  100% {
    transform: scaleX(1);
  }
}
.horizontal-bars .bar .progress-line span {
  height: 100%;
  background: var(--gradient-primary);
  position: absolute;
  border-radius: 10px;
  /* animation: animate 1s 1s cubic-bezier(1, 0, 0.5, 1) forwards; */
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 1s cubic-bezier(1, 0, 0.5, 1) 1.5s;
}
.progress-line.html span {
  width: 90%;
}
.progress-line.css span {
  width: 60%;
}
.progress-line.javascript span {
  width: 40%;
}
.progress-line.python span {
  width: 35%;
}
.progress-line.react span {
  width: 35%;
}

.progress-line span::after {
  /* animation: showText 0.5s 1.5s linear forwards; */
  background-color: #fff;
  transition: opacity 0.5s linear 1.5s;
  content: attr(data-percent);
  border-radius: 3px;
  color: #000;
  font-family: "Montserrat", sans-serif;
  font-size: 12px;
  font-weight: 500;
  opacity: 0;
  padding: 1px 8px;
  position: absolute;
  right: -20px;
  top: -28px;
}
.progress-line.html span::after {
  content: "90%";
}
.progress-line.css span::after {
  content: "60%";
}
.progress-line.javascript span::after {
  content: "40%";
}
.progress-line.python span::after {
  content: "35%";
}
.progress-line.react span::after {
  content: "35%";
}
.progress-line span::before {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border: 7px solid transparent;
  border-bottom-width: 0px;
  border-right-width: 0px;
  border-top-color: #fff;
  top: -10px;
  right: 0;
  /* animation: showText 0.5s 1.5s linear forwards; */
  opacity: 0;
  transition: opacity 0.5s linear 1.5s;
}
@keyframes showText {
  100% {
    opacity: 1;
  }
}

.radial-bars {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-evenly;
  align-items: flex-start;
}
.radial-bars .radial-bar {
  width: 50%;
  height: 170px;
  margin-bottom: 10px;
  position: relative;
}
.radial-bars .radial-bar svg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-90deg);
  width: 120px;
  height: 160px;
}
.radial-bars .radial-bar .progress-bar {
  stroke-width: 10;
  /* stroke: black; */
  fill: transparent;
  stroke-dasharray: 502;
  stroke-dashoffset: 502;
  stroke-linecap: round;
  /* animation: animate-bar 1s linear forwards; */
  transition: stroke-dashoffset 1s linear;
}
@keyframes animate-bar {
  100% {
    stroke-dashoffset: -1;
  }
}
.path {
  stroke-width: 10;
  /* stroke: red; */
  fill: transparent;
  stroke-dasharray: 502;
  stroke-dashoffset: 502;
  stroke-linecap: round;
  transition: stroke-dashoffset 1s linear 1s;
}
/* .path-1 {
  animation: animate-path1 1s 1s linear forwards;
}
.path-2 {
  animation: animate-path2 1s 1s linear forwards;
}
.path-3 {
  animation: animate-path3 1s 1s linear forwards;
}
.path-4 {
  animation: animate-path4 1s 1s linear forwards;
}

@keyframes animate-path1 {
  100% {
    stroke-dashoffset: 50;
  }
}
@keyframes animate-path2 {
  100% {
    stroke-dashoffset: 175;
  }
}
@keyframes animate-path3 {
  100% {
    stroke-dashoffset: 125;
  }
}
@keyframes animate-path4 {
  100% {
    stroke-dashoffset: 75;
  }
} */

.radial-bar .percentage {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 17px;
  font-weight: 500;
  color: #fff;
  /* animation: showText 0.5s 1s linear forwards; */
  opacity: 0;
  transition: opacity 0.5s linear 1s;
  font-family: "Montserrat", sans-serif;
}
.radial-bar .skills__text {
  width: 100%;
  position: absolute;
  text-align: center;
  color: #fff;
  left: 50%;
  bottom: -5px;
  transform: translateX(-50%);
  font-size: 17px;
  font-weight: 500;
  /* animation: showText 0.5s 1s linear forwards; */
  opacity: 0;
  transition: opacity 0.5s linear 1s;
}

/* Animations triggered by AOS horizontal*/
.aos-animate .horizontal-bars .bar .info span {
  opacity: 1;
}

.aos-animate .horizontal-bars .bar .progress-line {
  transform: scaleX(1);
}

.aos-animate .horizontal-bars .bar .progress-line span {
  transform: scaleX(1);
}

.aos-animate .progress-line span::before,
.aos-animate .progress-line span::after {
  opacity: 1;
}

/* Animations triggered by AOS radial*/
.aos-animate .progress-bar {
  stroke-dashoffset: -1;
}

.aos-animate .path-1 {
  stroke-dashoffset: 50;
}

.aos-animate .path-2 {
  stroke-dashoffset: 175;
}

.aos-animate .path-3 {
  stroke-dashoffset: 125;
}

.aos-animate .path-4 {
  stroke-dashoffset: 75;
}

.aos-animate .percentage,
.aos-animate .skills__text {
  opacity: 1;
}

/* footer */
.footer {
  overflow: hidden;
}
