body {
  background-image: url(../images/bg_bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed;
  color: #a531b4;
  font-family: "Gugi";
  width: 100vw;
}

body::after {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  background-color: #0d1117e5;
  z-index: -1;
}

/* ----------------------- SUPERIOR ----------------------- */

.btn-top {
  position: fixed;
  right: 3vw;
  bottom: 11vh;
  font-size: 3rem;
  color: #05f1c7;
  transition: 0.3s ease;
  cursor: pointer;
  z-index: 1;
  background: none;
  border: none;
}

.btn-top:active {
  opacity: 0.5;
}

.index-box {
  width: 100%;
  height: 100vh;
}

header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 70px;
  padding: 15px 15px;
  position: relative;
  margin-top: 15px;
}

.logo {
  width: 100px;
  height: 100px;
  margin-top: 0.5rem;
  border: none;
}

.hamburger {
  position: absolute;
  color: #a531b4;
  font-size: 2rem;
  right: 25px;
  text-align: center;
  visibility: hidden;
  cursor: pointer;
  transition: 0.3s ease;
}

.hamburger:hover {
  transform: scale(121%);
  text-shadow: 0 0 5px #05f1c7, 0 0 10px #05f1c7, 0 0 15px #05f1c7;
  transition: 0.3s ease;
}

.hamburger:active {
  opacity: 0.5;
}

.hamburger.active {
  transform: scale(121%);
  text-shadow: 0 0 5px #05f1c7, 0 0 10px #05f1c7, 0 0 15px #05f1c7;
  transition: 0.3s ease;
}

nav,
a {
  color: #05f1c7;
  font-size: 1.5rem;
  transition: 0.1s ease;
}

nav ul {
  display: flex;
  gap: 25px;
  cursor: pointer;
  transition: 0.3s ease;
}

nav li:hover,
footer i:hover {
  transform: scale(121%);
  text-shadow: 0 0 5px #05f1c7, 0 0 10px #05f1c7, 0 0 15px #05f1c7;
  transition: 0.3s ease;
}

nav li:active,
footer i:active,
.icontacts i:active,
.btn-ctt:active,
.btn-page:active,
.btn-code:active,
.sect-ctt i:active {
  opacity: 0.5;
}

.initial {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 15px 15px;
  margin-top: -15vh;
}

.initial-infos {
  display: flex;
  flex-direction: column;
}

.initial h1 {
  color: #5285f5;
  font-size: 4rem;
  transition: 0.3s ease;
}

.initial h2 {
  color: #05f1c7;
  font-size: 2rem;
  transition: 0.3s ease;
}

.initial h2 span {
  color: #a531b4;
}

.icontacts i {
  color: #a531b4;
  font-size: 2.5rem;
  display: inline-block;
  margin: 10px 10px;
  cursor: pointer;
  transition: 0.3s ease;
}

.icontacts i:hover,
.btn-top:hover {
  transform: scale(130%);
  text-shadow: 0 0 5px #05f1c7, 0 0 10px #05f1c7, 0 0 15px #05f1c7;
  transition: 0.3s ease;
}

.border {
  position: relative;
  width: 310px;
  height: 310px;
  border-radius: 50%;
  background: transparent;
  overflow: hidden;
  transition: 0.3s ease;
}

