
  /* Normalize styles */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  color: white;
  font-family: Arial, sans-serif;
  background-color: #101720; /* Dark background */
  
}
.sticky-header {
    position: sticky;
    top: 0;
    background-color: #100d08; /* Darker header */
    padding: 10px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 1000;
    transition: opacity 0.3s ease;
}
header:hover{
  opacity: 1;
}
#menu {
  display: none;
}
#logo img {
  width: 10%; 
}
.navigation {
  display: flex;
  gap: 20px; 
}
.navigation a {
  color: #00bcd4; /* Cyan color for links */
  text-decoration: none;
  font-weight: bold;
}
.navigation a:hover {
  text-decoration: underline; /* Underline on hover */
}

/* Hero Section */
#hero{
  color: #ffffff;
}

.hero-section {
  position: relative;
  text-align: center;
  color: black;
}
#hero-background {
  width: 100%;
  height: 40rem;
  opacity: 0.3;
  
}
.hero-content {
  position: absolute;
  top: 30%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.hero-title {
  font-size: 3em; /* Title size */
  margin-bottom: 10px;
  width: 100%;
}
.hero-subtitle p{
  font-size: 1.5em; /* Subtitle size */
  margin-bottom: 20px;
  display: flex;
  justify-content: center;
  width: 100%;
}
.cta-button button {
  background-color: #0c0c0c; /* Button color */
  color: #ffffff; /* White text */
  padding: 10px 20px;
  border: none;
  border-radius: 5px;
  text-decoration: none;
  font-weight: bold;
}
.cta-button button:hover {
  background-color: #0097a7; /* Darker on hover */
}


/* Skills Section */
#skills h2{
  display: flex;
  font-family: monospace;
  font-size: 2.5em;
  text-decoration: double underline;
  justify-content: center;
  padding: 0.5rem;
}
.skillCards {
  display: flex;
  padding: 2rem;
  gap: 20px;
  text-align: center;
  animation: scroll 20s linear infinite;
}

@keyframes scroll {
  0% {
    transform: translateX(calc(100%));
  }
  100% {
    transform: translateX(calc(-100%));
  }
}

.skills-section {
  padding: 60px 40px;
  background-color: #1e1e1e; /* Dark background for skills */
}
#skills-grid {
  display: flex;
  padding: 3rem;
  justify-content: space-around;
  
}
.skill-category {
  background-color: #292929; /* Light dark background */
  padding: 30px;
  border-radius: 30px;
  width: 40%; /* Fixed width for categories */
  margin: 10px; /* Margin around categories */
}
.skill-category h3 {
  margin-bottom: 20px; 
}

