:root {
  --primary-color: #0D3451;
  --secondary-color: rgba(13, 52, 81, 1);
  --input-border: #0D3451;
  --error-color: #d32f2f;
  --google-btn-bg: transparent;
  --google-btn-border: none;
  --google-btn-radius: 8px;
  --google-logo-size: 32px;
  --form-label-weight: 700;
  --form-label-size: 1.1rem;
  --form-input-width: 100%;
  --form-input-max-width: 400px;
  --form-input-min-width: 200px;
  --form-input-height: 41px;
  --form-input-border: 0.5px solid var(--input-border);
  --form-input-radius: 8px;
  --login-btn-width: 185px;
  --login-btn-radius: 8px;
  --login-btn-padding: 0.7em 0em;
  --divider-color: #000;
  --divider-width: 80px;
  --divider-text-color: #000;
  --error-font-size: 0.95em;
  --error-margin-top: 2px;
  --error-margin-right: 150px;
}

.main-container {
  display: flex;
  box-sizing: border-box;
  background: #ffffff;
  margin: auto;
  position: relative;
  padding: 0px !important;
  margin-top: calc(var(--top-navbar-height) + 1rem);
}


.right-side {
  margin-left: 0;
}

.container {
  max-width: 1140px;
  padding: 0px 15px;
}

.common_forms {
  width: 60%;
  margin: 0 auto;
  padding-top: 1em;
  text-align: center;
}

.googleContainer label.login-label {
  font-weight: var(--form-label-weight);
  font-size: var(--form-label-size);
  display: block;
  margin-bottom: 1rem;
}
 
.form-inputs input {
  border: var(--form-input-border);
  border-radius: var(--form-input-radius);
  height: var(--form-input-height);
  font-size: 1rem;
  width: 100%;
  margin-bottom: 0.5rem;
  padding: .375rem .75rem;
}

.error-message {
  color: var(--error-color);
  font-size: var(--error-font-size);
  margin-top: var(--error-margin-top);
  margin-right: var(--error-margin-right);
  text-align: left;
}

/* Alert message styling */
.alert {
  border-radius: 8px;
  margin-bottom: 1rem;
  padding: 0.75rem 1.25rem;
  border: 1px solid transparent;
  position: relative;
  animation: slideIn 0.3s ease-out;
}

@keyframes slideIn {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.alert-danger {
  color: #721c24;
  background-color: #f8d7da;
  border-color: #f5c6cb;
}

.alert-success {
  color: #155724;
  background-color: #d4edda;
  border-color: #c3e6cb;
  /* Add a subtle animation for success messages */
  animation: slideIn 0.3s ease-out, pulse 2s ease-in-out 0.5s;
}

@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.8; }
}

.alert-warning {
  color: #856404;
  background-color: #fff3cd;
  border-color: #ffeaa7;
}

.alert-info {
  color: #0c5460;
  background-color: #d1ecf1;
  border-color: #bee5eb;
}

.alert-dismissible {
  position: relative;
  padding-right: 4rem;
}

.alert-dismissible .close {
  position: absolute;
  top: 0;
  right: 0;
  padding: 0.75rem 1.25rem;
  color: inherit;
  background: transparent;
  border: 0;
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
  transition: opacity 0.2s;
}

.alert-dismissible .close:hover {
  opacity: 0.75;
}

/* Success message specific styling */
.alert-success.auto-dismiss {
  position: relative;
}

.alert-success.auto-dismiss::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  height: 3px;
  background: linear-gradient(90deg, #28a745, #20c997);
  animation: progressBar 5s linear;
}

@keyframes progressBar {
  0% { width: 100%; }
  100% { width: 0%; }
}

/* Ensure alerts are properly positioned and styled */
.common_forms .alert {
  margin-bottom: 1rem;
  text-align: left;
}

.common_forms .alert:first-child {
  margin-top: 1rem;
}

