0% found this document useful (0 votes)
23 views15 pages

Login and Registration Form Design

Uploaded by

enzorivera112302
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd

Topics covered

  • User interface,
  • Form validation,
  • Session management,
  • Code organization,
  • Security measures,
  • Error handling,
  • Accessibility features,
  • Dynamic content loading,
  • Labeling,
  • Input fields
0% found this document useful (0 votes)
23 views15 pages

Login and Registration Form Design

Uploaded by

enzorivera112302
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd

Topics covered

  • User interface,
  • Form validation,
  • Session management,
  • Code organization,
  • Security measures,
  • Error handling,
  • Accessibility features,
  • Dynamic content loading,
  • Labeling,
  • Input fields

<!

doctype html>
<html lang="en">
<?php
include 'constants/[Link]';
include 'constants/[Link]';
?>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="shortcut icon" href="images/ico/[Link]">
<link rel="stylesheet" href="[Link]
awesome/5.15.4/css/[Link]">
<script src="[Link]
crossorigin="anonymous"></script>
<title>Login & Registeration Form</title>
<style>
@import url("[Link]
family=Poppins:wght@200;300;400;500;600;700;800&display=swap");

:root {
--primary-green: #4CAF50;
--secondary-green: #45a049;
--light-green: #8BC34A;
--dark-green: #2E7D32;
--yellow-green: #9ACD32;
--lime-green: #32CD32;
--olive-green: #556B2F;
--white: #ffffff;
--light-gray: #f0f0f0;
--dark-gray: #333333;
}

* {
margin: 0;
padding: 0;
box-sizing: border-box;
}

body,
input {
font-family: "Poppins", sans-serif;
}

.form-container {
background-color: var(--white);
}

.container {
position: relative;
width: 100%;
background-color: var(--white);
min-height: 100vh;
overflow: hidden;
}

.forms-container {
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
}

@media only screen and (max-width: 768px) {


.forms-container {
width: 100%;
height: 110%;
}
}

.signin-signup {
position: absolute;
top: 50%;
transform: translate(-50%, -50%);
left: 75%;
width: 50%;
transition: 1s 0.7s ease-in-out;
display: grid;
grid-template-columns: 1fr;
z-index: 5;
}

form {
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
padding: 0rem 5rem;
transition: all 0.2s 0.7s;
overflow: hidden;
grid-column: 1 / 2;
grid-row: 1 / 2;
}

[Link]-up-form {
opacity: 0;
z-index: 1;
}

[Link]-in-form {
z-index: 2;
}

.title {
font-size: 2.2rem;
color: var(--dark-green);
margin-bottom: 10px;
}

.input-field {
max-width: 380px;
width: 100%;
background-color: var(--light-gray);
margin: 10px 0;
height: 55px;
border-radius: 55px;
display: grid;
grid-template-columns: 15% 85%;
padding: 0 0.4rem;
position: relative;
}

.input-field i {
text-align: center;
line-height: 55px;
color: var(--olive-green);
transition: 0.5s;
font-size: 1.1rem;
}

.input-field input {
background: none;
outline: none;
border: none;
line-height: 1;
font-weight: 600;
font-size: 1.1rem;
color: var(--dark-gray);
}

.input-field input::placeholder {
color: #aaa;
font-weight: 500;
}

.social-text {
padding: 0.7rem 0;
font-size: 1rem;
}

.social-media {
display: flex;
justify-content: center;
}

.social-icon {
height: 46px;
width: 46px;
display: flex;
justify-content: center;
align-items: center;
margin: 0 0.45rem;
color: var(--dark-green);
border-radius: 50%;
border: 1px solid var(--dark-green);
text-decoration: none;
font-size: 1.1rem;
transition: 0.3s;
}

.social-icon:hover {
color: var(--light-green);
border-color: var(--light-green);
}

.btn {
width: 150px;
background-color: var(--primary-green);
border: none;
outline: none;
height: 49px;
border-radius: 49px;
color: var(--white);
text-transform: uppercase;
font-weight: 600;
margin: 10px 0;
cursor: pointer;
transition: 0.5s;
}

.btn:hover {
background-color: var(--secondary-green);
}

.btns {
width: 150px;
background-color: rgba(139, 195, 74, 0.5);
border: none;
outline: none;
height: 49px;
border-radius: 49px;
color: var(--white);
text-transform: uppercase;
font-weight: 600;
margin: 10px 0;
cursor: pointer;
transition: 0.5s;
}

.btns:hover {
background-color: var(--light-green);
}

.panels-container {
position: absolute;
height: 100%;
width: 100%;
top: 0;
left: 0;
display: grid;
grid-template-columns: repeat(2, 1fr);
}

.container:before {
content: "";
position: absolute;
height: 2000px;
width: 2000px;
top: -10%;
right: 48%;
transform: translateY(-50%);
background-image: linear-gradient(-45deg, var(--yellow-green) 0%, var(--lime-
green) 100%);
background-size: cover;
background-repeat: no-repeat;
background-position: center;
transition: 1.8s ease-in-out;
border-radius: 50%;
z-index: 6;
}

.image {
width: 100%;
transition: transform 1.1s ease-in-out;
transition-delay: 0.4s;
}

.panel {
display: flex;
flex-direction: column;
align-items: flex-end;
justify-content: space-around;
text-align: center;
z-index: 6;
}

.left-panel {
pointer-events: all;
padding: 3rem 17% 2rem 12%;
}

.right-panel {
pointer-events: none;
padding: 3rem 12% 2rem 17%;
}

.panel .content {
color: var(--white);
transition: transform 0.9s ease-in-out;
transition-delay: 0.6s;
}

.panel h3 {
font-weight: 600;
line-height: 1;
font-size: 1.5rem;
}

.panel p {
font-size: 0.95rem;
padding: 0.7rem 0;
}

.[Link] {
margin: 0;
background: none;
border: 2px solid var(--white);
width: 130px;
height: 41px;
font-weight: 600;
font-size: 0.8rem;
}

.right-panel .image,
.right-panel .content {
transform: translateX(800px);
}

/* ANIMATION */

.[Link]-up-mode:before {
transform: translate(100%, -50%);
right: 52%;
}

.[Link]-up-mode .left-panel .image,


.[Link]-up-mode .left-panel .content {
transform: translateX(-800px);
}

.[Link]-up-mode .signin-signup {
left: 25%;
}

.[Link]-up-mode [Link]-up-form {
opacity: 1;
z-index: 2;
}

.[Link]-up-mode [Link]-in-form {
opacity: 0;
z-index: 1;
}

.[Link]-up-mode .right-panel .image,


.[Link]-up-mode .right-panel .content {
transform: translateX(0%);
}

.[Link]-up-mode .left-panel {
pointer-events: none;
}

.[Link]-up-mode .right-panel {
pointer-events: all;
}

.introLoading {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.7);
display: flex;
justify-content: center;
align-items: center;
z-index: 9999;
visibility: visible;
transition: visibility 2s ease, opacity 5s ease;
}

