@import url('https://fonts.googleapis.com/css2?family=Chivo+Mono:ital,wght@0,100..900;1,100..900&display=swap');

@font-face {
  font-family: 'Mono45 Headline';
  src: url('../fonts/Mono45Headline-Bold.woff2') format('woff2'),
    url('../fonts/Mono45Headline-Bold.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}

:root {
  --blue: #6EE1FB;
  --blueHover: #63d0e8;
  --yellow: #FCDF92;
  --red: #ED566A;
  --green: #76e47f;
  --purple: #6aa8e6;
  --orange: #fabf81;
  --theme-color: white;
}

.background {
  width: 100%;
  height: 100%;
  position: fixed;
  object-fit: cover;
  z-index: -1000;
}


/* GENERAL STYLES */
.display-5 {
  font-family: 'Zing Rust Base';
  color: white;
  -webkit-text-stroke: 1px black;
  text-shadow: 0px 5px 0px black;
}

h2, h3, h4, h5, h6 {
  font-family: 'Mono45 Headline';
  color: white !important; 
  -webkit-text-stroke: 0.75px black;
  text-shadow: 1px 2px 0px black;
}

p {
  font-family: 'Chivo Mono', monospace;
}

.flex-centered {
  display: flex;
  justify-content: center;
  align-items: center;
}


/* CONTAINER */
#container {
  background-color: var(--theme-color);
  border: 2px solid black;
  border-radius: 30px !important;
  max-width: 1000px;
  height: max-content;
  max-height: 75vh;
  position: relative;
  margin: -1.5rem auto 0 auto; 
  padding: 2rem 1rem;
  box-shadow: 0 10px 25px rgba(0,0,0,0.1);
}

#container::-webkit-scrollbar {
  background-color: transparent;
  width: 5px;
}

#container::-webkit-scrollbar-thumb {
  background-color: rgb(246, 242, 242);
  border: 1px solid black;
  border-radius: 10px;
}

#container::-webkit-scrollbar-button:start:increment {
  height: 5%;
  display: block;
  background: transparent;
}

#container::-webkit-scrollbar-button:end:increment {
  height: 5%;
  display: block;
  background: transparent;
}


/* CARD */
.card {
  border: 2px solid black;
  border-radius: 15px !important;
  box-shadow: 6px 6px 0px black;
  transition: transform 0.3s ease;
  object-fit: contain;
}

.card-img-container {
  background-color: var(--yellow);
  border: 2px solid black;
  border-radius: 0.375rem;
  overflow: hidden;
}

.card:hover {
  transform: scale(1.015);
}

.card:hover .skill-img, .card:hover .project-img {
  transform: scale(1.045);
}

.profile-img {
  width: 100%;
  height: auto;
}

.skill-img {
  width: 100%; 
  height: 100%; 
  aspect-ratio: 1 / 1;
  object-fit: contain;
  transition: transform 0.3s ease;
}

.project-img {
  max-height: 200px;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  transition: transform 0.3s ease;
}


/* BUTTON */
.custom-btn {
  font-family: 'Mono45 Headline';
  font-size: 1.25rem;
  color: white; 
  -webkit-text-stroke: 0.5px black;
  text-shadow: 1px 2px 0px black;
  background-color: var(--blue);
  border: 2px solid black;
  border-radius: 10px;
  box-shadow: 4px 4px 0px black;
  transition: transform 0.3s ease;
}

.custom-btn:hover, .custom-btn:active, .custom-btn:focus {
  background-color: var(--blueHover) !important;
  color: white !important;
  border: 2px solid black !important;
  transform: scale(0.970);
}


/* NAVBAR */
.logo {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.logo:hover {
  transform: scale(1.1);
}

.my-navbar {
  background-color: white;
  border: 2px solid black;
  border-radius: 15px;
  width: max-content;
  position: relative;
  z-index: 10;
  margin: 0 auto;
}

.navbar-link {
  font-family: 'Mono45 Headline';
  font-size: 1.25rem;
  text-decoration: none;
  border: none;
  border-radius: 10px;
  background-color: transparent;
  color: white;
  -webkit-text-stroke: 0.5px black;
  text-shadow: 1px 1.5px 0px black;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.navbar-link:hover, .navbar-link:active {
  background-color: var(--red);
  transform: scale(1.05);
}

.navbar-link.active {
  background-color: var(--red);
}


/* SKELETON */
.skeleton-box {
  background: linear-gradient(
    90deg,
    #b0b0b0 25%,   /* base gray */
    #d0d0d0 37%,   /* shimmer highlight */
    #b0b0b0 63%
  );
  background-size: 400% 100%;
  animation: shimmer 1.4s infinite;
  border-radius: 2px;
}

@keyframes shimmer {
  0% { background-position: 100% 0; }
  100% { background-position: 0 0; }
}

.skeleton-img {
  width: 100%;
  height: 180px;
}

.skeleton-title {
  height: 28px;
  width: 70%;
  margin-bottom: 16px;
}

.skeleton-text {
  height: 14px;
  margin-bottom: 10px;
}


/* FOOTER */
.footer-link {
  background-color: white;
  color: black;
  border: 1px solid black;
  border-radius: 7px;
  transition: transform 0.3s ease;
}

.footer-link:hover, .footer-link:active, .footer-link:focus {
  border: 1px solid black;
  background-color: var(--blue);
  transform: scale(1.05);
}


/* MEDIA QUERIES */
@media (max-width: 790px) {
  /* .card {
    max-width: 85%;
  } */
}

@media (max-width: 600px) {
  .project-img {
    width: 75%;
    height: auto;
  }
}