@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

@font-face {
  font-family: "Barlow Condensed", sans-serif;
  src: url("/_customers/css/Mosaic/fonts/BarlowCondensed-Regular.ttf") format('ttf');
}

:root {
  --font-familly: "Barlow Condensed", sans-serif;

  --color-FLEX-logo-start: #00abec;
	--color-FLEX-logo-end: #0D1636; 
}

body {
    background: url(/_customers/images/ui/Mosaic/map.png);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    font-family: var(--font-familly);
}

body::before {
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    background: #fff;
    opacity: .9;
    width: 100%;
    height: 100%;
}

.FrontLogo {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    width: fit-content;
    height: fit-content;
    animation: 1s ease-in-out FrontLogoAni 7s both;
}

@keyframes FrontLogoAni {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}

.bg-image div {
    background-repeat: no-repeat;
    background-size: cover;
    position: fixed;
    background-position: left;
    right: 0;
    top: 0;
    height: 100%;
    min-width: 580px;
    animation: slide-in-right 4s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}

:root {
    --animation-delay: 8s;
}

@keyframes slide-in-right {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
  }

.bg-image div:nth-child(1) {
    background: url(/_customers/images/ui/Mosaic/bg-img.jpeg);
    animation-delay: calc(var(--animation-delay) + 0s);
    background-repeat: no-repeat;
}

.bg-image div:nth-child(2) {
    background: url(/_customers/images/ui/Mosaic/bg-img-2.jpeg);
    animation-delay: calc(var(--animation-delay) + 5s);
    background-repeat: no-repeat;
}

.bg-image div:nth-child(3) {
    background: url(/_customers/images/ui/Mosaic/bg-img-3.jpg);
    animation-delay: calc(var(--animation-delay) + 10s);
    background-repeat: no-repeat;
}

.bg-image div:nth-child(4) {
    background: url(/_customers/images/ui/Mosaic/bg-img-4.png);
    animation-delay: calc(var(--animation-delay) + 15s);
    background-position: center;
    background-repeat: no-repeat;
}

.bg-image div:nth-child(5) {
    background: url(/_customers/images/ui/Mosaic/bg-img-5.jpg);
    animation-delay: calc(var(--animation-delay) + 20s);
    background-position: right;
    background-repeat: no-repeat;
}

.bg-image div:nth-child(6) {
    background: url(/_customers/images/ui/Mosaic/bg-img-6.jpg);
    animation-delay: calc(var(--animation-delay) + 25s);
    background-position: center;
    background-repeat: no-repeat;
}

.bg-image div:nth-child(7) {
    background: url(/_customers/images/ui/Mosaic/bg-img-7.png);
    animation-delay: calc(var(--animation-delay) + 30s);
    background-position: center;
    background-repeat: no-repeat;
}