.border::before {
  content: "";
  position: absolute;
  inset: -10px 95px;
  background: linear-gradient(315deg, #5285f5, #05f1c7);
  animation: animate-border 3s linear infinite;
}

@keyframes animate-border {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.border::after {
  content: "";
  position: absolute;
  inset: 5px;
  background: #0d1117;
  border-radius: 50%;
  z-index: 1;
}

.border-content {
  position: absolute;
  inset: 5px;
  border-radius: 50%;
  z-index: 3;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;

}

.border-content video {
 margin-right: 15%;
  width: 100%;
  height: 105%;
  object-fit: cover;
}

/* ----------------------- MIDLE ----------------------- */

.sections h2 {
  color: #5285f5;
  font-size: 2.5rem;
  transition: 0.3s ease;
}

.about {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  height: 100vh;
  padding: 70px;
  margin-bottom: 50px;
  transition: 0.3s ease;
}

.box-about {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 100%;
  margin-top: 70px;
  position: relative;
}

.about p {
  color: #05f1c7;
  font-family: "Roboto";
  width: 100%;
  max-height: 260px;
  line-height: 37px;
  font-size: 1.5rem;
  text-align: justify;
  transition: max-height 0.3s ease;
  overflow: hidden;
  position: relative;
  margin-bottom: 25px;
}

.about p::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100px;
  background: linear-gradient(
    to bottom,
    rgba(5, 241, 199, 0) 0%,
    rgba(5, 241, 199, 0.1) 50%,
    rgba(11, 46, 43, 1) 100%
  );
  pointer-events: none;
  transition: opacity 0.3s ease;
  opacity: 1;
}

.about p.expanded::after {
  opacity: 0;
}

.about span {
  font-family: "Dongle";
  color: #a531b4;
  font-size: 1.5rem;
  transition: 0.3s ease;
}

#toggle {
  /* position: absolute; */
  /* bottom: 0; */
  /* visibility: hidden; */
  visibility: visible;
}

#overflow {
  display: none;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 30px;
}

#overflow[data-state="visible"] {
  display: block;
}

.box-btn-ctt {
  display: flex;
  gap: 27px;
}

.btn-ctt,
#toggle {
  border: 1.7px solid #a531b4;
  background: none;
  width: 141px;
  border-radius: 13px;
  color: #a531b4;
  padding: 8.5px 1px;
  cursor: pointer;
  margin-top: 51px;
  font-family: "Gugi";
  font-weight: 600;
  transition: 0.3s ease;
}

.btn-ctt:hover,
#toggle:hover {
  transform: scale(115%);
  box-shadow: 0 0 3px #a531b4, 0 0 5px #a531b4, 0 0 10px #a531b4;
  text-shadow: 0 0 1px #a531b4, 0 0 5px #a531b4, 0 0 7px #a531b4;
  transition: 0.3s ease;
}

.show-sect.active {
  transform: scale(115%);
  box-shadow: 0 0 3px #a531b4, 0 0 5px #a531b4, 0 0 10px #a531b4;
  text-shadow: 0 0 1px #a531b4, 0 0 5px #a531b4, 0 0 7px #a531b4;
  transition: 0.3s ease;
}

.sect-ctt {
  display: none;
}

#bracket-l,
#bracket-r {
  color: #5285f5;
  font-size: 3.5rem;
  text-shadow: 0 0 1px #5285f5, 0 0 5px #5285f5, 0 0 7px #5285f5;
}

.sect-ctt i {
  transition: 0.3s ease;
  color: #a531b4;
  font-size: 2rem;
  margin-top: 20px;
}

.sect-ctt.active {
  display: flex;
  gap: 15px;
  margin: 101px -23px;
  position: absolute;
  transition: 0.3s ease;
}

.sect-ctt i:hover {
  transform: scale(115%);
  text-shadow: 0 0 1px #05f1c7, 0 0 5px #05f1c7, 0 0 7px #05f1c7;
}

.img-me {
  width: 190px;
  height: 190px;
  border: none;
  transition: 0.3s ease;
}

.skills {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 100%;
  height: 100vh;
  padding: 70px;
}

.box-skills {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  width: 100%;
  height: 100%;
}

.skills h3 {
  color: #05f1c7;
  font-family: "Gugi";
  font-size: 1.5rem;
  margin-top: 31px;
  margin-bottom: 11px;
  text-align: center;
  transition: 0.3s ease;
}

.skills p {
  color: #5285f5;
  font-family: "Gemunu Libre";
  font-size: 1.3rem;
  font-weight: 600;
  line-height: 31px;
  transition: 0.3s ease;
}

.skills span {
  color: #5285f5;
}

.skills-icons ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 21px;
  font-size: 2.7rem;
  color: #5285f5;
  transition: 0.3s ease;
}

.skills-icons i span {
  font-size: 1.3rem;
  font-family: "Gugi";
}

