@import url("https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
body {
  font-family: "Poppins", sans-serif;
  
}
header {
  background-image: url("vincenzo.jpg");
  background-repeat: no-repeat ;
  background-size: cover;
  height: 100vh;
  width: 100%;
}

h1 {
    color: wheat;
}

.container {
  max-width: 1200px;
  width: 90%;
  margin: auto;
}

/*Logo*/
.logo {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px;

  /*GPT Tweaks*/
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  object-fit: contain;      /* keeps proportions */


}
.logo img {
  margin-top: 10px;
  height: 80px;
  width: auto;
  border-radius: 50%;
}

/*Navbar*/

.navbar {
  position:absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 500;
}
.navbar-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 80px;
}
.menu-items {
  display: flex;
}
.menu-items li {
  list-style: none;
  padding: 1rem;
}
.menu-items a {
  text-decoration: none;
  color: #f0f0e6;
  font-size: 1.2rem;
  padding: 0.3rem;
}

.navbar-brand {
  margin: 0;
  color: #f0f0e6;
  height: 80px;
}
.menu-items a:hover {
  border-bottom: 2px solid #f0f0e6;
}
.navbar .logo {
  order: 1;
  color: #f0f0e6;
  font-size: 2rem;
}

/*Home Content*/

.home-content .name {
  position: absolute;
  top: 47%;
  left: 50%;
  transform: translate(-50%, -50%);
  color:gold
  width: 100%;
  text-align: center;
}
.home-content .name h1 {
  font-size: 2.2rem;
  text-align: center;
}
.home-content .name p {
  color: #f0f0e6;
  font-size: 1.5rem;
}
.angle-down-icon {
  position: absolute;
  bottom: 10%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 2rem;
  border: 3px solid #07374a;
  border-radius: 50%;
}
.angle-down-icon a {
  text-decoration: none;
  color: #07374a;
  padding: 1rem;
}

/*About Me*/

.about-me {
  background-color: #07374a;
  padding: 6rem 0;
}
.about-me .about-heading {
  color: #25b79f;
  font-size: 2rem;
  font-weight: 600;
  text-align: center;
}
.about-content img {
  height: 200px;
  width: 200px;
  object-fit: cover;
  border-radius: 80%;
}
.about-content p {
  font-size: 1.2rem;
  color: #f0f0e6;
  padding: 0 2.3rem;
  text-align: center;
}
.skills .skills-heading {
  font-size: 2rem;
  font-weight: 600;
  color: #25b79f;
  text-align: center;
}
.about-me .about-content {
  display: flex;
  flex-wrap: wrap;
}
.about-content .left-content {
  flex-basis: 45%;
  text-align: center;
}
.about-content .right-content {
  flex-basis: 45%;
}

/*Skill Bar*/
.skills-bar {
  padding: 25px 30px;
}
.skills-bar .bar {
  margin: 25px 0;
}
.skills-bar .bar .info {
  margin-bottom: 8px;
  color: #f0f0e6;
  display: flex;
  justify-content: space-between;
}
.skills-bar .bar .info span {
  font-size: 1rem;
  font-weight: 500;
}
.skills-bar .bar .progress-line {
  position: relative;
  height: 10px;
  width: 550px;
  background: #f0f0f0;
  border-radius: 10px;
  transform: scaleX(0);
  transform-origin: left;
  animation: animate 1s cubic-bezier(1, 0, 0.5, 1) forwards;
}
.bar .progress-line span {
  position: absolute;
  background: #25b79f;
  height: 100%;
  border-radius: 10px;
  transform: scaleX(0);
  transform-origin: left;
  animation: animate 1s 1s cubic-bezier(1, 0, 0.5, 1) forwards;
}
@keyframes animate {
  100% {
    transform: scaleX(1);
  }
}

/* Tooltip arrow */
.bar .progress-line span::before {
  position: absolute;
  content: "";
  height: 0;
  right: 0;
  top: -12px;
  width: 0;
  border: 7px solid transparent;
  border-bottom-width: 0px;
  border-right-width: 0px;
  border-top-color: #f0f0f0;
}