.bg-image div:nth-child(8) {
    background: url(/_customers/images/ui/Mosaic/bg-img-8.png);
    animation-delay: calc(var(--animation-delay) + 35s);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.bg-image div:nth-child(9) {
    background: url(/_customers/images/ui/Mosaic/bg-img-9.png);
    animation-delay: calc(var(--animation-delay) + 40s);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.bg-image div:nth-child(10) {
    background: url(/_customers/images/ui/Mosaic/bg-img-10.jpg);
    animation-delay: calc(var(--animation-delay) + 50s);
    background-position: center;
}

.bg-image div:nth-child(11) {
    background: url(/_customers/images/ui/Mosaic/bg-img-11.jpg);
    animation-delay: calc(var(--animation-delay) + 55s);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.bg-image div:nth-child(12) {
    background: url(/_customers/images/ui/Mosaic/bg-img-12.jpg);
    animation-delay: calc(var(--animation-delay) + 60s);
    background-repeat: no-repeat;
    background-size: cover;
}

.bg-image div:nth-child(13) {
    background: url(/_customers/images/ui/Mosaic/bg-img-13.png);
    animation-delay: calc(var(--animation-delay) + 65s);
    background-repeat: no-repeat;
    background-size: cover;
}

.bg-image div:nth-child(14) {
    background: url(/_customers/images/ui/Mosaic/bg-img-14.jpg);
    animation-delay: calc(var(--animation-delay) + 70s);
    background-repeat: no-repeat;
    background-size: cover;
}

.bg-image div:nth-child(15) {
    background: url(/_customers/images/ui/Mosaic/bg-img.jpeg);
    animation-delay: calc(var(--animation-delay) + 75s);
    background-repeat: no-repeat;
}

.sideFrontLogo {
    width: 300px;
    height: fit-content;
    min-height: 150px;
    position: absolute;
    left: 200px;
    top: 0;
    bottom: 0;
    margin: auto;
    background: url(/_customers/images/ui/Mosaic/logo-project.png);
    background-repeat: no-repeat;
    background-size: cover;
    animation: 1s ease-in-out sideFrontLogoAni 7.5s both;
}

@keyframes sideFrontLogoAni {
    0% {
        opacity: 0;
        filter: blur(16px);
    }
    100% {
        opacity: 1;
        filter: blur(0px);
    }
}

/*   FORM   */

form::before {
	position: absolute;
	content: "Login";
	top: 0;
	left: 0;
	color: rgb(250, 250, 250);
	font-size: 45px;
	font-weight: 700;
	z-index: 4;
	display: block;
	width: 100px;
	padding: 20px 50px;
}

form {
	display: grid;
	padding: 100px 50px 50px 50px;	
	position: fixed;
	top: 0;
	right: 20%;
	bottom: 0;
	margin: auto;
	min-height: 240px;
	max-height: 360px;
	height: min-content;
	min-width: 390px;
	width: fit-content;
	color: #000;
	border-radius: 0px;
	background: #28738A;
	
	z-index: 3;
	animation: formAni 0.4s cubic-bezier(0.390, 0.575, 0.565, 1.000) 8s both;
}

@keyframes formAni {
	0% {
		opacity: 0;
		transform: scaleY(0.4);
    	transform-origin: 0% 100%;
	}
	100% {
		opacity: 1;
		transform: scaleY(1);
    	transform-origin: 0% 100%;
	}
}

form div {
	font-size: 12px;
	text-align: left;
	grid-area: 6 / 1 / 9 / 2;
	margin-top: 95px;
	color: #000000;
	font-style: normal;
	padding: 20px;
	letter-spacing: 1px;
	background: #ffffffd1;
}

input {
	padding: 10px 20px;
	color: #333;
	background: #fff;
	border: 1px solid #adadad;
	font-size: 18px;
	outline: none;
	margin-top: 10px;
	width: 400px;
	height: 40px;
    border-radius: 0px;
}

input[name="email"] {
	grid-area: 2 / 1 / 3 / 2;
}

input[name="password"] {
	grid-area: 3 / 1 / 4 / 2;	
}

input[name="code"] {
	grid-area: 4 / 1 / 5 / 2;
}

input[name="code"]::placeholder {
	color: #ccc;
}

::placeholder {
	color: #888888;
	font-family: var(--form-font);
	font-size: 14px;
	font-weight: 400;
}

button
{
	border: none;
	color: #333;
	cursor:pointer;
	font-family: var(--font-kelson-bold);
	font-weight: 600;
	font-size: 18px;
	letter-spacing: .5px;
	text-transform: uppercase;
	outline: none;
	display: block;
	margin-top: 10px;
	height: 40px;
	width: 195px;
    border-radius: 0px;
}

button.login-only.login {
	background: #DABC01;
	color: #fff;	
	cursor: pointer;
    display: block;
	grid-area: 4 / 1 / 6 / 2;
}

button.login-only.login:hover {
	background: #ca2d06;
	transition: 0.3s;
}

button.login-only.register {
	background: #D7D7D7;
	margin-left: 205px;
	cursor: pointer;
	display: block;
	grid-area: 4 / 1 / 6 / 2;
}

button.login-only.register:hover {
	background: #0ba57c;
	transition: 0.3s;
}

button.login-only.forgot {
	background: none;
	color: #dddddd;
	width: 50%;
	text-align: left;
	font-weight: 400;
	line-height: 65px;
	cursor: pointer;
	font-size: 13px;
	grid-area: 5 / 1 / 8 / 2;
	margin-top: 15px;
	height: 20px;
}

button.login-only.forgot:hover {
	color: #000000;
	font-weight: 400;
	transition: 0.3s;
}

button.register-only.register {
	background:#8CC63F;
	color: #fff;
	grid-area: 5 / 1 / 7 / 2;
}

button.register-only.register:hover {
	background: #15BEF0;
	color: #fff;
	transition: 0.3s;
}

button.register-only.cancel {
	background: #136BBC;
	margin-left: 205px;
	grid-area: 5 / 1 / 7 / 2;
}

button.register-only.cancel:hover {
	background: #383838;
  color: #fff;
	transition: 0.3s;
}

/* ANIMATION */

 @keyframes animate-svg-stroke-1 {
    0% {
      stroke-dashoffset: 234.55593872070312px;
      stroke-dasharray: 234.55593872070312px;
    }
  
    100% {
      stroke-dashoffset: 0;
      stroke-dasharray: 234.55593872070312px;
    }
  }
  
  @keyframes animate-svg-fill-1 {
    0% {
      fill: transparent;
    }
  
    100% {
      fill: rgb(0, 89, 83);
    }
  }
  
  .svg-elem-1 {
    animation: animate-svg-stroke-1 1s cubic-bezier(0.47, 0, 0.745, 0.715) 3s both,
                 animate-svg-fill-1 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.8s both;
  }
  
  @keyframes animate-svg-stroke-2 {
    0% {
      stroke-dashoffset: 257.66502380371094px;
      stroke-dasharray: 257.66502380371094px;
    }
  
    100% {
      stroke-dashoffset: 0;
      stroke-dasharray: 257.66502380371094px;
    }
  }
  
  @keyframes animate-svg-fill-2 {
    0% {
      fill: transparent;
    }
  
    100% {
      fill: rgb(184, 75, 22);
    }
  }
  
  .svg-elem-2 {
    animation: animate-svg-stroke-2 1s cubic-bezier(0.47, 0, 0.745, 0.715) 3.12s both,
                 animate-svg-fill-2 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.9s both;
  }
  
  @keyframes animate-svg-stroke-3 {
    0% {
      stroke-dashoffset: 181.699462890625px;
      stroke-dasharray: 181.699462890625px;
    }
  
    100% {
      stroke-dashoffset: 0;
      stroke-dasharray: 181.699462890625px;
    }
  }
  
  @keyframes animate-svg-fill-3 {
    0% {
      fill: transparent;
    }
  
    100% {
      fill: rgb(197, 170, 2);
    }
  }
  
  .svg-elem-3 {
    animation: animate-svg-stroke-3 1s cubic-bezier(0.47, 0, 0.745, 0.715) 3.24s both,
                 animate-svg-fill-3 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 4s both;
  }
  
  @keyframes animate-svg-stroke-4 {
    0% {
      stroke-dashoffset: 181.0225372314453px;
      stroke-dasharray: 181.0225372314453px;
    }
  
    100% {
      stroke-dashoffset: 0;
      stroke-dasharray: 181.0225372314453px;
    }
  }
  
  @keyframes animate-svg-fill-4 {
    0% {
      fill: transparent;
    }
  
    100% {
      fill: rgb(178, 187, 28);
    }
  }
  
  .svg-elem-4 {
    animation: animate-svg-stroke-4 1s cubic-bezier(0.47, 0, 0.745, 0.715) 3.36s both,
                 animate-svg-fill-4 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 4.1s both;
  }
  
  @keyframes animate-svg-stroke-5 {
    0% {
      stroke-dashoffset: 597.65380859375px;
      stroke-dasharray: 597.65380859375px;
    }
  
    100% {
      stroke-dashoffset: 0;
      stroke-dasharray: 597.65380859375px;
    }
  }
  
  @keyframes animate-svg-fill-5 {
    0% {
      fill: transparent;
    }
  
    100% {
      fill: rgb(0, 0, 0);
    }
  }
  
  .svg-elem-5 {
    animation: animate-svg-stroke-5 1s cubic-bezier(0.47, 0, 0.745, 0.715) 3.48s both,
                 animate-svg-fill-5 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 4.2s both;
  }
  
  @keyframes animate-svg-stroke-6 {
    0% {
      stroke-dashoffset: 267.4345397949219px;
      stroke-dasharray: 267.4345397949219px;
    }
  
    100% {
      stroke-dashoffset: 0;
      stroke-dasharray: 267.4345397949219px;
    }
  }
  
  @keyframes animate-svg-fill-6 {
    0% {
      fill: transparent;
    }
  
    100% {
      fill: rgb(0, 0, 0);
    }
  }
  
  .svg-elem-6 {
    animation: animate-svg-stroke-6 1s cubic-bezier(0.47, 0, 0.745, 0.715) 3.6s both,
                 animate-svg-fill-6 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 4.3s both;
  }
  
  @keyframes animate-svg-stroke-7 {
    0% {
      stroke-dashoffset: 266.5893249511719px;
      stroke-dasharray: 266.5893249511719px;
    }
  
    100% {
      stroke-dashoffset: 0;
      stroke-dasharray: 266.5893249511719px;
    }
  }
  
  @keyframes animate-svg-fill-7 {
    0% {
      fill: transparent;
    }
  
    100% {
      fill: rgb(0, 0, 0);
    }
  }
  
  .svg-elem-7 {
    animation: animate-svg-stroke-7 1s cubic-bezier(0.47, 0, 0.745, 0.715) 3.7199999999999998s both,
                 animate-svg-fill-7 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 4.4s both;
  }
  
  @keyframes animate-svg-stroke-8 {
    0% {
      stroke-dashoffset: 297.92529296875px;
      stroke-dasharray: 297.92529296875px;
    }
  
    100% {
      stroke-dashoffset: 0;
      stroke-dasharray: 297.92529296875px;
    }
  }
  
  @keyframes animate-svg-fill-8 {
    0% {
      fill: transparent;
    }
  
    100% {
      fill: rgb(0, 0, 0);
    }
  }
  
  .svg-elem-8 {
    animation: animate-svg-stroke-8 1s cubic-bezier(0.47, 0, 0.745, 0.715) 3.84s both,
                 animate-svg-fill-8 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 4.5s both;
  }
  
  @keyframes animate-svg-stroke-9 {
    0% {
      stroke-dashoffset: 86.42134094238281px;
      stroke-dasharray: 86.42134094238281px;
    }
  
    100% {
      stroke-dashoffset: 0;
      stroke-dasharray: 86.42134094238281px;
    }
  }
  
  @keyframes animate-svg-fill-9 {
    0% {
      fill: transparent;
    }
  
    100% {
      fill: rgb(0, 0, 0);
    }
  }
  
  .svg-elem-9 {
    animation: animate-svg-stroke-9 1s cubic-bezier(0.47, 0, 0.745, 0.715) 3.96s both,
                 animate-svg-fill-9 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 4.6s both;
  }
  
  @keyframes animate-svg-stroke-10 {
    0% {
      stroke-dashoffset: 165.85459899902344px;
      stroke-dasharray: 165.85459899902344px;
    }
  
    100% {
      stroke-dashoffset: 0;
      stroke-dasharray: 165.85459899902344px;
    }
  }
  
  @keyframes animate-svg-fill-10 {
    0% {
      fill: transparent;
    }
  
    100% {
      fill: rgb(0, 0, 0);
    }
  }
  
  .svg-elem-10 {
    animation: animate-svg-stroke-10 1s cubic-bezier(0.47, 0, 0.745, 0.715) 4.08s both,
                 animate-svg-fill-10 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 4.7s both;
  }
  
  @keyframes animate-svg-stroke-11 {
    0% {
      stroke-dashoffset: 232.19387817382812px;
      stroke-dasharray: 232.19387817382812px;
    }
  
    100% {
      stroke-dashoffset: 0;
      stroke-dasharray: 232.19387817382812px;
    }
  }
  
  @keyframes animate-svg-fill-11 {
    0% {
      fill: transparent;
    }
  
    100% {
      fill: rgb(0, 0, 0);
    }
  }
  
  .svg-elem-11 {
    animation: animate-svg-stroke-11 1s cubic-bezier(0.47, 0, 0.745, 0.715) 4.2s both,
                 animate-svg-fill-11 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 4.8s both;
  }
  
  @keyframes animate-svg-stroke-12 {
    0% {
      stroke-dashoffset: 45.982297150257104px;
      stroke-dasharray: 45.982297150257104px;
    }
  
    100% {
      stroke-dashoffset: 0;
      stroke-dasharray: 45.982297150257104px;
    }
  }
  
  .svg-elem-12 {
    animation: animate-svg-stroke-12 1s cubic-bezier(0.47, 0, 0.745, 0.715) 4.32s both,
                 animate-svg-fill-12 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 4.9s both;
  }
  
  @keyframes animate-svg-stroke-13 {
    0% {
      stroke-dashoffset: 63.14826965332031px;
      stroke-dasharray: 63.14826965332031px;
    }
  
    100% {
      stroke-dashoffset: 0;
      stroke-dasharray: 63.14826965332031px;
    }
  }
  
  @keyframes animate-svg-fill-13 {
    0% {
      fill: transparent;
    }
  
    100% {
      fill: rgb(0, 0, 0);
    }
  }
  
  .svg-elem-13 {
    animation: animate-svg-stroke-13 1s cubic-bezier(0.47, 0, 0.745, 0.715) 4.4399999999999995s both,
                 animate-svg-fill-13 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 5s both;
  }
  