* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
body, html {
    height: 100%;
    width: 100%;
    font-family: sans-serif;
}
.login_page {
    display: flex;
    height: 100vh;
    width: 100vw;
}
.left {
    width: 57%;
    background: linear-gradient(135deg, #ed7339, #000);
    color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2rem;
}
.right { 
    width: 43%;
    background: #000;
    color: #333;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2rem;
}
@media (max-width: 768px) {
    .container {
        flex-direction: column;
    }
    .left, .right {
        flex: none;
        height: 50vh;
        width: 100vw;
    }
}
.container { 
 /* background: linear-gradient(
    0deg,
    rgb(255, 255, 255) 0%,
    rgb(244, 247, 251) 100%
  );  
  box-shadow: rgba(133, 215, 188, 0.88) 0px 30px 30px -20px;
  border: 5px solid rgb(255, 255, 255);
  */
  border-radius: 40px;
  padding: 25px 35px;
  margin: 20px;
}

.LoginConten {
  background-image: url(../img/login2.png);
  border-radius: 40px;
  padding: 15% 25%;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 15%;
  left: 15%;
}

.heading {
  text-align: center;
  font-weight: bold;
  font-size: xx-large;
  color: #fff;
}
.headingSub {
  text-align: center; 
  font-size: small;
  color: #d2eaec;
}

.form {
  margin-top: 20px;
}

.form .input {
  width: 100%;
  background: white;
  border: none;
  padding: 15px 20px;
  border-radius: 20px;
  margin-top: 15px;
  box-shadow: #073c5d 0px 10px 10px -5px;
  border-inline: 2px solid transparent;
}

.form .input::-moz-placeholder {
  color: rgb(170, 170, 170);
}

.form .input::placeholder {
  color: rgb(170, 170, 170);
}

.form .input:focus {
  outline:  2px solid #fffb00;
  border-inline: 1px solid #fffb00;
}

.form .forgot-password {
  display: block;
  margin-top: 10px;
  margin-left: 10px;
}

.form .forgot-password a {
  font-size: 11px;
  color: #0099ff;
  text-decoration: none;
}

.form .login-button {
  display: block;
  width: 100%;
  font-weight: bold;
  background: linear-gradient( 45deg, rgb(7, 60, 93) 0%, rgb(236, 115, 57) 100% );
  color: white;
  padding-block: 15px;
  margin: 20px auto;
  border-radius: 20px; 
  border: none;
  transition: all 0.2s ease-in-out;
}

.form .login-button:hover {
  transform: scale(1.03);
  box-shadow: rgba(133, 189, 215, 0.8784313725) 0px 23px 10px -20px;
}

.form .login-button:active {
  transform: scale(0.95);
  box-shadow: rgba(133, 189, 215, 0.8784313725) 0px 15px 10px -10px;
}

.social-account-container {
  margin-top: 25px;
}

.social-account-container .title {
  display: block;
  text-align: center;
  font-size: 10px;
  color: rgb(170, 170, 170);
}

.social-account-container .social-accounts {
  width: 100%;
  display: flex;
  justify-content: center;
  gap: 15px;
  margin-top: 5px;
}

.social-account-container .social-accounts .social-button {
  background: linear-gradient(45deg, rgb(0, 0, 0) 0%, rgb(112, 112, 112) 100%);
  border: 5px solid white;
  padding: 5px;
  border-radius: 50%;
  width: 40px;
  aspect-ratio: 1;
  display: grid;
  place-content: center;
  box-shadow: rgba(133, 189, 215, 0.8784313725) 0px 12px 10px -8px;
  transition: all 0.2s ease-in-out;
}

.social-account-container .social-accounts .social-button .svg {
  fill: white;
  margin: auto;
}

.social-account-container .social-accounts .social-button:hover {
  transform: scale(1.2);
}

.social-account-container .social-accounts .social-button:active {
  transform: scale(0.9);
}

.agreement {
  display: block;
  text-align: center;
  margin-top: 15px;
}

.agreement a {
  text-decoration: none;
  color: #0099ff;
  font-size: 9px;
}


.error-td { 
    text-align: right;
    font-size: 12px;
    padding-top: 10px;
    font-style: italic;
}
/* Style untuk pesan error */
.error-message {
    color: red;
    visibility: hidden;
    opacity: 0;
    transition: visibility 0s, opacity 0.5s ease;
}

/* Menampilkan pesan error dengan animasi */
.error-message.show {
    visibility: visible;
    opacity: 1;
}

/* Style default */
.input {
    border: 1px solid #ccc;
    transition: border 0.3s ease;
}

/* Style untuk error pada input */
.input.error {
    border: 2px solid red;
    animation: shake 0.3s ease; /* Menambah animasi shake */
}

/* Animasi shake */
@keyframes shake {
    0% { transform: translateX(0); }
    25% { transform: translateX(-5px); }
    50% { transform: translateX(5px); }
    75% { transform: translateX(-5px); }
    100% { transform: translateX(0); }
}