html {
    scroll-behavior: smooth
}

:root {
    --main-color: #f3f3f3;
    --primary-color: #ffffff;
    --highlight-color: #fafafa;
    --nav-bg: #000;
    --background-color: #000000;
    --text-color: rgba(255, 255, 255, 0.87);
    --text-main-color: #ffffff;
    --border-color: rgba(255, 255, 255, 0.05)
}

.oid-secnav-container {
    width: 70vw !important;
    margin: auto !important
}

.nav-title {
    font-size: 1em
}

.oid-main-title {
    font-size: 2.9vw;
    line-height: 1.4em
}

.oid-main-desc {
    font-size: 1vw
}

.oid-text-1 {
    font-size: 2.6vw;
    line-height: 1.3em;
    font-weight: 700
}

.oid-text-2 {
    font-size: .9vw;
    line-height: 1.3em
}

.oid-text-3 {
    font-size: .8vw
}

.oid-text-4 {
    font-size: .08vw
}

.title-group {
    display: flex;
    flex-direction: column;
    row-gap: 2em
}

.oval-shape {
    background-color: #000;
    color: #fff;
    padding: .3em .3em .2em;
    font-size: .8vw;
    width: 7vw
}

.oid-product-title-text {
    font-size: 4vw
}

.tnc-section {
    height: 13vw
}

.accordion-toggle {
    font-size: 2em;
    font-weight: 700
}

.accordion-title {
    padding: 2em
}

.accordion-detail {
    background-color: #fafafa
}

.oid-container {
    width: 70vw;
    justify-content: flex-start
}

.kv-caption {
    position: absolute;
    align-items: center;
    padding-left: 35vw;
    height: 38vw
}

.kv-desc-section {
    height: 100%;
    width: 100%;
    right: 0
}

.kv-title:first-child {
    margin-top: 11vw
}

.kv-title:nth-child(2) {
    margin-top: 5vw
}

.kv-title {
    width: 68vw
}

.notes {
    font-size: .2vw
}

.kv-title>div:first-child {
    width: 23vw
}

.oval-shape {
    background-color: #000;
    color: #fff;
    padding: .3em .3em .2em;
    font-size: 1.2vw;
    width: 9vw
}

.header-ai-badge {
    display: inline-block;
    margin-bottom: .5vw;
    padding: .4vw 1.2vw .4vw;
    border-radius: 1em;
    background-color: #000;
    color: #fff;
    font-size: .7vw;
    font-weight: 600;
    line-height: 1.2
}

@media (min-width:1440px) and (max-width:1599.98px) {
    .oid-product-title-text {
        font-size: 3.7em
    }

    .oid-text-2 {
        font-size: 1em !important
    }

    .tnc-section {
        height: 15em
    }
}

@media (min-width:1024px) and (max-width:1439.98px) {
    .oid-product-title-text {
        font-size: 3.7vw
    }

    .oid-text-1 {
        font-size: 2.6vw
    }

    .oid-text-2 {
        font-size: 1vw !important
    }

    .tnc-section {
        height: 12vw
    }
}

@media (min-width:768px) and (max-width:1023.98px) {
    .header-ai-badge {
        font-size: 1.3vw;
        padding: .25vw 1.2vw .3vw;
        margin-bottom: .8vw
    }

    .oid-text-2 {
        font-size: 3.3vw
    }

    .oid-text-3 {
        font-size: 2.18vw
    }

    .kv-caption {
        padding-left: 40vw;
        height: 35vw
    }
}

@media (min-width:501px) and (max-width:767.98px) {
    .oid-secnav-container {
        padding: 2vw 4.5vw
    }

    .header-ai-badge {
        font-size: 1.8vw;
        padding: .35vw 1.6vw .4vw;
        margin-bottom: 1vw
    }

    .oid-product-title-text {
        font-size: 3.7vw
    }

    .oid-text-1 {
        font-size: 2.3vw
    }

    .oid-text-2 {
        font-size: 1.5vw !important
    }

    .oid-text-3 {
        font-size: 1.18vw
    }

    .tnc-section {
        height: 12vw
    }
}

@media (max-width:500.98px) {
    .oid-kv-text-container {
        top: 8vw !important
    }

    .header-ai-badge {
        font-size: 3.2vw;
        padding: .9vw 2.6vw 1vw;
        margin-bottom: 1.8vw
    }

    .oid-container {
        width: 90vw !important
    }

    .oid-secnav-container {
        width: 90vw !important
    }

    .kv-title:nth-child(2) {
        margin-left: 10vw;
        margin-top: 15vw
    }

    .kv-desc-section {
        width: 83%;
        height: 100%;
        height: 96%;
        margin-left: auto;
        margin-right: auto;
        right: unset;
        justify-content: space-between
    }

    .oval-shape {
        font-size: 3.5vw;
        width: 30vw
    }

    .oid-product-title-text {
        font-size: 11.7vw
    }

    .kv-title>div:first-child .oid-main-title {
        font-size: 11vw
    }

    .kv-title {
        row-gap: 133vw !important
    }

    .oid-main-desc {
        font-size: 5vw
    }

    .oid-text-1 {
        font-size: 5.3vw;
        width: 80%
    }

    .oid-text-2 {
        font-size: 4vw !important
    }

    .oid-text-3 {
        font-size: 3vw
    }

    .tnc-section {
        height: 43vw
    }

    .kv-caption {
        padding-left: 0
    }
}

.oid-kv-text-container {
    top: 3vw
}

.page-disclaimer {
    margin: 2.5vw auto 0;
    padding: 0 0 2em;
    font-size: .75vw;
    line-height: 1.5;
    color: rgba(0, 0, 0, .65);
    text-align: center
}

@media (max-width:1023.98px) {
    .page-disclaimer {
        font-size: 1.6vw;
        margin-top: 4em
    }
}

@media (max-width:500.98px) {
    .page-disclaimer {
        font-size: 3.2vw;
        margin-top: 3.5em
    }
}

#oid-main-page {
    --meetup-accent: #e3e1f9;
    --meetup-accent-soft: #f0effc;
    --meetup-accent-text: #4a4678;
    --meetup-accent-text-hover: #2f2c52
}

#oid-main-page #oid-second-navbar .oid-po-nav-btn {
    background-color: #9279d7;
    color: #fff
}

.meetup-kv-meetup {
    margin-top: .6vw
}

.meetup-kv-location {
    margin: .8vw 0 0;
    font-size: 1.7vw;
    line-height: 1.35
}

.meetup-kv-date {
    margin: .3vw 0 0;
    font-size: 1.7vw;
    line-height: 1.35
}

.meetup-form-section {
    padding: 4vw 0 2vw
}

.meetup-form-row {
    display: flex;
    align-items: center;
    column-gap: 4vw;
    width: 100%
}

.meetup-form-visual {
    flex: 0 0 42%;
    display: flex;
    justify-content: center;
    align-items: center
}

.meetup-form-visual img {
    width: 58%;
    max-width: 100%
}

.meetup-form-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center
}

.meetup-form-title {
    margin: 0;
    font-size: 2.4vw;
    line-height: 1.25;
    font-weight: 700;
    color: #000
}

.meetup-form-subtitle {
    margin: .8vw 0 0;
    color: #333
}

.meetup-form-actions {
    display: flex;
    align-items: center;
    column-gap: 1.8vw;
    margin-top: 2.5vw
}

.meetup-howto-section {
    padding: 0 0 1vw
}

.meetup-howto-shell {
    position: relative;
    width: 100%
}

.meetup-howto-asset-desktop {
    display: block;
    width: 100%
}

.meetup-howto-asset-mobile,
.meetup-howto-asset-tablet {
    display: none;
    width: 100%;
    height: auto
}

.meetup-howto-content-layer {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%
}

