
*, :after, :before {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

* {
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-tap-highlight-color: transparent;
}

:root {
    --font-size: 14px;
    --playboard-bg-color: #fce373;
    --playboard-main-color: #231f20;
}

@media only screen and (min-width: 768px) {
    :root {
        --font-size: 16px
    }
}

@media only screen and (min-width: 1024px) {
    :root {
        --font-size: 17px
    }
}

@media only screen and (min-width: 1200px) and (max-width: 1500px) {
    :root {
        --font-size: 18px
    }
}

@media only screen and (min-width: 1500px) {
    :root {
        --font-size: 19px
    }
}



::selection {
    background: #cca69a;
}

html {
    background-color: #fce373;
    /* background-color: #000 */
}

body, html {
    width: 100%;
    height: 100%;
    color: #231f20;
}

a {
    text-decoration: none;
    color: #231f20;
    cursor: pointer;
}

.animation-svg svg,.static-svg svg {
    overflow: visible
}

.animation-svg svg path,.static-svg svg path {
    fill: none;
    stroke-width: 3.5;
    stroke-miterlimit: 10;
    stroke-linecap: round;
    stroke-linejoin: round
}

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;700&display=swap');

body {
    font-size: 20px;
    font-size: 1.33333vw;
    font-family: 'Poppins', sans-serif;
    font-weight: 200;
    line-height: 1em;
    line-height: 1.2em;
    letter-spacing: 0;
}

@media (max-width: 1500px) {
    body {
        font-size: 20px;
    }
}

body.is-loading {
    opacity: 0
}

/************************************************************************/

.quicklinks-menu {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 14vw;
    justify-content: space-between;
    z-index: 301;
    padding: 0;
    pointer-events: none
}

.quicklinks-menu > * {
    flex: 0 0 auto;
    pointer-events: auto;
}

/* @media only screen and (max-width: 1023px) {
    .quicklinks-menu {
        transition: .3s transform cubic-bezier(.215,.61,.355,1);
    }
} */

/* @media only screen and (min-width: 768px) {
    .quicklinks-menu {
        height:10vw
    }
} */

@media only screen and (orientation: landscape) {
    .quicklinks-menu {
        width:4vw;
        height: 100vh;
        align-content: center;
        padding: 0;
        transition: transform .55s cubic-bezier(.215,.61,.355,1),
                    opacity .4s cubic-bezier(.215,.61,.355,1);
    }
}


@media only screen and (min-width: 768px) and (orientation: portrait) {
    .quicklinks-menu {
        height: 9vw;
    }
}

/************************************************************************/

.quicklinks-menu__link {
    color: #fce373
}

.quicklinks-menu__inner {
    background-color: #231f20;
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: flex-start;
    flex-direction: row;
    justify-content: space-evenly;
    z-index: 1000;
    transition: height .2s ease-in-out,border-radius .4s ease-in-out,box-shadow .2s ease-in-out;
}

@media only screen and (orientation: landscape) {
    .quicklinks-menu__inner {
        justify-content: center;
        flex-direction: column;
        align-items: center;
        padding: .8vw 0;
    }
}

@media only screen and (orientation: portrait) {
    .quicklinks-menu__inner {
        height:100%;
        padding: 0 2vw
    }
}

/* @media only screen and (min-width: 1024px) {
    .is-home .quicklinks-menu__inner {
        border-radius:0 20px 20px 0;
        box-shadow: 0 36px 45px rgba(0,0,0,.32),
                    0 10.85px 13.57px rgba(0,0,0,.208508),
                    0 4.51px 5.63px rgba(0,0,0,.16),
                    0 1.63px 2.04px rgba(0,0,0,.111492)
    }
} */

/************************************************************************/

.page-view {
    position: relative;
    display: block;
}

/************************************************************************/

.quicklinks-menu__item {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 100%;
}

/************************************************************************/

@media only screen and (orientation: landscape) {
    .quicklinks-menu__item a.svg-link {
        width:4vw;
        padding: 2vw
    }
}

a.svg-link {
    display: block;
    height: 100%;
    width: 12vw;
    padding: 3vw 2.5vw;
    position: relative
}

@media only screen and (min-width: 768px) and (orientation: portrait) {
    a.svg-link {
        padding: 3vw 2vw;
        width: 8vw;
    }
}

/* @media only screen and (min-width: 768px) {
    a.svg-link {
        padding: 1rem 1rem;
        width: 5rem;
    }
} */

@media only screen and (orientation: landscape){
    a.svg-link {
        width:100%;
        padding: 0;
        height: auto;
        transition: .3s transform cubic-bezier(.165,.84,.44,1);
    }
}

a.svg-link .animation-icon {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

a.svg-link svg {
    fill: currentColor;
    transition: .25s opacity ease;
}

@media only screen and (orientation: landscape) {
    a.svg-link svg {
        position:absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        padding: 1.1vw
    }
}

@media only screen and (orientation: landscape) {
    a.svg-link .outline-svg,
    a.svg-link .filled-svg {
        position:absolute;
        top: 0;
        left: 0;
        height: 100%
    }
}

.animation-icon {
    display: inline-block;
    position: relative;
    height: 1em;
    width: 1em;
}

.animation-icon > span {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    display: inline-block
}

.animation-icon > span svg {
    height: 100%;
    width: 100%;
    display: block;
    stroke: #231f20
}

a.svg-link .filled-svg svg,
a.svg-link:hover .outline-svg svg {
    opacity: 0;
}

a.svg-link:hover .filled-svg svg,
a.svg-link .outline-svg svg {
    opacity: 1;
}

/************************************************************************/

.quicklinks-sidebar {
    position: fixed;
    left: 0;
    bottom: 0;
    height: 80vh;
    max-height: 80vh;
    width: 100%;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    padding: 8vw;
    text-align: center;
    z-index: 1;
    transform: translateY(100%);
    transition: transform .45s cubic-bezier(.77,0,.175,1);
    opacity: 1;

    background-color: red;

    /* border: 2px solid red; */
}

/* @media only screen and (min-width: 400px) {
    .quicklinks-sidebar {
        bottom: 2vw;
        bottom: 18vw;
    }
} */

/* @media only screen and (min-width: 768px) {
    .quicklinks-sidebar {
        bottom: 5rem;
    }
} */

@media only screen and (orientation: landscape) {
    .quicklinks-sidebar {
        top:0;
        bottom: auto;
        left: 4vw;
        width: 32vw;
        height: 100vh;
        max-height: 100vh;
        padding: 4vw;
        transform: translateX(-116%)
    }

    .is-home .quicklinks-sidebar {
        left:0;
        width: 36vw;
        max-height: 100vh;
        padding-left: 4vw
    }
}

.has-sidebar-open .quicklinks-sidebar {
    transform: none;
    opacity: 0;
    transition: transform .5s cubic-bezier(.77,0,.175,1),
                opacity .4s cubic-bezier(.77,0,.175,1);
    transition-delay: .2s
}

.quicklinks-sidebar.is-active {
    z-index: 99;
    opacity: 1;
    transition-delay: 0s
}

.quicklinks-sidebar--calendar {
    background-color: aqua;
}

.quicklinks-sidebar--search {
    background-color: blueviolet;
}

.quicklinks-sidebar--trip {
    background-color: darkseagreen;
}

.quicklinks-sidebar--profile {
    background-color: greenyellow;
}

.quicklinks-sidebar--music {
    background-color: darkorange;
}

.quicklinks-menu .close-sidebar {
    position: fixed;
    right: 0;
    top: 0;
    width: 100%;
    height: 100vh;
    background: #231f20;
    opacity: 0;
    visibility: hidden;
    /* cursor: none; */
    transition: opacity .4s ease,visibility .4s
}

.quicklinks-menu.has-sidebar-open .close-sidebar {
    opacity: .9;
    visibility: visible
}

/************************************************************************/



/************************************************************************/

.page-view {
    position: relative;
    height: 100%;
}

.page {
    width: 100%;
    height: 100%;
    overflow: hidden;
}


.page__inner {
    opacity: 0;
    visibility: hidden;
    transition: opacity .45s ease,visibility .45s;
    height: 100%;
}

.page__inner.show {
    opacity: 1;
    visibility: visible;

}

section {
    display: block;
}

.home-hero {
    background: #fce373;
    text-align: center;
    padding: 0!important;
    min-height: 0;
    z-index: 15;
    position: relative;
    height: 50%;
    display: flex;
    justify-content: center;
    align-items: end;
}

.page-home section {
    position: relative;
    width: 100%;
    padding: 0;
}

/* @media only screen and (min-width: 1024px) {
    .page-home section {
        padding: 8vw 0 8vw 40vw;
    }
} */

/****************************************************/

.home-hero__inner {
    /* padding: 32vw 4vw 0vw; */
}

/* @media only screen and (min-width: 768px) {
    .home-hero__inner {
        padding: 24vw 4vw 0vw;
    }
} */

/* 
@media only screen and (min-width: 1024px) {
    .home-hero__inner {
        padding: 10vw 4vw 0vw;
    }
} */

.page-title {
    margin-bottom: 0;
}

/************************************************************/

.home-hero__title {
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    letter-spacing: .02em;
    line-height: .9em;
    font-size: 140px;
    text-transform: uppercase;
    display: block;
    position: relative;
    margin-bottom: 0;

    font-size: 135.333px;
    transform: perspective(121.797px) rotateX(0deg) rotateX(0deg);
}


main {
    display: none !important;
}







/* 
main {
    background-position: top left;
    background: url(./luffy.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center bottom;
    

} */

 /* .page-view {
    display: flex;
}

.div1, .div2 {
    position: absolute;
    width: 40%;
    height: 100%;
    background-color: #000;
}

.div1{
    left: 0;
}

.div2{
    right: 0;
} */



img {
    width: 200px;
    position: absolute;
    left: 50%;
    top: 5%;
    transform: translateX(-50%);
}











.page__inner {
    display: flex;
    flex-direction: column;
}

.div1, .div2, .div3 {
    flex: 1 1 30% 
}

.div1 {
    background: rosybrown;
}

.home-hero {
    flex: 1 1 40%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.div3 {
    background: rosybrown;
}

.background-home {
    z-index: 1;
    position: absolute;
    left: 4vw;
    top: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;

    /* border: 2px solid red; */
}

.left-background {
    font-family: 'Poppins', sans-serif;
    bottom: 0;
    left: 0;
    background-image: url(./left.svg);
    background-position: left bottom;
    /* border: 1px solid red; */
    align-items: flex-start;
}

.right-background {
    font-family: 'Poppins', sans-serif;
    right: 0;
    top: 0;
    background-image: url(./right.svg);
    background-position: right top;
    /* border: 1px solid red; */
    align-items: flex-end;
}

.background-image {
    position: absolute;
    width: 40vw;
    height: 100vh;
    z-index: 0;
    background-repeat: no-repeat;
    background-size: contain;
    display: flex;
    justify-content: center;
}

.header .logo {
    height: 100%;
}

.header .logo-icon {
    height: 100%;
    display: inline-block;
    color: #231f20;
}

.header {
    position: fixed;
    top: 0;
    left: 4vw;
    right: 0;
    z-index: 200;
    height: 6vw;
    /* border: 1px solid red; */
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding: 1vw;

}

.first-line {
    border-bottom: 3px solid #000;
}

.button span {
    color: #fce373;
    
    vertical-align: middle;
    display: inline-block;
}

.step-1 button span {
    color: #231f20;
}

.start {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #231f20;
    position: absolute;

}

.button {
    position: relative;
    border-radius: 0;
    display: inline-block;
    overflow: hidden;
    z-index: 2;
    font-size: 1rem;
    font-family: 'Poppins', sans-serif;
    font-weight: 500;
    line-height: 1em;
    letter-spacing: .01em;
    padding: 0.9em 1em;
    border: none;
    border-radius: 2em;
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
}

@media only screen and (min-width: 1024px) {
    .button {
        padding: 0.9em 1.2em 0.9em;
    }
}

@media only screen and (min-width: 1200px) {
    .button {
        font-size: 18px;
        font-size: 1.2vw;
        font-weight: 600;
        line-height: 1em;
        letter-spacing: .01em;
    }
}

/* .circle {

    font-size: 1.36667vw;
    font-weight: 400;
    letter-spacing: .01em;
    line-height: 1em;
    padding: 0.65em 1.9em 0.65em 1.6em;


    text-transform: uppercase;
    border: 3px solid #000;
    border-radius: 4vw;
    position: absolute;

    z-index: 99;
    letter-spacing: 0.2px;



} */

.circle {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 16vw;
    height: 16vw;
    border-radius: 50%;
}

/* .circle::before, 
.circle::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    border-radius: 50%;
}

.circle::before {
    background: #fce373;
    border: 3px solid #000;
} */

.circle::after {
    background: rgba(0, 0, 0, 0.3);
    z-index: -1;
    animation: pulse 1550ms infinite;
}



@media (orientation: portrait) {

    .background-home {
        left: 0;
        bottom: 14vw;
        top: 14vw;
    }

    .left-background {
        height: 33vh;
        width: 95vw;
    }

    .right-background {
        height: 33vh;
        width: 95vw;
    }

    .header {
        top: 0;
        left: 0;
        z-index: 200;
        height: 14vw;
        background: #231f20;
        position: relative;
        padding: 3vw;
    }

    .header .logo-icon {
        color: #fce373;
    }

    .circle {
        width: 28vw;
        height: 28vw;
    }



}

@media only screen and (min-width: 768px) and (orientation: portrait) {

    .header {
        top: 0;
        left: 0;
        z-index: 200;
        height: 9vw;
        background: #231f20;
        position: relative;
        padding: 2vw;
    }


    .background-home {
        bottom: 9vw;
        top: 9vw;
    }

    .left-background {
        width: 100vw;
    }

    .right-background {
        width: 100vw;
    }

}

.center-div {
    z-index: -1;
    position: absolute;
    height: 40vh;
    width: 100%;
    background-color: rgb(154, 207, 138);
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}


.left-text,
.right-text {

    /* display: none; */
    position: absolute;
    transform: translate(-50%, -50%);
}

.left-text {
    top: 25%;
    left: 25%;
}

.right-text {
    top: 75%;
    left: 75%;
}

.text-home {
    font-size: 1.5vw;
    line-height: 1.4em;
    text-transform: uppercase;
    font-weight: 600;
    text-align: center;

}

.mask-background {
    display: none;
    position: absolute;
    background-color: rgb(154, 207, 138);
    top: 0;
    right: 0;
    height: 100%;
    width: 50%;
}

@media (orientation: portrait) {

    .text-home {
        font-size: 4vw;
        line-height: 1.4em;
    }

    .mask-background {
        background-color: rgb(154, 207, 138);
        top: 0;
        right: 0;
        height: 50%;
        width: 100%;
    }
}


@media (orientation: portrait) and (max-width: 767px) {

    .left-text,
    .right-text {
        display: none;
    }
}


.test {
    width: 100%;
    height: 100%;
}


.t1 {
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    bottom:0;
    width: 100%;
    background-color: rgb(154, 207, 138);
}

.t2 {
    position: absolute;
    z-index: -1;
    top: 0;
    right: 0;
    bottom:0;
    width: 50%;
    background-color: #fce373;
}

/****************************************************/
.play-section {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 999;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    overflow: hidden
}

.play-section.in-view {
    visibility: visible;
    opacity: 1;
    pointer-events: auto
}

.play-section.is-hidding {
    visibility: visible;
    opacity: 1;
    pointer-events: none
}

.play-section.is-hidding .play-btn__close {
    transition-delay: 0s;
    opacity: 0
}

.play-section.is-hidding .play-section__inner {
    transition: .35s opacity cubic-bezier(.785,.135,.15,.86);
    opacity: 0
}

.play-section--upper {
    position: absolute;
    width: 100vw;
    height: 50vh;
    top: 0;
    z-index: 0;
    transform: translateY(-100%);
    transition: .35s transform cubic-bezier(.785,.135,.15,.86);
}

.play-section--lower {
    position: absolute;
    width: 100vw;
    height: 50vh;
    bottom: 0;
    z-index: 0;
    transform: translateY(100%);
    transition: .35s transform cubic-bezier(.785,.135,.15,.86);
}

.play-section.in-view .play-section--lower,
.play-section.in-view .play-section--upper {
    transform: none
}

.play-section.is-hidding .play-section--lower,
.play-section.is-hidding .play-section--upper {
    transition-delay: .25s
}
/****************************************************/

.play-section__inner {
    width: 100vw;
    height: 100vh;
    position: relative;
    z-index: 2
}

.play-section__inner .step-1 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: column;
    /* margin-top: 5.5em */
    padding: 10vh 0;
    height: 100%;
}

.in-view .play-section__inner .step-1 h3 {
    opacity: 1;
}

.start-tinder .play-section__inner .step-1 h3 {
    opacity: 0;
    transition-delay: 0s
}

.play-section__inner .step-1 h3 {
    font-weight: 400;
    opacity: 0;
    transition: opacity .45s ease .65s;
}

.start-tinder .play-section__inner .step-1 .page-header__half:first-of-type span {
    transform: translateY(100%);
    transition-delay: .15s
}

.start-tinder .play-section__inner .step-1 .page-header__half:last-of-type span {
    transform: translateY(-100%);
    transition-delay: .15s
}

.in-view .play-section__inner .step-1 button {
    opacity: 1;
}

.start-tinder .play-section__inner .step-1 button {
    opacity: 0;
    transition-delay: .15s
}

/****************************************************/

.play-section__inner .step-1 button {
    opacity: 0;
    transition: .45s opacity ease;
    transition-delay: .65s;
    display: block;
    /* margin: auto; */
}

@media only screen and (min-width: 1024px) {
    .play-section__inner .step-1 button {
        padding: .7em 2em;
    }
      
}

.play-tinder__inner .step-1 button {
    background-color: rgb(163,133,189);
    border: 2px solid #231f20;
    color: #fce373;
}

/********************************************************/


.page-header {
    z-index: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
}

.page-header__title {
    font-size: 9.33333vw;
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    letter-spacing: .02em;
    line-height: 2.9em;
    width: 100%;
    text-align: center;
    /* margin-bottom: .6em; */
    position: relative;
    color: transparent;
    overflow: hidden;
    word-break: break-word;
    hyphens: auto;
    text-transform: uppercase;
}

@media only screen and (min-width: 1200px) {
    .page-header__title {
        font-size: 120px;
    }
}

.page-header__half {
    position: absolute;
    left: 0;
    height: 50%;
    width: 100%;
    overflow: hidden;
}

.page-header__half--top {
    top: 0;
}

.page-header__half--bottom {
    bottom: 0;
}

.in-view .page-header__half span {
    transform: none;
}

.play-section__inner .step-1 .page-header__half span {
    transition-delay: .15s;
}

.is-animating .page-header__half span {
    transition: transform .95s cubic-bezier(1,0,0,1);
    transition-delay: .4s;
}

.page-header__half--top span {
    top: 0;
    transform: translateY(150%);
}

.page-header__half span {
    position: absolute;
    left: 0;
    height: 100%;
    width: 100%;
    color: #231f20;
    /* color: #fce373; */
}

.page-header__half--bottom span {
    bottom: 100%;
    transform: translateY(-150%);
}

.page-header__group-title, .page-header__subtitle {
    opacity: 0;
  }

.page-header__subtitle {
    position: absolute;
    top: 100%;
    /* display: none; */
    /* font-size: 28px; */
    font-size: 1.86667vw;
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    letter-spacing: .01em;
    line-height: 1em;
    width: 100%;
    text-align: center;
    margin-bottom: 1.3em;
    display: none;
  }

@media (max-width: 1500px) {
    .page-header__subtitle, .play-section__inner .step-1 h3 {
        font-size: 28px;
      }
}

@media only screen and (min-width: 1200px) {
    .page-header__subtitle, .play-section__inner .step-1 h3 {
        font-size: 35px;
        font-size: 2.33333vw;
        font-family: 'Poppins', sans-serif;
        font-weight: 400;
        letter-spacing: .01em;
        line-height: 1em;
      }
}



.is-animating .page-header__group-title, .is-animating .page-header__subtitle {
    transition: opacity .75s ease;
    transition-delay: .35s;
}


.in-view .page-header__group-title, 
.in-view .page-header__subtitle {
    opacity: 1;
}

.play-section__inner .step-1 .page-header__subtitle {
    transition-delay: .65s;
}


.play-btn__wrapper {
    display: flex;
    position: absolute;
    top: 0;
    right: 0;
    padding: 2.5em 4vw;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    z-index: 99;
}

.play-section .play-btn__wrapper {
    height: 100px
}


.play-tinder__inner .step-3 {
    position: absolute;
    pointer-events: none;
    text-align: center
}

.has-match .play-tinder__inner .step-3 {
    pointer-events: auto
}

.play-tinder__inner .step-3 .page-header {
    margin-top: 10em
}

.play-tinder__inner .step-3 .page-header__title {
    font-size: 128px;
    font-size: 8.53333vw;
	font-family: 'Poppins', sans-serif;
    font-weight: 600;
    letter-spacing: .02em;
    line-height: .9em
}

@media (max-width: 1500px) {
    .play-tinder__inner .step-3 .page-header__title {
        font-size:128px
    }
}

.play-tinder__inner .step-3 .page-header__half span {
    transition-delay: .15s
}

.in-view .play-tinder__inner .step-3 .page-header__half:first-of-type span,.start-tinder .play-tinder__inner .step-3 .page-header__half:first-of-type span {
    -webkit-transform: translateY(100%);
    transform: translateY(100%)
}

.has-match .play-tinder__inner .step-3 .page-header__half:first-of-type span {
    -webkit-transform: none;
    transform: none
}

.in-view .play-tinder__inner .step-3 .page-header__half:last-of-type span,.start-tinder .play-tinder__inner .step-3 .page-header__half:last-of-type span {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%)
}

.has-match .play-tinder__inner .step-3 .page-header__half:last-of-type span {
    -webkit-transform: none;
    transform: none
}

.play-tinder__inner .step-3 .page-header__subtitle {
    transition-delay: .65s
}

.in-view .play-tinder__inner .step-3 .page-header__subtitle,.start-tinder .play-tinder__inner .step-3 .page-header__subtitle {
    opacity: 0
}

.has-match .play-tinder__inner .step-3 .page-header__subtitle {
    opacity: 1
}

.play-tinder__inner .step-3 a {
    background-color: #f8b5b8;
    color: #fce373;
    opacity: 0;
    transition: .45s opacity ease;
    transition-delay: .65s;
    display: inline-block;
    margin: auto
}

.in-view .play-tinder__inner .step-3 a,.start-tinder .play-tinder__inner .step-3 a {
    opacity: 0
}

.has-match .play-tinder__inner .step-3 a {
    opacity: 1
}


.play-tinder__inner .step-4 {
    position: absolute;
    pointer-events: none
}

.no-match .play-tinder__inner .step-4 {
    pointer-events: auto
}

.play-tinder__inner .step-4 .page-header {
    margin-top: 10em
}

.play-tinder__inner .step-4 .page-header__title {
    font-size: 128px;
    font-size: 8.53333vw;
	font-family: 'Poppins', sans-serif;
    font-weight: 600;
    letter-spacing: .02em;
    line-height: .9em
}

@media (max-width: 1500px) {
    .play-tinder__inner .step-4 .page-header__title {
        font-size:128px
    }
}

.play-tinder__inner .step-4 .page-header__half span {
    transition-delay: .35s
}

.in-view .play-tinder__inner .step-4 .page-header__half:first-of-type span,.start-tinder .play-tinder__inner .step-4 .page-header__half:first-of-type span {
    -webkit-transform: translateY(100%);
    transform: translateY(100%)
}

.no-match .play-tinder__inner .step-4 .page-header__half:first-of-type span {
    -webkit-transform: none;
    transform: none
}

.in-view .play-tinder__inner .step-4 .page-header__half:last-of-type span,.start-tinder .play-tinder__inner .step-4 .page-header__half:last-of-type span {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%)
}