.spinner {
border: 12px solid rgba(0, 0, 0, 0.1);
border-left: 12px solid var(--primary-green);
border-radius: 50%;
width: 80px;
height: 80px;
animation: spin 1s linear infinite;
}

@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}

.upload, .uploads {
width: 140px;
position: relative;
margin: auto;
text-align: center;
}

.upload img {
border-radius: 50%;
border: 8px solid var(--light-gray);
width: 125px;
height: 125px;
}

.uploads img {
border-radius: 20%;
border: 8px solid var(--light-gray);
width: 200px;
height: 125px;
}

.upload .rightRound, .upload .leftRound,


.uploads .rightRound, .uploads .leftRound {
position: absolute;
bottom: 0;
width: 32px;
height: 32px;
line-height: 33px;
text-align: center;
border-radius: 50%;
overflow: hidden;
cursor: pointer;
}

.upload .rightRound, .uploads .rightRound {


right: 0;
background: var(--primary-green);
}

.upload .leftRound, .uploads .leftRound {


left: 0;
background: var(--secondary-green);
}

.upload .fa, .uploads .fa {


color: var(--white);
}

.upload input, .uploads input {


position: absolute;
transform: scale(2);
opacity: 0;
}

.btn-center {
text-align: center;
display: block;
margin: 0 auto;
}

