/* reset */
html {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
}

*,
*:before,
*:after {
    -webkit-box-sizing: inherit;
    box-sizing: inherit;
    margin: 0;
    padding: 0;
}

body {
    font-family: Arial, sans-serif;
    letter-spacing: 0.1px;
}

ul,
li {
    list-style: none;
}

img,
abbr,
fieldset,
iframe {
    border: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

a {
    color: #ffffff;
    text-decoration: none;
    -webkit-transition: background 0.35s ease 0s;
    -o-transition: background 0.35s ease 0s;
    transition: background 0.35s ease 0s;
    outline: 0;
}

/* base */
@media (min-width: 821px) {
    .hidden-tablet-up {
        display: none !important;
    }
}

@media (max-width: 821px) {
    .hidden-tablet-down {
        display: none !important;
    }
}

.img-responsive {
    display: block;
    max-width: 100%;
    height: auto;
}

.center-block {
    margin-left: auto;
    margin-right: auto;
}

.hidden {
    display: none;
}

/*main*/
.beyond-pnw-2026 {
    background: #030206 url("../../beyond-pnw-2026/images/bg.jpg") center top no-repeat;
    background-size: cover;
}

.beyond-socal-2026 {
    background: #030206 url("../../beyond-socal-2026/images/bg.jpg") center top no-repeat;
    background-size: cover;
}

#beyond-cards-page {
    color: white;
    text-transform: uppercase;
    text-align: center;
    display: flex;
    align-items: center;
    align-content: center;
    flex-direction: column;
    min-height: 100vh;
    justify-content: flex-start;
    padding-top: 3vw;
    padding-bottom: 3vw;
}

#beyond-cards-page>section {
    width: 100%;
}

.logo-lockup {
    margin-left: auto;
    margin-right: auto;
    width: 41%;
}

.beyond-cards-headline {
    margin-left: auto;
    margin-right: auto;
    width: 62.5%;
}

.beyond-cards-subheader {
    margin-left: auto;
    margin-right: auto;
    width: 85%;
    padding-top: 1.5%;
}

.beyond-cards-date {
    margin-left: auto;
    margin-right: auto;
    width: 21%;
    padding-top: 1.5%;
    padding-bottom: 1.5%;
}

#shuffle-deck {
    color: #ffffff;
    margin-left: auto;
    margin-right: auto;
    -ms-flex-line-pack: center;
    align-content: center;
    text-align: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    line-height: 1.1;
    padding: 1.5em 0 0;
    text-align: center;
    padding-top: 2%;
}

#shuffle-deck>div {
    width: 100%;
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

#shuffle-deck .shuffle-deck {
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
}

.btn-shuffle-deck {
    cursor: pointer;
    transition: opacity .5s ease-in .1s;
    width: 21vw;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.btn-shuffle-deck:hover,
.btn-shuffle-deck.active {
    opacity: 0.85;
}

.btn-shuffle-deck[disabled] {
    cursor: not-allowed;
    pointer-events: none;
}

.beyond-cards-social {
    display: flex;
    justify-content: center;
    gap: 2vw;
}

.beyond-cards-social img {
    width: 3vw;
}

.beyond-cards-social a:hover img {
    opacity: 0.85;
    transition: all .3s ease-in .1s;
}

@media (min-width: 821px) {
    .beyond-cards {
        width: 48%;
        margin-left: auto;
        margin-right: auto;
        max-width: 800px;
        margin-top: 2%;
    }

    .btn-shuffle-deck {
        font-size: calc(2.8vw);
    }

    .reveal-coming-box {
        display: inline-block;
        text-align: center;
    }
}

@media (min-width: 821px) {

    .reveal-coming-mobile,
    .share-tips-mobile {
        display: none;
    }
}

@media (max-width: 820px) {
    .beyond-pnw-2026 {
        background: #000000 url("../../beyond-pnw-2026/images/bg_mobile.jpg") center top no-repeat;
        background-size: cover;
    }

    .beyond-socal-2026 {
        background: #000000 url("../../beyond-socal-2026/images/bg_mobile.jpg") center top no-repeat;
        background-size: cover;
    }

    .reveal-coming-mobile,
    .share-tips-mobile {
        -webkit-text-stroke: 1px black;
    }

    .beyond-cards-headline {
        width: 82%;
    }

    .reveal-coming-mobile {
        color: white;
        line-height: 1.1;
        display: block;
        padding-bottom: 0.5em;
    }

    #shuffle-deck {
        padding-top: 0;
    }

    .beyond-cards-social {
        font-size: 1.9em;
    }

    .share-tips-mobile {
        margin-top: 1em;
        margin-bottom: 0.9em;
    }

    .beyond-cards {
        margin: auto;
        width: 76%;
    }

    .logo-lockup {
        min-width: auto;
        width: 60%;
        padding-bottom: 4%;
    }

    #beyond-cards-page {
        font-size: 1em;
    }

    .beyond-cards-subheader {
        margin-top: 5%;
        width: 75%;
    }

    #beyond-cards-page {
        margin: auto;
        padding-top: 12vw;
        padding-bottom: 12vw;
    }

    #shuffle-deck .shuffle-deck {
        font-size: 28px;
        margin-bottom: 0.25em;
        margin-top: 0.8em;
    }

    .btn-shuffle-deck {
        width: 52%;
    }

    .beyond-cards-date {
        width: 32%;
        padding-top: 4%;
        padding-bottom: 4%;
    }
}