/* Projects Section */
#projects h2{
  display: flex;
  justify-content: center;
  text-decoration: double underline;
  font-size: 2.5em;
  padding: 2rem;
  color: #0c0c0c;
}
.projects-section {
  padding: 40px 20px;
}
.projects-gallery {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; /* Space between project cards */
}
.projects-gallery a{
  color: #1163ff;
  padding-top: 20px;
  text-decoration: none;
  font-size: large;
}
.project-card {
  background-color: #292929; /* Background for project cards */
  border-radius: 10px;
  padding: 20px;
  margin: 10px;
  width: calc(30% - 20px); /* Adjust for margins */
  cursor: pointer; /* Indicate clickable */
  transition: transform 0.3s; /* Animation on hover */
}
.project-card img {
  width: 60%;
  height: auto;
}
.project-card:hover {
  transform: scale(1.05); /* Slightly enlarge on hover */
}
.project-modal {
  padding: 20px;
}
/* Certificates Section */
#certificates h2{
  display: flex;
  justify-content: center;
  font-size: 2.5em;
  text-decoration: double underline;
  padding: 3rem;
}
#promoCards {
  display: flex;
  gap: 1rem;
  text-align: center;
}
#certificates {
  text-align: center;
  background-color: #292929;
}
.certificate-card {
  position: relative; /* For hover effect */
  width: calc(30% - 20px);
  margin: 10px;
  overflow: hidden; /* Hide overflow */
  transition: transform 0.3s; /* Animation */
}
.certificate-card:hover {
  transform: scale(1.05); /* Slightly enlarge on hover */
}
.certificate-info {
  display: none; /* Hide info by default */
}
.certificate-card:hover .certificate-info {
  display: block; /* Show info on hover */
  background-color: rgba(0, 0, 0, 0.8); /* Background for info */
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  color: #ffffff;
  padding: 10px; /* Space for text */
}
/* Contact Section */
.contact-section {
  padding: 40px 20px;
}
.contact-form {
  display: flex;
  flex-direction: column; /* Column layout for form */
}
.contact-form label {
  margin: 10px 0 5px; /* Space around labels */
}
.contact-form input,
.contact-form textarea {
  padding: 10px; /* Space in inputs */
  border-radius: 5px;
  border: 1px solid #cccccc; /* Light border */
}
.submit-button {
  background-color: #00bcd4; /* Button color */
  color: #ffffff; /* White text */
  border: none;
  padding: 10px;
  border-radius: 5px;
  margin-top: 10px; /* Space above button */
}
/* Footer styles */
.footer {
  background-color: #100d08; /* Dark footer */
  padding: 20px;
  text-align: center;
}
.footer-content {
  margin-bottom: 10px; /* Space below content */
}
.social-links a {
  margin: 0 10px; /* Space between icons */
}
.social-links img {
  width: 5%;
}
/* Modal styles */
.project-modal {
  background-color: #292929;
  color: #ffffff;
  border-radius: 10px;
  padding: 20px;
  max-width: 500px; /* Max width for modal */
  margin: auto; /* Center modal */
}
/* Form */
figcaption {
  font-size: small;
  color: black;
}
.form {
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-width: 350px;
  padding: 20px;
  border-radius: 20px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  justify-content: center;
}
.message {
  color: #00bcd4;
  font-size: large;
  font-weight: bold;
}
.title {
  font-size: 28px;
  font-weight: 600;
  letter-spacing: -1px;
  position: relative;
  display: flex;
  align-items: center;
  padding-left: 30px;
  color: #00bcd4;
}
.title::before {
  width: 18px;
  height: 18px;
}
.title::after {
  width: 18px;
  height: 18px;
  animation: pulse 1s linear infinite;
}
.title::before,
.title::after {
  position: absolute;
  content: "";
  height: 16px;
  width: 16px;
  border-radius: 50%;
  left: 0px;
  background-color: #eee;
}
.message,
.signin {
  font-size: 14.5px;
}
.signin {
  text-align: center;
}
.signin a:hover {
  text-decoration: underline royalblue;
}
.signin a {
  color: #00bcd4;
}
.flex {
  display: flex;
  width: 100%;
  gap: 10px;
}
.form label {
  position: relative;
}
.form label .input {
  background-color: white;
  color: black;
  width: 100%;
  padding: 20px 05px 05px 10px;
  outline: 0;
  border: 1px solid rgba(105, 105, 105, 0.397);
  border-radius: 10px;
}
.form label .input + span {
  color: black;
  position: absolute;
  left: 10px;
  top: 0px;
  font-size: 0.9em;
  cursor: text;
  transition: 0.3s ease;
}
.form label .input:placeholder-shown + span {
  top: 12.5px;
  font-size: 0.9em;
}
.form label .input:focus + span,
.form label .input:valid + span {
  color: darkblue;
  top: 0px;
  font-size: 0.7em;
  font-weight: 600;
}
.input {
  font-size: medium;
}
.submit {
  border: none;
  outline: none;
  padding: 10px;
  border-radius: 10px;
  color: black;
  font-size: 16px;
  transition: 0.3s ease;
  background-color: burlywood;
  width: 100%;
}
.submit:hover {
  background-color: #00bfff96;
}
@keyframes pulse {
  from {
    transform: scale(0.9);
    opacity: 1;
  }
  to {
    transform: scale(1.8);
    opacity: 0;
  }
}
.social-account-container {
  margin-top: 25px;
}
.social-account-container p {
  display: block;
  text-align: center;
  color: #eee;
  font-size: 22px;
}
.social-account-container .social-accounts {
  width: 100%;
  display: flex;
  justify-content: center;
  gap: 15px;
  margin-top: 5px;
}
.social-account-container .social-accounts .social-button {
  background: linear-gradient(45deg, rgb(0, 0, 0) 0%, rgb(112, 112, 112) 100%);
  border: 5px solid white;
  padding: 5px;
  border-radius: 50%;
  width: 40px;
  aspect-ratio: 1;
  display: grid;
  place-content: center;
  box-shadow: rgba(133, 189, 215, 0.8784313725) 0px 12px 10px -8px;
  transition: all 0.2s ease-in-out;
}
.social-account-container .social-accounts .social-button .svg {
  fill: white;
  margin: auto;
}
.social-account-container .social-accounts .social-button:hover {
  transform: scale(1.2);
}
.social-account-container .social-accounts .social-button:active {
  transform: scale(0.9);
}
.agreement {
  display: block;
  text-align: center;
  margin-top: 15px;
  margin-bottom: 20px;
}
.agreement a {
  text-decoration: underline;
  color: #eee;
  font-size: 15px;
}
.agreement :hover {
  color: #0097a7;
}
@keyframes slideInFromTop {
  0% {
    transform: translateY(-500%); /* Starts off-screen above */
  }
  100% {
    transform: translateY(0); /* Slides down to original position */
  }
}
@keyframes slidein {
  0% {
    transform: translateX(-1000%); /* Element starts off-screen */
  }
  100% {
    transform: translateX(0); /* Element ends at its original position */
  }
}
.section:hover {
  box-shadow: 10px 5px rgb(165, 42, 42, 0.4);
}
fieldset {
  background-color: white;
  color: #035863;
  width: 100%;
  padding: 20px 05px 05px 10px;
  outline: 0;
  border: 1px solid rgba(105, 105, 105, 0.397);
  border-radius: 10px;
  align-items: center;
}
dialog {
  justify-content: center;
  border: 2px solid darkblue;
  border-radius: 30px;
  background-color: rgb(165, 42, 42, 0.9);
  color: white;
}
::backdrop {
  background-color: rgb(250, 235, 215, 0.3);
}
#title {
  display: grid;
  grid-template-columns: auto 44px;
  background-color: burlywood;
  border-bottom: darkblue 2px solid;
  text-align: center;
}
.card {
  width: fit-content;
  height: fit-content;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 25px 25px;
  gap: 20px;
  box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.055);
}
@keyframes slide-in-top {
  0% {
    transform: translateY(-50px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}


/* Hero Section */
.hero-section {
  position: relative;
  text-align: center;
  color: #ffffff;
}
.hero-background {
  width: 100%;
  height: auto;
  opacity: 1; /* Background opacity */
}
.hero-content {
  margin: 8rem 0 5rem 0;
}
.hero-title {
  font-size: 4em; /* Title size */
  margin-bottom: 40px;
}
.hero-subtitle {
  font-size: 2em; /* Subtitle size */
  margin-bottom: 30px;
}
.cta-button button {
  background-color: #0c0c0c; /* Button color */
  color: #ffffff; /* White text */
  padding: 10px 20px;
  border: none;
  border-radius: 5px;
  text-decoration: none;
  font-weight: bold;
}
.cta-button button:hover {
  background-color: #0097a7; /* Darker on hover */
}

#hero-footer{
  display: flex;
  justify-content: space-between;
  margin: 1rem;
  padding: 20px;
  font-size: large;
  width: 100%;
}

#hero-footer span{
  display: flex;
  justify-content: center;
  font-weight: bolder;
  padding: 2px;
}
#hero-footer img{
  width: 50px;
  max-height: 300px;
  
}
#social-links{
  padding-left: 40%;
}
/* About Me Section */
#aboutme{
  justify-content: center;
  display: block;
  background-color: #eee;
  padding: 3rem;
  color: #0c0c0c;
}