/* Tooltip label */
.bar .progress-line span::after {
  position: absolute;
  right: 0;
  top: -28px;
  color: #07374a;
  font-size: 12px;
  font-weight: 700;
  background: #f0f0f0;
  padding: 1px 8px;
  border-radius: 3px;
}

/* Individual skill widths and labels */
.progress-line .html { width: 90%; }
.progress-line .html::after { content: "90%"; }

.progress-line .css { width: 85%; }
.progress-line .css::after { content: "85%"; }

.progress-line .bootstrap { width: 80%; }
.progress-line .bootstrap::after { content: "80%"; }

.progress-line .javascript { width: 85%; }
.progress-line .javascript::after { content: "85%"; }

.progress-line .python { width: 85%; }
.progress-line .python::after { content: "85%"; }

.progress-line .django { width: 80%; }
.progress-line .django::after { content: "80%"; }

.progress-line .react-js { width: 80%; }
.progress-line .react-js::after { content: "80%"; }

.progress-line .react-native { width: 80%; }
.progress-line .react-native::after { content: "80%"; }

.progress-line .nodejs { width: 75%; }
.progress-line .nodejs::after { content: "75%"; }

.progress-line .expressjs { width: 70%; }
.progress-line .expressjs::after { content: "70%"; }

.progress-line .git { width: 70%; }
.progress-line .git::after { content: "70%"; }

.progress-line .databases { width: 70%; }
.progress-line .databases::after { content: "70%"; }


/*AI Assisted changes*/

.skills-section {
  max-width: 700px;
  margin: 0 auto;
  padding: 40px 20px;
}

.skills-section h2 {
  text-align: center;
  margin-bottom: 30px;
  font-size: 2rem;
  color: #25b79f;
}

.skill {
  margin-bottom: 20px;
}

.info {
  display: flex;
  justify-content: space-between;
  margin-bottom: 5px;
  font-weight: bold;
  color: #25b79f;
}

.progress-bar {
  background-color: #eee;
  border-radius: 10px;
  overflow: hidden;
  height: 12px;
}

.progress-bar span {
  display: block;
  height: 100%;
  background-color: #4caf50;
  width: 0;
  transition: width 1s ease-in-out;
}



.navbar.solid {
  background-color: #07374a;
  transition: background-color 1s ease 0s;
  box-shadow: 0 0 4px rgb(7 55 74 / 20%);
  z-index: 500;
}
.navbar.solid .navbar-brand {
  display: inline-block;
  color: #f0f0e6;
  transition: color 1s ease 0s;
}
.navbar-brand {
  display: none;
  color: #f0f0e6;
  font-weight: 400;
}
.work-arrow {
  margin: 2rem 0;
}
.work-arrow a {
  font-size: 1rem;
  text-decoration: none;
  color: #25b79f;
}
.work-arrow-2 {
  margin: 2rem 0;
}
.work-arrow-2 a {
  font-size: 1rem;
  text-decoration: none;
  color: #25b79f;
  display: none;
}

/* Portfolio*/

.portfolio {
  background: #25b79f;
  padding: 6rem 0;
}
.proj-heading h1 {
  text-align: center;
  color: #07374a;
  font-size: 2.3rem;
  font-weight: 700;
  margin: 3rem 0;
}
.proj-1 {
  display: flex;
  justify-content: center;
  align-items: center;
}
.proj-1 img {
  height: 330px;
  width: 380px;
  object-fit: cover;
  border-radius: 50%;
  box-shadow: 0 20px 10px -10px rgb(37 41 52 / 31%);
  margin-right: 1.7rem;
}
.proj-1 .proj1-details {
  width: 32rem;
}
.proj-1 .proj1-details i {
  font-size: 1.5rem;
  color: #07374a;
}
.proj-1 .proj1-details h2 {
  font-size: 2rem;
  color: #07374a;
}
.proj-1 .proj1-details p {
  font-size: 1.3rem;
  color: #07374a;
  font-weight: 600;
}
.proj-1 .proj1-details button {
  background: #f0f0e6;
  padding: 0.5rem;
  margin-top: 0.5rem;
  width: 150px;
  border: none;
  border-bottom: 2px solid #07374a;
}
.proj-1 .proj1-details button a {
  text-decoration: none;
  color: #07374a;
  font-size: 1.1rem;
  transition: 0.2s ease-in-out;
  text-align: center;
  transition: 0.3s ease-in-out;
}
.proj-1 .proj1-details button .fas {
  font-size: 0.7rem;
  padding: 0.3rem;
  transition: 0.2s ease-in-out;
}
.proj-1 .proj1-details button:hover {
  background: #07374a;
}
.proj-1 .proj1-details button:hover a,
.proj-1 .proj1-details button:hover .fas {
  color: #f0f0e6;
}

