
/************ FOR-FUN PROJECTS ************/

.ff-projects {
    display: flex;
    justify-content: center;
    column-gap: calc(3 * var(--spacing_large));
    row-gap: var(--spacing_large);
    flex-wrap: wrap;
}

.ff-project-card {
    position: relative;
    width: 300px;
    height: 200px;
    border-radius: 10px;
}

.ff-project-card img {
    width: 300px;
    height: 200px;
    border-radius: 10px;
    object-fit: cover;
    display: block;
    position: relative;
    transition: all 0.4s ease;
    box-shadow: 0px 0px 5px rgba(255, 255, 255, 0.185);
}

.ff-content-wrapper {
    position: relative;
    top: -80%;
    left: 10%;
    z-index: -1;

    width: 300px;
    height: 200px;

    display: flex;
    flex-direction: column;
    justify-content: space-between;

    padding: 0.5rem;
    background-color: #20232F;
    border-radius: 10px;

    transition: all 0.4s ease;
}

.ff-content {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    overflow: hidden;
}

.ff-content-arrow {
    position: relative;
    left: 30px;
    top: 40px;
    transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
}

.ff-content-text {
    opacity: 0;
    transition: opacity 0.4s ease;
    width: 70%;
}

.ff-content-text h3 {
    margin-bottom: 5px;
}

.ff-title {
    opacity: 1;
    transition: opacity 0.3s ease;
    position: absolute;
    bottom: 5px;
}

.ff-image-wrapper {
    transition: all 0.4s ease;
}

.ff-image-wrapper:hover {
    cursor: default;
}

.ff-image-wrapper:hover img {
    transform: translateX(-140px);
}

.ff-image-wrapper:hover ~ .ff-content-wrapper {
    transform: translateX(25px);
    width: 400px;
}

.ff-image-wrapper:hover ~ .ff-content-wrapper .ff-content-text {
    opacity: 1;
}

.ff-image-wrapper:hover ~ .ff-content-wrapper .ff-content-arrow {
    opacity: 0;
}

.ff-image-wrapper:hover ~ .ff-content-wrapper .ff-title {
    opacity: 0;
}

/************ RESPONSIVE EFFECTS ************/

@media (max-width: 1200px) {

    .ff-projects {
        flex-direction: column;
        align-items: center;
    }
}

@media (max-width: 800px) {

    #ff-projects-section-title {
        margin-bottom: var(--spacing_large);
    }

    .ff-projects {
        gap: calc(1.75 * var(--spacing_large));
        margin-bottom: calc(1.75 * var(--spacing_large));;
    }

    .ff-image-wrapper:hover img {
        transform: none;
    }

    .ff-image-wrapper:hover ~ .ff-content-wrapper {
        transform: translate(-65px, 120px);
        width: 380px;
        height: 160px;
    }

    .ff-image-wrapper:hover + .ff-content-wrapper .ff-content {
        align-items: flex-start;
        justify-content: flex-end;
        height: 100%;
    }

    .ff-content-text {
        width: 100%;
    }

    .ff-content-text h3 {
        text-align: center;
    }
}