#aboutme h2{
  text-align: center;
  font-size: 3em;
  text-decoration: double underline;
  padding: .5rem;
  font-family: monospace;
  
}

#about{
  display: flex;
  justify-content: space-evenly;
  margin: 1.5rem;
}

#about img{
  width: 80%;
  height: auto;
  border-radius: 50%;
}

#cv{
  display: flex;
  justify-content: center;
  margin: 1rem;
  margin-top: 3rem;
}

/* button */
.button {
  --width: 100px;
  --height: 35px;
  --tooltip-height: 35px;
  --tooltip-width: 90px;
  --gap-between-tooltip-to-button: 18px;
  --button-color: #1163ff;
  --tooltip-color: #fff;
  width: var(--width);
  height: var(--height);
  background: var(--button-color);
  position: relative;
  text-align: center;
  border-radius: 0.45em;
  font-family: "Arial";
  transition: background 0.3s;
}

.button::before {
  position: absolute;
  content: attr(data-tooltip);
  width: var(--tooltip-width);
  height: var(--tooltip-height);
  background-color: var(--tooltip-color);
  font-size: 0.9rem;
  color: #111;
  border-radius: .25em;
  line-height: var(--tooltip-height);
  bottom: calc(var(--height) + var(--gap-between-tooltip-to-button) + 10px);
  left: calc(50% - var(--tooltip-width) / 2);
}