.form-group label {
display: block;
font-weight: bold;
margin-bottom: 0.5rem;
font-size: 1.2rem;
color: var(--dark-gray);
}

.form-group i {
margin-right: 0.5rem;
color: var(--primary-green);
}

.form-group input[type="file"] {
display: block;
width: 100%;
padding: 0.5rem;
font-size: 1rem;
border: 1px solid var(--light-gray);
border-radius: 0.25rem;
box-sizing: border-box;
}

.form-group small {
display: inline-block;
text-align: center;
margin-top: 0.5rem;
color: var(--dark-gray);
}

.form-group input[type="file"]:focus {
border-color: var(--primary-green);
outline: none;
box-shadow: 0 0 5px rgba(76, 175, 80, 0.5);
}

.alert {
margin: 0 auto;
padding: 15px;
max-width: 600px;
text-align: center;
border: 1px solid;
border-radius: 4px;
}
.alert-success {
background-color: var(--light-green);
color: var(--dark-green);
border-color: var(--primary-green);
}

.alert-error {
background-color: #f8d7da;
color: #721c24;
border-color: #f5c6cb;
}

.forms-group {
margin-bottom: 20px;
}

label {
font-size: 16px;
color: var(--dark-gray);
margin-bottom: 8px;
display: block;
font-family: Arial, sans-serif;
}

label i {
margin-right: 8px;
color: var(--primary-green);
}