/*card*/
.flipper,
.flipper .back,
.flipper .front,
.socials a,
.transform_holder .back,
.transform_holder .front,
.transform_holder .transform,
.flipper .middle {
    -webkit-transition: all 1s cubic-bezier(0.68, -.55, .265, 1.55);
    -o-transition: all 1s cubic-bezier(0.68, -.55, .265, 1.55);
    transition: all 1s cubic-bezier(0.68, -.55, .265, 1.55);
}

.flipper {
    -webkit-perspective: 1000;
    -o-perspective: 1000;
    perspective: 1000;
    -ms-transform: perspective(1000px);
    -moz-transform: perspective(1000px);
    -ms-transform-style: preserve-3d;
    -moz-transform-style: preserve-3d;
    position: relative;
}

.flipper .back,
.flipper .front,
.flipper .middle {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
}

.flipper .front {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    -webkit-transform: rotateX(0deg);
    -ms-transform: rotateX(0deg);
    background: url(../images/loading.gif) center center no-repeat;
}

.flipper .back {
    -webkit-transform: rotateX(180deg);
    -ms-transform: rotateX(180deg);
    transform: rotateX(180deg);
    z-index: 3;
    position: relative;
}

.flipper .middle {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    -webkit-transform: rotateX(0deg);
    -ms-transform: rotateX(0deg);
    visibility: hidden;
}


.k-ball-holder.shuffle .flipper .front,
.k-ball-holder .currentback .flipper .front,
.k-ball-holder.shuffle .flipper .middle,
.k-ball-holder .currentback .flipper .middle {
    -webkit-transform: rotateX(180deg);
    transform: rotateX(180deg);
}

.currentmiddle .flipper .front {
    animation-name: fadein;
    animation-duration: 4s;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
}

.k-ball-holder.shuffle .flipper .back,
.k-ball-holder .currentback .flipper .back {
    -webkit-transform: rotateX(0deg);
    -ms-transform: rotateX(0deg);
    transform: rotateX(0deg);
}

.currentmiddle .flipper .middle {
    visibility: visible;
}

@keyframes fadein {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
    }
}

.k-ball-holder {
    margin: 0;
    padding: 0;
    width: 100%;
    position: relative;
    list-style: none;
    display: flex;
    justify-content: space-between;
}

.k-ball-holder li {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.k-ball-holder img {
    width: 100%;
    display: block;
}


.k-ball-holder.shuffle li {
    animation-delay: 1s;
    -webkit-animation-delay: 1s;
}

.k-ball-holder .shuffle-first {
    animation-delay: 0s !important;
    -webkit-animation-delay: 0s !important;
}

.k-ball-holder.shuffle li:nth-child(1) {
    border: 0;
    margin: 0;
    -webkit-animation: k-card-a 2s ease infinite;
    animation: k-card-a 2s ease infinite;
    animation-delay: 1s;
    -webkit-animation-delay: 1s;
}

.k-ball-holder.shuffle li:nth-child(2) {
    border: 0;
    margin: 0;
    -webkit-animation: k-card-b 2s ease infinite;
    animation: k-card-b 2s ease infinite;
    animation-delay: 1s;
    -webkit-animation-delay: 1s;
}

.k-ball-holder li {
    width: 37%;

}

@-webkit-keyframes k-card-a {

    0%,
    100% {
        -webkit-transform: translate(0);
        transform: translate(0)
    }

    25% {
        -webkit-transform: translate(120%) translate3d(0, 0, 0);
        transform: translate(120%);
    }

    50% {
        -webkit-transform: translate(0%);
        transform: translate(0%);
        z-index: 2;
        position: relative;
    }

    75% {
        -webkit-transform: translate(120%);
        transform: translate(120%);
    }
}

@keyframes k-card-a {

    0%,
    100% {
        -webkit-transform: translate(0);
        transform: translate(0)
    }

    25% {
        -webkit-transform: translate(120%) translate3d(0, 0, 0);
        transform: translate(120%);
    }

    50% {
        -webkit-transform: translate(0%);
        transform: translate(0%);
        z-index: 2;
        position: relative;
    }

    75% {
        -webkit-transform: translate(120%);
        transform: translate(120%);
    }
}

@-webkit-keyframes k-card-b {

    0%,
    100% {
        -webkit-transform: translate(0);
        transform: translate(0)
    }

    25% {
        -webkit-transform: translate(-120%);
        transform: translate(-120%);
    }

    50% {
        -webkit-transform: translate(0%);
        transform: translate(0%)
    }

    75% {
        -webkit-transform: translate(-120%);
        transform: translate(-120%);
    }
}

@keyframes k-card-b {

    0%,
    100% {
        -webkit-transform: translate(0);
        transform: translate(0)
    }

    25% {
        -webkit-transform: translate(-120%);
        transform: translate(-120%)
    }

    50% {
        -webkit-transform: translate(0%);
        transform: translate(0%)
    }

    75% {
        -webkit-transform: translate(-120%);
        transform: translate(-120%)
    }
}

@media(max-width:820px) {
    .k-ball-holder li {
        width: 43%;
    }

    .beyond-cards-social {
        gap: 3.5vw;
    }

    .beyond-cards-social img {
        width: 8vw;
    }
}

#key-middle {
    position: absolute;
    width: 9%;
    left: 0;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    padding: 0;
    margin-inline: auto;
    opacity: 1;
    transition-property: all;
    transition-duration: 2s;
    transition-timing-function: ease-in-out;
}

#key-middle.currentback {
    opacity: 0 !important;
    transition-duration: 0.5s !important;
}