.meetup-howto-overlay {
    width: 100%;
    height: 100%;
    padding: 5.5vw 4vw 9vw;
    box-sizing: border-box
}

.meetup-howto-inner {
    box-sizing: border-box
}

.meetup-howto-title {
    margin: 0 0 1vw;
    font-size: 2.2vw;
    line-height: 1.3;
    text-align: center;
    color: #000
}

.meetup-howto-intro {
    margin: 0 0 2.8vw;
    max-width: 90%;
    text-align: center
}

.meetup-howto-steps {
    display: flex;
    justify-content: center;
    column-gap: 3vw;
    width: 100%;
    margin-bottom: 3.5vw
}

.meetup-howto-step {
    flex: 0 0 28%;
    display: flex;
    flex-direction: column;
    align-items: center
}

.meetup-howto-step-num {
    margin: 0;
    font-size: 1.6vw;
    line-height: 1
}

.meetup-howto-step-title {
    margin: .8vw 0 .5vw;
    text-align: center
}

.meetup-howto-step-desc {
    margin: 0;
    text-align: center
}

.meetup-howto-prize {
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 2.5vw;
    width: 100%;
    max-width: 85%
}

.meetup-howto-prize-visual {
    flex: 0 0 11vw
}

.meetup-howto-prize-text {
    flex: 1;
    margin: 0;
    text-align: center
}

.meetup-watch-section {
    background-color: #e3e1f9;
    padding: 5vw 0;
    margin: 2vw 0
}

.meetup-watch-row {
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 5vw;
    width: 100%
}

.meetup-watch-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    box-sizing: border-box
}

.meetup-watch-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 1.2vw;
    row-gap: 1vw;
    flex-wrap: wrap
}

.meetup-watch-visual {
    box-sizing: border-box
}

@media (min-width:1024px) {
    .meetup-watch-row {
        flex-direction: row;
        column-gap: 3vw
    }

    .meetup-watch-content {
        flex: 0 0 50%;
        width: 50%;
        max-width: 50%
    }

    .meetup-watch-section .meetup-watch-visual.oid-d-none-xs {
        flex: 0 0 50%;
        width: 50%;
        max-width: 50%;
        display: flex !important;
        align-items: center;
        justify-content: center
    }

    .meetup-watch-section .meetup-watch-visual.oid-d-none-xs .meetup-watch-visual-img {
        width: 100%;
        max-width: 100%;
        height: auto;
        display: block
    }
}

.meetup-watch-title {
    margin: 0 0 .8vw;
    font-size: 2.2vw;
    line-height: 1.3;
    color: #000
}

.meetup-watch-desc {
    margin: 0 0 1.5vw
}

.meetup-watch-visual-img--mobile {
    border-radius: 3vw
}

.meetup-product-section {
    padding: 5vw 0 4vw
}

.meetup-product-heading {
    margin: 0 0 3vw;
    font-size: 2.2vw;
    line-height: 1.3;
    text-align: center;
    color: #000
}

.meetup-product-gift-mobile {
    display: none;
    width: 100%;
    height: auto
}

.meetup-gift-preorder-wrap {
    display: flex;
    justify-content: center;
    width: 100%
}

.meetup-gift-preorder-btn {
    display: inline-block
}

.meetup-gift-preorder-btn .meetup-image-btn-inner {
    position: relative;
    display: inline-block;
    width: 28vw
}

.meetup-gift-preorder-btn .meetup-image-btn-inner img {
    display: block;
    width: 100%;
    height: auto
}

.meetup-gift-preorder-btn .meetup-image-btn-label {
    font-size: 1.35vw;
    font-weight: 600;
    line-height: 1.2;
    padding: 0 1vw;
    white-space: nowrap
}

.meetup-product-grid {
    display: flex;
    justify-content: center;
    column-gap: 3.5vw;
    align-items: stretch
}

.meetup-product-card {
    flex: 0 0 28%;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center
}

.meetup-product-image-wrap {
    width: 100%;
    display: flex;
    justify-content: center;
    margin-bottom: 1.2vw
}

.meetup-product-image {
    width: 80%;
    max-width: 100%
}

.meetup-product-name {
    margin: 0 0 .5vw;
    font-size: 1.5vw;
    line-height: 1.3;
    color: #000
}

.meetup-product-spec {
    margin: 0 0 1.2vw;
    text-decoration: underline;
    text-underline-offset: 0.15em;
    color: #333
}

.meetup-product-spec:focus,
.meetup-product-spec:hover {
    color: #000
}

.meetup-product-btn {
    margin-top: auto
}

.meetup-product-notes {
    width: 100%;
    margin-top: 2.5vw;
    text-align: left
}

.meetup-product-notes p {
    margin: 0 0 .15vw;
    font-size: .5vw;
    font-weight: 300;
    line-height: 1.25;
    color: #999
}

.meetup-product-notes p:last-child {
    margin-bottom: 0
}

@media (min-width:1440px) and (max-width:1599.98px) {
    .meetup-kv-logo {
        padding-bottom: 1vw
    }

    .meetup-kv-date,
    .meetup-kv-location {
        font-size: 1.55em !important
    }

    .meetup-form-title,
    .meetup-howto-title,
    .meetup-product-heading,
    .meetup-watch-title {
        font-size: 2.2em
    }

    .meetup-form-section {
        padding: 3.5em 0 1.8em
    }

    .meetup-form-subtitle {
        margin-top: .6em
    }

    .meetup-form-actions {
        margin-top: 2em;
        column-gap: 1.5em
    }

    .meetup-howto-overlay {
        padding: 4.5em 3em 7em
    }

    .meetup-howto-intro {
        margin-bottom: 2.2em
    }

    .meetup-howto-steps {
        margin-bottom: 2.8em;
        column-gap: 2.5em
    }

    .meetup-howto-step-num {
        font-size: 1.4em
    }

    .meetup-howto-step-title {
        margin: .6em 0 .4em
    }

    .meetup-howto-prize-visual {
        flex-basis: 9em
    }

    .meetup-watch-section {
        padding: 4em 0;
        margin: 1.5em 0
    }

    .meetup-watch-desc {
        margin-bottom: 1.2em
    }

    .meetup-product-section {
        padding: 4em 0 3.5em
    }

    .meetup-product-heading {
        margin-bottom: 2.5em
    }

    .meetup-product-name {
        font-size: 1.4em
    }

    .meetup-product-notes {
        margin-top: 2em
    }

    .meetup-product-notes p {
        margin-bottom: .12em;
        font-size: .6em;
        line-height: 1.25
    }
}

@media (min-width:1024px) {
    .meetup-kv-logo {
        padding-bottom: 1vw
    }

    #header-kv .oid-d-none-xs {
        display: block !important
    }

    #header-kv .oid-d-block-xs {
        display: none !important
    }

    .meetup-kv-date,
    .meetup-kv-location {
        font-size: 1.7vw !important
    }

    .meetup-product-gift-desktop {
        display: block !important
    }

    .meetup-product-gift-mobile {
        display: none !important
    }
}

