*, *::before,*::after {
  box-sizing: border-box;
}

* {
  margin: 0;
  padding: 0;
  border: 0 solid transparent;
}

html {
  -webkit-text-size-adjust: 100%;
}



body {
  margin: 0;
  padding: 0;
  min-height: 100vh;
  font-family: Arial, Helvetica, sans-serif;
  
  display: flex;
  justify-content: center;
  align-items: center;

  background-image: url('images/portal/bg.png');
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  background-attachment: fixed;
  
  /* Modern browsers */
  background-image: 
    linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0)), 
    url('../images/portal/bg.png');
}

/* For mobile devices */
@media (max-width: 768px) {
  body {
    background-attachment: scroll;
  }
}

.outercontainer {
  height: auto;
}

.outercontainer .container {
  display: flex;
  width: 900px;
  max-width: 100%;
  height: auto;
  background: #ffffff;
  box-shadow: 0 0 20px rgba(0,0,0,0.1);
  border-radius: 8px;
  overflow: hidden;
  flex-wrap: wrap;
}



.outercontainer .copyright {
  font-size: 12px;
  text-align: center;
  padding: 0.7rem 0;
}
.container_left {
  flex: 1;
  min-width: 300px;
  position: relative;
}

.container_left img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.container_left .logo {
  position: absolute;
  width: 40%;
  top:15px;
  left: 15px;
}
.container_left .logo > img {
  width: 30%;
  object-fit: cover;
  display: block;
}




.container_right {
flex: 1;
min-width: 300px;
padding: 40px 30px;
display: flex;
align-items: center;
justify-content: center;
position: relative;
}

.container_right form {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 10px;
}

.container_right .logintext, 
.container_right .gradekey,
.container_right .typingpwd,
.container_right .enterkey,
.container_right .gsign {
text-align: center;
margin:0;

}
.container_right .logintext {
  font-size: 4rem;
  font-weight: 400;
}
.container_right .gradekey input[type=text] {
  width: 250px;
  background: #90d7ef;
  padding: 1rem 0.7rem;
  border: 4px solid #000;
  font-size: 1.8rem;
  border-radius: 1.3rem;
  text-align: left;
  font-weight: 600;
}
.container_right .enterkey input[type=submit] {
  width: 250px;
  background: #ff9248;
  padding: 1rem 0.2rem;
  border: 4px solid #000;
  font-size: 2.8rem;
  font-weight: 500;
  border-radius: 1.3rem;
  margin: 0.5rem 0;
  cursor: pointer;
  transition-duration: 0.4s;
}
.container_right .enterkey input[type=submit]:hover {
  background: #e96005;
  color: #fff;
  transition-duration: 0.4s;
}
.container_right .logintext {
  margin-bottom: 40px;
  font-weight:	bold;
}

/* Center and bold placeholder across all major browsers */

/* Chrome, Safari, Opera */
.container_right input::placeholder {
  text-align: center;
  font-weight: 600;
  color: #000;
}

/* Firefox */
.container_right input::-moz-placeholder {
  text-align: center;
  font-weight: bold;
}

/* Internet Explorer 10-11 */
.container_right input:-ms-input-placeholder {
  text-align: center;
  font-weight: bold;
}

/* Microsoft Edge */
.container_right input::-ms-input-placeholder {
  text-align: center;
  font-weight: bold;
}


.container_right .ortext {
  margin-top: -0;
  margin-bottom: 10px;
  text-align: center;
  padding-left: 0;
}
.container_right .ortext > img {
  width: 90px;
}
.container_right img {
width: 55%;
}