.skills-stack {
  display: flex;
  justify-content: space-between;
}

.skills-block-1,
.skills-block-2,
.skills-block-3 {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.project {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 100vh;
  flex-direction: column;
  padding: 35px 0;
}

.box-project {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

.btn-nav {
  color: #05f1c7;
  background: transparent;
  font-size: 3rem;
  position: absolute;
  z-index: 1;
  cursor: pointer;
  border: 0;
  transition: 0.3s ease;
}

.btn-nav:hover {
  transform: scale(115%);
  text-shadow: 0 0 1px #05f1c7, 0 0 5px #05f1c7, 0 0 7px #05f1c7;
  transition: 0.3s ease;
}

.btn-prev {
  left: 30px;
}
.btn-next {
  right: 30px;
}

.box-cards {
  display: flex;
  width: 100%;
  height: 100%;
  margin-top: 31px;
  align-items: center;
  gap: 13px;
  scroll-behavior: smooth;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: 0;
  user-select: none;
}

.box-cards::-webkit-scrollbar {
  display: none;
}

.box-cards.no-transition {
  scroll-behavior: auto;
}


.card {
  margin-left: 15px;
  padding: 3px;
  width: 320px;
  cursor: grab;
  scroll-snap-align: start;
  display: flex;
}

.card:active,
.box-cards:active {
  cursor: grabbing;
  user-select: none;
  scroll-behavior: auto;
  scroll-snap-type: none;
}

.card-content {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  height: 450px;
  box-shadow: 3px 3px 3px #a531b4, 3px 3px 7px #a531b4, 3px 3px 10px #a531b4;
  border-radius: 11px;
  padding: 25px;
}

.card video{
  width: 130px;
  height: 90px;
  margin-bottom: 20px;
 
}

.desc-project {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 21px;
  font-family: "Dongle";
  height: 170px;
  max-height: 190px;
  width: 75%;
  color: #05f1c7;
  margin-top: 5px;
  padding: 5px;
  text-align: center;
  line-height: 21px;
}

.title-project {
  font-size: 21px;
  text-transform: capitalize;
  color: #5285f5;
}

.btn-card {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  width: 100%;
  margin-top: 10px;
}

.btn-page,
.btn-code {
  border: 1.7px solid #a531b4;
  background: none;
  border-radius: 9px;
  color: #a531b4;
  cursor: pointer;
  font-family: "Dongle";
  font-weight: 600;
  font-size: 25px;
  width: 95px;
  height: 35px;
  transition: 0.3s ease;
}

.btn-page:hover,
.btn-code:hover {
  transform: scale(115%);
  box-shadow: 0 0 3px #a531b4, 0 0 7px #a531b4, 0 0 10px #a531b4;
  text-shadow: 0 0 2px #a531b4, 0 0 1px #a531b4;
  transition: 0.3s ease;
}

.btn-icon {
  font-size: medium;
}

.language {
  color: #5285f5;
  margin-top: 55px;
  font-size: small;
}

.html {
  color: #e34c26;
}
.css {
  color: #563d7c;
}
.javascript {
  color: #f1e05a;
}

/* ----------------------- INFERIOR ----------------------- */

footer {
  padding: 21px;
  position: relative;
}

footer h2 {
  font-size: 2.5rem;
  color: #5285f5;
  transition: 0.3s ease;
}

footer ul {
  display: flex;
  flex-direction: column;
  gap: 11px;
  margin-bottom: 15px;
  padding: 15px;
  transition: 0.3s ease;
}

footer i {
  font-size: 1.9rem;
  transition: 0.3s ease;
  color: #a531b4;
}

footer i span,
.c {
  font-size: 1rem;
  margin-left: 11px;
  color: #05f1c7;
  font-family: "Gugi";
  font-weight: 100;
  transition: 0.3s ease;
}

footer p {
  position: absolute;
  bottom: 51px;
  right: 0;
  color: #a531b4;
  font-weight: 800;
  transition: 0.3s ease;
  text-align: right;
}

.box-cards {
 display: flex;
 flex-wrap: wrap;
 gap: 20px;
 justify-content: center;
}