/*proj2*/

.proj-2 {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 3rem;
}
.proj-2 img {
  height: 330px;
  width: 380px;
  object-fit: cover;
  border-radius: 50%;
  box-shadow: 0 20px 10px -10px rgb(37 41 52 / 31%);
  margin-right: 1.7rem;
}
.proj-2 .proj2-details {
  width: 32rem;
}
.proj-2 .proj2-details i {
  font-size: 1.5rem;
  color: #07374a;
}
.proj-2 .proj2-details h2 {
  font-size: 2rem;
  color: #07374a;
}
.proj-2 .proj2-details p {
  font-size: 1.3rem;
  color: #07374a;
  font-weight: 600;
}
.proj-2 .proj2-details button {
  background: #f0f0e6;
  padding: 0.5rem;
  margin-top: 0.5rem;
  width: 150px;
  border: none;
  border-bottom: 2px solid #07374a;
}
.proj-2 .proj2-details button a {
  text-decoration: none;
  color: #07374a;
  font-size: 1.1rem;
  transition: 0.2s ease-in-out;
  text-align: center;
  transition: 0.3s ease-in-out;
}
.proj-2 .proj2-details button .fas {
  font-size: 0.7rem;
  padding: 0.3rem;
  transition: 0.2s ease-in-out;
}
.proj-2 .proj2-details button:hover {
  background: #07374a;
}
.proj-2 .proj2-details button:hover a,
.proj-2 .proj2-details button:hover .fas {
  color: #f0f0e6;
}
.more-work {
  text-align: center;
  margin: 3rem 0 1rem 0;
}
.more-work p {
  font-size: 1.6rem;
  color: #07374a;
  font-weight: 500;
}
.more-work a {
  text-decoration: none;
  color: #f0f0e6;
  font-size: 1.3rem;
}
.more-work a:hover {
  border-bottom: 2px solid #f0f0e6;
}

/*Contact*/

.contact {
  background: #07374a;
  position: relative;
  height: 92vh;
}

.contact-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
}

.contact-content h2 {
  font-size: 2.5rem;
  font-weight: 400;
  color: #25b79f;
  padding-bottom: 0.5rem;
}

.contact-content .mail {
  color: #f0f0e6;
  padding-bottom: 0.2rem;
  font-size: 1rem;
}

.contact-content .links {
  color: #25b79f;
  padding: 0.5rem;
  padding-bottom: 1.8rem;
  font-size: 1rem;
}

/* Default links (inline text links) */
.contact-content a:not(.btn-social):not(.btn-certificates) {
  text-decoration: none;
  color: #25b79f;
  padding: 0.5rem;
  transition: 0.3s ease-in-out;
}
.contact-content a:not(.btn-social):not(.btn-certificates):hover {
  color: #f0f0e6;
}

/* Social buttons */
.btn-social {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background-color: #25b79f;
  color: #f0f0e6;
  padding: 10px 20px;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 500;
  transition: background 0.3s, transform 0.2s;
}

.btn-social:hover {
  background-color: #1fa087;
  transform: translateY(-2px);
}

/* Certificates button */
.btn-certificates {
  display: inline-block;
  background-color: #f0f0e6;
  color: #07374a;
  padding: 12px 25px;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 500;
  transition: background 0.3s, transform 0.2s;
}

.btn-certificates:hover {
  background-color: #07374a;
  color: #f0f0e6;
  transform: translateY(-2px);
}

/* Spacing for the social buttons container */
.social-buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 15px;
  margin-bottom: 20px;
}

/* Spacing for the certificates section */
.certificates-link {
  margin-top: 20px;
}
.certificates-text {
  color: #f0f0e6;
  font-size: 1.1rem;
  margin-bottom: 10px;
  text-align: center;
}

