.hero-slider {
    position: relative;
}

/* Primary button overlay */
.btn-overlay {
    position: absolute;
    top: 5vw; /* Responsive spacing */
    /*left: 5vw; !* You can adjust based on layout *!*/
    z-index: 10;
    background-color: #007bff;
    color: #fff;
    padding: 0.75em 1.5em;
    border-radius: 4px;
    text-decoration: none;
    font-weight: 500;
    font-size: 1rem;
    transition: background-color 0.3s ease;
}

/* Transparent material button overlay */
.btn-overlay-material {
    position: absolute;
    top: 2vw;
    /*left: 5vw;*/
    z-index: 10;
    background-color: transparent;
    color: #ffffff;
    padding: 0.75em 1.5em;
    border-radius: 4px;
    text-decoration: none;
    font-weight: 500;
    font-size: 1rem;
    transition: background-color 0.3s ease;
}

.btn-overlay:hover {
    background-color: #0056b3;
    color: #fff;
}

/* Media Queries for Responsiveness */

/* Tablets */
@media (max-width: 768px) {
    .btn-overlay {
        top: 8vw;
        left: 4vw;
        font-size: 0.9rem;
        padding: 0.65em 1.2em;
    },
    .btn-overlay-material {
        top: 8vw;
        left: 4vw;
        font-size: 0.9rem;
        padding: 0.65em 1.2em;
    }
}

/* Phones */
@media (max-width: 480px) {
    .btn-overlay {
        top: 20vw;
        /*left: 3vw;*/
        font-size: 0.8rem;
        padding: 0.6em 1em;
    },
    .btn-overlay-material {
        top: 4vw;
        /*left: 3vw;*/
        font-size: 0.8rem;
        padding: 0.6em 1em;
    }
}