.wrapper {
    display: flex;
    flex-direction: column;
    height: 100vh;
}

main {
    display: flex;
    flex-grow: 1;
    gap: 2%;
    width: 100%;
    box-sizing: border-box;
}

.left,
.right {
    font-size: clamp(0.1rem, 10vw, 1rem);
}

.left {
    margin-left: 20%;
    width: 20%;
}

.right {
    width: 40%;
    position: relative;
    left: -5%;
    overflow: hidden;
    margin: 0 auto;
}

.projects-title {
    text-align: center;
}

.buttons_container {
    position: relative;
    padding: 2%;
}

.buttons {
    position: absolute;
    top: 10%;
    right: 3%;
    display: flex;
    gap: 1vw;
    flex-wrap: nowrap;
}

.btn {
    display: inline-block;
    padding: 0.7em 1em;
    min-width: 5em;
    text-decoration: none;
    border-radius: 0.3em;
    font-size: 1.1rem;
    transition: background-color 0.3s ease;
    text-align: center;
}

.btn:hover {
    background-color: #006666;
}

footer {
    text-align: center;
    padding: 1em;
}

@media (min-width: 3000px) {
    .btn {
        font-size: clamp(1rem, 10vw, 1.5em);
    }

    .left,
    .right {
        font-size: clamp(1rem, 10vw, 1.5em);
    }
}

@media (max-width: 1200px) {
    main {
        flex-wrap: wrap;
    }

    .left {
        margin-left: 0;
        width: 100%;
        text-align: center;
    }

    .right {
        width: 100%;
        position: relative;
        left: 0;
    }

    .buttons_container {
        position: relative;
    }

    .buttons {
        position: static;
        top: 0;
        right: 0;
    }

    .btn {
        width: 100%;
        margin: 0 0 1vw 0;
    }
}

@media (max-width: 400px) {
    .btn {
        width: 100%; 
        margin-bottom: 1vw;
        min-width: 0;
        font-size: clamp(0.1rem, 5vw, 1rem);
    }

    footer {
        font-size: clamp(0.1rem, 5vw, 1rem);
        height: 100% !important;
    }
}

@media (max-width: 250px) {
    .wrapper, main, .left, .right {
        width: 100% !important;
        height: 100% !important;
        box-sizing: border-box;
        min-width: 100%;
        flex-shrink: 0;
    }

    .left,
    .right {
        font-size: clamp(0.1rem, 5vw, 1rem);
    }

    .left {
        width: 100%;
    }

    .right {
        width: 100%;
        position: relative;
    }
}