.button::after {
  position: absolute;
  content: '';
  width: 0;
  height: 0;
  border: 10px solid transparent;
  border-top-color: var(--tooltip-color);
  left: calc(50% - 10px);
  bottom: calc(100% + var(--gap-between-tooltip-to-button) - 10px);
}

.button::after,.button::before {
  opacity: 0;
  visibility: hidden;
  transition: all 0.5s;
}

.text {
  display: flex;
  align-items: center;
  justify-content: center;
}

.button-wrapper,.text,.icon {
  overflow: hidden;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  color: #fff;
}

.text {
  top: 0
}

.text,.icon {
  transition: top 0.5s;
}

.icon {
  color: #fff;
  top: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.icon svg {
  width: 24px;
  height: 24px;
}

.button:hover {
  background: #6c18ff;
}

.button:hover .text {
  top: -100%;
}

.button:hover .icon {
  top: 0;
}

.button:hover:before,.button:hover:after {
  opacity: 1;
  visibility: visible;
}

.button:hover:after {
  bottom: calc(var(--height) + var(--gap-between-tooltip-to-button) - 20px);
}

.button:hover:before {
  bottom: calc(var(--height) + var(--gap-between-tooltip-to-button));
}

.skillCards {
  display: flex;
  gap: 20px;
  text-align: center;
  animation: scroll 20s linear infinite;
}

@keyframes scroll {
  0% {
    transform: translateX(calc(100%));
  }
  100% {
    transform: translateX(calc(-100%));
  }
}

.skills-section {
  padding: 60px 40px;
  background-color: #1e1e1e; /* Dark background for skills */
  overflow: hidden;
}
#skills-grid {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap; /* Wrap on smaller screens */
}
.skill-category {
  background-color: #292929; /* Light dark background */
  padding: 20px;
  border-radius: 10px;
  width: 30%; /* Fixed width for categories */
  margin: 10px; /* Margin around categories */
}
.skill-category h3 {
  margin-bottom: 10px; /* Space below heading */
}
/* Projects Section */
#projects{
  background-color: #eee;
}
.projects-section {
  padding: 40px 20px;
}
.projects-gallery {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; /* Space between project cards */
}
.project-card {
  background-color: #292929; /* Background for project cards */
  border-radius: 10px;
  padding: 20px;
  margin: 10px;
  width: calc(30% - 20px); /* Adjust for margins */
  cursor: pointer; /* Indicate clickable */
  transition: transform 0.3s; /* Animation on hover */
}
.project-card img {
  width: 60%;
  height: auto;
}
.project-card:hover {
  transform: scale(1.05); /* Slightly enlarge on hover */
}
.project-modal {
  padding: 20px;
}
/* Certificates Section */
#promoCards {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1rem;
  text-align: center;
  padding-bottom: 1rem;
}
#certificates {
  text-align: center;
}
.certificate-card {
  position: relative; /* For hover effect */
  width: calc(30% - 20px);
  margin: 10px;
  overflow: hidden; /* Hide overflow */
  transition: transform 0.3s; /* Animation */
}
.certificate-card:hover {
  transform: scale(1.05); /* Slightly enlarge on hover */
}
.certificate-info {
  display: none; /* Hide info by default */
}
.certificate-card:hover .certificate-info {
  display: block; /* Show info on hover */
  background-color: rgba(0, 0, 0, 0.8); /* Background for info */
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  color: #ffffff;
  padding: 10px; /* Space for text */
}
.info-section {
  position: relative; /* For positioning the tooltip */
  padding: 20px;
}

