body, html { height: 100%; margin: 0; background-color: #deffe1; /* original background */ font-family: Arial, sans-serif; } /* Optional centering for login-specific pages */ body.centered { display: flex; justify-content: center; align-items: center; background-color: #90EE90; /* optional light green for login */ } /* Registration form */ .registration-form { padding: 50px 0; } .registration-form form { max-width: 600px; width: 100%; background-color: #ffffff; padding: 60px; border-radius: 30px; margin: auto; box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.075); } .registration-form .form-icon { background-color: #fefefef6; border-radius: 50%; width: 150px; height: 150px; margin: auto auto 50px auto; display: flex; align-items: center; justify-content: center; } .registration-form .form-icon img { width: 60%; height: 60%; object-fit: contain; border-radius: 50%; } .registration-form .item { border-radius: 20px; margin-bottom: 25px; padding: 10px 20px; } .registration-form .create-account { border-radius: 30px; padding: 10px 20px; font-size: 18px; font-weight: bold; background-color: #099909; border: none; color: white; margin-top: 20px; } .home-button { border-radius: 30px; padding: 10px 20px; font-size: 18px; font-weight: bold; background-color: #6d7179; border: none; color: white; margin-top: 20px; } .registration-form .social-media { max-width: 600px; background-color: #fff; margin: auto; padding: 35px 0; text-align: center; border-radius: 30px; color: #9fadca; border-top: 1px solid #dee9ff; box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.075); } .registration-form .social-icons { margin-top: 30px; margin-bottom: 16px; } .registration-form .social-icons a { font-size: 23px; margin: 0 3px; color: #5691ff; border: 1px solid; border-radius: 50%; width: 45px; display: inline-block; height: 45px; text-align: center; background-color: #fff; line-height: 45px; } .registration-form .social-icons a:hover { text-decoration: none; opacity: 0.6; } /* Login container */ .login-container { max-width: 500px; width: 100%; background-color: #ffffff; padding: 60px; border-radius: 30px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); text-align: center; } .logo { width: 120px; height: 120px; border-radius: 50%; object-fit: cover; margin-bottom: 20px; } /* Form elements */ .form-group { margin-bottom: 15px; text-align: left; } .form-group label { display: block; margin-bottom: 5px; } .form-group input { width: 100%; padding: 10px; border: 1px solid #ccc; border-radius: 5px; text-align: left; } .form-actions { margin-top: 20px; } .form-actions button { width: 100%; padding: 10px; background-color: #008000; color: white; border: none; border-radius: 5px; cursor: pointer; transition: background-color 0.3s ease; } .form-actions button:hover { background-color: #006400; } .forgot-password { margin-top: 10px; text-align: center; } .forgot-password a { color: #008000; text-decoration: none; } .forgot-password a:hover { text-decoration: underline; } /* Validation styles */ .error-message { color: red; margin-bottom: 15px; } input.is-invalid, select.is-invalid { border: 2px solid #dc3545 !important; background-color: white !important; box-shadow: none !important; color: inherit; } .is-invalid:focus { box-shadow: 0 0 4px 1px rgba(220, 53, 69, 0.5); outline: none; } /* Animation for invalid fields */ @keyframes flashBorder { 0%, 100% { box-shadow: 0 0 0 2px red; } 50% { box-shadow: 0 0 6px 4px rgba(255, 0, 0, 0.6); } } .flash-error { animation: flashBorder 0.8s ease-in-out 2; } /* Responsive padding */ @media (max-width: 576px) { .registration-form form, .login-container { padding: 50px 20px; } .registration-form .form-icon { width: 70px; height: 70px; font-size: 30px; line-height: 70px; } } .input-with-icon { position: relative; } .input-with-icon .form-control { padding-right: 2.5rem; } .input-with-icon .toggle-password { position: absolute; top: 50%; right: 0.75rem; transform: translateY(-50%); cursor: pointer; color: #6c757d; } .alert-danger { background-color: #fff3f3; border-color: #f5c6cb; } .btn-outline-danger:hover { background-color: #dc3545; color: #fff; } .policy-label::after { content: " *"; color: red; }