.login-with-google-btn {
  transition: background-color .3s, box-shadow .3s;
    
  padding: 22px 16px 22px 42px;
  
  border: none;
  border-radius: 3px;
  box-shadow: 0 -1px 0 rgba(0, 0, 0, .04), 0 1px 1px rgba(0, 0, 0, .25);
    border-radius: 1.3rem;

  color: #0f54b0;
  font-size: 20px;
  font-weight: 500;
  font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",sans-serif;
  cursor: pointer;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJNMTcuNiA5LjJsLS4xLTEuOEg5djMuNGg0LjhDMTMuNiAxMiAxMyAxMyAxMiAxMy42djIuMmgzYTguOCA4LjggMCAwIDAgMi42LTYuNnoiIGZpbGw9IiM0Mjg1RjQiIGZpbGwtcnVsZT0ibm9uemVybyIvPjxwYXRoIGQ9Ik05IDE4YzIuNCAwIDQuNS0uOCA2LTIuMmwtMy0yLjJhNS40IDUuNCAwIDAgMS04LTIuOUgxVjEzYTkgOSAwIDAgMCA4IDV6IiBmaWxsPSIjMzRBODUzIiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48cGF0aCBkPSJNNCAxMC43YTUuNCA1LjQgMCAwIDEgMC0zLjRWNUgxYTkgOSAwIDAgMCAwIDhsMy0yLjN6IiBmaWxsPSIjRkJCQzA1IiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48cGF0aCBkPSJNOSAzLjZjMS4zIDAgMi41LjQgMy40IDEuM0wxNSAyLjNBOSA5IDAgMCAwIDEgNWwzIDIuNGE1LjQgNS40IDAgMCAxIDUtMy43eiIgZmlsbD0iI0VBNDMzNSIgZmlsbC1ydWxlPSJub256ZXJvIi8+PHBhdGggZD0iTTAgMGgxOHYxOEgweiIvPjwvZz48L3N2Zz4=);
  background-color: #9adbf2;
  background-repeat: no-repeat;
  background-position: 22px 25px;
   border: 2px solid #000;
   transition-duration: 0.4s;

  &:hover {
    box-shadow: 0 -1px 0 rgba(0, 0, 0, .04), 0 2px 4px rgba(0, 0, 0, .25);
     background-color: #ffffff;
  }
  
  &:active {
    background-color: #eeeeee;
  }
  
  &:focus {
    outline: none;
    box-shadow: 
      0 -1px 0 rgba(0, 0, 0, .04),
      0 2px 4px rgba(0, 0, 0, .25),
      0 0 0 3px #c8dafc;
  }
  
  &:disabled {
    filter: grayscale(100%);
    background-color: #ebebeb;
    box-shadow: 0 -1px 0 rgba(0, 0, 0, .04), 0 1px 1px rgba(0, 0, 0, .25);
    cursor: not-allowed;
  }
}


/* Tablet view (iPad and similar) */
@media only screen and (max-width: 1024px) {
  .outercontainer .container {
    width: 92vw;
  }
.container_left {
  width: 45vw;
  position: relative;

}

.container_left .logo {
  position: absolute;
}
  .container_right {
      width: 55vw;
  }
}
* === Dropdown and Password field CSS #START ====== */
.container_right .dropdownfield {
  position: relative;
  text-align: center;
}

.container_right .dropdownfield select {
  width: 250px;
  background: #90d7ef url('data:image/svg+xml;utf8,<svg fill="black" height="28" viewBox="0 0 24 24" width="28" xmlns="http://www.w3.org/2000/svg"><path d="M7 10l5 5 5-5z"/></svg>') no-repeat right 1.2rem center;
  background-size: 1.6rem;
  padding: 1rem 3rem 1rem 0.7rem; /* extra right padding for larger icon */
  border: 4px solid #000;
  font-size: 1.8rem;
  border-radius: 1.3rem;
  text-align: center;
  font-weight: 600;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
}

.container_right .typingpwd input[type=text] {
  width: 350px;
  background: #90d7ef;
  padding: 1rem 0.7rem;
  border: 4px solid #000;
  font-size: 1.8rem;
  border-radius: 1.3rem;
  text-align: left;
  font-weight: 600;
}

.container_right .passwordfield input[type=password] {
  width: 340px;
  background: #90d7ef;
  padding: 1rem 0.7rem;
  border: 4px solid #000;
  font-size: 1.8rem;
  border-radius: 1.3rem;
  text-align: center;
  font-weight: 600;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

.container_right .dropdownfield select:invalid {
  color: #666;
}

.container_right .dropdownfield,
.container_right .passwordfield {
  text-align: center;
}
/* === Dropdown and Password field CSS #END ====== */

.btn_back {
  text-align: right;
  position: absolute;
  bottom: 10px;
  right: 10px;
}
    .back-button {
      display: inline-flex;
      align-items: center;
      padding: 8px 12px;
      background-color: #f0f0f0;
      border: none;
      border-radius: 6px;
      font-size: 16px;
      cursor: pointer;
      text-decoration: none;
      color: #333;
      transition: background-color 0.3s;
	  font-weight: 600;
    }

    .back-button:hover {
      background-color: #e0e0e0;
    }

    .back-button .arrow {
      margin-right: 8px;
      font-size: 18px;
    }