/* Mobile responsive alerts */
@media only screen and (max-width: 596px) {
  .alert {
    font-size: 0.9rem;
    padding: 0.5rem 1rem;
  }
  
  .alert-dismissible {
    padding-right: 3rem;
  }
}

.g-recaptcha {
  margin-top: 70px;
}

#login_btn {
  width: var(--login-btn-width);
  border-radius: var(--login-btn-radius);
  padding: var(--login-btn-padding);
  background: var(--primary-color);
  color: #fff;
  border: none;
  margin-top: 1.5rem;
  margin-bottom: 1rem;
  font-size: 1rem;
  font-weight: 600;
  transition: opacity 0.2s;
}
#login_btn:hover {
  opacity: 0.9;
  cursor: pointer;
}

.divider {
  border-color: var(--divider-color);
  width: var(--divider-width);
}
.divider-text {
  color: var(--divider-text-color);
}

#custom-google-btn {
  background: var(--google-btn-bg);
  border: var(--google-btn-border);
  box-shadow: none;
  padding: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  border-radius: var(--google-btn-radius);
}
#custom-google-btn img {
  width: var(--google-logo-size);
  height: var(--google-logo-size);
  display: block;
}
.g-signin2 {
  display: none;
}

/* Divider row */
.d-flex.align-items-center.justify-content-center.my-3 hr {
  border-color: var(--divider-color);
  width: var(--divider-width);
}
.d-flex.align-items-center.justify-content-center.my-3 span {
  color: var(--divider-text-color);
}
 
@media only screen and (max-width: 596px) {
  .searchBar{
    background-color: white;
    text-align: center;
  }
  .redirectionFont{
    font-size: 0.8rem;
  }
  .existing{
    margin-bottom: 0rem;
  }
  .containerHeader{
    font-weight: bolder;
  }
  .form-control::placeholder {
    color: var(--bluelevel01);
    opacity: 1;
  }
  .loginInput{
    padding: 1.375rem 1.75rem;
    margin-bottom: 0.5rem;
    font-size: 1.25rem;
  }
  .form-inputs{
    width: 90%;
  }
}

/* Hide default browser eye icon for password fields */
input[type="password"]::-webkit-credentials-auto-fill-button {
  display: none !important;
}

input[type="password"]::-webkit-contacts-auto-fill-button {
  display: none !important;
}

input[type="password"]::-webkit-credentials-auto-fill-button {
  display: none !important;
}

/* Hide default browser eye icon for password fields in Edge */
input[type="password"]::-ms-reveal,
input[type="password"]::-ms-clear {
  display: none !important;
}

/* Hide default browser eye icon for password fields in Firefox */
input[type="password"]::-moz-password-reveal {
  display: none !important;
}

/* Ensure our custom eye icon is properly positioned */
.input-group .btn-outline-secondary {
  border-left: 0;
  background-color: var(--bluelevel01);
  border-color: var(--bluelevel01);
}

.input-group .btn-outline-secondary:hover {
  background-color: var(--bluelevel01);
  border-color: var(--bluelevel01);
}

.input-group .btn-outline-secondary:focus {
  box-shadow: none;
  background-color: var(--bluelevel01);
  border-color: var(--bluelevel01);
}

/* Ensure password input field doesn't have rounded corners on the right side */
.input-group .form-control[type="password"] {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

/* Ensure the toggle button has proper styling */
#togglePassword,
#toggleConfirmPassword,
#toggleEmployerPassword,
#toggleEmployerConfirmPassword {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border-left: 0;
}

/* Ensure the eye icon is properly sized and positioned */
#togglePassword i,
#toggleConfirmPassword i,
#toggleEmployerPassword i,
#toggleEmployerConfirmPassword i {
  font-size: 14px;
  color: white;
}

#togglePassword:hover i,
#toggleConfirmPassword:hover i,
#toggleEmployerPassword:hover i,
#toggleEmployerConfirmPassword:hover i {
  color: white;
}