/* Responsive Styles */

/* Large Desktop (1280px and up) */
@media (max-width: 1279px) {
    .join-us .content {
        width: calc(100% / 3 * 2 - 10px);  /* -10px since we have 20px gap */
    }
    .join-us .job-bar {
        width: calc(100% / 2 * 6);  /* it's written to keep the similar style when page loading, will be covered by js written style */
    }
    .join-us .arrows {
        width: 130%;
        left: -15%;
    }
}

/* Desktop and Tablet (1024px and below) */
@media (max-width: 1023px) {
    .main-body .default-block {
        margin: 0 70px;
    }
    .bg-image {
        height: 40vh;
        min-height: 600px;
    }
    .banner .title {
        font-size: 2.5rem;
        line-height: 4rem;
    }
    .wrapper.featured, .wrapper.all {
        flex-direction: column;
    }
    .game-pod {
        width: 46%;
    }
    .game-info {
        padding: 15px;
        font-size: 105%;
    }
    .games-table .icon {
        width: 70px;
        height: 70px;
    }
    .about-us-pod .image {
        aspect-ratio: 1/1.5;
    }
    .join-us .content {
        width: calc(50% - 10px);  /* -10px since we have 20px gap */
    }
    .join-us .job-bar {
        width: calc(100% * 6);
    }
    .join-us .arrows {
        width: 140%;
        left: -20%;
    }
}

/* Mobile (768px and below) */
@media (max-width: 767px) {
    .main-body .default-block {
        margin: 0 40px;
    }
    .navbar-mobile .logo {
        padding-left: 24px;
    }
    .navbar-mobile .logo .icon svg {
        width: 32px;
        height: 32px;
    }
    .navbar-mobile .logo .icon {
        width: 40px;
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .header .navbar-laptop {
        display: none;
    }
    .header .navbar-mobile {
        display: block;
    }
    .header.header--open {
        background: white;
    }
    .bg-image {
        min-height: 400px;
        margin-top: 64px;
        padding-top: 50px;
    }
    .bg-image .image {
        width: 120%;
    }
    .banner-laptop {
        display: none;
    }
    .banner-mobile {
        display: block;
    }
    .banner .title {
        width: 66%;
    }
    .game-pod {
        width: 100%;
    }
    .app-store-btn.goto-btn {
        display: inline-flex;
    }
    .app-store-btn.qr-code-btn {
        display: none;
    }
    .about-us-pod {
        flex-direction: column;
        gap: 10px;
        justify-content: start;
        padding: 20px;
    }
    .about-us-pod .text {
        width: 100%;
        margin-bottom: 0;
        padding: 5px;
    }
    .about-us-pod .image {
        width: 100%;
        aspect-ratio: 1.5/1;
    }
    .about-us .arrows {
        width: 100%;
        position: initial;
        margin-top: 2rem;
    }
    .about-us .arrows .btn {
        background: white;
        background: #FFFFFF;
    }
    .join-us .content {
        width: 100%;
    }
    .join-us .arrows {
        width: 100%;
        justify-content: center;
        position: initial;
        margin-top: 1.5rem;
    }
    .footer {
        flex-direction: column;
        padding: 30px;
    }
    .footer .logo {
        gap: 5px;
    }
    .footer .link_list {
        gap: 2vw;
    }
    .footer .copyright {
        text-align: left;
    }
    /* Language switch button mobile styles */
    .language-switch {
        display: none;
    }
    .navbar-mobile .lang-btn {
        margin: 10px 42px;
        text-align: center;
        border-radius: 15px;
        padding: 10px 20px;
        font-size: 16px;
    }
    /* Footer contact info mobile styles */
    .footer .contact-info {
        margin-top: 15px;
        margin-bottom: 10px;
    }
    .footer .contact-info h4 {
        font-size: 15px;
        margin-bottom: 8px;
    }
    .footer .contact-info p {
        font-size: 13px;
        margin: 3px 0;
    }
    .footer .copyright {
        margin-top: 15px;
    }
    .footer .copyright p {
        font-size: 12px;
        margin: 3px 0;
        line-height: 1.3;
    }
    .banner-title-pc {
        display: none !important;
    }
    .banner-title-mobile {
        display: block !important;
    }
    .banner-title-img {
        max-width: 90vw;
        height: auto;
        margin: 0 auto;
        display: block;
    }
}

@media (min-width: 768px) {
    .banner-title-pc {
        display: block !important;
    }
    .banner-title-mobile {
        display: none !important;
    }
    .banner-title-img {
        max-width: 700px;
        height: auto;
        margin: 0 auto;
        display: block;
    }
} 