#gks-geolocation-app.geolocation-mode-absolute {
    position: absolute;
    top: 50%;
    /* Center vertically */
    left: 50%;
    /* Center horizontally */
    transform: translate(-50%, -50%);
    /* Adjust to perfectly center */
    width: 80%;
    /* Set the width */
    max-width: 80%;
    /* Maximum width */
    background-color: white;
    /* Background color */
    padding: 20px;
    /* Padding around the content */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    /* Optional: Add some shadow for better visibility */
    z-index: 1000;
    /* Ensure it sits above other content */
}

#gks-geolocation-app.geolocation-mode-relative {
    position: relative;
    width: 100%;
    height: 100%;
    padding: 0 20px 0 20px;
}

#gks-geolocation-app #gks-geolocation-map {
    height: 300px;
    /* Default height */
    width: 100%;
}

#gks-geolocation-app .scrollable-list {
    height: 300px;
    max-height: 300px;
    /* Set max height for scroll */
    overflow-y: auto;
    /* Enable vertical scroll */
}

#gks-geolocation-app .scrollable-infowindows {
    line-height: 1.35;
    overflow: hidden;
    white-space: nowrap;
}

#gks-geolocation-app #gks-geolocation-place-list {
    border: 1px solid #ccc;
}

#gks-geolocation-app #gks-geolocation-place-list .list-group-item {
    cursor: pointer;
}

#gks-geolocation-app #place-search-box {
    width: 50%;
    margin-top: 10px;
    display: none;
}

.gks-modal-xl {
    max-width: 90%;
}

@media (min-width: 768px) {
    #gks-geolocation-app #gks-geolocation-map {
        height: 500px;
        /* Set height to 500px on screens wider than 768px (desktop) */
    }

    #gks-geolocation-app .scrollable-list {
        height: 500px;
        max-height: 500px;
        /* Set max height for scroll */
        overflow-y: auto;
        /* Enable vertical scroll */
    }
}