/* Responsive CSS for Vegas Live Slots */

/* Base responsive styles */
* {
    box-sizing: border-box;
}

body {
    min-height: 100vh;
    overflow-x: hidden;
}

img {
    max-width: 100%;
    height: auto;
}

#wrapper {
    width: 100%;
    max-width: 1200px;
    padding: 0 15px;
    margin: 0 auto;
}

/* Responsive header */
.logo {
    float: none;
    padding: 40px 0 20px;
    text-align: center;
    width: 100%;
    max-width: 282px;
    margin: 0 auto;
}

.logo img {
    max-width: 100%;
}

/* Responsive navigation */
.submenu {
    float: none;
    width: 100%;
    text-align: center;
    margin-top: 20px;
}

h2 nav a {
    float: none;
    display: inline-block;
    padding: 15px;
}

/* Responsive main content */
.headline {
    position: relative;
    left: 0;
    top: 0;
    width: 100%;
    height: auto;
    max-height: 310px;
    padding: 20px 0;
}

.playbutton, .playbutton1 {
    position: relative;
    float: none;
    margin: 15px auto;
    width: 100%;
    max-width: 527px;
    height: auto;
    text-align: center;
}

.playbutton1 a {
    display: inline-block;
    margin: 5px;
}

.playbutton1 img {
    max-width: 100%;
    height: auto;
}

.bottom_desc {
    position: relative;
    width: 100%;
    height: auto;
    margin: 0;
    background-size: contain;
    background-position: center top;
    background-repeat: no-repeat;
    padding-bottom: 50px;
}

@media screen and (max-width: 768px) {
    .bottom_desc {
        background-size: cover;
    }
}

.maintext {
    width: 100%;
    margin: 0;
    padding: 20px;
    float: none;
}

.maintext p {
    margin-bottom: 15px;
    line-height: 1.5;
}

.sub18w, .sub18wEmp {
    padding: 20px;
    text-align: center;
}

/* Responsive footer */
footer {
    padding: 50px 20px;
    text-align: center;
}

footer a {
    display: inline-block;
    margin: 10px;
}

.copy_white {
    padding: 20px 0;
    text-align: center;
}

#sns {
    text-align: center;
    margin: 20px 0;
}

#sns div {
    display: flex;
    justify-content: center;
    gap: 15px;
}

/* Media Queries */
@media screen and (max-width: 1024px) {
    .tit24w {
        font-size: 50px;
        padding: 40px 0 10px;
    }

    .sub18w, .sub18wEmp {
        font-size: 20px;
    }
}

@media screen and (max-width: 768px) {
    body {
        background-size: cover;
        height: auto;
    }

    .tit24w {
        font-size: 40px;
    }

    .sub18w, .sub18wEmp {
        font-size: 18px;
    }

    .mainframe {
        width: 100%;
        margin: 10px 0;
        height: auto;
    }

    .submenu {
        width: 100%;
    }
}

@media screen and (max-width: 640px) {
    .tit24w {
        font-size: 32px;
    }

    .sub18w, .sub18wEmp {
        font-size: 16px;
    }

    h2 nav a {
        padding: 10px;
        font-size: 14px;
    }

    .playbutton, .playbutton1 {
        margin: 10px auto;
    }

    .playbutton1 a {
        margin: 3px;
    }

    .playbutton1 img {
        max-width: 90%;
    }

    footer {
        padding: 30px 10px;
    }

    footer a {
        font-size: 14px;
        padding: 0 5px;
    }
}

@media screen and (max-width: 480px) {
    .tit24w {
        font-size: 28px;
    }

    .sub18w, .sub18wEmp {
        font-size: 14px;
        padding: 15px 10px;
    }

    h2 nav a {
        padding: 8px;
        font-size: 12px;
    }

    .playbutton1 {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }

    .playbutton1 a {
        width: 45%;
        margin: 2px;
    }

    footer a {
        margin: 5px;
        font-size: 12px;
    }
}

/* Extra small devices */
@media screen and (max-width: 320px) {
    .tit24w {
        font-size: 24px;
    }

    .sub18w, .sub18wEmp {
        font-size: 13px;
        padding: 10px 5px;
    }

    .playbutton1 a {
        width: 100%;
        margin: 2px 0;
    }

    footer a {
        display: block;
        margin: 8px 0;
    }

    #sns div {
        flex-wrap: wrap;
    }
}