.no-match .play-tinder__inner .step-4 .page-header__half:last-of-type span {
    -webkit-transform: none;
    transform: none
}

.in-view .play-tinder__inner .step-4 .page-header__subtitle,.start-tinder .play-tinder__inner .step-4 .page-header__subtitle {
    opacity: 0
}

.no-match .play-tinder__inner .step-4 .page-header__subtitle {
    opacity: 1
}

.play-tinder__inner .step-4 button {
    background-color: #f8b5b8;
    color: #fce373;
    opacity: 0;
    transition: .45s opacity ease;
    transition-delay: .5s;
    display: block;
    margin: auto
}

.in-view .play-tinder__inner .step-4 button,.start-tinder .play-tinder__inner .step-4 button {
    opacity: 0
}

.no-match .play-tinder__inner .step-4 button {
    opacity: 1
}

.play-section .play-btn__wrapper .play-btn__close {
    display: block;
    opacity: 0;
    transition: .35s opacity cubic-bezier(.785,.135,.15,.86);
    border: 0;
    -webkit-align-self: flex-end;
    -ms-flex-item-align: end;
    align-self: flex-end;
    -webkit-perspective: 2000;
    perspective: 2000
}

.play-section .play-btn__wrapper .play-btn__close svg {
    height: .8em;
    overflow: visible;
    -webkit-perspective: 2000;
    perspective: 2000;
    fill: #231f20
}

