@import url('https://fonts.googleapis.com/css2?family=Sansation:ital,wght@0,300;0,400;0,700;1,300;1,400;1,700&display=swap');

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Sansation", sans-serif;
}

body {
    background-color: #ccc;
    background-image: url('../images/officialBackground.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
}
@media (max-width: 768px) {
    body {
        background-image: url('../images/officialBackground-mobile.jpg');
    }
}

.llama-container {
  position: fixed;   
  width: 100%;
  bottom: 22%;
  left: 0;
  z-index: 5;
  background-color: black;
}

.llama {
  position:absolute;
  width: 5.5%;
  animation: patrol 25s linear infinite;
}

@keyframes patrol {
  0%   { left: 0; transform: scaleX(1); }
  50%  { left: calc(100% - 5.5%); transform: scaleX(1); }
  51%  { left: calc(100% - 5.5%); transform: scaleX(-1); }
  100% { left: 0; transform: scaleX(-1); }
}

.nav{
    position: fixed;
    bottom: 2.5%;
    left: 50%;
    transform: translateX(-50%);
    opacity:0;
    animation: fadeIn 2s forwards;
    text-shadow: 2px 2px 6px rgba(0,0,0,.7);
    color: #fff;
    font-size: large;
    z-index: 1000;
    background: rgba(0,0,0,0.5);
    padding: 0.5rem 1rem; 
    border-radius: 10px;

}
.nav .nav-link {
  color: rgb(255, 255, 255);
}
.nav .nav-link:hover {
  color: #FFD700;
}

/* About */
.site-header {
    opacity: 0;
    animation: fadeIn 2s forwards;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 20px;
    background: rgba(0,0,0,0.5);

}
.site-header .logo h1 {
    margin: 0;
    font-size: 1.5rem;
}

.site-header .logo a {
    text-decoration: none;
    color: #fff;
}

.top-nav ul {
    display: flex;
    gap: 1rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.top-nav .nav-link {
    color: #fff;
    text-decoration: none;
    font-weight: 500;
}

.top-nav .nav-link:hover {
    color: #FFD700;
}

body.about-page{
    background-color: black;
    background-image: none;
}
.container{
    opacity:0;
    animation: fadeIn 2s forwards;
    text-shadow: 2px 2px 6px rgba(0,0,0,0.5);
    color : #fff;
}
/* Projects page */
body.projects-page{
    background-color: black;
    background-image: none;
}
/* Contact Page */
body.contact-page{
    background-color: black;
    background-image: none;
}
body.resume-page{
    background-color: black;
    background-image: none;
}
.card img {
    width: 100%;      /* makes image fit card width */
    height: 450px;    /* set fixed height */
    object-fit: cover; /* crops image to fill the area nicely */
}

.social-floating {
  position: fixed;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 20px;
  z-index: 1000;
}

.social-floating a {
  color: white;
  font-size: 1.8rem;
  transition: transform 0.3s, color 0.3s;
}

.social-floating a:hover {
  color: #0d6efd; /* Bootstrap blue hover */
  transform: scale(1.2);
}

footer{
    opacity: 0;
    animation: fadeIn 2s forwards;
    text-shadow: 2px 2px 6px rgba(0,0,0,0.5);
    color : #fff;
    background: rgba(0,0,0,0.5);
    padding: 1rem 0; 
    margin-top: 2rem;
    text-align: center;
}
@keyframes fadeIn{
    to {
        opacity: 1;
    }
}