html, body, .fullContainer, .mainContainer
{
    margin: 0; padding: 0; width: 100%; height: calc(var(--vh, 1vh) * 100);
	font-family: 'Singulier Regular';
	color: white;
}

html::-webkit-scrollbar {
	display: none;
}

.fullContainer {
	position: absolute;
}

/* Hide scrollbar for IE and Edge */
html {
	overflow: scroll;
	-ms-overflow-style: none;
}

#openfl-content { 
	width:100%;
	top: 0;
	left: 0;
	cursor: none;
	height: 80%;
}
.mode-controller #openfl-content {
	height: 100vh;
}

.bg-layer, .identity {
	width:100%;
	height: 100%;
}

.scanme {
	background-image: url(assets/img/html/qr_score.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.scanme .bg-layer {
	background: rgba(0,0,0,0.55);
}

.identity {
	position: absolute;
    top: 0;
    pointer-events: none;
    display: flex;
    flex-direction: column;
}

.landscape .identity .logo {
	width: 17%;
}
.mobile.landscape .identity .logo {
	width: 17vh;
}
.portrait .identity .logo {
	width: calc(var(--vw, 1vw) * 17);
}

.identity .logo .logo-title {
	text-align: center;
	text-transform: uppercase;
	margin-bottom: 6px;
    margin-left: -12px;
    font-size: calc(var(--vh, vh) * 1.05);
    letter-spacing: calc(var(--vh, vh) * 0.2);
}

.mode-controller.landscape .identity .logo .logo-title {
	font-size: 2vh;
}

.identity .logo img {
	object-position: -8px;
	object-fit: contain;
}

#game-container {
	width: 100%;
	height: 100%;
}

.modal{
	background: rgba(0,0,0,.75);
}

.hide {
	display: none !important;
}

.transparent {
	visibility: hidden;
}

.hideAnim {
  opacity: 0 !important;
  transition: opacity 0.8s linear;
}
.hideAndscaleAnim {
  transform: scale(1.5);
  opacity: 0 !important;
  transition: opacity 1s linear, scale 0.8s cubic-bezier(0.4, 0, 1, 1);
}

.shake {
	animation: shake 1s;
}

html.mobile .hideOnMobile, .unactive, html.desktop .hideOnDesktop{
	display:none !important;
}
@media (orientation: landscape) {
  .hideOnLandscape {
	display:none !important;
  }
}
@media (orientation: portrait) {
  .hideOnPortrait {
	display:none !important;
  }
}
.waiting{
	visibility: hidden;
}

.inline {
	display: inline-block;
	
}

.vAlign {
		vertical-align: middle;
}
.textVAlign {
	transform: translateY(-50%) !important;
	top: 50%;
	position: absolute;
}
.divVAlign {
	transform: translateY(-50%) !important;
	top: 50%;
	position: relative;
}

.absoluteCenter {
	position: absolute;
    height: 50%;
    top: 50%;
    left: 50%;
	transform: translate(-50%, -50%);	
}
.flaconCenter{
	position: absolute;
    height: 66%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -32%);
}

.aCenter {
	text-align: center;
}

.txt-white {
	color: white;
}

.backIndex{
	z-index: -1;
}

.frontIndex{
	z-index: 100;
}

.bb{
	background-color: #000000;
}

.maxW100 {
	/*max-width: 100px !important;*/
	max-width: 100px !important;
	max-height: 100px !important;
}

.mt20 {
	margin-top: 20px;
}
.mb20 {
	margin-bottom: 20px;
}

.smaller {
	font-size: 60%;
}

.upper{
	text-transform: uppercase;
}

/* CONTAINERS ... */

body {
	background-color: #000000;
}

.interface {
	position: absolute;
	z-index: 1000;
	width: 100%;
    height: calc(var(--vh, 1vh) * 100);
}

.landscape.desktop .interface {
	max-width: calc(100vh * 1080 / 1920);
    transform: translateX(-50%);
    left: 50%;
}
		
.gameui{
	position: relative;
	overflow:hidden;
}
.gameui-header{
	display: flex;
	height: 17vh;
	min-height: 17vh;
	position: relative;
	width: calc(100% - 7px);
}

.fullContainer .logo img:first-child {
	object-fit: contain;
	max-height: 100%;
	height: 17vh;
    min-height: 17vh;
}

.mode-controller.landscape .signature{
	width: 10%;
	height: 3.52vh;
}

