* {
    font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
}

.square-card {
    aspect-ratio: 1 / 1.1;
    overflow: hidden;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    text-decoration: none;
    border-radius: .5rem;
    color: inherit;
    transition: transform 0.2s ease;
    background-color: #fff;
}

.square-card:hover {
    transform: translateY(-4px);
}

.square-card:hover img {
    width: 75%;
    height: 75%;
}

.square-card .img-wrapper {
    flex-grow: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.square-card img {
    width: 60%;
    height: 60%;
    object-fit: contain;
    transition: width 0.2s ease, height 0.2s ease;
}

.square-card span {
    text-align: center;
    padding: 0rem;
    font-size: 0.9rem;
    font-weight: bold;
    color: black;
}

.square-card h5 {
    text-align: center;
    padding: 0rem;
    font-size: 0.8rem;
    color: gray;
}

.container-custom {
    padding-left: 1rem;
    padding-right: 1rem;
}

@media (min-width: 768px) {
    .container-custom {
        padding-left: 3rem;
        padding-right: 3rem;
    }
}

@media (min-width: 1200px) {
    .container-custom {
        padding-left: 6rem;
        padding-right: 6rem;
    }
}

@media (min-width: 1600px) {
    .container-custom {
        padding-left: 10rem;
        padding-right: 10rem;
    }
}

.navbar-brand {
    font-size: 2rem;
}

footer {
    text-align: center;
    padding: 1rem 0;
    font-size: 0.9rem;
    opacity: 0.7;
}

.navbar {
    padding-inline-start: 10vw;
    align-items: center;
    justify-content: center;
}

.navbar a {
    width: 80vw;
    max-width: 1200px;
}