/* ////......Media query......//// */
@media (max-width: 500px) {
  html {
    font-size: 60%;
  }
  .about-content .left-content {
    flex-basis: 100%;
    text-align: center;
  }
  .about-content .right-content {
    flex-basis: 100%;
  }
  .skills {
    width: 100%;
  }
  .skills-bar .bar .progress-line {
    width: 100%;
  }
  .work-arrow {
    display: none;
  }
  .right-content h1 {
    margin-top: 3.2rem;
  }
  .proj-1 {
    display: flex;
    justify-content: center;
    flex-direction: column;
  }
  .proj-1 img {
    height: 230px;
    width: 290px;
    margin-bottom: 0.5rem;
  }
  .proj-2 {
    display: flex;
    justify-content: center;
    flex-direction: column;
  }
  .proj-2 img {
    height: 250px;
    width: 290px;
    margin-bottom: 0.5rem;
  }
  .work-arrow-2 a {
    font-size: 1.3rem;
    text-decoration: none;
    color: #25b79f;
    display: block;
    text-align: center;
  }
  .contact-content {
    width: 100%;
  }
}
@media (min-width: 501px) and (max-width: 768px) {
  html {
    font-size: 65%;
  }
  .about-content .left-content {
    flex-basis: 100%;
    text-align: center;
  }
  .about-content .right-content {
    flex-basis: 100%;
  }
  .skills {
    width: 100%;
  }
  .skills-bar .bar .progress-line {
    width: 100%;
  }
  .work-arrow {
    display: none;
  }
  .right-content h1 {
    margin-top: 3.2rem;
  }
  .proj-1 {
    display: flex;
    justify-content: center;
    flex-direction: column;
  }
  .proj-1 img {
    height: 240px;
    width: 290px;
    margin-bottom: 0.5rem;
  }
  .proj-2 {
    display: flex;
    justify-content: center;
    flex-direction: column;
  }
  .proj-2 img {
    height: 240px;
    width: 290px;
    margin-bottom: 0.5rem;
  }
  .work-arrow-2 a {
    font-size: 1.3rem;
    text-decoration: none;
    color: #25b79f;
    display: block;
    text-align: center;
  }
  .contact-content {
    width: 100%;
  }
}
@media (min-width: 769px) and (max-width: 1200px) {
  html {
    font-size: 70%;
  }
  .about-content .left-content {
    flex-basis: 100%;
    text-align: center;
  }
  .about-content .right-content {
    flex-basis: 100%;
  }
  .skills {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  .work-arrow {
    display: none;
  }
  .left-content h1 {
    margin-top: 3.2rem;
    text-align: center;
  }
  .right-content h1 {
    margin-top: 3.2rem;
    text-align: center;
  }
  .work-arrow-2 a {
    font-size: 1.3rem;
    text-decoration: none;
    color: #25b79f;
    display: block;
    text-align: center;
  }
  .contact-content {
    width: 100%;
  }
}
@media (orientation: landscape) and (max-height: 500px) {
  .header {
    height: 90vmax;
  }
}


.certificates-link {
  text-align: center;
  margin-top: 40px;
}

.btn-certificates {
  display: inline-block;
  padding: 12px 25px;
  background: #0a4427;   /* matches your theme */
  color: #fff;
  text-decoration: none;
  border-radius: 8px;
  font-weight: bold;
  transition: background 0.3s ease;
}

.btn-certificates:hover {
  background: #0e8d4d;
}

.certificates-text {
  text-align: center;
  color: #f0f0e6;
  font-size: 1.1rem;
  margin-bottom: 30px; /* space between text and button */
}

.footer-copy{
  color: #69694c;
}

/*Footer buttons styling*/

.btn-social {
  display: inline-flex;
  align-items: center;
  gap: 8px; /* space between icon and text */
  background-color: #25b79f;
  color: #f0f0e6;
  padding: 10px 20px;
  border-radius: 8px;
  font-weight: 500;
  text-decoration: none;
  transition: background 0.3s, transform 0.2s;
}

.btn-social:hover {
  background-color: #1fa087;
  transform: translateY(-2px);
}