.play-section.in-view .play-btn__close {
    transition-delay: .35s;
    opacity: 1
}

.js-transition-element {
    z-index: 0;
    position: relative
}

.page__inner {
    opacity: 0;
    visibility: hidden;
    transition: opacity .45s ease,visibility .45s
}

.page__inner.prevent-transition {
    transition: none
}

.page__inner.show {
    opacity: 1;
    visibility: visible
}








.page-transition-element {
    width: 100vw;
    height: 50vh;
    position: fixed;
    left: 0
}

.show .page-transition-element {
    -webkit-transform: none!important;
    transform: none!important;
    transition: opacity .25s ease,-webkit-transform .5s cubic-bezier(.215,.61,.355,1);
    transition: transform .5s cubic-bezier(.215,.61,.355,1),opacity .25s ease;
    transition: transform .5s cubic-bezier(.215,.61,.355,1),opacity .25s ease,-webkit-transform .5s cubic-bezier(.215,.61,.355,1)
}

.page-transition-element.horizontal {
    height: 100vh;
    width: 50vw;
    -webkit-transform: scaleX(0);
    transform: scaleX(0)
}

.page-transition-element.vertical {
    -webkit-transform: scaleY(0);
    transform: scaleY(0)
}

.page-transition-element--first {
    top: 0;
    -webkit-transform-origin: top;
    transform-origin: top
}