@media (max-width:1023.98px) {
    .meetup-kv-logo {
        padding-bottom: 1vw
    }

    #header-kv .oid-d-none-xs {
        display: none !important
    }

    #header-kv .oid-d-block-xs {
        display: block !important
    }

    #header-kv img.oid-w-100 {
        width: 100%;
        height: auto;
        object-fit: contain;
        vertical-align: top
    }

    #header-kv .oid-kv-text-container {
        top: 10vw !important
    }

    #header-kv .oid-w-100xs {
        width: 100% !important
    }

    #header-kv .oid-justify-start-xs {
        justify-content: flex-start !important
    }

    #header-kv .oid-pos-rel {
        overflow: hidden
    }

    #header-kv {
        width: 100%;
        overflow: hidden
    }

    #oid-main-page #oid-second-navbar .nav-title .oid-d-none-xs {
        display: none !important
    }

    #oid-main-page #oid-second-navbar .nav-title .oid-d-block-xs.oid-d-none {
        display: block !important
    }

    #oid-main-page #oid-second-navbar .oid-secnav-container {
        width: 90vw !important;
        padding-left: 20px;
        padding-right: 20px;
        box-sizing: border-box
    }

    .meetup-kv-logo {
        padding-top: 8vw
    }

    .meetup-kv-meetup {
        margin-top: 3vw
    }

    .meetup-kv-location {
        margin-top: 3vw;
        font-size: 3.8vw
    }

    .meetup-kv-date {
        margin-top: 1.5vw;
        font-size: 4vw
    }

    .meetup-form-section {
        padding: 12vw 0 10vw
    }

    .meetup-form-row {
        flex-direction: column;
        row-gap: 8vw
    }

    .meetup-form-visual {
        flex: none;
        width: 100%
    }

    .meetup-form-visual img {
        width: 45%
    }

    .meetup-form-title {
        font-size: 5vw
    }

    .meetup-form-subtitle {
        margin-top: 2vw
    }

    .meetup-form-actions {
        flex-direction: column;
        row-gap: 3vw;
        margin-top: 5vw
    }

    .meetup-watch-section {
        padding: 8vw 0;
        margin: 4vw 0
    }

    #oid-main-page .meetup-watch-section>.oid-container {
        width: 85vw !important
    }

    .meetup-watch-row {
        flex-direction: column;
        row-gap: 5vw
    }

    .meetup-watch-content {
        flex: none;
        width: 100%;
        max-width: 100%
    }

    .meetup-watch-actions {
        column-gap: 2.5vw;
        row-gap: 2.5vw
    }

    #oid-main-page .meetup-watch-section .meetup-watch-visual.oid-d-block-xs {
        display: block !important;
        flex: none;
        width: 72%;
        max-width: 72%;
        margin-left: auto;
        margin-right: auto
    }

    #oid-main-page .meetup-watch-section .meetup-watch-visual.oid-d-none-xs {
        display: none !important
    }

    .meetup-watch-visual-img--mobile {
        border-radius: 3vw
    }

    .meetup-watch-title {
        font-size: 4.5vw;
        margin-bottom: 2.5vw
    }

    .meetup-watch-desc {
        margin-bottom: 4vw
    }

    .meetup-product-section {
        padding: 8vw 0 6vw
    }

    .meetup-product-heading {
        font-size: 4.5vw;
        margin-bottom: 6vw
    }

    .meetup-product-image-wrap {
        margin-bottom: 3vw
    }

    .meetup-product-name {
        font-size: 4vw;
        margin-bottom: 1.5vw
    }

    .meetup-product-spec {
        margin-bottom: 3vw
    }

    .meetup-product-notes {
        margin-top: 5vw
    }

    .meetup-product-notes p {
        margin-bottom: .4vw;
        font-size: 1.4vw;
        line-height: 1.25
    }
}

@media (min-width:501px) and (max-width:1023.98px) {
    .meetup-product-grid {
        flex-direction: row;
        flex-wrap: nowrap;
        column-gap: 2vw;
        row-gap: 0;
        align-items: stretch
    }

    .meetup-product-card {
        flex: 1 1 0;
        width: auto;
        min-width: 0
    }

    .meetup-product-image {
        width: 85%
    }

    .meetup-product-image-wrap {
        margin-bottom: 2vw
    }

    .meetup-product-name {
        font-size: 2.2vw;
        margin-bottom: .8vw
    }

    .meetup-product-spec {
        font-size: 1.5vw;
        margin-bottom: 2vw
    }

    .meetup-product-btn .meetup-image-btn-inner img {
        width: 100%
    }

    .meetup-product-btn .meetup-image-btn-label {
        font-size: 1.4vw !important
    }

    .meetup-gift-preorder-btn .meetup-image-btn-inner {
        width: 45vw
    }

    .meetup-gift-preorder-btn .meetup-image-btn-label {
        font-size: 2.2vw;
        padding: 0 1.5vw
    }
}

@media (max-width:1023.98px) {
    #oid-main-page .oid-container.meetup-howto-section {
        width: 85vw !important
    }

    #oid-main-page #how-to-section.meetup-howto-section {
        padding-bottom: 50px
    }

    #oid-main-page #how-to-section .meetup-howto-asset-desktop {
        display: none !important
    }

    #oid-main-page #how-to-section .meetup-howto-asset-mobile {
        display: none
    }

    #oid-main-page #how-to-section .meetup-howto-asset-tablet {
        display: block;
        position: relative;
        width: 100%;
        height: auto
    }

    #oid-main-page #how-to-section .meetup-howto-content-layer {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        z-index: 1
    }

    #oid-main-page #how-to-section .meetup-howto-overlay {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 100%;
        padding: 40px 20px 48px;
        box-sizing: border-box
    }

    #oid-main-page #how-to-section .meetup-howto-inner {
        align-items: center;
        text-align: center
    }

    #oid-main-page #how-to-section .meetup-howto-title {
        margin-bottom: 12px;
        font-size: 20px;
        text-align: center
    }

    #oid-main-page #how-to-section .meetup-howto-intro {
        margin-bottom: 32px;
        font-size: 14px;
        line-height: 1.5;
        max-width: 100%;
        text-align: center
    }

    #oid-main-page #how-to-section .meetup-howto-steps {
        flex-direction: column;
        row-gap: 36px;
        margin-bottom: 40px
    }

    #oid-main-page #how-to-section .meetup-howto-step {
        display: flex;
        flex-direction: column;
        align-items: center;
        flex: none;
        width: 100%;
        text-align: center
    }

    #oid-main-page #how-to-section .meetup-howto-step-title {
        margin: 12px 0 8px;
        font-size: 16px;
        text-align: center
    }

    #oid-main-page #how-to-section .meetup-howto-step-desc {
        font-size: 13px;
        line-height: 1.45;
        padding: 0 4px;
        text-align: center
    }

    #oid-main-page #how-to-section .meetup-howto-step-num {
        font-size: 18px
    }

    #oid-main-page #how-to-section .meetup-howto-prize {
        flex-direction: column;
        align-items: center;
        row-gap: 20px;
        max-width: 100%;
        text-align: center
    }

    #oid-main-page #how-to-section .meetup-howto-prize-visual {
        flex: none;
        width: 120px
    }

    #oid-main-page #how-to-section .meetup-howto-prize-text {
        text-align: center
    }
}

