/*
This is a stylesheet that takes care of the general make-up of the website.
It is used across the whole website (for the header and footer mainly).
*/

/* Ensure no horizontal overflow */
html, body {
    overflow-x: hidden;
    height: 100%;
}

/* General styles for the entire page */
body {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Roboto', sans-serif;
    background: linear-gradient(to bottom right, #e1f7ff, #c5c5c5);
    width: 100%;
    min-height: 100%;
}

/* Navigation bar styling */
nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 0 20px;
    box-sizing: border-box;
}

/* Grouped navLinks together */
.navLinks a, .navLinksFooter a {
    color: #f0edff;
    font-size: 25px;
    text-decoration: none;
    padding: 15px;
    font-family: 'Roboto', sans-serif;
}

/* Hover effect for navLinks */
.navLinks a:hover, .navLinksFooter a:hover {
    color: white;
    box-sizing: border-box;
    transform: scale(1.1);
}

/* Styles for the header */
.header {
    position: sticky;
    top: 0;
    width: 100%;
    height: 60px;
    background: linear-gradient(to bottom, #011443, #001340, #010e3a, #000d36);
    display: flex;
    align-items: center;
    justify-content: space-between;
    z-index: 1000;
    box-shadow: 0 4px 2px -2px gray;
    box-sizing: border-box;
    padding: 0;
}

.header nav {
    display: flex;
    align-items: center;
    width: 100%;
}

.header img {
    height: 100%;
    padding: 0;
    margin: 0;
    max-height: 60px;
}

/* Styles for the footer */
.footer {
    position: sticky;
    bottom: 0;
    width: 100%;
    height: 60px;
    background: linear-gradient(to bottom, #011443, #001340, #010e3a, #000d36);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 20px;
    z-index: 1000;
    box-shadow: 0 -4px 2px -2px gray;
    color: #f0edff;
    text-align: center;
    box-sizing: border-box;
}

.footer p {
    margin: 0;
}

.footer .navLinks {
    display: flex;
}

/* Styles for the main content area */
main {
    padding-top: 60px;
    padding-bottom: 60px;
}

/* Restored typing header styles */
.typingHeader {
    text-align: center;
    color: #000000;
    padding: 10px;
    background: radial-gradient(circle at center, #d4dcff, #f9f8ff);
    font-family: "Roboto", serif;
}

#typed-text {
    display: inline-block;
    font-size: 25px;
}

#cursor {
    vertical-align: baseline;
    margin-left: -5px;
    animation: blink-caret 0.75s infinite;
    font-size: 25px;
}

/* Blinking cursor animation */
@keyframes blink-caret {
    0% {
        opacity: 1; /* Start with the cursor visible */
    }
    50% {
        opacity: 0; /* Blinking - cursor disappears */
    }
    100% {
        opacity: 1; /* Cursor appears again */
    }
}

/* Intro content styles */
.intro-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px;
}

.image-container {
    text-align: center;
}

.intro-image {
    max-width: 350px;
    height: auto;
    border-radius: 50%;
}

.quote-container {
    text-align: center;
}

/* Skills and projects sections */
.skills, .projects {
    padding: 50px 20px;
    text-align: center;
    background-color: #fff;
    margin: 20px auto;
    max-width: 800px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
}

.skills h2, .projects h2 {
    color: #011443;
}

.skills ul {
    list-style: none;
    padding: 0;
}

.skills li {
    display: inline-block;
    margin: 10px 20px;
    padding: 10px;
    background-color: #007bff;
    color: #fff;
    border-radius: 5px;
}

.projects a {
    color: #007bff;
    text-decoration: none;
}

.projects a:hover {
    text-decoration: underline;
}

.cta-button {
    display: inline-block;
    padding: 10px 20px;
    margin-top: 20px;
    background-color: #007bff;
    color: #fff;
    text-decoration: none;
    border-radius: 5px;
    transition: background-color 0.3s;
}

.cta-button:hover {
    background-color: #0056b3;
}