.page-transition-element--first.from-center {
    -webkit-transform-origin: bottom;
    transform-origin: bottom
}

.page-transition-element--first.horizontal {
    -webkit-transform-origin: left;
    transform-origin: left
}

.page-transition-element--first.horizontal.from-center {
    -webkit-transform-origin: right;
    transform-origin: right
}

.page-transition-element--second {
    top: 50vh;
    -webkit-transform-origin: bottom;
    transform-origin: bottom
}

.page-transition-element--second.from-center {
    -webkit-transform-origin: top;
    transform-origin: top
}

.page-transition-element--second.horizontal {
    top: 0;
    left: 50vw;
    -webkit-transform-origin: right;
    transform-origin: right
}

.page-transition-element--second.horizontal.from-center {
    -webkit-transform-origin: left;
    transform-origin: left
}


.play-section__inner .step-2 {
    display: none;
    opacity: 0;
    visibility: hidden;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
}

.play-section__inner .step-2.is-active {
    display: block;
    opacity: 1;
    visibility: visible
}


.nav {
    display: flex;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);  
  }
  .link {
    display: flex;
    width: 75px;
    height: 75px;
    margin: 0 5px;
    justify-content: center;
    align-items: center;
  }
  .settings-icon {
    display: block;
    width: 40px;
    height: 40px;
  }
  .settings-icon__line {
    stroke: var(--color-text);
    stroke-width: 5px;
    transition: all 0.2s ease 0.05s;
  }
  .settings-icon__rect {
    stroke: var(--color-text);
    fill: var(--color-bg);
    stroke-width: 5px;
    transition: all 0.2s ease 0.05s;
  }
  .link:hover .settings-icon__line,
  .link:hover .settings-icon__rect {
    stroke: var(--color-link);
    transition: all 0.2s ease 0.05s;
  }
  .link:hover .settings-icon__group--1 .settings-icon__rect {
    transform: translateY(20px);
  }
  .link:hover .settings-icon__group--2 .settings-icon__rect {
    transform: translateY(-20px);
  }
  .link:hover .settings-icon__group--3 .settings-icon__rect {
    transform: translateY(25px);
  } 
  

  .canvas-container .circle {
    transition: transform 300ms ease-in-out, 
                opacity 300ms ease-in-out;
    transform: scale(0);
    opacity: 0;
    width: var(--circle-diameter);
    height: var(--circle-diameter);
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    user-select: none;
    z-index: 10;
}