@media (max-width:500.98px) {
    #header-kv .oid-kv-text-container {
        top: 8vw !important
    }

    #oid-main-page #how-to-section .meetup-howto-asset-tablet {
        display: none !important
    }

    #oid-main-page #how-to-section .meetup-howto-asset-mobile {
        display: block;
        position: relative;
        width: 100%;
        height: auto
    }

    #oid-main-page .meetup-watch-section>.oid-container,
    #oid-main-page .oid-container.meetup-form-section,
    #oid-main-page .oid-container.meetup-product-section {
        width: 85vw !important
    }

    #oid-main-page #oid-second-navbar .oid-secnav-container {
        width: 90vw !important;
        padding-left: 20px;
        padding-right: 20px;
        box-sizing: border-box
    }

    .meetup-product-gift-desktop {
        display: none !important
    }

    .meetup-product-gift-mobile {
        display: block !important;
        width: 100%;
        height: auto
    }

    .meetup-kv-logo {
        padding-top: 25px;
        padding-bottom: 7px
    }

    .meetup-kv-meetup {
        margin-top: 8px
    }

    .meetup-kv-location {
        margin-top: 0;
        font-size: 5.8vw !important
    }

    .meetup-kv-date {
        margin-top: 4px;
        font-size: 6.2vw
    }

    .meetup-form-section {
        padding: 50px 0
    }

    .meetup-form-row {
        row-gap: 24px
    }

    .meetup-form-visual img {
        width: 62%
    }

    .meetup-form-title {
        font-size: 22px;
        line-height: 1.25
    }

    .meetup-form-subtitle {
        margin-top: 10px
    }

    .meetup-form-actions {
        margin-top: 20px;
        row-gap: 10px
    }

    .meetup-tnc-link {
        margin-top: 0
    }

    .meetup-watch-section {
        padding: 50px 0;
        margin: 0
    }

    .meetup-watch-row {
        flex-direction: column;
        row-gap: 24px
    }

    .meetup-watch-content {
        flex: none;
        width: 100%;
        max-width: 100%
    }

    .meetup-watch-actions {
        row-gap: 12px;
        column-gap: 12px
    }

    .meetup-watch-title {
        margin-bottom: 12px;
        font-size: 20px
    }

    .meetup-watch-desc {
        margin-bottom: 20px;
        font-size: 14px;
        line-height: 1.5
    }

    .meetup-watch-visual-img--mobile {
        border-radius: 12px
    }

    .meetup-watch-visual {
        width: 72%
    }

    .meetup-product-section {
        padding: 50px 0 40px
    }

    .meetup-product-heading {
        margin-bottom: 32px;
        font-size: 20px
    }

    .meetup-gift-preorder-btn .meetup-image-btn-inner {
        width: 78vw
    }

    .meetup-gift-preorder-btn .meetup-image-btn-label {
        font-size: 4.2vw;
        padding: 0 2vw
    }

    .meetup-product-grid {
        flex-direction: column;
        row-gap: 50px
    }

    .meetup-product-card {
        flex: none;
        width: 100%
    }

    .meetup-product-image-wrap {
        margin-bottom: 15px
    }

    .meetup-product-name {
        margin-bottom: 5px;
        font-size: 18px
    }

    .meetup-product-spec {
        margin-bottom: 15px;
        font-size: 14px
    }

    .meetup-product-notes {
        margin-top: 32px
    }

    .meetup-product-notes p {
        font-size: 9px;
        line-height: 1.25;
        margin-bottom: 3px
    }

    #oid-main-page .page-disclaimer {
        margin-top: 40px;
        padding: 0 20px 32px;
        font-size: 11px;
        line-height: 1.5
    }
}

.meetup-promo-section {
    background-color: #fff;
    padding: 4vw 0
}

.meetup-promo-container {
    width: 70vw;
    margin: 0 auto;
    column-gap: 3vw
}

.meetup-promo-visual {
    flex: 0 0 38%;
    max-width: 38%
}

.meetup-promo-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    row-gap: 1.2vw
}

.meetup-promo-title {
    display: inline-flex;
    align-items: flex-start;
    column-gap: .6vw;
    margin: 0;
    font-size: 2.8vw;
    line-height: 1.2;
    font-weight: 700;
    color: #000
}

.meetup-promo-star {
    display: inline-flex;
    flex-shrink: 0;
    margin-top: .2vw
}

.meetup-promo-star svg {
    width: 1.8vw;
    height: 1.8vw
}

.meetup-promo-subtitle {
    margin: 0;
    color: #333;
    font-weight: 400
}

.meetup-promo-actions {
    column-gap: 1.5vw;
    margin-top: .5vw
}

.meetup-promo-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .85vw 2.4vw;
    border-radius: 999px;
    background: #e3e1f9;
    box-shadow: none;
    color: #000;
    font-size: .85vw;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
    transition: filter .2s ease
}

.meetup-promo-btn:focus,
.meetup-promo-btn:hover {
    color: #fff;
    filter: brightness(.95);
    text-decoration: none
}

.meetup-promo-tnc {
    color: #333;
    font-size: .8vw;
    line-height: 1.3;
    text-decoration: underline;
    text-underline-offset: 0.15em
}

.meetup-promo-tnc:focus,
.meetup-promo-tnc:hover {
    color: #000
}

@media (min-width:1440px) and (max-width:1599.98px) {
    .meetup-promo-section {
        padding: 4em 0
    }

    .meetup-promo-title {
        font-size: 2.8em
    }

    .meetup-promo-star svg {
        width: 1.1em;
        height: 1.1em
    }

    .meetup-promo-btn {
        font-size: 1em;
        padding: .75em 2em
    }

    .meetup-promo-tnc {
        font-size: 1em
    }
}

@media (min-width:768px) and (max-width:1023.98px) {
    .meetup-promo-title {
        font-size: 3.2vw
    }

    .meetup-promo-star svg {
        width: 2.2vw;
        height: 2.2vw
    }

    .meetup-promo-btn {
        font-size: 1.2vw;
        padding: 1vw 2.8vw
    }

    .meetup-promo-tnc {
        font-size: 1.15vw
    }
}

@media (min-width:501px) and (max-width:767.98px) {
    .meetup-promo-container {
        width: 90vw;
        flex-direction: column;
        row-gap: 3vw;
        text-align: center
    }

    .meetup-promo-visual {
        flex: none;
        max-width: 55vw
    }

    .meetup-promo-content {
        align-items: center
    }

    .meetup-promo-title {
        font-size: 4vw;
        justify-content: center
    }

    .meetup-promo-star svg {
        width: 3vw;
        height: 3vw
    }

    .meetup-promo-actions {
        justify-content: center;
        flex-wrap: wrap;
        row-gap: 2vw
    }

    .meetup-promo-btn {
        font-size: 1.6vw;
        padding: 1.2vw 3.5vw
    }

    .meetup-promo-tnc {
        font-size: 1.5vw
    }
}

@media (max-width:500.98px) {
    .meetup-promo-section {
        padding: 8vw 0
    }

    .meetup-promo-container {
        width: 90vw;
        flex-direction: column;
        row-gap: 6vw;
        text-align: center
    }

    .meetup-promo-visual {
        flex: none;
        max-width: 75vw
    }

    .meetup-promo-content {
        align-items: center;
        row-gap: 3vw
    }

    .meetup-promo-title {
        font-size: 6.5vw;
        justify-content: center
    }

    .meetup-promo-star svg {
        width: 5vw;
        height: 5vw
    }

    .meetup-promo-actions {
        flex-direction: column;
        row-gap: 4vw;
        width: 100%
    }

    .meetup-promo-btn {
        width: 100%;
        max-width: 72vw;
        font-size: 3.2vw;
        padding: 3.2vw 6vw
    }

    .meetup-promo-tnc {
        font-size: 3vw
    }
}

.mfp-fade.mfp-bg {
    opacity: 0;
    transition: all .3s ease-out
}

.mfp-fade.mfp-bg.mfp-ready {
    opacity: .8
}

.mfp-fade.mfp-bg.mfp-removing {
    opacity: 0
}

.mfp-fade.mfp-wrap .mfp-content {
    opacity: 0;
    transition: all .3s ease-out
}

.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
    opacity: 1
}

.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
    opacity: 0
}

.mfp-iframe-holder .mfp-content {
    max-width: 960px
}

.mfp-iframe-scaler iframe {
    background: #000
}

.meetup-reg-popup {
    position: relative;
    width: auto;
    max-width: 34vw;
    margin: 1.5vw auto;
    padding: 2.5vw 3vw 3vw;
    border-radius: 0;
    background: #fff
}

.meetup-reg-popup.white {
    background: #fff
}

.meetup-reg-title {
    margin: 0 0 1.2vw;
    font-size: 1.6vw;
    font-weight: 700;
    line-height: 1.3;
    color: #000
}

.meetup-reg-progress {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .8vw;
    margin-bottom: 1.8vw
}

.meetup-reg-progress-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .35vw;
    min-width: 5vw;
    color: #999
}