select {
width: 100%;
padding: 10px;
font-size: 16px;
border: 1px solid var(--light-gray);
border-radius: 4px;
background-color: var(--white);
color: var(--dark-gray);
font-family: Arial, sans-serif;
box-sizing: border-box;
transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

select option:first-child {
color: #999;
}

select:focus {
border-color: var(--primary-green);
box-shadow: 0 0 5px rgba(76, 175, 80, 0.5);
outline: none;
}

select[disabled] {
background-color: var(--light-gray);
cursor: not-allowed;
}

button {
display: inline-block;
width: 150px;
height: 50px;
border-radius: 10px;
border: 1px solid var(--dark-green);
position: relative;
overflow: hidden;
transition: all 0.5s ease-in;
z-index: 1;
}

button::before,
button::after {
content: '';
position: absolute;
top: 0;
width: 0;
height: 100%;
transform: skew(15deg);
transition: all 0.5s;
overflow: hidden;
z-index: -1;
}

button::before {
left: -10px;
background: var(--primary-green);
}

button::after {
right: -10px;
background: var(--secondary-green);
}

button:hover::before,
button:hover::after {
width: 58%;
}

button:hover span {
color: var(--white);
transition: 0.3s;
}

button span {
color: var(--dark-green);
font-size: 18px;
transition: all 0.3s ease-in;
}

@media (max-width: 870px) {


.container {
min-height: 800px;
height: 100vh;
}
.signin-signup {
width: 100%;
top: 95%;
transform: translate(-50%, -100%);
transition: 1s 0.8s ease-in-out;
}

.signin-signup,
.[Link]-up-mode .signin-signup {
left: 50%;
}

.panels-container {
grid-template-columns: 1fr;
grid-template-rows: 1fr 2fr 1fr;
}

.panel {
flex-direction: row;
justify-content: space-around;
align-items: center;
padding: 2.5rem 8%;
grid-column: 1 / 2;
}

.right-panel {
grid-row: 3 / 4;
}

.left-panel {
grid-row: 1 / 2;
}

.image {
width: 200px;
transition: transform 0.9s ease-in-out;
transition-delay: 0.6s;
}

.panel .content {
padding-right: 15%;
transition: transform 0.9s ease-in-out;
transition-delay: 0.8s;
}

.panel h3 {
font-size: 1.2rem;
}

.panel p {
font-size: 0.7rem;
padding: 0.5rem 0;
}

.[Link] {
width: 110px;
height: 35px;
font-size: 0.7rem;
}

.container:before {
width: 1500px;
height: 1500px;
transform: translateX(-50%);
left: 30%;
bottom: 68%;
right: initial;
top: initial;
transition: 2s ease-in-out;
}

.[Link]-up-mode:before {
transform: translate(-50%, 100%);
bottom: 32%;
right: initial;
}

.[Link]-up-mode .left-panel .image,


.[Link]-up-mode .left-panel .content {
transform: translateY(-300px);
}

.[Link]-up-mode .right-panel .image,


.[Link]-up-mode .right-panel .content {
transform: translateY(0px);
}

.right-panel .image,
.right-panel .content {
transform: translateY(300px);
}

.[Link]-up-mode .signin-signup {
top: 5%;
transform: translate(-50%, 0);
}
}

@media (max-width: 570px) {


form {
padding: 0 1.5rem;
}

.image {
display: none;
}
.panel .content {
padding: 0.5rem 1rem;
}
.container {
padding: 1.5rem;
}

.container:before {
bottom: 72%;
left: 50%;
}

.[Link]-up-mode:before {
bottom: 28%;
left: 50%;
}
}
</style>
</head>
<body>
<!-- <div id="introLoader" class="introLoading">
<div class="spinner"></div>
</div>
-->
<div class="container">
<div class="forms-container">
<div class="signin-signup">
<?php
if (isset($_GET['p'])) {
$position = $_GET['p'];
if ($position == "Employee") {
include 'constants/[Link]';
} elseif ($position == "Employer") {
include 'constants/[Link]';
}
}
?>
</div>
</div>

<div class="panels-container">
<div class="panel left-panel">
<div class="content">
<h3>One of us ?</h3>
<p>
Whether you're hiring or looking for your next job, log in
to experience seamless recruiting or job searching. Access personalized tools to
simplify your journey.
</p>
<a href="[Link]"><button
class="btns">Login</button></a></div>
<img src="img/[Link]" class="image" alt=" " />

</div>

</div>
</div>

<script src="[Link]"></script>
<script>
[Link]('load', function() {
[Link]('Page is fully loaded.');
const loader = [Link]('introLoader');
if (loader) {
[Link] = 'hidden';
[Link] = '0';
[Link]('Loader hidden.');
} else {
[Link]('Loader element not found.');
}
});

function togglePasswordVisibility() {
var passwordField = [Link]("password");
var toggleIcon = [Link]("togglePassword");
if ([Link] === "password") {
[Link] = "text";
[Link]("fa-eye");
[Link]("fa-eye-slash");
} else {
[Link] = "password";
[Link]("fa-eye-slash");
[Link]("fa-eye");
}
}

function val() {
if ([Link] == "") {
alert("Enter the Password.");
[Link]();
return false;
}
if (([Link]).length < 8) {
alert("Password should be minimum 8 characters.");
[Link]();
return false;
}

if (([Link]).length > 20) {


alert("Password should be maximum 20 characters.");
[Link]();
return false;
}

if ([Link] == "") {
alert("Enter the Confirmation Password.");
return false;
}
if ([Link] != [Link]) {
alert("Password confirmation does not match.");
return false;
}

return true;
}

[Link]("fileImg").onchange = function() {
[Link]("image").src =
[Link]([Link][0]); // Preview new image

[Link]("cancel").[Link] = "block";
[Link]("confirm").[Link] = "block";

[Link]("upload").[Link] = "none";
}

var userImage = [Link]('image').src;


[Link]("cancel").onclick = function() {
[Link]("image").src = userImage; // Back to previous image

[Link]("cancel").[Link] = "none";
[Link]("confirm").[Link] = "none";
[Link]("upload").[Link] = "block";
}
</script>
</body>
</html>

You might also like