.canvas-container .moon {
    opacity: 0.7;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: #fff;
    box-shadow: 20px 20px 50px rgb(0 0 0 / 25%), inset 20px 20px 50px rgb(0 0 0 / 25%);
}

.canvas-container .moon-bg {
    position: absolute;
    z-index: -1;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: #fff;
    filter: blur(calc(var(--circle-diameter) / 4));
}

.canvas-container .moon-color-bg {
    opacity: 0;
    filter: blur(calc(var(--circle-diameter)) / 2);
    position: absolute;
    z-index: -1;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: linear-gradient(#14ffe9, #ffeb3b, #ff00e0);
    animation: animate 0.2s linear infinite;
}

@keyframes animate {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(359deg);
    }
}

.canvas.pressed .circle {
    opacity: 1;
    transform: scale(1);
}

.canvas.pressed .moon-color-bg {
    opacity: 1;
    filter: blur(0px);
    transition: filter 2000ms ease-in-out, opacity 2000ms ease-in-out;
}

.canvas .circle.animating-in {
    opacity: 1;
    transform: scale(1);
}

.canvas-container .circle.animating-in .moon-color-bg {
    opacity: 1;
    filter: blur(0px);
}

.canvas .circle.animating-out {
    transition: opacity 1000ms ease-in;
    opacity: 0;
}

