:root
{
	--color-FLEX-logo-start: #c61814;
	--color-FLEX-logo-end: #000;

	--form-font: 'Kelson',Helvetica,Arial,Lucida,sans-serif;
}

.js-loading *,
.js-loading *:before,
.js-loading *:after
{
	animation-play-state: paused !important;
}

body
{
	grid-template-rows: 283px minmax(399px, 1fr) 90px;
}
form
{
	position: relative;
}

@keyframes kf-FLEX-type
{
	0%
	{
		font-weight: normal;
	}
	30%
	{
		letter-spacing: 0px;
		margin-left: 0;
		font-weight:900;
		-webkit-text-stroke: 1px var(--color-FLEX-logo-start);
	}
	55%
	{
		letter-spacing: 0px;
		margin-left: 0;
		font-weight:900;
		-webkit-text-stroke: 1px var(--color-FLEX-logo-start);
	}
	100%
	{
		font-weight:normal;
		letter-spacing: 46px;
		margin-left: 24px;
	}
}
@keyframes kf-FLEX-move
{
	100%
	{
		bottom: 0;
	}
}
@keyframes kf-FLEX-text-color
{
	100%
	{
		color: var(--color-FLEX-logo-end);
	}
}
@keyframes kf-FLEX-logo-color
{
	100%
	{
		background: var(--color-FLEX-logo-end);
	}
}
#Page_Footer
{
	animation: kf-FLEX-move 500ms ease-out 2500ms forwards;
	bottom: 45%;
	height: 90px;
	position: absolute;
	width: 100%;
	z-index: 5;
}
#Page_Footer::before
{
	animation:
		kf-FLEX-type 1500ms ease-in-out forwards 200ms,
		kf-FLEX-text-color 1.5s ease-in-out 2s forwards;
	color: var(--color-FLEX-logo-start);
	content: "FLEX";
	font-family:sans-serif;
	font-size: 14px;
	left: 50%;
	letter-spacing: 46px;
	line-height: 16px;
	margin-left: 24px;
	position: absolute;
	top: 51px;
	transform: translateX(-50%);
}
#Page_Footer::after
{
	animation: kf-FLEX-logo-color 1.5s ease-in-out 2s forwards;
	background: var(--color-FLEX-logo-start);
	content: "";
	height: 100%;
	position: absolute;
	width: 100%;
	-webkit-mask: url(/_assets/images/ui/login/TVC_footer_200324_1425.png) 50% 0 no-repeat;
}

body:not(.Register) .register-only,
body.Register .login-only
{
	max-height: 0;
	max-width: 0;
	overflow: hidden;
	position: absolute;
    visibility: hidden;
}
button.login-only.register::before
{
    content: "register...";
}
button.forgot::before
{
	content: "forgot your login?";
}
button.register-only.cancel::before
{
    content: "cancel";
}
button.register-only.register::before
{
	content: "register";
}
button.login::before
{
	content: "login";
}

:root
{
	--help-delay-start: 4500ms;
}
.help-registration
{
	bottom: 50%;
	right: 50%;
	--help-title: "Registering for Site Access";
}

.browser-IE
{
	background: #C00;
	box-sizing: border-box;
	color: #FFF;
	font-size: 30px;
	left: 50%;
	min-width: 800px;
	text-align: center;
	transform: translateX(-50%);
	padding: 20px;
	position: absolute;
}
.browser-IE::before
{
	content: "Use of this site requires a modern web browser, such as\A Chrome, Firefox, MS Edge, or Safari.\A Internet Explorer is not supported.";
	white-space: pre-wrap;
}

/* ---------------------- STYLE BEGIN HERE! -------------------------------- */
@font-face
{
	font-family: 'Kelson';
	src: url(./fonts/Kelson_Sans_Normal_400.otf);
}

body {
    background: #000;
    font-family: 'Kelson';
    overflow: hidden;
}

.redOwlBG {
    background: rgb(0,0,0);
    background: linear-gradient(108deg, rgba(0,0,0,1) 0%, rgba(0,0,0,1) 50%, rgba(255,255,255,1) 50%, rgba(255,255,255,1) 100%);
    width: 100%;
    height: 100%;
    position: absolute;
    animation: fade-in 1.2s cubic-bezier(0.390, 0.575, 0.565, 1.000) 7s both;
}

@keyframes fade-in {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
  }  

form {
    display: grid;
    /* grid-template-columns: repeat(2, 1fr);
     grid-template-rows: repeat(5, 1fr); */
    grid-column-gap: 5px;
    grid-row-gap: 5px;	
   /* 
    top: 0;    left: 0;    right: 0;    bottom: 0;*/
    margin: auto;   
    min-height: 120px;
    max-height: 300px;
    height: min-content;
    min-width: 440px;
    width: fit-content; 
    position: fixed;
    top: 50%;
    left: 10%;

    z-index: 5;
    animation: fade-in-bck 1s cubic-bezier(0.390, 0.575, 0.565, 1.000) 8s both;
}