.meetup-reg-progress-num {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.6vw;
    min-width: 24px;
    height: 1.6vw;
    min-height: 24px;
    border: 1px solid #ccc;
    border-radius: 50%;
    font-size: .75vw;
    font-weight: 700;
    line-height: 1;
    background: #fff
}

.meetup-reg-progress-label {
    font-size: .65vw;
    font-weight: 600;
    line-height: 1.3;
    text-align: center
}

.meetup-reg-progress-line {
    flex: 0 0 3vw;
    height: 1px;
    margin-top: -1.1vw;
    background: #ddd
}

.meetup-reg-progress-step.is-active {
    color: #000
}

.meetup-reg-progress-step.is-active .meetup-reg-progress-num {
    border-color: #e3e1f9;
    background: #e3e1f9;
    color: #000
}

.meetup-reg-progress-step.is-done {
    color: #333
}

.meetup-reg-progress-step.is-done .meetup-reg-progress-num {
    border-color: #e3e1f9;
    background: #e3e1f9;
    color: #000
}

.meetup-reg-imei-summary {
    display: flex;
    align-items: center;
    gap: .8vw;
    margin-bottom: 1.2vw;
    padding: .8vw 1vw;
    border: 1px solid #c8e6c9;
    background: #f1f8e9
}

.meetup-reg-imei-summary-icon {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.4vw;
    min-width: 22px;
    height: 1.4vw;
    min-height: 22px;
    border-radius: 50%;
    background: #43a047;
    color: #fff;
    font-size: .75vw;
    font-weight: 700;
    line-height: 1
}

.meetup-reg-imei-summary-copy {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: .15vw
}

.meetup-reg-imei-summary-title {
    display: block;
    font-size: .72vw;
    font-weight: 700;
    line-height: 1.3;
    color: #2e7d32
}

.meetup-reg-imei-summary-value {
    display: block;
    font-size: .75vw;
    line-height: 1.3;
    color: #333;
    word-break: break-all
}

.meetup-reg-change-imei {
    flex-shrink: 0;
    padding: 0;
    border: none;
    background: 0 0;
    font-size: .72vw;
    font-weight: 600;
    line-height: 1.3;
    color: #000;
    text-decoration: underline;
    text-underline-offset: 0.15em;
    cursor: pointer
}

.meetup-reg-step-scroll {
    max-height: 42vh;
    overflow-y: auto;
    padding-right: .4vw;
    margin-bottom: .4vw
}

.meetup-reg-helper {
    margin: 0 0 .5vw;
    font-size: .68vw;
    font-weight: 400;
    line-height: 1.5;
    color: #666
}

.meetup-reg-helper-checkbox {
    margin: -.2vw 0 .8vw;
    padding-left: calc(1.1vw + .8vw)
}

.meetup-reg-form-wrap {
    display: flex;
    flex-direction: column
}

.meetup-reg-field {
    margin-bottom: 1.6vw
}

.meetup-reg-label {
    display: block;
    margin-bottom: .4vw;
    font-size: .85vw;
    font-weight: 700;
    line-height: 1.4;
    color: #000
}

.meetup-reg-field .select2-container .select2-selection,
.meetup-reg-field input[type=email],
.meetup-reg-field input[type=tel],
.meetup-reg-field input[type=text],
.meetup-reg-field select {
    width: 100%;
    padding: .65vw 0;
    border: none;
    border-bottom: 1px solid #ccc;
    background: 0 0;
    font-size: .8vw !important;
    line-height: 1.4;
    color: #000;
    outline: 0
}

.meetup-reg-field select {
    appearance: none;
    cursor: pointer;
    background-image: linear-gradient(45deg, transparent 50%, #666 50%), linear-gradient(135deg, #666 50%, transparent 50%);
    background-position: calc(100% - .4vw) calc(50% + .1vw), calc(100% - .15vw) calc(50% + .1vw);
    background-size: .35vw .35vw, .35vw .35vw;
    background-repeat: no-repeat;
    padding-right: 1.2vw
}

.meetup-reg-field select:disabled {
    color: #999;
    cursor: not-allowed;
    opacity: .7
}

.meetup-reg-field .select2-container {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important
}

.meetup-reg-field .select2-container .select2-selection,
.meetup-reg-field .select2-container .select2-selection--single {
    border: none !important;
    border-bottom: 1px solid #ccc !important;
    border-radius: 0 !important;
    background: 0 0 !important;
    min-height: 0 !important;
    height: auto !important;
    padding: .65vw 0 !important;
    box-shadow: none !important
}

#meetup-registration-modal .select2-container .select2-selection--single .select2-selection__rendered,
.meetup-reg-field .select2-container .select2-selection--single .select2-selection__rendered {
    padding: 0 1.2vw 0 0 !important;
    margin: 0 !important;
    line-height: 1.4 !important;
    font-size: inherit !important;
    color: #000 !important;
    height: auto !important;
    border: none !important;
    border-bottom: none !important;
    outline: 0 !important;
    box-shadow: none !important
}

.meetup-reg-field .select2-container--bootstrap-5 .select2-selection--single .select2-selection__placeholder {
    color: #999
}

.meetup-reg-field .select2-container--bootstrap-5 .select2-selection--single .select2-selection__arrow {
    height: 100%;
    right: 0
}

.meetup-reg-field .select2-container--bootstrap-5.select2-container--focus .select2-selection,
.meetup-reg-field .select2-container--bootstrap-5.select2-container--open .select2-selection {
    border-bottom-color: #e3e1f9;
    box-shadow: none
}

.meetup-reg-field .select2-container--bootstrap-5.select2-container--disabled .select2-selection {
    background: 0 0;
    opacity: .7
}

#meetup-registration-modal .select2-container--bootstrap-5 .select2-dropdown .select2-results__option.select2-results__option--highlighted {
    color: #4a4678 !important;
    background-color: #e3e1f9 !important
}

#meetup-registration-modal .select2-container--bootstrap-5 .select2-dropdown .select2-results__option.select2-results__option--selected,
#meetup-registration-modal .select2-container--bootstrap-5 .select2-dropdown .select2-results__option[aria-selected=true] {
    color: #fff !important;
    background-color: #9279d7 !important
}

#meetup-registration-modal .select2-container--bootstrap-5 .select2-dropdown .select2-results__option.select2-results__option--selected.select2-results__option--highlighted,
#meetup-registration-modal .select2-container--bootstrap-5 .select2-dropdown .select2-results__option[aria-selected=true].select2-results__option--highlighted {
    color: #fff !important;
    background-color: #7b64c4 !important
}

#meetup-registration-modal .select2-container--bootstrap-5.select2-container--focus .select2-selection,
#meetup-registration-modal .select2-container--bootstrap-5.select2-container--open .select2-selection {
    border-bottom-color: #9279d7 !important
}

#meetup-registration-modal .select2-container--bootstrap-5 .select2-dropdown .select2-search .select2-search__field:focus {
    border-color: #9279d7;
    box-shadow: 0 0 0 .15rem rgba(146, 121, 215, .25)
}

.meetup-reg-field input[type=email]::placeholder,
.meetup-reg-field input[type=tel]::placeholder,
.meetup-reg-field input[type=text]::placeholder {
    color: #999
}

.meetup-reg-field input[type=email]:focus,
.meetup-reg-field input[type=tel]:focus,
.meetup-reg-field input[type=text]:focus,
.meetup-reg-field select:focus {
    border-bottom-color: #e3e1f9
}

.meetup-reg-upload-btn {
    display: inline-block;
    margin-top: .2vw;
    padding: 0;
    border: none;
    background: 0 0;
    font-size: .85vw;
    font-weight: 400;
    line-height: 1.4;
    color: #000;
    text-decoration: underline;
    text-underline-offset: 0.15em;
    cursor: pointer
}

