@import url(https://fonts.googleapis.com/css?family=Montserrat:500,900);.page-enter-active .enter-1{transition:.3s cubic-bezier(.1,.7,.6,.9);transition-property:opacity,transform;transition-delay:.52s}.page-enter .enter-1{opacity:0;transform:translateX(50px)}.page-enter-active .enter-2{transition:.3s cubic-bezier(.1,.7,.6,.9);transition-property:opacity,transform;transition-delay:.64s}.page-enter .enter-2{opacity:0;transform:translateX(50px)}.page-enter-active .enter-3{transition:.3s cubic-bezier(.1,.7,.6,.9);transition-property:opacity,transform;transition-delay:.76s}.page-enter .enter-3{opacity:0;transform:translateX(50px)}.page-enter-active .enter-4{transition:.3s cubic-bezier(.1,.7,.6,.9);transition-property:opacity,transform;transition-delay:.88s}.page-enter .enter-4{opacity:0;transform:translateX(50px)}.page-enter-active{overflow:hidden;transition:transform .4s cubic-bezier(.4,.1,.7,.95)}.page-enter-active .enter-5{transition:.3s cubic-bezier(.1,.7,.6,.9);transition-property:opacity,transform;transition-delay:1s}.page-enter{transform:translateX(100%)}.page-enter .enter-5{opacity:0;transform:translateX(50px)}.page-leave-active{display:block}html{box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none}input,input:after,input:before{-webkit-user-select:initial;-moz-user-select:initial;user-select:auto}body{margin:0;padding:0;min-height:100%;background:#091619;overflow:hidden}*,:after,:before{box-sizing:inherit;-webkit-user-select:inherit;-moz-user-select:inherit;user-select:inherit}button,input{font-family:Montserrat,sans-serif;font-size:1em;text-transform:uppercase;outline:none;-webkit-appearance:none}.button{cursor:pointer;color:#b8b89c;background:none;margin:1em 1em 0;font-size:1em;border:none;padding:0;font-weight:900;letter-spacing:-1px;transition:color .3s}.button:hover{color:#f4f4f8}@media screen and (min-width:960px){.button{font-size:1.5em}}.base{height:100vh;height:calc(var(--vh, 1vh)*100);width:100vw;overflow:hidden;font-family:Montserrat,sans-serif;padding:1em;color:#f4f4f8;font-size:16px;font-size:1.2vw;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(max-width:1333.3333333333px){.base{font-size:16px}}@media(min-width:2000px){.base{font-size:24px}}@media screen and (min-width:960px){.base{padding:3.375em}}.wrapper{height:100%;position:relative}.header{top:0;height:16.66%}.header,.main{position:absolute;width:100%}.main{top:16.66%;height:75%;display:flex;flex-direction:column;align-items:center;justify-content:center}.footer{position:absolute;top:91.66%;width:100%;height:8.33%}.welcome-screen{text-align:center}.welcome-screen__title{margin:0;font-size:2.8em;text-transform:uppercase;font-weight:900;letter-spacing:-2px;line-height:.9;text-align:center}@media screen and (min-width:960px){.welcome-screen__title{font-size:5em}}.welcome-screen__subtitle{margin:0 auto;font-size:.9em;font-weight:400}.welcome-screen__actions{grid-area:footer;display:flex;justify-content:space-evenly;flex-direction:column;align-items:center;margin:2em 0}.welcome-screen__button,.welcome-screen__button-join{margin:.5em 0}.welcome-screen__button-join{font-weight:400;text-transform:none;font-size:1em}.welcome-screen__footer{display:flex;justify-content:space-around;align-items:center}.welcome-screen__link{width:calc(33% - 1em);color:#fe4a49;font-size:.75em;text-decoration:none;display:block;transition:color .3s}.welcome-screen__link:hover{color:#2ab7ca}@media screen and (min-width:960px){.welcome-screen__link:first-child{text-align:left}.welcome-screen__link:last-child{text-align:right}}.ludoratory__logo{width:3em;margin:1em 0}.error__title,.join__title{font-size:2em;margin:0;text-align:center}.error__subtitle{font-size:1.125em;font-weight:400;text-align:center}.join__input{text-align:center;border-radius:0;border:none;padding:.5em;width:10em;font-size:1.5em;margin:1em 0;font-weight:900}.join__footer{display:flex;justify-content:center;align-items:center}.join__back-link{margin:0 auto;font-size:.875em;color:#2ab7ca;text-decoration:none;transform:color .3s ease-out}.join__back-link:hover{color:#fe4a49}.board,.game{height:100%}.board{margin:0 1em;display:flex;flex-wrap:wrap;justify-content:space-around;width:100%;flex-grow:0}.codemaster-ui{flex:1;flex-basis:auto;height:30%;width:100%}@media screen and (min-width:960px){.codemaster-ui{width:30%;height:25%}}.game__restart{display:flex;justify-content:center;align-items:flex-end}.glitch{z-index:-1;position:absolute;width:100vw;height:100vh;height:calc(var(--vh, 1vh)*100);overflow:hidden;margin:0 auto;top:0;left:0}.glitch:hover{cursor:pointer}.glitch__img{position:absolute;top:-5px;left:-10px;height:105vh;width:105vw;margin:0;display:block;background:url(/img/bg-mobile.2c2646d4.jpg) no-repeat top;background-color:transparent;background-size:cover;background-blend-mode:none}@media screen and (min-width:960px){.glitch__img{background-image:url(/img/bg-desktop.e4775a10.jpg)}}@supports((-webkit-clip-path:polygon(0 2%,100% 2%,100% 5%,0 5%)) or (clip-path:polygon(0 2%,100% 2%,100% 5%,0 5%))){.glitch__img:nth-child(2){background-color:transparent;background-blend-mode:none}.glitch__img:nth-child(3),.glitch__img:nth-child(4){background-color:#091619;background-blend-mode:none}.glitch .glitch__img:nth-child(2){transform:translate3d(0,-5px,0);animation:glitch-anim-1 4s linear 10s infinite alternate}.glitch>.glitch__img:nth-child(3){transform:translate3d(-10px,0,0);animation:glitch-anim-2 4s linear 10s infinite alternate}.glitch>.glitch__img:nth-child(4){transform:translate3d(0,-5px,0) scaleX(1);animation:glitch-anim-3 4s linear 10s infinite alternate}}@keyframes glitch-anim-1{0%{opacity:1;transform:translate3d(10px,0,0);-webkit-clip-path:polygon(0 2%,100% 2%,100% 5%,0 5%);clip-path:polygon(0 2%,100% 2%,100% 5%,0 5%)}2%{-webkit-clip-path:polygon(0 15%,100% 15%,100% 15%,0 15%);clip-path:polygon(0 15%,100% 15%,100% 15%,0 15%)}4%{-webkit-clip-path:polygon(0 10%,100% 10%,100% 20%,0 20%);clip-path:polygon(0 10%,100% 10%,100% 20%,0 20%)}6%{-webkit-clip-path:polygon(0 1%,100% 1%,100% 2%,0 2%);clip-path:polygon(0 1%,100% 1%,100% 2%,0 2%)}8%{-webkit-clip-path:polygon(0 33%,100% 33%,100% 33%,0 33%);clip-path:polygon(0 33%,100% 33%,100% 33%,0 33%)}10%{-webkit-clip-path:polygon(0 44%,100% 44%,100% 44%,0 44%);clip-path:polygon(0 44%,100% 44%,100% 44%,0 44%)}12%{-webkit-clip-path:polygon(0 50%,100% 50%,100% 20%,0 20%);clip-path:polygon(0 50%,100% 50%,100% 20%,0 20%)}14%{-webkit-clip-path:polygon(0 70%,100% 70%,100% 70%,0 70%);clip-path:polygon(0 70%,100% 70%,100% 70%,0 70%)}16%{-webkit-clip-path:polygon(0 80%,100% 80%,100% 80%,0 80%);clip-path:polygon(0 80%,100% 80%,100% 80%,0 80%)}18%{-webkit-clip-path:polygon(0 50%,100% 50%,100% 55%,0 55%);clip-path:polygon(0 50%,100% 50%,100% 55%,0 55%)}20%{-webkit-clip-path:polygon(0 70%,100% 70%,100% 80%,0 80%);clip-path:polygon(0 70%,100% 70%,100% 80%,0 80%)}21.9%{opacity:1;transform:translate3d(10px,0,0)}22%,to{opacity:0;transform:translateZ(0);-webkit-clip-path:polygon(0 0,0 0,0 0,0 0);clip-path:polygon(0 0,0 0,0 0,0 0)}}@keyframes glitch-anim-2{0%{opacity:1;transform:translate3d(-10px,0,0);-webkit-clip-path:polygon(0 25%,100% 25%,100% 30%,0 30%);clip-path:polygon(0 25%,100% 25%,100% 30%,0 30%)}3%{-webkit-clip-path:polygon(0 3%,100% 3%,100% 3%,0 3%);clip-path:polygon(0 3%,100% 3%,100% 3%,0 3%)}5%{-webkit-clip-path:polygon(0 5%,100% 5%,100% 20%,0 20%);clip-path:polygon(0 5%,100% 5%,100% 20%,0 20%)}7%{-webkit-clip-path:polygon(0 20%,100% 20%,100% 20%,0 20%);clip-path:polygon(0 20%,100% 20%,100% 20%,0 20%)}9%{-webkit-clip-path:polygon(0 40%,100% 40%,100% 40%,0 40%);clip-path:polygon(0 40%,100% 40%,100% 40%,0 40%)}11%{-webkit-clip-path:polygon(0 52%,100% 52%,100% 59%,0 59%);clip-path:polygon(0 52%,100% 52%,100% 59%,0 59%)}13%{-webkit-clip-path:polygon(0 60%,100% 60%,100% 60%,0 60%);clip-path:polygon(0 60%,100% 60%,100% 60%,0 60%)}15%{-webkit-clip-path:polygon(0 75%,100% 75%,100% 75%,0 75%);clip-path:polygon(0 75%,100% 75%,100% 75%,0 75%)}17%{-webkit-clip-path:polygon(0 65%,100% 65%,100% 40%,0 40%);clip-path:polygon(0 65%,100% 65%,100% 40%,0 40%)}19%{-webkit-clip-path:polygon(0 45%,100% 45%,100% 50%,0 50%);clip-path:polygon(0 45%,100% 45%,100% 50%,0 50%)}20%{-webkit-clip-path:polygon(0 14%,100% 14%,100% 33%,0 33%);clip-path:polygon(0 14%,100% 14%,100% 33%,0 33%)}21.9%{opacity:1;transform:translate3d(-10px,0,0)}22%,to{opacity:0;transform:translateZ(0);-webkit-clip-path:polygon(0 0,0 0,0 0,0 0);clip-path:polygon(0 0,0 0,0 0,0 0)}}@keyframes glitch-anim-3{0%{opacity:1;transform:translate3d(0,-5px,0) scale3d(-1,-1,1);-webkit-clip-path:polygon(0 1%,100% 1%,100% 3%,0 3%);clip-path:polygon(0 1%,100% 1%,100% 3%,0 3%)}1.5%{-webkit-clip-path:polygon(0 10%,100% 10%,100% 9%,0 9%);clip-path:polygon(0 10%,100% 10%,100% 9%,0 9%)}2%{-webkit-clip-path:polygon(0 5%,100% 5%,100% 6%,0 6%);clip-path:polygon(0 5%,100% 5%,100% 6%,0 6%)}2.5%{-webkit-clip-path:polygon(0 20%,100% 20%,100% 20%,0 20%);clip-path:polygon(0 20%,100% 20%,100% 20%,0 20%)}3%{-webkit-clip-path:polygon(0 10%,100% 10%,100% 10%,0 10%);clip-path:polygon(0 10%,100% 10%,100% 10%,0 10%)}5%{-webkit-clip-path:polygon(0 30%,100% 30%,100% 25%,0 25%);clip-path:polygon(0 30%,100% 30%,100% 25%,0 25%)}5.5%{-webkit-clip-path:polygon(0 15%,100% 15%,100% 16%,0 16%);clip-path:polygon(0 15%,100% 15%,100% 16%,0 16%)}7%{-webkit-clip-path:polygon(0 40%,100% 40%,100% 39%,0 39%);clip-path:polygon(0 40%,100% 40%,100% 39%,0 39%)}8%{-webkit-clip-path:polygon(0 20%,100% 20%,100% 21%,0 21%);clip-path:polygon(0 20%,100% 20%,100% 21%,0 21%)}9%{-webkit-clip-path:polygon(0 60%,100% 60%,100% 55%,0 55%);clip-path:polygon(0 60%,100% 60%,100% 55%,0 55%)}10.5%{-webkit-clip-path:polygon(0 30%,100% 30%,100% 31%,0 31%);clip-path:polygon(0 30%,100% 30%,100% 31%,0 31%)}11%{-webkit-clip-path:polygon(0 70%,100% 70%,100% 69%,0 69%);clip-path:polygon(0 70%,100% 70%,100% 69%,0 69%)}13%{-webkit-clip-path:polygon(0 40%,100% 40%,100% 41%,0 41%);clip-path:polygon(0 40%,100% 40%,100% 41%,0 41%)}14%{-webkit-clip-path:polygon(0 80%,100% 80%,100% 75%,0 75%);clip-path:polygon(0 80%,100% 80%,100% 75%,0 75%)}14.5%{-webkit-clip-path:polygon(0 50%,100% 50%,100% 51%,0 51%);clip-path:polygon(0 50%,100% 50%,100% 51%,0 51%)}15%{-webkit-clip-path:polygon(0 90%,100% 90%,100% 90%,0 90%);clip-path:polygon(0 90%,100% 90%,100% 90%,0 90%)}16%{-webkit-clip-path:polygon(0 60%,100% 60%,100% 60%,0 60%);clip-path:polygon(0 60%,100% 60%,100% 60%,0 60%)}18%{-webkit-clip-path:polygon(0 100%,100% 100%,100% 99%,0 99%);clip-path:polygon(0 100%,100% 100%,100% 99%,0 99%)}20%{-webkit-clip-path:polygon(0 70%,100% 70%,100% 71%,0 71%);clip-path:polygon(0 70%,100% 70%,100% 71%,0 71%)}21.9%{opacity:1;transform:translate3d(0,-5px,0) scale3d(-1,-1,1)}22%,to{opacity:0;transform:translateZ(0);-webkit-clip-path:polygon(0 0,0 0,0 0,0 0);clip-path:polygon(0 0,0 0,0 0,0 0)}}.game__border{width:100vw;height:100vh;height:calc(var(--vh, 1vh)*100);position:absolute;top:0;left:0;pointer-events:none;border-style:solid;border-width:4px;transition:border .6s ease-out}.game__border.red{border-color:#fe4a49}.game__border.blue{border-color:#2ab7ca}@media screen and (min-width:960px){.game__border{border-width:1em}}.game__border.active{animation-name:activeBorder;animation-duration:.5s;animation-iteration-count:infinite}@keyframes activeBorder{0%{opacity:1}50%{opacity:.8}to{opacity:1}}.card{font-size:.625em;font-weight:900;width:calc(20% - .5em);flex:0 0 auto;margin:.25em;perspective:1000px;color:#222426;transition:transform .5s ease-out}.card.card_selectable{cursor:pointer}@media screen and (min-width:960px){.card{font-size:1em}}.card[class*=card_code]{color:#fff}.card[class*=selected]{cursor:pointer}.card.card_code-blue .card__back,.card.card_code-blue .card__front,.card.card_turned-blue .card__back,.card.card_turned-blue .card__front{background:#2ab7ca}.card.card_code-red .card__back,.card.card_code-red .card__front,.card.card_turned-red .card__back,.card.card_turned-red .card__front{background:#fe4a49}.card.card_code-neutral .card__back,.card.card_code-neutral .card__front,.card.card_turned-neutral .card__back,.card.card_turned-neutral .card__front{background:#b8b89c}.card.card_code-assassin .card__back,.card.card_code-assassin .card__front,.card.card_turned-assassin .card__back,.card.card_turned-assassin .card__front{background:#222426}.card__wrapper{height:100%;position:relative}@media screen and (min-width:960px){.card__wrapper{height:100%;padding-bottom:0}}.card__back,.card__front{-webkit-backface-visibility:hidden;backface-visibility:hidden;display:flex;align-items:center;justify-content:center;position:absolute;top:0;left:0;width:100%;height:100%;padding:.5em;text-align:center;transition:transform .6s ease-out,box-shadow .3s ease-out,color .3s ease-out;transform-style:preserve-3d}.card__front{background:#fefefe;transform:rotateY(0deg)}.card__back,[class*=turned] .card__front{transform:rotateY(180deg)}[class*=turned] .card__back{transform:rotateY(0deg)}@media screen and (min-width:960px){.card__back .card__icon{transform:scale(1.75)}}.card__word{color:inherit;text-transform:uppercase;line-height:1}.red .card[class*=selected] .card__front{box-shadow:inset 0 0 0 .5em #fe4a49,0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12),0 11px 15px -7px rgba(0,0,0,.2);color:#fe4a49}.blue .card[class*=selected] .card__front{box-shadow:inset 0 0 0 .5em #2ab7ca,0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12),0 11px 15px -7px rgba(0,0,0,.2);color:#2ab7ca}.card__icon path{fill:#091619}.card_turned-assassin .card__icon path{fill:#f4f4f8}.game-code{background:#f4f4f8;color:#091619}.game-code__main{flex-direction:column-reverse;align-items:flex-start;padding:0 2em}@media screen and (min-width:960px){.game-code__main{flex-direction:row;justify-content:space-around}}.game-code__text-area{width:90%}@media screen and (min-width:960px){.game-code__text-area{width:40%;padding:0}}.game-code__title{font-size:1.5em;text-transform:uppercase}.game-code__code{font-size:3em;font-weight:900;line-height:1;text-transform:uppercase}@media screen and (min-width:960px){.game-code__code{font-size:5em}}.game-code__text{line-height:1.4;font-size:.8em}@media screen and (min-width:960px){.game-code__text{font-size:1.15em}}.game-code__button{font-size:1.5em;margin:1em 0 0;background:none;border:none;font-weight:900;text-transform:uppercase;padding:0;cursor:pointer}.red .game-code__button{color:#fe4a49}.blue .game-code__button{color:#2ab7ca}.game-code__starting{font-size:.875em}.game-code__team{text-transform:capitalize}.game-code__link{font-weight:900}.red .game-code__link{color:#fe4a49}.blue .game-code__link{color:#2ab7ca}.game-code__qr{display:block;font-size:1.5em;width:40%;margin:-1em 0 1em}.game-code__qr canvas{width:100%}@media screen and (min-width:960px){.game-code__qr{width:20%;margin:0}}.score{font-size:.875em;font-weight:900;text-transform:uppercase;display:flex;justify-content:space-between}@media screen and (min-width:960px){.score{font-size:1.125em}}.score__red{color:#fe4a49}.score__blue{color:#2ab7ca}.codemaster-ui__keyboard{display:flex;flex-direction:column;height:100%;width:100%;overflow:hidden}.keyboard__keyrow{margin:0 -1.75em;margin:.1em 0}.keyboard__key,.keyboard__keyrow{display:flex;justify-content:center;height:100%}.keyboard__key{-webkit-appearance:none;border:none;width:calc(10% - .2rem);align-items:center;text-transform:uppercase;font-weight:900;margin:.1rem;font-size:1.125em;color:#fff;overflow:hidden;flex:0 0 auto;transition:background .5s ease-out,color .5s ease-out}.red .keyboard__key{background:#fe4a49}.blue .keyboard__key{background:#2ab7ca}.keyboard_disabled .keyboard__key{background:#091619;color:#818181}.keyboard__key_delete{margin-left:1em;background:none!important}.keyboard__key_delete svg{transform:scale(1.2)}.delete-key-icon{transition:fill .5s ease-out}.red .delete-key-icon{fill:#fe4a49}.blue .delete-key-icon{fill:#2ab7ca}.keyboard_disabled .delete-key-icon{fill:#818181}.count__number{color:#fe4a49;font-weight:900;font-size:5em;width:2em;text-align:center}.red .count__number{color:#fe4a49}.blue .count__number{color:#2ab7ca}.count__button{color:#b8b89c;font-size:2em;border:none;background:none;transition:color .3s ease-out}.count__button[disabled]{color:#091619}.codemaster-ui{margin:1em 0}.code{font-size:1.875em;font-weight:900;letter-spacing:-1px;text-align:center}.code__placeholder{color:#b8b89c}.codemaster-ui__count{margin:1em 0}.count__text{text-align:center;font-weight:900;text-transform:uppercase}.count__input{display:flex;justify-content:space-around;align-items:center}.codemaster-buttons{display:flex;align-items:flex-end;flex-direction:row;justify-content:space-between}.codemaster-ui__button{background:none;border-radius:50%;border:none;display:flex;justify-content:center;align-items:center;font-size:1.25em;font-weight:900;color:#f4f4f8;text-transform:uppercase;transition:color .3s ease-out}.codemaster-ui__button[disabled]{color:#091619}.codebreaker-ui{display:flex;justify-content:center;align-items:flex-end;line-height:1;position:relative}.codebreaker-ui__room{text-transform:uppercase;font-weight:900;position:absolute;left:0}.codebreaker-ui__room-code{font-weight:400}.codebreaker-ui__selection{background:none;padding:0;margin-left:auto;font-size:1em;text-transform:uppercase;font-weight:900;transition:color .3s ease-out;color:#b8b89c;border:none}@media screen and (min-width:960px){.codebreaker-ui__selection{font-size:1.5em;margin-left:0}}.selection__button{cursor:pointer;transition:box-shadow .3s ease-out}.red .selection__button{color:#fe4a49}.blue .selection__button{color:#2ab7ca}.turn-indicator{margin:1em 0 0;text-align:center;line-height:1}@media screen and (min-width:960px){.turn-indicator{margin:-1.125em 0 0}}.turn-indicator__player{font-size:1em;text-transform:uppercase;position:relative;z-index:1}.turn-indicator__player.red{color:#fe4a49}.turn-indicator__player.blue{color:#2ab7ca}@media screen and (min-width:960px){.turn-indicator__player{font-size:1.125em}}.turn-indicator__code{font-size:1.4em;letter-spacing:-1px;text-transform:uppercase;font-weight:900}@media screen and (min-width:960px){.turn-indicator__code{font-size:4em}}.turn-indicator__placeholder{color:#818181}.winner-indicator{margin:1em;text-align:center;line-height:1}@media screen and (min-width:960px){.winner-indicator{margin:-1.125em 0 0}}.winner-indicator__motiff{font-size:1em;text-transform:uppercase}.winner-indicator__motiff.red{color:#fe4a49}.winner-indicator__motiff.blue{color:#2ab7ca}@media screen and (min-width:960px){.winner-indicator__motiff{font-size:1.125em}}.winner-indicator__winner{font-size:1.4em;letter-spacing:-1px;text-transform:uppercase;font-weight:900}.winner-indicator__winner.red{color:#fe4a49}.winner-indicator__winner.blue{color:#2ab7ca}@media screen and (min-width:960px){.winner-indicator__winner{font-size:4em}}