.skill-item {
  position: relative; /* For positioning the tooltip */
  padding: 10px; /* Padding for list items */
  cursor: pointer; /* Pointer cursor on hover */
}

.tooltip {
  display: none; /* Hide by default */
  position: absolute; /* Position it absolutely */
  background-color: #333; /* Dark background */
  color: white; /* White text */
  padding: 10px; /* Padding for the tooltip */
  border-radius: 5px; /* Rounded corners */
  z-index: 10; /* Make sure it appears above other elements */
  white-space: nowrap; /* Prevent text wrapping */
}

.skill-item:hover .tooltip {
  display: block; /* Show on hover */
}

/* Contact Section */
.contact-section {
  padding: 40px 20px;
}
.contact-form {
  display: flex;
  flex-direction: column; /* Column layout for form */
}
.contact-form label {
  margin: 10px 0 5px; /* Space around labels */
}
.contact-form input,
.contact-form textarea {
  padding: 10px; /* Space in inputs */
  border-radius: 5px;
  border: 1px solid #cccccc; /* Light border */
}
.submit-button {
  background-color: #00bcd4; /* Button color */
  color: #ffffff; /* White text */
  border: none;
  padding: 10px;
  border-radius: 5px;
  margin-top: 10px; /* Space above button */
}
/* Footer styles */
.footer {
  background-color: #100d08; /* Dark footer */
  padding: 20px;
  text-align: center;
}
.footer-content {
  margin-bottom: 10px; /* Space below content */
}
.social-links a {
  margin: 0 10px; /* Space between icons */
}
.social-links img {
  width: 5%;
}
/* Modal styles */
.project-modal {
  background-color: #292929;
  color: #ffffff;
  border-radius: 10px;
  padding: 20px;
  max-width: 500px; /* Max width for modal */
  margin: auto; /* Center modal */
}
/* Form */
figcaption {
  font-size: small;
  color: black;
}
.form {
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-width: 350px;
  padding: 20px;
  border-radius: 20px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  justify-content: center;
}
.message {
  color: #00bcd4;
  font-size: large;
  font-weight: bold;
}
.title {
  font-size: 28px;
  font-weight: 600;
  letter-spacing: -1px;
  position: relative;
  display: flex;
  align-items: center;
  padding-left: 30px;
  color: #00bcd4;
}
.title::before {
  width: 18px;
  height: 18px;
}
.title::after {
  width: 18px;
  height: 18px;
  animation: pulse 1s linear infinite;
}
.title::before,
.title::after {
  position: absolute;
  content: "";
  height: 16px;
  width: 16px;
  border-radius: 50%;
  left: 0px;
  background-color: #eee;
}
.message,
.signin {
  font-size: 14.5px;
}
.signin {
  text-align: center;
}
.signin a:hover {
  text-decoration: underline royalblue;
}
.signin a {
  color: #00bcd4;
}
.flex {
  display: flex;
  width: 100%;
  gap: 10px;
}
.form label {
  position: relative;
}
.form label .input {
  background-color: white;
  color: black;
  width: 100%;
  padding: 20px 05px 05px 10px;
  outline: 0;
  border: 1px solid rgba(105, 105, 105, 0.397);
  border-radius: 10px;
}
.form label .input + span {
  color: black;
  position: absolute;
  left: 10px;
  top: 0px;
  font-size: 0.9em;
  cursor: text;
  transition: 0.3s ease;
}
.form label .input:placeholder-shown + span {
  top: 12.5px;
  font-size: 0.9em;
}
.form label .input:focus + span,
.form label .input:valid + span {
  color: darkblue;
  top: 0px;
  font-size: 0.7em;
  font-weight: 600;
}
.input {
  font-size: medium;
}
.submit {
  border: none;
  outline: none;
  padding: 10px;
  border-radius: 10px;
  color: black;
  font-size: 16px;
  transform: 0.3s ease;
  background-color: burlywood;
  width: 100%;
}
.submit:hover {
  background-color: #00bfff96;
}
@keyframes pulse {
  from {
    transform: scale(0.9);
    opacity: 1;
  }
  to {
    transform: scale(1.8);
    opacity: 0;
  }
}
.social-account-container {
  margin-top: 25px;
}
.social-account-container .title1 {
  display: block;
  text-align: center;
  font-size: 20px;
  color: rgb(20, 19, 19);
}
.social-account-container .social-accounts {
  width: 100%;
  display: flex;
  justify-content: center;
  gap: 15px;
  margin-top: 5px;
}
.social-account-container .social-accounts .social-button {
  background: linear-gradient(45deg, rgb(0, 0, 0) 0%, rgb(112, 112, 112) 100%);
  border: 5px solid white;
  padding: 5px;
  border-radius: 50%;
  width: 40px;
  aspect-ratio: 1;
  display: grid;
  place-content: center;
  box-shadow: rgba(133, 189, 215, 0.8784313725) 0px 12px 10px -8px;
  transition: all 0.2s ease-in-out;
}
.social-account-container .social-accounts .social-button .svg {
  fill: white;
  margin: auto;
}
.social-account-container .social-accounts .social-button:hover {
  transform: scale(1.2);
}
.social-account-container .social-accounts .social-button:active {
  transform: scale(0.9);
}
.agreement {
  display: block;
  text-align: center;
  margin-top: 15px;
  margin-bottom: 20px;
}
.agreement a {
  text-decoration: underline;
  color: #eee;
  font-size: 15px;
}
.agreement :hover {
  color: #0097a7;
}
@keyframes slideInFromTop {
  0% {
    transform: translateY(-500%); /* Starts off-screen above */
  }
  100% {
    transform: translateY(0); /* Slides down to original position */
  }
}
@keyframes slidein {
  0% {
    transform: translateX(-1000%); /* Element starts off-screen */
  }
  100% {
    transform: translateX(0); /* Element ends at its original position */
  }
}
.section:hover {
  box-shadow: 10px 5px rgb(165, 42, 42, 0.4);
}
fieldset {
  background-color: white;
  color: #035863;
  width: 100%;
  padding: 20px 05px 05px 10px;
  outline: 0;
  border: 1px solid rgba(105, 105, 105, 0.397);
  border-radius: 10px;
  align-items: center;
}
dialog {
  justify-content: center;
  border: 2px solid darkblue;
  border-radius: 30px;
  background-color: rgb(165, 42, 42, 0.9);
  color: white;
}
::backdrop {
  background-color: rgb(250, 235, 215, 0.3);
}
#title {
  display: grid;
  grid-template-columns: auto 44px;
  background-color: burlywood;
  border-bottom: darkblue 2px solid;
  text-align: center;
}
.card {
  width: fit-content;
  height: fit-content;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 25px 25px;
  gap: 20px;
  box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.055);
}
@keyframes slide-in-top {
  0% {
    transform: translateY(-50px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