.signature img {
	object-fit: contain;
}
.mode-controller.landscape .logo-ysl-top img {
	width: 100%;
	height: 100%;
	object-position: right;
}

.mode-controller.landscape .logo-ysl-bottom img {
	width: 100%;
	height: 100%;
	object-position: left;
}

.identity .linev {
    margin-left: 6px;
    height: calc(100% - var(--vw, 1vw) * 25 / 5.6 - 18px);
    animation: linev-l 0.8s linear;
    position: inherit;
}

.line-container {
	flex: 1;
}

.gameui-header .lineh {
	bottom: 0;
    right: 0;
    width: 44vh;
	/* iphone x*/
	max-width: 79%;
	/* ipad */
    min-width: 79%;
}

.gameui .time {
	flex-basis: 20%;
    text-align: center;
	margin: auto;
}

.gameui-header .gameui-header-linev {
	position: relative;
    top: 13px;
	height: calc(100% - 13px);
}

.gameui .time .time-txt{
	/*font-size: 47px;*/
	font-size: 5.73vh;
}

.gameui-block{
	flex-grow: 1;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
	padding: 14px calc(2% + 6px);
    padding-bottom: 6px;
}
.gameui-palier, .score-palier{
	display: flex;
	flex-basis: 33%;
}
.gameui-palier div, .score-palier div {
    background-repeat: no-repeat;
	flex-grow: 1;
	background-position: center;
}
.palier-off {
	background-image: url("assets/img/html/flacon-off.png");
	background-size: contain;
}
.palier-on {
	animation: playPalierOn 1s 1 cubic-bezier(0.39, 1.01, 1, 1) forwards;
	background-image: url(assets/img/html/flacon-on.png);
	background-size: contain;
}

.score-palier .palier-off {
	background-image: url("assets/img/html/flacon-big-off.png");
}

.score-palier .palier-on {
	background-image: url("assets/img/html/flacon-big-on.png");
}


.gameui .progress-wrapper{
	border: solid 1px #971019;
    height: 15px;
    box-shadow: 0 0 3px rgb(151 16 25), 0 0 6px rgba(151,16,25,0.4);
	position: relative;
}
.gameui .progress{
	position: absolute;
    width: 0%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: white;
}

.line {
	background-color: #FFFFFF;
    border-radius: 0;
	overflow: hidden;
	position:absolute;
	z-index: 1000;
}

.linev {
    width: 4px;
	height: 100%;
}

.lineh {
    height: 4px;
}

.gameui-score{
	text-align: center;
    margin-top: 6%;
    height: 19.4%;
}

.gameui-score .loc-score{
	font-family: 'Singulier Demi';
    font-size: calc(var(--vh, vh) * 4);
    line-height: 1;
}

.gameui-score .current-score{
	font-family: 'Singulier Bold';
    font-size: calc(var(--vh, vh) * 11);
    line-height: 1;
}

.mode-controller .gameui-score {
	display: none;
}

.ysl-txt {
	color: #FFFFFF;
	/*text-shadow: 0 0 4px rgba(243,27,47,1), 0 0 9px rgba(243,27,47,0.54);*/
	font-family: "Singulier Bold";
	font-size: calc(var(--vh, vh) * 2.2);
	text-transform: uppercase;
}

.feedback{
	position: relative;
    bottom: calc(var(--vh, vh) * -1);
    color: white;
    font-size: calc(var(--vh, vh) * 2);
    text-transform: uppercase;
    text-align: center;
    transform: translate(-50%, -50%);
    left: 50%;
    
    opacity: 0;
    pointer-events: none;
    user-select: none;
    cursor: pointer;
}

.feedback-anim {
	animation: feedbackAnim 1s 1 linear alternate;
}

.gameover {
	position: absolute;
	text-align: center;
	color: white;
    /*text-shadow: 0 0 12px red;*/
    font-size: 55px;
    text-transform: uppercase;
	top: 50%;
	left:50%;
	transform: translate(-50%, -50%);
	display: none;
	pointer-events: none;
    user-select: none;
    cursor: pointer;
}

.gameoverAnim {
	display: block;
	animation: gameoverAnim 1s 1 linear alternate;
}