.canvas-container {
    position: relative;
    height: 100%;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center; 
    flex-direction: column;
}

.canvas-container.move-mode .canvas {
    cursor: move;
}

.canvas-container .canvas {
    position: absolute;
    /* top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); */
    /* width: 1000px;
    height: 1000px; */
    overflow: hidden;
    /* border-radius: 15px; */
    /* box-shadow: 0 0 10px #ea4884, 0 0 20px #ea4884, inset 0 0 10px #ea4884, inset 0 0 20px #ea4884; */
    box-shadow: 0 0 6px rgb(255 255 255 / 20%), 0 0 12px rgb(255 255 255 / 20%), inset 0 0 6px rgb(255 255 255 / 20%), inset 0 0 12px rgb(255 255 255 / 20%);
    background: repeating-linear-gradient(90deg, #fff1 0px, #fff1 1px, transparent 1px, transparent 10px), repeating-linear-gradient(0deg, #fff1 0px, #fff1 1px, transparent 1px, transparent 10px);
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}

.canvas-container .canvas-header {
    /* width: 100%; */
    z-index: 1;
    background: red;
    border-bottom: 1px solid rgba(255,255,255,0.1);
}

.canvas-content {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    width: 100%;
}

.canvas-container .canvas-header-inner {
    position: relative;
    padding: 4px 8px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%;
}

.canvas-container .canvas-header-center {
    max-width: 500px;
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    height: 64px;
    margin: 0 auto;
}

.canvas-container .canvas-header-right {
    position: absolute;
    right: 0;
    top: 0;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    height: 64px;
}

.canvas-container .canvas-header-left {
    position: absolute;
    left: 0;
    top: 0;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    height: 64px;
}

.btn, .move-btn, .draw-btn, .time-btn {
    border: none;
    outline: none;
    background: transparent;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 8px;
    margin: 0 32px;
    color: #fff;
    cursor: pointer;
}

.canvas-container .ionicon {
    width: 100%;
    height: 100%;
}

#blobs-mask {
    position: absolute;
    pointer-events: none;
}