.meetup-reg-file-input {
    display: none
}

.meetup-reg-file-name {
    margin: .4vw 0 0;
    font-size: .75vw;
    line-height: 1.4;
    color: #666
}

.meetup-reg-receipt-preview-wrap {
    margin-top: .8vw
}

.meetup-reg-receipt-preview {
    display: block;
    width: 100%;
    max-width: 14vw;
    max-height: 18vw;
    object-fit: contain;
    border: 1px solid #ddd;
    border-radius: .4vw;
    background-color: #fafafa
}

.meetup-reg-receipt-remove {
    display: inline-block;
    margin-top: .5vw;
    padding: 0;
    border: none;
    background: 0 0;
    font-size: .75vw;
    line-height: 1.4;
    color: #9279d7;
    text-decoration: underline;
    text-underline-offset: 0.15em;
    cursor: pointer
}

.meetup-reg-receipt-remove:focus,
.meetup-reg-receipt-remove:hover {
    color: #7b64c4
}

.meetup-reg-checkbox-field {
    display: flex;
    align-items: flex-start;
    column-gap: .8vw;
    margin-bottom: .8vw
}

.meetup-reg-checkbox,
.meetup-reg-checkbox-field input[type=checkbox] {
    flex-shrink: 0;
    width: 1.1vw;
    min-width: 16px;
    height: 1.1vw;
    min-height: 16px;
    margin: .15vw 0 0;
    padding: 0;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
    border: 1px solid #333;
    border-radius: 2px;
    background: #fff;
    position: relative
}

.meetup-reg-checkbox-field input[type=checkbox]:checked,
.meetup-reg-checkbox:checked {
    background-color: #e3e1f9;
    border-color: #e3e1f9
}

.meetup-reg-checkbox-field input[type=checkbox]:checked::after,
.meetup-reg-checkbox:checked::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 45%;
    width: .35vw;
    min-width: 5px;
    height: .6vw;
    min-height: 9px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: translate(-50%, -50%) rotate(45deg)
}

.meetup-reg-checkbox-field label {
    margin: 0;
    font-size: .75vw;
    font-weight: 400;
    line-height: 1.5;
    color: #333;
    cursor: pointer
}