.tuto, .navigation, .gameui {
	background-image: url(assets/img/html/bg_portrait.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: top center;

}

.mode-controller .tuto, .mode-controller  .navigation, .mode-controller  .gameui {
	background-image: url(assets/img/html/bg_landscape.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;

}

.tuto .content {
	position: absolute;
    width: 71%;
    height: 45%;
    background-color: white;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
	text-align: center;
}

.tuto .page {
	display: none;
}

.tuto:not(.page-2) .page-1, .tuto.page-2 .page-2 {
	display: block;
}

.page-1 .button {
	display: none;
}

.mode-both .page-1 .button {
	display: block;
}

.mode-both .page-1 .progression {
	display: none;
}

.tuto .page .title {
	font-family: "Singulier Bold";
    font-size: calc(var(--vh, 1vh) * 4.6);
    color: #2A3E5B;
    text-transform: uppercase;
    margin-top: 4vh;
}

.tuto .page .title:after {
	content: "";
    position: relative;
    width: 45%;
    height: 2px;
    background-color: #2A3E5B;
    display: block;
    top: 1vh;
    left: 50%;
    transform: translateX(-50%);
}

.tuto .txt {
	font-size: calc(var(--vh, 1vh) * 2.7);
    color: #2A3E5B;
    width: 60%;
    top: 50%;
    left: 50%;
    position: absolute;
    transform: translate(-50%, -50%);
    font-family: 'Singulier Regular';
}

.tuto .txt span {
	background-image: url(assets/img/html/pin_y.png);
	background-size : cover;
	width: calc(var(--vh, 1vh) * 4);
	height: calc(var(--vh, 1vh) * 4);
	display: inline-block;
    vertical-align: middle;
}

.tuto .progression {
	width: 21%;
    position: absolute;
    left: 50%;
    bottom: 2vh;
    transform: translateX(-50%);
}

.tuto .progression .circle {
	width: 2vh;
    height: 2vh;
    border-radius: 50%;
    display: inline-block;
}

.tuto .progression .circle-on {
    background-color: #2A3E5B;
}

.tuto .progression .circle-off {
	background-color: transparent;
    border: 2px solid #2A3E5B;
    box-sizing: border-box;
}

.tuto .page .button {
	position: absolute;
    bottom: calc(var(--vh, vh) * 2);
    left: 50%;
    transform: translateX(-50%);
	height: calc(var(--vh, vh) * 7.2);
	border-radius: calc(var(--vh, vh) * 7.2);
	width: 50%;
}

.navigation .page {
	display: none;
}

.navigation:not(.page-2):not(.page-3) .page-1, .navigation.page-2 .page-2, .navigation.page-3 .page-3 {
	display: block;
}

.navigation .button {
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.landscape .navigation .button {
	height: 12.8vh;
    width: 50vh;
}

.navigation .button:hover {
    transform: translate(-50%, -50%) scale(1.08);
}

.header-top {
	display: flex;
	flex-direction: row-reverse;
	position: absolute;
    width: 100%;
    top: 6px;
}

.footer {
	display: flex;
	position: absolute;
    width: calc(100% - 4px);
    bottom: 6px;
}

.footer .lineh {
	animation: lineh-b 0.8s linear;
}

.right {
	height: calc(100% - var(--vw, 1vw) * 50 / 5.6 - 12px);
    top: calc(var(--vw, 1vw) * 25 / 5.6 + 12px);
    right: 12px;
    position: absolute;
    margin: 0 auto;
}

.right .linev {
	animation: linev-r 0.8s linear;
}

.signature {
	width: calc(var(--vw, 1vw) * 25);
    position: relative;
    margin: auto 6px;
}

.footer .signature {
	text-align: left;
}

.signature span {
	padding-right:3px;
}

.header-top .line {
	flex-basis: calc(75% - min(min(17vh, 17vw), 17%));
    position: relative;
	margin: auto 0;
	animation: lineh-t 0.8s linear;
}

.mode-controller.landscape .header-top .line {
	flex-basis: calc(90% - min(min(17vh, 17vw), 17%));
}

.footer .line {
	flex-grow: 1;
    position: relative;
	margin: auto 3px auto 0;
}

.buttons-bottom{
	position: absolute;
    bottom: 3.7vh;
    width: 100%;
	text-align: center;
}

.scanme .content {
	bottom: auto;
    top: 35%;
    position: absolute;
    width: 100%;
    margin: auto;
}

.accueil {
	background-image: url(assets/img/html/play_portrait.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.mobile.landscape .accueil{
    background-image: url(assets/img/html/play_landscape.jpg);
}

.accueil .content .button {
	animation: opacity 0.8s linear 1.5s;
	animation-fill-mode: both;
}

.rotate {
	display: none;
}

.rotate-txt {
	font-family: 'Singulier Demi';
	text-transform: uppercase;
}

.rotate img {
	object-fit: contain;
    height: 100%;
    margin-top: 1vh;
}

.portrait.mode-controller .rotate {
	display: block;
	position: absolute;
    top: 20%;
    left: 50%;
    height: 10%;
    transform: translateX(-50%);
    text-align: center;
    font-size: 1.4vh;
}

.qrcode-gradient {
	-webkit-mask-image: linear-gradient(to top, transparent 0, black 80%);
	z-index: 1;
}

.qrcodes {
	position: relative;
	left: 50%;
}
.qrcode {
	position: absolute;
	top:0;
	transform: translateX(-50%);
}

.txt {
	font-family: 'Singulier Demi';
}

.accueil .content {
	position: absolute;
	top: 43%;
	left: 0;
	width: 100%;
}

.scanme .txt {
	font-size: calc(var(--vh, 1vh) * 3.1);
	text-align: center;
	width: 87%;
	margin: 0 auto calc(var(--vh, vh) * 4);
	font-family: 'Singulier Bold';
	animation: opacity 0.8s linear 0.8s;
	animation-fill-mode: both;
	color: white;
	text-transform: uppercase;
}

.accueil .txt {
	font-size: calc(var(--vh, 1vh) * 3.49);
	text-align: center;
	width: 65%;
	margin: 0 auto calc(var(--vh, vh) * 19);
	font-family: 'Singulier Bold';
	animation: opacity 0.8s linear 0.8s;
	animation-fill-mode: both;
	color: white;
	text-transform: uppercase;
}

.accueil .txt span {
	font-size: 200%;
	vertical-align: sub;
}

.scanme .txt .smaller {
	font-size: 75%;
}

strong.bigger {
	font-size: 140%;
}

.video-bg {
	object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}

.button {
	width: 44%;
    height: 7.2vh;
    margin: 0 auto;
    text-align: center;
    background-color: #293D5B;
    border-radius: 7.2vh;
    box-shadow: -1px -1px 4px #b3ccf2, 1px 2px 4px #293d5b;
    cursor: pointer;
    text-transform: uppercase;
}

.button a{ text-decoration:none;}

.bt-unactive {
	background-color: #CCCCCC;
	pointer-events: none;
	box-shadow: none;
}

@media (orientation: portrait) {
	.button {
		width: 75%;
	}
}

.button:hover {
	cursor: pointer;
	transform: scale(1.08);
	transition: 0.2s;
}

.button-txt {
	color: white;
	font-size: calc(var(--vh, 1vh) * 2.86);
	font-family: 'Singulier Demi';
	top: 50%;
    position: relative;
	display: block;
    transform: translateY(-50%);
}

.landscape.mode-controller .button-txt{
	font-size: calc(var(--vh, 1vh) * 4);
}

.button-smaller-font{
	font-size: calc(var(--vh, vh) * 2.4);
}

.score-palier {
	width: 45%;
    margin: 2.6vh auto;
}

.score-palier.gameui-palier div {
    height: 10.12vh;
}

.score-page  {
	color: white;
	background-image: url(assets/img/html/qr_score.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center top;
	font-family: "Singulier Demi";
}

.score-page .bg-layer {
	background: rgba(0,0,0,0.8);
}

.score-page .success, .score-page .success-mobile {
	display: none;
}

.mode-screen .score-page.success .success, .mode-both .score-page .success-mobile {
	display: block;
}

.score-page.success .fail, .mode-both .score-page .fail {
	display: none;
}

.score-page .score-content {
	height: calc(var(--vh, vh) * 24);
    text-align: center;
	display: flex;
	flex-direction: column;
    justify-content: space-between;
}

.score-details {
	display: flex;
    justify-content: space-evenly;
}

.score-page .score .score-txt {
	font-size: calc(var(--vh, 1vh) * 2.45);
}

.score-page .score .score-final {
	font-size: calc(var(--vh, 1vh) * 8);
}

.score-details .title {
	font-size: calc(var(--vh, 1vh) * 1.2);
}

.score-details .value {
	font-size: calc(var(--vh, 1vh) * 4.6);
}

.score-details .title, .score .score-txt {
	text-transform: uppercase;
}

.score-details .value, .score .score-final {
	font-family: "Singulier Bold";
}

.score-page .page-content .fail .title, .score-page .page-content .success .title, .score-page .page-content .success-mobile .title {
	font-size: calc(var(--vh, 1vh) * 4.6);
}

.score-page .page-content .fail .message, .score-page .page-content .success .message , .score-page .page-content .success-mobile .message {
	font-size: calc(var(--vh, 1vh) * 2.2);
}

.score-page .page-content .fail .message, .score-page .page-content .success-mobile .message {
	margin: 5vh 0;
}

.score-page .page-content .success .message, .score-page .page-content .success-mobile .message {
	flex-basis: 50%;
}

.score-page .fail, .score-page .success, .score-page .success-mobile {
	font-family: 'Singulier Bold';
}

.score-page .page-content .success-container {
	margin: calc(var(--vh, 1vh) * 5) 0;
	display: flex;
    max-height: calc(var(--vh, 1vh) * 24);
}

.score-page .page-content .success-container .message p {
	font-size: 75%;
}

.score-page .page-content .success-container .image{
	flex-basis: 50%;
}

.score-page .page-content .success-container .image img{
	object-fit: contain;
    height: 100%;
    width: 100%;
}

.mode-screen .score-page .button {
	display: none;
}


.buttons-bottom .button:first-child {
	margin-bottom: 1.5vh;
}

.buttons-bottom .button:last-child {
	margin-bottom: 0;
}

.page-content {
	width: 80%;
    position: absolute;
    top: calc(var(--vh, vh) * 12.5);
    height: calc(100% - calc(var(--vh, vh) * 22.5));
	text-align: center;
	display: flex;
    flex-direction: column;
    justify-content: space-between;
	margin: 0 10%;
}

.page-title {
	text-align: center;
    width: fit-content;
    margin: 0 auto 7vh;
	font-size: calc(var(--vh, vh) * 2.86);
    text-transform: uppercase;
}

.page-title .lineh {
	width: 100%;
    position: relative;
}

.line-content {
	line-height: calc(var(--vh, vh) * 3.9);
    margin-left: 5%;
    margin-right: 5%;
    display: flex;
    width: 90%;
    justify-content: space-between;
}

.player {
	flex-grow: 1;
}

.empty {
	border: none !important;
    text-align: right;
    padding-right: 5%;
}

a {
	color: white;
}

.error {
	position: absolute;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0,0,0,0.85);
    top: 0;
    z-index: 1000;
}
.error .txt {
	width: 100%;
    text-align: center;
    top: 20%;
    height: 20%;
    position: relative;
}

/* ANIMATION */

@keyframes playPalierOn{
   0%  {filter: drop-shadow(0 0 0px red);}
   75% {filter: drop-shadow(0 0 4px red);}
   98% {filter: drop-shadow(0 0 0px red);}
   100% {filter: none}
}

.zoomInAndOut
{
	animation: zoomInOut 0.2s ease-in-out 1 alternate;
	display: inline-block;
}
@keyframes zoomInOut {
	0% {
		transform: scale(1.0);
	}
	100% {
		transform: scale(1.5);
	}
}
@keyframes feedbackAnim {
	0% {
		transform: translate(-50%,-50%) scale(.5);
		opacity:0;
	}
	50% {
		transform: translate(-50%,-50%) scale(1.0);
		opacity:1;
	}
	100% {
		transform: translate(-50%,-50%) scale(.5);
		opacity:0;
	}
}
@keyframes gameoverAnim {
	0% {
		transform: translate(-50%, -50%) scale(.5);
		opacity:0;
	}
	100% {
		transform: translate(-50%, -50%) scale(1.0);
		opacity:1;
	}
}

@keyframes tutoStart{
	0% {
		opacity:0.2;
		text-shadow: 0 0 0 #ffffff;
	}
	100% {
		opacity:1;
		text-shadow: 0 0 7px #ffffff;
	}
}


@keyframes linev-l {
	0% {
		height: 0;
	}
	100% {
		height: 72%;
	}
}

@keyframes lineh-b {
	0% {
		flex-grow:0;
	}
	100% {
		flex-grow: 1;
	}
}

@keyframes linev-r {
	0% {
		height: 0;
	}
	100% {
		height: 35%;
	}
}

@keyframes lineh-t {
	0% {
		flex-basis: 0%;
	}
	100% {
		flex-basis: 33%;
	}
}

@keyframes shake {
  0% { transform: translate(1px, 1px) rotate(0deg); }
  10% { transform: translate(-1px, -2px) rotate(-1deg); }
  20% { transform: translate(-3px, 0px) rotate(1deg); }
  30% { transform: translate(3px, 2px) rotate(0deg); }
  40% { transform: translate(1px, -1px) rotate(1deg); }
  50% { transform: translate(-1px, 2px) rotate(-1deg); }
  60% { transform: translate(-3px, 1px) rotate(0deg); }
  70% { transform: translate(3px, 1px) rotate(-1deg); }
  80% { transform: translate(-1px, -1px) rotate(1deg); }
  90% { transform: translate(1px, 2px) rotate(0deg); }
  100% { transform: translate(1px, -2px) rotate(-1deg); }
}

@keyframes opacity{0%{opacity:0;visibility:hidden;}to{opacity:1;visibility:visible;}}
@keyframes animationTop{0%{transform:translateY(-10px);opacity:0;visibility:hidden;}to{transform:translateY(0px);opacity:1;visibility:visible;}}
@keyframes animationBottom{0%{transform:translateY(10px);opacity:0;visibility:hidden;}to{transform:translateY(0px);opacity:1;visibility:visible;}}
@keyframes animationLeft{0%{transform:translateX(-10px);opacity:0;visibility:hidden;}to{transform:translateX(0px);opacity:1;visibility:visible;}}
@keyframes animationLeftFix{0%{transform:translateX(-10px) translateY(-15px) scaleX(-1);opacity:0;visibility:hidden;}to{transform:translateX(0px) translateY(-15px) scaleX(-1);opacity:1;visibility:visible;}}
@keyframes animationLeftFix2{0%{transform:translateX(-10px) scaleX(-1);opacity:0;visibility:hidden;}to{transform:translateX(0px) scaleX(-1);opacity:1;visibility:visible;}}
@keyframes animationRight{0%{transform:translateX(10px);opacity:0;visibility:hidden;}to{transform:translateX(0px);opacity:1;visibility:visible;}}
@keyframes animationRightFix{0%{transform:translateX(10px) translateY(-15px) scaleX(-1);opacity:0;visibility:hidden;}to{transform:translateX(0px) translateY(-15px) scaleX(-1);opacity:1;visibility:visible;}}
@keyframes animationRightFix2{0%{transform:translateX(10px) translateY(-15px); opacity:0;visibility:hidden;}to{transform:translateX(0px) translateY(-15px);opacity:1;visibility:visible;}}



/* STEP 1 */
.animated:not(.unactive) .anim-container:not(.unactive) > *:nth-child(1):not(.no-anim), .anim-b1{animation: animationBottom 0.6s cubic-bezier(0.250, 0.100, 0.250, 1.000) 0.1s;animation-fill-mode: both;}
.animated:not(.unactive) .anim-container:not(.unactive) > *:nth-child(2):not(.no-anim), .anim-b2{animation: animationBottom 0.6s cubic-bezier(0.250, 0.100, 0.250, 1.000) 0.35s;animation-fill-mode: both;}
.animated:not(.unactive) .anim-container:not(.unactive) > *:nth-child(3):not(.no-anim), .anim-b3{animation: animationBottom 0.6s cubic-bezier(0.250, 0.100, 0.250, 1.000) 0.4s;animation-fill-mode: both;}
.animated:not(.unactive) .anim-container:not(.unactive) > *:nth-child(4):not(.no-anim), .anim-b4{animation: animationBottom 0.6s cubic-bezier(0.250, 0.100, 0.250, 1.000) 0.45s;animation-fill-mode: both;}
.animated:not(.unactive) .anim-container:not(.unactive) > *:nth-child(5):not(.no-anim), .anim-b5{animation: animationBottom 0.6s cubic-bezier(0.250, 0.100, 0.250, 1.000) 0.5s;animation-fill-mode: both;}
.animated:not(.unactive) .anim-container:not(.unactive) > *:nth-child(6):not(.no-anim), .anim-b5{animation: animationBottom 0.6s cubic-bezier(0.250, 0.100, 0.250, 1.000) 0.55s;animation-fill-mode: both;}
.animated:not(.unactive) .anim-container:not(.unactive) > *:nth-child(7):not(.no-anim), .anim-b5{animation: animationBottom 0.6s cubic-bezier(0.250, 0.100, 0.250, 1.000) 0.6s;animation-fill-mode: both;}

.anim-l1{animation: animationLeft 0.6s cubic-bezier(0.250, 0.100, 0.250, 1.000) 0.1s;animation-fill-mode: both;}
.anim-21{animation: animationLeft 0.6s cubic-bezier(0.250, 0.100, 0.250, 1.000) 0.35s;animation-fill-mode: both;}
.anim-l1fix{animation: animationLeftFix 0.6s cubic-bezier(0.250, 0.100, 0.250, 1.000) 0.1s;animation-fill-mode: both;}
.anim-l1fix2{animation: animationLeftFix2 0.6s cubic-bezier(0.250, 0.100, 0.250, 1.000) 0.1s;animation-fill-mode: both;}

.anim-r1{animation: animationRight 0.6s cubic-bezier(0.250, 0.100, 0.250, 1.000) 0.1s;animation-fill-mode: both;}
.anim-r1fix{animation: animationRightFix 0.6s cubic-bezier(0.250, 0.100, 0.250, 1.000) 0.1s;animation-fill-mode: both;}
.anim-r1fix2{animation: animationRightFix2 0.6s cubic-bezier(0.250, 0.100, 0.250, 1.000) 0.1s;animation-fill-mode: both;}


.anim-1t{animation: animationTop 0.6s cubic-bezier(0.250, 0.100, 0.250, 1.000) 0.1s;animation-fill-mode: both;}
.anim-2t{animation: animationTop 0.6s cubic-bezier(0.250, 0.100, 0.250, 1.000) 0.35s;animation-fill-mode: both;}
.anim-3t{animation: animationTop 0.6s cubic-bezier(0.250, 0.100, 0.250, 1.000) 0.4s;animation-fill-mode: both;}
.anim-4t{animation: animationTop 0.6s cubic-bezier(0.250, 0.100, 0.250, 1.000) 0.45s;animation-fill-mode: both;}
.anim-5t{animation: animationTop 0.6s cubic-bezier(0.250, 0.100, 0.250, 1.000) 0.5s;animation-fill-mode: both;}
.anim-6t{animation: animationTop 0.6s cubic-bezier(0.250, 0.100, 0.250, 1.000) 0.55s;animation-fill-mode: both;}
.anim-7t{animation: animationTop 0.6s cubic-bezier(0.250, 0.100, 0.250, 1.000) 0.6s;animation-fill-mode: both;}

.anim-1b{animation: animationBottom 0.6s cubic-bezier(0.250, 0.100, 0.250, 1.000) 0.1s;animation-fill-mode: both;}
.anim-2b{animation: animationBottom 0.6s cubic-bezier(0.250, 0.100, 0.250, 1.000) 0.35s;animation-fill-mode: both;}
.anim-3b{animation: animationBottom 0.6s cubic-bezier(0.250, 0.100, 0.250, 1.000) 0.4s;animation-fill-mode: both;}
.anim-4b{animation: animationBottom 0.6s cubic-bezier(0.250, 0.100, 0.250, 1.000) 0.45s;animation-fill-mode: both;}
.anim-5b{animation: animationBottom 0.6s cubic-bezier(0.250, 0.100, 0.250, 1.000) 0.5s;animation-fill-mode: both;}
.anim-6b{animation: animationBottom 0.6s cubic-bezier(0.250, 0.100, 0.250, 1.000) 0.55s;animation-fill-mode: both;}
.anim-7b{animation: animationBottom 0.6s cubic-bezier(0.250, 0.100, 0.250, 1.000) 0.6s;animation-fill-mode: both;}

.anim-a1{animation: opacity 0.6s cubic-bezier(0.250, 0.100, 0.250, 1.000) 0.1s;animation-fill-mode: both;}
.anim-a2{animation: opacity 0.6s cubic-bezier(0.250, 0.100, 0.250, 1.000) 0.15s;animation-fill-mode: both;}
.anim-a3{animation: opacity 0.6s cubic-bezier(0.250, 0.100, 0.250, 1.000) 0.2s;animation-fill-mode: both;}


/** SCREEN ROTATION HACK **/
html:not(.alt-tre).mode-screen {
	transform: rotate(-90deg);
    transform-origin: left top;
    width: 100vh;
    height: 100vw;
    overflow-x: hidden;
    position: absolute;
    top: 100%;
    left: 0;
}

html:not(.alt-tre).mode-screen .interface, html:not(.alt-tre).mode-screen body, .fullContainer {
	height: 100%;
}