.canvas-container .blob {
    fill: white;
}

.canvas-container .blobs {
    -webkit-filter: url("#goo");
    filter: url("#goo");
}

.canvas-container .top-right-corner {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 11;
}

.canvas-container .score h3 {
    margin-left: 8px;
    color: white;
    text-align: center;
}

.canvas-container .aside {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 76px;
}

.canvas-container .box {
    height: 100%;
    position: relative;
}

.canvas-container .box::after {
    position: absolute;
    color: #fff;
    content: attr(data-value);
    text-align: center;
    width: 100%;
    font-size: 20px;
    height: 100%;
}

.canvas-container .box:first-child:after {
    border-radius: 0 0 0 15px;
}

.canvas-container .box:last-child:after {
    border-radius: 0 0 15px 0;
}

.playboard-header {
    max-width: 300px;
    margin: 0 auto;
}
.playboard-header-inner {
    height: 100%;
    overflow: hidden;
    border-radius: 0 0 1.5rem 1.5rem;
    background: var(--playboard-bg-color);
    pointer-events: none;
    user-select: none;

}
@media only screen and (max-width: 414px) {
    .playboard-header {
        max-width: unset;
    }
    .playboard-header-inner {
        border-radius: 0;
    }
}
.playboard-header-center {
    display: flex;
    justify-content: space-around;
    align-items: center;
    height: 100%;
    padding: 0 0.5rem 0.5rem;
}
.playboard-header-center .item-icon {
    position: relative;
    height: 3.25rem;
    width: 3.25rem;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    /* margin-bottom: 0.3rem; */
}
.playboard-header-center .item-svgicon {
    width: 2rem;
    height: 2rem;
    display: inline-block;
}
.playboard-header .svgicon,
.playboard-control .svgicon {
    width: 100%;
    height: 100%;
    color: var(--playboard-main-color);
}
.playboard-header-item {
    text-align: center;
    font-weight: 400;
    margin: 0 1rem;
}
.playboard-header-item .game-status {
    margin-top: 0.5rem;
    letter-spacing: 0.0125rem;
    line-height: 1.2rem;
    font-size: 1.1rem;
    color: var(--playboard-main-color);
}
.game-status .dot {
    margin: 0 0.14rem;
}
.playboard-control {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
}
.playboard-control .guess {
    position: absolute;
    width: 5rem;
    height: 5rem;
    right: 0.8rem;
    bottom: 0.8rem;
    z-index: 1;            
    border-radius: 50%;
    background: var(--playboard-bg-color);
    font-size: 0.8rem;
    text-transform: uppercase;
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--playboard-main-color);
}
.playboard-control .move {
    /* right: 14px;
    bottom: 140px; */
    position: absolute;
    width: 5rem;
    height: 5rem;
    left: 0.8rem;
    bottom: 0.8rem;
    z-index: 1;            
    border-radius: 50%;
    background: var(--playboard-bg-color);
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--playboard-main-color);
}
.playboard-control .music {
    right: 68px;
    bottom: 133px;
}
.playboard-control .zoom-in {
    right: 107px;
    bottom: 94px;
}
.playboard-control .zoom-out {
    right: 114px;
    bottom: 40px;
}
.playboard-control .control-btn {
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    /* width: 48px;
    height: 48px; */
    overflow: hidden;
    border-radius: 50%;
    z-index: 1;
    background: var(--playboard-bg-color);
}
.playboard-control .control-btnicon {
    width: 1.5rem;
    height: 1.5rem;

}



 .control-btn {
     display: flex;
     justify-content: center;
     align-items: center;
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
 }