@keyframes fade-in-bck {
    0% {
      transform: translateZ(80px);
      opacity: 0;
    }
    100% {
      transform: translateZ(0);
      opacity: 1;
    }
  }

  form div {
    grid-area: 5 / 1 / 6 / 3;
    color: #e5e5e5;
    font-size: 12px;
}

input {
    width: 300px;
    height: 40px;
    border-radius: 4px;
    background-color: var(--input-color);
    font-family: 'Kelson',Helvetica,Arial,Lucida,sans-serif;
    justify-content: center;
    border: none;
    outline: none;
    padding-left: 10px;
	background: #eaeaea;
}

input[name="email"] {
    grid-area: 1 / 1 / 2 / 2;
}

input[name="password"] {
    grid-area: 2 / 1 / 3 / 2;
}

input[name="code"] {
    grid-area: 3 / 1 / 4 / 2;
}

input[name="code"]::placeholder {
	color: #777777;
}

button {
    width: 150px;
    height: 40px;
    border-radius: 4px;
    border: none;
    color: #fff;
    font-size: 16px;
    font-family: 'Kelson',Helvetica,Arial,Lucida,sans-serif;
    text-transform: uppercase;
    font-weight: 600;
    cursor: pointer;
}

button.login-only.login {
    grid-area: 1 / 2 / 2 / 3;
    background: #D02729;
    cursor: pointer;
    
}

button.login-only.login:hover {
    background: #ff0004;
    border: 1px solid #fff;
    transition: .3s;
}

button.login-only.register {
    grid-area: 2 / 2 / 3 / 3;
    background: #0084AD;
    cursor: pointer;
}

button.login-only.register:hover {
    background: #00c3ff;
    border: 1px solid #fff;
    transition: .3s;
}

button.login-only.forgot {
    grid-area: 4 / 1 / 5 / 3;
    color: #cacaca;
    background: none;
    font-size: 14px;
    cursor: pointer;
    border-radius: 0px;

	text-align: left;
	font-weight: 400;
	cursor: pointer;
	font-size: 12px;
    width: 220px;
    height: 20px;
}

button.login-only.forgot:hover {
    color: #75C2F6;
}

button.register-only.register {
    grid-area: 1 / 2 / 2 / 3;
    background: #FF6666;
    cursor: pointer;
}

button.register-only.register:hover {
    background: #FF2171;
}

button.register-only.cancel {
    grid-area: 2 / 2 / 3 / 3;
    background: #176B87;
}

button.register-only.cancel:hover {
    background: #64CCC5;
}

.email, .password {
    height: 5px;
}

/* ----------------- */

.Owl {
    width: 400px;
    height: auto;
    position: absolute;
    z-index: 1;
    top: calc(40% - 150px);
    left: calc(10% + 25px);
    margin: 0 auto;
    animation: fade-in-fwd 0.6s cubic-bezier(0.390, 0.575, 0.565, 1.000) 9s both;
}

@keyframes fade-in-fwd {
    0% {
      transform: translateZ(-80px);
      opacity: 0;
    }
    100% {
      transform: translateZ(0);
      opacity: 1;
    }
  }

.OwlEye {
    fill: #c61814;

    animation: flicker-1 4s cubic-bezier(0.215, 0.610, 0.355, 1.000) infinite forwards;
}

@keyframes flicker-1 {
    0%,
    100% {
      opacity: 1;
    }
    41.99% {
      opacity: 1;
    }
    42% {
      opacity: 0;
    }
    43% {
      opacity: 0;
    }
    43.01% {
      opacity: 1;
    }
    47.99% {
      opacity: 1;
    }
    48% {
      opacity: 0;
    }
    49% {
      opacity: 0;
    }
    49.01% {
      opacity: 1;
    }
  }
  
.redOwlLogo img {
    width: 500px;
    left: calc(60% + -7px);
    top: calc(60% - 250px);
    position: absolute;
    animation: fade-in-fwd 0.6s cubic-bezier(0.390, 0.575, 0.565, 1.000) 9.5s both;
}

@keyframes fade-in-fwd {
    0% {
      transform: translateZ(-80px);
      opacity: 0;
    }
    100% {
      transform: translateZ(0);
      opacity: 1;
    }
  }
  

/* ---------- FRONT LOGO ------------- */

.frontLogo {
    width: 60%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    height: fit-content;    
    font-family: 'Kelson';
    z-index: 2;
    animation: puff-in-center 4s cubic-bezier(0.470, 0.000, 0.745, 0.715) 3s both;
}

@keyframes puff-in-center {
    0% {
      transform: scale(6);
      filter: blur(4px);
      opacity: 0;
    }
    20% {
        opacity: 1;
        transform: scale(1);
        filter: blur(0px);      
    }
    80% {
        opacity: 1;
        transform: scale(1);
        filter: blur(0px);       
    }
    100% {
      transform: scale(1);
      filter: blur(0px);
      opacity: 0;
    }

  }
  
  .OwlEyeLogo {
    animation: blink .6s cubic-bezier(0.785, 0.135, 0.15, 0.86) 5.5s both;
    fill: #c61814;
  }

  @keyframes blink {
    0% {
        opacity: 1;
    }
    50% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
  }
  
  
  


