 :root {
   --primary-color: rgb(200, 16, 46);
   --secondary-color: rgb(228, 168, 34);
   --field-text-color: rgb(0, 0, 0);
   --bg-color: rgb(245, 246, 246);
   --heading-color: rgb(255, 255, 255);
   --text-color: rgb(0, 0, 0);
   --label-color: rgb(74, 78, 82);
   --border-color: rgb(226, 228, 228);
 }

 body {
   font-family: "Gotham SSm A", "Gotham SSm B", Helvetica, sans-serif;
   width: 100%;
   position: relative;
   min-height: 100vh;
 }

 a {
   color: #5698D0;
 }

 a:hover {
   color: #7DA1C4;
 }

 .ls-bg {
   position: absolute;
   z-index: 0;
   width: 100%;
   height: 100%;
   top: 0;
   overflow: hidden;
   left: 0;
 }

 .ls-bg-inner {
   object-fit: cover;
   width: 100%;
   height: 100%;
   object-position: 50% 50%;
   background-color: rgb(51, 49, 48);
 }

 h2 {
   font-size: 25px;
 }

 main {
   position: relative;
   z-index: 10000;
   min-height: 100vh;
 }

 main::after {
   content: "";
   position: absolute;
   height: 100%;
   top: 0;
   right: -15%;
   width: 50%;
   z-index: 0;
   clip-path: circle(70% at 80% 50%);
   background-color: var(--bg-color);
 }

 .info-registrazione {
   padding: 10px;
   font-size: 20px;
   min-height: 350px;
   text-align: center;
 }

 .mobile-image-home {
   width: 100% !important
 }

 ;

 .wrapper {
   padding: 40px 0px 118px 118px;
   width: 95%;
   height: auto;
 }

 .main-inner {
   position: relative;
   height: 100%;
 }

 .form-title-paragrafi {
   font-size: 16px !important;
   padding-bottom: 10px;
 }

 .logo {
   display: flex;
   align-items: center;
   height: auto;
   position: relative;
   z-index: 10;
 }

 .logo-icon {
   width: auto;
 }

 .logo-icon img {
   width: 100%;
 }

 .logo-text {
   font-size: 37px;
   color: var(--heading-color);
   font-weight: bold;
   margin-left: 8px;
 }

 .p-relate {
   position: relative;
   height: 100%;
 }

 .side-text {
   position: absolute;
   bottom: 0;
   left: 0;
 }

 .side-text * {
   margin: 0;
 }

 .side-text span {
   font-size: 12px;
   padding: 5px;
   color: var(--heading-color);
   display: block;
   line-height: 0.5;
 }

 .main-heading {
   font-size: 104px;
   font-family: "Gotham SSm A", "Gotham SSm B", Helvetica, sans-serif;
   color: var(--heading-color);
   text-transform: uppercase;
   font-weight: 900;
   line-height: 1;
 }

 .side-text p {
   font-size: 18px;
   color: var(--heading-color);
 }

 .logSign {
   display: flex;
   width: 80%;
   height: auto;
   border: solid 1px var(--bg-color);
   border-radius: 12px;
   overflow: hidden;
   margin-top: 50px;
 }

 .logSign button {
   background-color: transparent;
   min-width: 50%;
   height: 54px;
   border: 0;
   transition: 0.4s;
   font-size: 18px;
   color: var(--heading-color);
   font-weight: bold;
   position: relative;
   z-index: 1;
 }

 .logSign button.active {
   color: var(--field-text-color);
 }

 .logSign button.active:before {
   content: "";
   width: 100%;
   height: 100%;
   background-color: var(--bg-color);
   color: var(--field-text-color);
   position: absolute;
   top: 0;
   left: 0;
   z-index: -1;
 }

 .form {
   border-radius: 12px;
   background-color: var(--bg-color);
   box-shadow: 0px 0px 60px 0px rgba(94, 92, 154, 0.12);
   margin-left: auto;
   min-height: 500px;
   padding: 65px;
   margin-right: 40px;
   position: relative;
   z-index: 100000;
 }

 .form-title {
   font-size: 20px;
   color: var(--text-color);
   font-weight: 500;
   text-align: center;
   margin-bottom: 70px;
   transition: 0.4s;
 }

 .input-field {
   margin-bottom: 30px;
   transition: 0.4s;
   position: relative;
   display: grid;
   align-items: center;
   opacity: 0;
   width: 100%;
   height: 52px;
   min-height: 52px;
   background-color: var(--bg-color);
 }

 .input-field input {
   border: solid 1px var(--border-color);
   border-radius: 12px;
   width: 100%;
   transition: 0.4s;
   height: 100%;
   padding-left: 18px;
   font-size: 18px;
   color: var(--field-text-color);
   font-weight: 600;
 }

 .input-field select {
   border: solid 1px var(--border-color);
   border-radius: 12px;
   width: 100%;
   transition: 0.4s;
   height: 100%;
   padding-left: 18px;
   font-size: 18px;
   color: var(--field-text-color);
   font-weight: 600;
 }

 .input-field input:focus {
   outline: 0;
   border-color: var(--secondary-color);
 }

 .input-field label {
   font-size: 18px;
   color: var(--label-color);
   position: absolute;
   left: 17px;
   transition: 0.4s;
   pointer-events: none;
   width: max-content;
   padding: 0 3px;
   background-color: var(--bg-color);
 }

 .input-field:focus-within label {
   transform: translatey(-24px);
   font-size: 15px !important;
 }

 .copy {
   font-size: 11px;
 }

 .input-field input:valid+label {
   transform: translatey(-24px);
   font-size: 15px;
 }

 .input-field input:invalid+label {
   font-size: 18px;
   text-transform: uppercase !important;
 }

 .input-field  input[type=date] {
     min-width: 95% !important;
   }



 .rememberme {
   display: flex;
   align-content: center;
   height: auto;
   margin-bottom: 30px;
 }

 .rememberme label {
   font-size: 15px;
   color: var(--field-text-color);
   margin-left: 10px;
 }


 .rememberme input[type=checkbox] {
   -webkit-appearance: none;
   border-radius: 6px;
   background-color: rgb(99, 171, 134);
   width: 22px;
   height: 22px;
   position: relative;
   cursor: pointer;
 }

 .rememberme input[type=checkbox]::before {
   content: "X";
   font-family: "Gotham SSm A", "Gotham SSm B", Helvetica, sans-serif;
   font-weight: 200;
   font-size: 14px;
   color: var(--heading-color);
   width: 100%;
   transition: 0.4s;
   height: 100%;
   position: absolute;
   text-align: center;
   line-height: 22px;
 }

 .rememberme input[type=checkbox]:checked::before {
   content: 'v';
   font-family: "Font Awesome 5 free";
   font-size: 8px;
 }

 .forget {
   font-size: 15px;
   color: var(--label-color);
   font-weight: bold;
   text-decoration: none;
   margin-bottom: 30px;
 }

 .forget:hover {
   color: var(--secondary-color);
 }

 .login-btn button {
   border-radius: 12px;
   background-color: rgb(247, 144, 49);
   width: 100%;
   transition: 0.4s;
   height: 54px;
   font-size: 18px;
   margin-bottom: 40px;
   border: 0;
   position: relative;
   color: var(--heading-color);
   font-weight: bold;
   overflow: hidden;
 }

 .login-btn .signup {
   background-color: var(--primary-color);
 }

 .login-btn button::before {
   content: "GO!";
   font-size: 18px;
   font-weight: bold;
   background-color: var(--field-text-color);
   color: var(--heading-color);
   line-height: 54px;
   display: block;
   transition: 0.4s;
   height: 100%;
   position: absolute;
   top: 0;
   left: -65px;
   width: 65px;
 }

 .login-btn button:hover::before {
   left: 0;
 }

 .login-btn button:hover {
   padding-left: 65px;
 }

 .divide-heading {
   position: relative;
   z-index: 1;
   margin-bottom: 30px;
 }

 .divide-heading span {
   font-size: 15px;
   color: var(--field-text-color);
   font-weight: bold;
   text-align: center;
   background-color: var(--bg-color);
   padding: 0 18px;
   width: max-content;
   margin: 0 auto;
   display: block;
 }

 .divide-heading::after {
   content: "";
   position: absolute;
   width: 100%;
   background-color: rgb(234, 234, 245);
   height: 1px;
   left: 0;
   right: 0;
   margin-left: auto;
   margin-right: auto;
   top: 10px;
   z-index: -1;
 }

 .social-signup {
   display: flex;
   flex-wrap: wrap;
   width: 100%;
   height: auto;
   justify-content: center;
 }

 .social-signup a {
   border-radius: 10px;
   background-color: var(--field-text-color);
   width: 40px;
   height: 40px;
   display: grid;
   justify-content: center;
   align-content: center;
   text-decoration: none;
   margin: 0 7px;
 }

 .social-signup a.facebook {
   background-color: rgb(55, 99, 210);
 }

 .social-signup a.twitter {
   background-color: rgb(26, 188, 255);
 }

 .social-signup a.twitch {
   background-color: rgb(123, 93, 250);
 }

 .social-signup a.youtube {
   background-color: rgb(253, 67, 79);
 }

 .social-signup a i {
   color: var(--heading-color);
   font-size: 15px;
 }

 .register-text {
   font-size: 14px;
   color: var(--field-text-color);
 }

 .register-text a {
   color: rgb(35, 210, 226);
   text-decoration: none;
 }

 main .signup-form {
   display: none;
 }

 .logo-home {
   max-width: 350px;
   display: block;
   margin-left: auto;
   margin-right: auto;
   width: 50%;
 }

 .thankyou-page .logo {
   justify-content: center;
   margin-top: 60px;
 }

 .thankyou-page .logo-icon {
   width: 55px;
   margin-right: 10px;
 }

 .thankyou-page .logo .logo-icon img {
   width: 100%;
 }

 .thankyou-page .logo-text {
   font-size: 65px;
 }

 .thankyou-page .main-inner {
   background-image: url(../images/thankyou-bg.png) !important;
   background-color: var(--text-color-hover);
 }

 .thankyou-page article {
   text-align: center;
   margin-top: 80px;
 }

 .thankyou-page article h1 {
   font-size: 75px;
   font-weight: bold;
   text-transform: uppercase;
 }

 .thankyou-page article h1 span {
   display: block;
   font-size: 80px;
   font-weight: 900;
   color: var(--primary-color);
 }

 .thankyou-page article span {
   font-size: 18px;
   color: var(--primary-color);
   font-weight: 500;
 }

 .thankyou-page article p {
   font-size: 18px;
   font-family: "Myriad Pro";
   color: var(--secondary--text-color);
   margin: 0 auto;
   margin-top: 45px;
   width: 39%;
 }

 .social-media {
   text-align: center;
   margin: 40px auto;
   background-color: var(--text-color-hover);
   width: 30%;
   padding: 6px 10px;
 }

 .social-media a {
   border: solid 1px rgb(244, 244, 244);
   border-radius: 5px;
   background-color: transparent;
   color: var(--secondary--text-color);
   font-size: 18px;
   font-weight: bold;
   padding: 10px 18px;
   text-decoration: none;
   display: inline-block;
 }

 .social-media a i {
   margin-right: 10px;
   font-size: 18px;
 }

 .back-home {
   width: 188px;
   height: 63px;
   margin: 0 auto;
 }

 .back-home a {
   background-color: var(--primary-color);
   border-radius: 50px;
   color: var(--text-color-hover);
   width: 100%;
   height: 100%;
   display: block;
   text-decoration: none;
   text-align: center;
   line-height: 63px;
   font-size: 17px;
   color: rgb(255, 255, 255);
   font-weight: bold;
   border: 0;
 }

 #sub img {
   width: 60px;
 }

 .highlight {
   border-top: solid 3px var(--primary-color) !important;
   border-bottom: solid 3px var(--primary-color) !important;
 }

 #error {
   position: fixed;
   top: 10px;
   left: 10px;
   z-index: 20;
 }

 .invalid {
   border: solid 2px #ff4444 !important;
   position: relative;
 }