.meetup-reg-tnc-link {
    color: var(--meetup-accent-text, #4a4678);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 0.15em
}

.meetup-reg-tnc-link:focus,
.meetup-reg-tnc-link:hover {
    color: var(--meetup-accent-text-hover, #2f2c52)
}

.meetup-reg-error {
    display: block;
    margin: -.2vw 0 .8vw;
    font-size: .7vw;
    line-height: 1.4;
    color: #e53935
}

.meetup-reg-error-center {
    text-align: center
}

.meetup-reg-error-hint {
    display: block;
    margin-top: .4vw;
    font-size: .65vw;
    line-height: 1.5;
    color: #666
}

.meetup-reg-error-message {
    margin: 0;
    line-height: 1.5
}

.meetup-reg-error-list {
    margin: .8em 0 0;
    padding-left: 1.2em;
    text-align: left;
    line-height: 1.5
}

.meetup-reg-error-list li+li {
    margin-top: .35em
}

.meetup-swal-popup {
    width: calc(100% - 8vw) !important;
    max-width: 42vw !important;
    font-size: .85vw !important;
    padding: 2vw 2.5vw 2.5vw !important;
    border-radius: .5vw !important
}

.meetup-swal-popup .swal2-title {
    font-size: 1.1vw !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    padding: 0 !important;
    margin: 0 0 1vw !important;
    color: #333 !important
}

.meetup-swal-popup .swal2-html-container {
    font-size: .85vw !important;
    line-height: 1.5 !important;
    color: #333 !important;
    margin: 0 !important;
    padding: 0 !important
}

.meetup-swal-popup .swal2-icon {
    margin: .8vw auto !important;
    transform: scale(.8) !important
}

.meetup-swal-popup .swal2-actions {
    margin-top: 1.2vw !important
}

.meetup-swal-popup .swal2-styled.swal2-confirm {
    font-size: .85vw !important;
    padding: .7vw 2.5vw !important;
    border-radius: 999px !important
}

.meetup-swal-popup .meetup-reg-error-message {
    font-size: .85vw !important;
    color: #333 !important
}

.meetup-swal-popup .meetup-reg-error-list {
    font-size: .8vw !important;
    color: #333 !important
}

@media (max-width:1023.98px) {
    .meetup-swal-popup {
        width: calc(100% - 10vw) !important;
        max-width: 88vw !important;
        font-size: 2.8vw !important;
        padding: 5vw 5vw 6vw !important
    }

    .meetup-swal-popup .swal2-title {
        font-size: 4.5vw !important;
        margin-bottom: 2.5vw !important
    }

    .meetup-swal-popup .meetup-reg-error-message,
    .meetup-swal-popup .swal2-html-container {
        font-size: 2.8vw !important
    }

    .meetup-swal-popup .meetup-reg-error-list {
        font-size: 2.6vw !important
    }

    .meetup-swal-popup .swal2-styled.swal2-confirm {
        font-size: 2.8vw !important;
        padding: 2vw 6vw !important
    }

    .meetup-swal-popup .swal2-actions {
        margin-top: 3vw !important
    }
}

.meetup-reg-submit-wrap {
    display: flex;
    justify-content: center;
    margin-top: 1.2vw
}

.meetup-reg-submit-wrap-sticky {
    position: sticky;
    bottom: 0;
    z-index: 1;
    margin-top: 0;
    padding-top: .8vw;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0, #fff 35%)
}

.meetup-image-btn {
    display: inline-block;
    padding: 0;
    border: none;
    background: 0 0;
    cursor: pointer;
    text-decoration: none;
    line-height: 0;
    transition: filter .2s ease
}

.meetup-image-btn:focus,
.meetup-image-btn:hover {
    filter: brightness(.95)
}

.meetup-image-btn-inner img {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%
}

.meetup-image-btn-label {
    font-size: .85vw;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap
}

.meetup-reg-submit:disabled {
    opacity: .7;
    cursor: not-allowed;
    filter: none
}

.meetup-imei-submit:disabled {
    opacity: .7;
    cursor: not-allowed;
    filter: none
}

.meetup-success-popup {
    max-width: 38vw;
    padding: 2.5vw 3vw 3vw
}

.meetup-success-title {
    margin: 0 0 1.5vw;
    font-size: 1.6vw;
    font-weight: 700;
    line-height: 1.3;
    color: #000
}

.meetup-success-text {
    margin: 0 0 1vw;
    font-size: .85vw;
    line-height: 1.6;
    color: #333
}

.meetup-success-text:last-of-type {
    margin-bottom: 1.5vw
}

.meetup-success-contact {
    margin: 0 0 1.5vw
}

.meetup-success-contact p {
    margin: 0 0 .25vw;
    font-size: .85vw;
    line-height: 1.5;
    color: #333
}

.meetup-success-contact p:last-child {
    margin-bottom: 0
}

.meetup-success-social {
    display: flex;
    justify-content: center;
    align-items: center;
    column-gap: 1.2vw;
    margin: 0 0 2vw
}

.meetup-success-social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #000;
    text-decoration: none
}

.meetup-success-social a:focus,
.meetup-success-social a:hover {
    opacity: .75
}

.meetup-success-social svg {
    width: 1.5vw;
    height: 1.5vw
}

.meetup-success-submit-wrap {
    display: flex;
    justify-content: center
}

.meetup-tnc-link {
    color: #333;
    font-size: .8vw;
    line-height: 1.3;
    text-decoration: underline;
    text-underline-offset: 0.15em;
    cursor: pointer
}

.meetup-tnc-link:focus,
.meetup-tnc-link:hover {
    color: #000
}

.meetup-tnc-popup {
    position: relative;
    max-width: 52vw;
    max-height: 85vh;
    padding: 2vw 2.5vw 2.5vw;
    overflow: hidden
}

.meetup-tnc-popup .mfp-close {
    width: 28px;
    height: 28px;
    line-height: 28px;
    top: 1.2vw;
    right: 1.2vw;
    font-size: 22px;
    color: #333;
    opacity: 0.6;
    z-index: 10;
    transition: none;
    outline: none;
    box-shadow: none;
    border: none;
    background: transparent;
    -webkit-tap-highlight-color: transparent
}

.meetup-tnc-popup .mfp-close:hover {
    opacity: 1
}

.meetup-tnc-popup .mfp-close:active,
.meetup-tnc-popup .mfp-close:focus {
    top: 1.2vw !important;
    right: 1.2vw !important;
    outline: none !important;
    box-shadow: none !important;
    transform: none !important;
    filter: none !important
}

.meetup-tnc-title {
    margin: 0 0 1.5vw;
    font-size: 1.4vw;
    font-weight: 700;
    line-height: 1.3;
    color: #000
}

.meetup-tnc-body {
    margin-top: 0.8vw;
    max-height: calc(85vh - 7vw);
    overflow-y: auto;
    padding-right: .6vw;
    text-align: left;
    scrollbar-width: thin;
    scrollbar-color: rgba(0, 0, 0, 0.25) transparent
}

.meetup-tnc-body::-webkit-scrollbar {
    width: 5px
}

.meetup-tnc-body::-webkit-scrollbar-track {
    background: transparent
}

.meetup-tnc-body::-webkit-scrollbar-thumb {
    background-color: rgba(0, 0, 0, 0.25);
    border-radius: 99px
}

.meetup-tnc-body::-webkit-scrollbar-thumb:hover {
    background-color: rgba(0, 0, 0, 0.5)
}

.meetup-tnc-section-title {
    margin: 1.2vw 0 .8vw;
    font-size: 1.1vw;
    font-weight: 700;
    line-height: 1.3;
    color: #000
}

.meetup-tnc-section-title:first-child {
    margin-top: 0
}

.meetup-tnc-list {
    margin: 0 0 1vw;
    padding-left: 1.2vw;
    font-size: .75vw;
    line-height: 1.6;
    color: #333
}

.meetup-tnc-list>li {
    margin-bottom: .6vw
}

.meetup-tnc-sublist {
    margin: .4vw 0 0;
    padding-left: 1.2vw;
    list-style: disc
}

.meetup-tnc-sublist li {
    margin-bottom: .25vw
}

.meetup-tnc-paragraph {
    margin: .4vw 0 0
}

.meetup-tnc-footer {
    margin: 1.2vw 0 0;
    font-size: .75vw;
    line-height: 1.5;
    color: #333
}

@media (min-width:1440px) and (max-width:1599.98px) {
    .meetup-reg-popup {
        max-width: 34em;
        padding: 2em 2.5em 2.5em
    }

    .meetup-reg-title {
        margin-bottom: 1em;
        font-size: 1.6em
    }

    .meetup-reg-progress {
        gap: .6em;
        margin-bottom: 1.2em
    }

    .meetup-reg-progress-label {
        font-size: .75em
    }

    .meetup-reg-progress-num {
        width: 1.6em;
        height: 1.6em;
        font-size: .75em
    }

    .meetup-reg-progress-line {
        flex-basis: 2.5em;
        margin-top: -1em
    }

    .meetup-reg-imei-summary {
        gap: .6em;
        margin-bottom: 1em;
        padding: .75em .9em
    }

    .meetup-reg-change-imei,
    .meetup-reg-error-hint,
    .meetup-reg-helper,
    .meetup-reg-imei-summary-title,
    .meetup-reg-imei-summary-value {
        font-size: .85em
    }

    .meetup-reg-step-scroll {
        max-height: 50vh
    }

    .meetup-reg-helper-checkbox {
        padding-left: calc(1em + .6em)
    }

    .meetup-reg-receipt-preview-wrap {
        margin-top: .8em
    }

    .meetup-reg-receipt-preview {
        max-width: 12em;
        max-height: 14em
    }

    .meetup-reg-receipt-remove {
        margin-top: .5em;
        font-size: .85em
    }

    .meetup-reg-field {
        margin-bottom: 1.2em
    }

    .meetup-reg-label,
    .meetup-reg-upload-btn {
        font-size: 1em
    }

    .meetup-reg-field .select2-container,
    .meetup-reg-field .select2-container .select2-selection,
    .meetup-reg-field .select2-container .select2-selection--single,
    .meetup-reg-field .select2-container .select2-selection--single .select2-selection__placeholder,
    .meetup-reg-field .select2-container .select2-selection--single .select2-selection__rendered,
    .meetup-reg-field input[type=email],
    .meetup-reg-field input[type=tel],
    .meetup-reg-field input[type=text],
    .meetup-reg-field select {
        font-size: .95em !important
    }

    .meetup-reg-field .select2-container--bootstrap-5 .select2-selection {
        padding: .5em 0
    }

    .meetup-reg-checkbox-field label {
        font-size: .9em
    }

    .meetup-reg-checkbox,
    .meetup-reg-checkbox-field input[type=checkbox] {
        width: 1em;
        height: 1em;
        min-width: 16px;
        min-height: 16px
    }

    .meetup-image-btn-label {
        font-size: 1em
    }

    .meetup-success-popup {
        max-width: 38em;
        padding: 2em 2.5em 2.5em
    }

    .meetup-success-title {
        margin-bottom: 1.2em;
        font-size: 1.6em
    }

    .meetup-success-contact p,
    .meetup-success-text {
        font-size: 1em
    }

    .meetup-success-social svg {
        width: 1.4em;
        height: 1.4em
    }

    .meetup-tnc-link {
        font-size: .9em
    }

    .meetup-tnc-popup {
        max-width: 52em;
        padding: 1.8em 2.2em 2em
    }

    .meetup-tnc-popup .mfp-close {
        width: 28px;
        height: 28px;
        line-height: 28px;
        top: 1em;
        right: 1em;
        font-size: 20px
    }

    .meetup-tnc-popup .mfp-close:active,
    .meetup-tnc-popup .mfp-close:focus {
        top: 1em !important;
        right: 1em !important
    }

    .meetup-tnc-title {
        margin-bottom: 1em;
        font-size: 1.6em
    }

    .meetup-tnc-body {
        margin-top: 0.8em;
        max-height: calc(85vh - 6.5em)
    }

    .meetup-tnc-section-title {
        margin: 1em 0 .6em;
        font-size: 1.2em
    }

    .meetup-tnc-list {
        padding-left: 1.2em;
        font-size: .9em
    }

    .meetup-tnc-list>li {
        margin-bottom: .5em
    }

    .meetup-tnc-footer {
        margin-top: 1em;
        font-size: .9em
    }
}

@media (max-width:1023.98px) {
    .meetup-reg-popup {
        max-width: 88vw;
        padding: 6vw 6vw 7vw
    }

    .meetup-reg-title {
        margin-bottom: 3vw;
        font-size: 4.5vw
    }

    .meetup-reg-progress {
        gap: 2vw;
        margin-bottom: 4vw
    }

    .meetup-reg-progress-step {
        min-width: 16vw;
        gap: 1vw
    }

    .meetup-reg-progress-num {
        width: 6vw;
        min-width: 28px;
        height: 6vw;
        min-height: 28px;
        font-size: 2.6vw
    }

    .meetup-reg-progress-label {
        font-size: 2.4vw
    }

    .meetup-reg-progress-line {
        flex-basis: 8vw;
        margin-top: -4vw
    }

    .meetup-reg-imei-summary {
        gap: 2.5vw;
        margin-bottom: 3vw;
        padding: 2.5vw 3vw
    }

    .meetup-reg-imei-summary-icon {
        width: 5vw;
        min-width: 24px;
        height: 5vw;
        min-height: 24px;
        font-size: 2.6vw
    }

    .meetup-reg-change-imei,
    .meetup-reg-error-hint,
    .meetup-reg-helper,
    .meetup-reg-imei-summary-title,
    .meetup-reg-imei-summary-value {
        font-size: 2.4vw
    }

    .meetup-reg-step-scroll {
        max-height: 48vh;
        padding-right: 1vw
    }

    .meetup-reg-helper-checkbox {
        padding-left: calc(3.5vw + 2.5vw)
    }

    .meetup-reg-receipt-preview-wrap {
        margin-top: 3vw
    }

    .meetup-reg-receipt-preview {
        max-width: 55vw;
        max-height: 45vw;
        border-radius: 2vw
    }

    .meetup-reg-receipt-remove {
        margin-top: 2vw;
        font-size: 2.4vw
    }

    .meetup-reg-field {
        margin-bottom: 4vw
    }

    .meetup-reg-label,
    .meetup-reg-upload-btn {
        font-size: 2.8vw
    }

    .meetup-reg-field .select2-container,
    .meetup-reg-field .select2-container .select2-selection,
    .meetup-reg-field .select2-container .select2-selection--single,
    .meetup-reg-field .select2-container .select2-selection--single .select2-selection__placeholder,
    .meetup-reg-field .select2-container .select2-selection--single .select2-selection__rendered,
    .meetup-reg-field input[type=email],
    .meetup-reg-field input[type=tel],
    .meetup-reg-field input[type=text],
    .meetup-reg-field select {
        font-size: 2.6vw !important;
        padding: 2vw 0 !important;
        line-height: 1.4 !important
    }

    .meetup-reg-file-name {
        font-size: 2.4vw
    }

    .meetup-reg-checkbox-field {
        column-gap: 2.5vw;
        margin-bottom: 2.5vw
    }

    .meetup-reg-checkbox,
    .meetup-reg-checkbox-field input[type=checkbox] {
        width: 3.5vw;
        height: 3.5vw;
        min-width: 18px;
        min-height: 18px;
        margin-top: .5vw
    }

    .meetup-reg-checkbox-field input[type=checkbox]:checked::after,
    .meetup-reg-checkbox:checked::after {
        width: 1vw;
        min-width: 6px;
        height: 1.8vw;
        min-height: 10px
    }

    .meetup-reg-checkbox-field label {
        font-size: 2.6vw
    }

    .meetup-reg-error {
        font-size: 2.4vw;
        margin-bottom: 2vw
    }

    .meetup-image-btn-label {
        font-size: 2vw
    }

    .meetup-success-popup {
        max-width: 92vw;
        padding: 6vw 6vw 7vw
    }

    .meetup-success-title {
        margin-bottom: 4vw;
        font-size: 4.5vw
    }

    .meetup-success-contact p,
    .meetup-success-text {
        font-size: 2.8vw
    }

    .meetup-success-social {
        column-gap: 4vw;
        margin-bottom: 5vw
    }

    .meetup-success-social svg {
        width: 5vw;
        height: 5vw
    }

    .meetup-tnc-link {
        font-size: 2.8vw
    }

    .meetup-tnc-popup .mfp-close {
        width: 32px;
        height: 32px;
        line-height: 32px;
        top: 2vw;
        right: 2vw;
        font-size: 24px;
        z-index: 10
    }

    .meetup-tnc-popup .mfp-close:active,
    .meetup-tnc-popup .mfp-close:focus {
        top: 2vw !important;
        right: 2vw !important
    }

    .meetup-tnc-popup {
        max-width: 92vw;
        max-height: 88vh;
        padding: 10vw 5vw 6vw;
        overflow: hidden
    }

    .meetup-tnc-title {
        margin-bottom: 4vw;
        font-size: 4.5vw
    }

    .meetup-tnc-body {
        margin-top: 1vw;
        max-height: calc(88vh - 22vw);
        padding-right: 2vw;
        overflow-y: auto;
        scrollbar-width: thin;
        scrollbar-color: rgba(0, 0, 0, 0.25) transparent
    }

    .meetup-tnc-body::-webkit-scrollbar {
        width: 4px
    }

    .meetup-tnc-body::-webkit-scrollbar-track {
        background: transparent
    }

    .meetup-tnc-body::-webkit-scrollbar-thumb {
        background-color: rgba(0, 0, 0, 0.25);
        border-radius: 99px
    }

    .meetup-tnc-section-title {
        margin: 4vw 0 2.5vw;
        font-size: 3.5vw
    }

    .meetup-tnc-list {
        padding-left: 4vw;
        font-size: 2.6vw
    }

    .meetup-tnc-list>li {
        margin-bottom: 2vw
    }

    .meetup-tnc-sublist {
        margin-top: 1.5vw;
        padding-left: 4vw
    }

    .meetup-tnc-sublist li {
        margin-bottom: 1vw
    }

    .meetup-tnc-paragraph {
        margin-top: 1.5vw
    }

    .meetup-tnc-footer {
        margin-top: 4vw;
        font-size: 2.6vw
    }
}

.oid-text-white {
    color: #fff
}

@media screen and (max-width: 768px) {
    .mfp-container {
        width: 100vw !important;
    }
}

/* Registration Ended Modal */
.meetup-ended-popup {
    position: relative;
    background: #8e8be6 !important;
    border-radius: 1.5vw !important;
    padding: 2.2vw 1.8vw 2vw !important;
    width: 28vw !important;
    max-width: 90vw !important;
    margin: 0 auto;
    color: #ffffff !important;
    box-shadow: 0 1vw 2vw rgba(0, 0, 0, 0.25);
    font-family: inherit;
}

.meetup-ended-popup .mfp-close {
    color: #ffffff !important;
    right: 1vw !important;
    top: 1vw !important;
    font-size: 1.8vw !important;
    font-weight: 300 !important;
    opacity: 0.85;
    transition: opacity 0.2s ease;
    line-height: 1;
}

.meetup-ended-popup .mfp-close:hover {
    opacity: 1;
}

.meetup-ended-icon-top {
    margin-bottom: 1.2vw !important;
    display: flex;
    justify-content: center;
    align-items: center;
}

.meetup-ended-icon-top img,
.meetup-ended-icon-bottom img,
.meetup-ended-icon-top svg,
.meetup-ended-icon-bottom svg {
    width: 3.2vw !important;
    height: auto !important;
    display: block;
}

.meetup-ended-text {
    font-size: 1.2vw !important;
    font-weight: 400 !important;
    line-height: 1.5;
    color: #ffffff !important;
    margin-bottom: 1.5vw !important;
    text-align: center;
}

.meetup-ended-icon-bottom {
    display: flex;
    justify-content: center;
    align-items: center;
}

@media (max-width: 1023.98px) {
    .meetup-ended-popup {
        width: 82vw !important;
        max-width: 85vw !important;
        padding: 8vw 5vw 7vw !important;
        border-radius: 5.5vw !important;
    }

    .meetup-ended-popup .mfp-close {
        right: 3vw !important;
        top: 3vw !important;
        font-size: 6.5vw !important;
    }

    .meetup-ended-icon-top {
        margin-bottom: 4vw !important;
    }

    .meetup-ended-text {
        font-size: 3.8vw !important;
        line-height: 1.45;
        margin-bottom: 5vw !important;
    }

    .meetup-ended-icon-top img,
    .meetup-ended-icon-bottom img,
    .meetup-ended-icon-top svg,
    .meetup-ended-icon-bottom svg {
        width: 10vw !important;
        height: auto !important;
    }
}