
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html, body {
    height: auto;
    min-height: 100%;
    overflow-y: auto;
}

body {
    background-image:
        url("assets/homepagebg.png"),
        url("assets/homepagebg.png");
    background-repeat: no-repeat, no-repeat;
    background-size: 50% 100%, 50% 100%;
    background-position: left top, right top;
}

nav {
    position: absolute;
    top: 250px;
    left: 48%;
    transform: translateX(-50%);

    display: flex;
    gap: 20px;

    z-index: 10;
}

nav a {
    text-decoration: none;
}

.page-wrapper {
    width: 900px;
    min-height: 900px;
    margin: 5px auto;
    padding: 10px;
    background-image: url("assets/maincontentpanel.png");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.pfp-container {
    position: relative;
    width: 300px; 
    height: 375px;
    top: -700px;
    right: -760px;
}

.pfp {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.pfp.hover {
    opacity: 0;
    transition: opacity 0.2s ease;
}

.pfp-container:hover .pfp.hover {
    opacity: 1;
}

.pfp-container:hover .pfp.normal {
    opacity: 0;
}

.custom-button {
    display: inline-flex;
    justify-content: center;
    align-items: center;

    width: 150px;
    height: 50px;

    background-color: #a2e425;
    border: 2px solid #2f440c;
    border-radius: 10px;

    color: #2f440c;
    font-size: 18px;
    text-decoration: none;

    transition: transform 0.2s;
}

.custom-button:hover {
    transform: scale(1.07);
}

.title {
    font-size: 42px;
    color: #1d2b07;
    text-align: center;
    margin-top: 40px;
}

.subtitle {
    font-size: 22px;
    color: #1d2b08;
    text-align: center;
    margin-top: 10px;
}

.about-box {
    width: 400px;   
    margin: 0 auto;     
    text-align: left;
    top: 350px;
    position: absolute;
    left: 32%;
}

.about-box p {
    font-size: 16px;
    color: #192507;
    line-height: 1.5;   
}

.project-card {
    width: 400px;
    margin: 20px auto;

    background-color: rgb(119, 185, 120);
    border: 2px solid #2f440c;
    border-radius: 12px;

    overflow: hidden;
}

.project-card img {
    width: 100%;
    height: auto;
    display: block;
}

.project-info {
    padding: 15px;
}

.project-info h2 {
    font-size: 22px;
    color: #2f440c;
    margin-bottom: 10px;
}

.project-info p {
    font-size: 16px;
    color: #2f440c;
    line-height: 1.4;
}

.projects-spacer {
    height: 300px;
}

.video-games {
    width: 400px;   
    margin: 0 auto;     
    text-align: left;
    top: 575px;
    position: absolute;
    left: 40%;
}

.video-games p {
    font-size: 16px;
    color: #192507;
    line-height: 1.5;   
}