@charset "utf-8";

section.login_container {
  display: flex;
  height: 100vh;
  align-items: stretch;
  position: relative;
  overflow: hidden;
}

section.login_container .login_background {
  position: relative;
  width: 100%;
  height: 100%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

section.login_container .login_background .login_background_filter {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0.1;
  z-index: 0;
}

section.login_container .login_background .login_logo {
  position: absolute;
  top: 60px;
  left: 68px;
  height: 69px;
  user-select: none;
  z-index: 1;
}

section.login_container .login_left_container {
  flex: 1 1 0;
  height: 100vh;
  position: relative;
}

section.login_container .login_right_container {
  box-sizing: border-box;
  flex: 0 0 576px;
  height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  overflow: auto;
}

section.login_container .login_right_container .login_form {
  flex: 1 0 auto;
  display: flex;
  padding: 80px 28px 28px 28px;
  flex-direction: column;
  align-self: center;
  width: 400px;
  gap: 28px;
  overflow: hidden;
}

section.login_container .login_form .logo_wrap {
  display: flex;
  justify-content: center;
  align-items: center;
}

section.login_container .login_form .logo_wrap .univ_nm {
  color: var(--Gray-100, #1C1D20);
}

section.login_container .login_form .login_wrap {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

section.login_container .login_form .login_wrap .login_input_wrap {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

label.login_input {
  --login-input-svg-size: 20px;
  --login-input-svg-fill: var(--Gray-40, #ACB0B9);
  --login-input-gap-left: 8px;
  --login-input-gap-right: 12px;
  --login-input-btn-img-size: 16px;
  --login-input-btn-size: 24px;
  --login-input-btn-gap: 6px;
  --login-input-border: 1px solid var(--Gray-20, #E1E4E9);
  --login-input-box-shadow: none;
  --login-input-color: var(--Gray-90, #303236);
  --login-input-font-size: 15px;
  --login-input-font-weight: 400;
  --login-input-line-height: 24px;
  --login-input-padding-top: 11px;
  --login-input-padding-right: 7px;
  --login-input-padding-bottom: 11px;
  --login-input-padding-left: 15px;
  
  position: relative;
  display: inline-flex;
  align-items: center;
}

label.login_input.focus {
  --login-input-svg-fill: var(--Gray-90, #303236);
}

label.login_input.error {
  --login-input-border: 1px solid var(--Error, #FF444E);
  --login-input-box-shadow: 0px 0px 0px 3px rgba(255, 68, 78, 0.25);
}

label.login_input > input {
  outline: none;
  border: none;
  padding-top: var(--login-input-padding-top);
  padding-right: calc(var(--login-input-padding-right) + var(--login-input-gap-right) + var(--login-input-btn-img-size));
  padding-bottom: var(--login-input-padding-bottom);
  padding-left: calc(var(--login-input-padding-left) + var(--login-input-svg-size) + var(--login-input-gap-left));
  border-radius: 4px;
  border: var(--login-input-border);
  background-color: var(--Gray-0, #FFF);
  color: var(--login-input-color);
  font-family: "Pretendard JP";
  font-size: var(--login-input-font-size);
  font-style: normal;
  font-weight: var(--login-input-font-weight);
  line-height: var(--login-input-line-height);
  box-shadow: var(--login-input-box-shadow);
  width: 100%;
}

label.login_input > input::placeholder {
  color: var(--Gray-40, #ACB0B9);
}

label.login_input > input:not(:disabled):not(:focus):hover {
  --login-input-border: 1px solid var(--Gray-40, #ACB0B9);
}

label.login_input:not(.error) > input:focus {
  --login-input-border: 1px solid var(--Blue-50, #3882FF);
  --login-input-box-shadow: 0px 0px 0px 3px rgba(56, 130, 255, 0.25);
}

label.login_input > svg {
  position: absolute;
  left: var(--login-input-padding-left);
  width: var(--login-input-svg-size);
  height: var(--login-input-svg-size);
  flex: 0 0 auto;
  pointer-events: none;
}

label.login_input > svg > path
,label.login_input > svg > g > path {
  fill: var(--login-input-svg-fill);
}

label.login_input .input_btn_wrap {
  position: absolute;
  right: var(--login-input-padding-right);
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 6px;
}

label.login_input .input_btn_wrap > hr {
  all: unset;
  display: none;
  flex: 0 0 1px;
  width: 1px;
  height: 16px;
  background-color: var(--Gray-20, #E1E4E9);
}

label.login_input .input_btn_wrap > button {
  width: var(--login-input-btn-size);
  height: var(--login-input-btn-size);
  background-position: center;
  background-repeat: no-repeat;
  background-size: var(--login-input-btn-img-size);
  cursor: pointer;
}

label.login_input .input_btn_wrap > button.del_btn {
  display: none;
  background-image: url(/ilos/images/icon/del_gray_40.png);
}

label.login_input .input_btn_wrap > button.del_btn:hover {
  background-image: url(/ilos/images/icon/del_gray_90.png);
}

label.login_input .input_btn_wrap > button.view_btn {
  background-image: url(/ilos/images/icon/eye_gray_40.png);
}

label.login_input .input_btn_wrap > button.view_btn:hover {
  background-image: url(/ilos/images/icon/eye_gray_90.png);
}

label.login_input .input_btn_wrap > button.view_btn.open {
  background-image: url(/ilos/images/icon/eye_close_gray_40.png);
}

label.login_input .input_btn_wrap > button.view_btn.open:hover {
  background-image: url(/ilos/images/icon/eye_close_gray_90.png);
}

section.login_container .login_form .login_wrap .login_input_wrap .err_message {
  color: var(--Error, #FF444E);
  background-image: url(/ilos/images/icon/warning_error.png);
  background-position: center left;
  background-repeat: no-repeat;
  background-size: 16px;
  padding-left: 22px;
}

section.login_container .login_form .login_wrap .login_bottom_wrap {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

section.login_container .login_bottom_wrap .login_info_wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

section.login_container .login_info_wrap .keep_login_wrap {
  position: relative;
}

section.login_container .login_bottom_wrap .login_info_detail {
  display: none;
  padding: 16px 20px;
  flex-direction: column;
  gap: 20px;
  border-radius: 6px;
  border: 1px solid var(--Gray-10, #F0F1F4);
  background-color: var(--Gray-0, #FFF);
}

section.login_container .login_info_detail .login_info_top {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

section.login_container .login_info_detail .login_pw_notice {
  color: var(--Gray-80, #43454C);
}

section.login_container .login_info_detail .init_pw_notice {
  color: var(--Primary-55, #D31B50);
}

section.login_container .login_info_detail .pw_search_notice {
  color: var(--Gray-80, #43454C);
}

section.login_container .login_info_detail .pw_search_notice > a {
  color: var(--Primary-55, #D31B50);
  text-decoration: underline;
}

section.login_container .login_right_container .notice_list_container {
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex: 1 1;
  overflow: hidden;
  width: 100%;
}

section.login_container .notice_list_container .notice_list_top {
  padding: 0px 8px;
  color: var(--Gray-80, #43454C);
  flex: 0 0 auto;
}

section.login_container .notice_list_container .notice_list_wrap {
  display: flex;
  flex-direction: column;
  flex: 1 0 150px;
  overflow-y: auto;
}

section.login_container .notice_list_wrap .notice_list {
  display: flex;
  padding: 16px 8px 16px 8px;
  flex-direction: column;
  gap: 10px;
  border-bottom: 1px solid var(--Gray-10, #F0F1F4);
  cursor: pointer;
}

section.login_container .notice_list_wrap .notice_list .notice_title_wrap {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}

section.login_container .notice_list_wrap .notice_list .notice_title_wrap .fixed {
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  background-image: url(/ilos/images/icon/fixed.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 20px;
}

section.login_container .notice_list_wrap .notice_list .notice_title_wrap .notice_title {
  color: var(--Gray-90, #303236);
  text-overflow: ellipsis;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
}

section.login_container .notice_list_wrap .notice_list:hover .notice_title_wrap .notice_title {
  color: var(--Primary-50, #E31B54);
}

section.login_container .notice_list_wrap .notice_list .notice_info_wrap {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

footer.login_footer {
  flex: 0 0 auto;
  display: flex;
  padding: 28px 40px 24px 40px;
  flex-direction: column;
  gap: 20px;
  align-self: stretch;
  background-color: var(--Gray-5, #F9F9FB);
}

footer.login_footer .footer_top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

footer.login_footer .privacy_policy {
  color: var(--Gray-60, #676D79);
  text-decoration: underline;
  cursor: pointer;
}

footer.login_footer .footer_bottom {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  color: var(--Gray-60, #676D79);
}

footer.login_footer .footer_select_wrap {
  display: flex;
  gap: 4px;
}

@media screen and (max-width: 1180px) {
  section.login_container .login_right_container {
    flex: 0 1 376px;
  }
  
  section.login_container .login_right_container .login_form {
    box-sizing: border-box;
    padding: 40px 20px;
    width: 100%;
    gap: 20px;
  }
  
  section.login_container .login_right_container .notice_list_container {
    margin-top: 20px;
  }
  
  section.login_container .notice_list_container .notice_list_top {
    padding: 0px 4px;
  }
  
  section.login_container .notice_list_wrap .notice_list {
    padding: 12px 8px 12px 8px;
    gap: 6px;
  }
  
  footer.login_footer {
    flex: 0 0 auto;
    display: flex;
    padding: 20px 16px 24px 16px;
    flex-direction: column;
    gap: 20px;
    align-self: stretch;
    background-color: var(--Gray-5, #F9F9FB);
  }
}

@media screen and (max-width: 800px) {
  section.login_container {
    min-height: 100vh;
    flex-direction: column;
    align-items: stretch;
    overflow: unset;
  }
  
  section.login_container .login_left_container {
    flex: 0 0 200px;
    height: 200px;
  }
  
  section.login_container .login_background .login_logo {
    top: 16px;
    left: 16px;
    height: 32px;
  }
  
  section.login_container .login_right_container {
    flex: 0 0 auto;
    height: auto;
    max-height: 100vh;
    overflow: unset;
  }
  
  section.login_container .login_right_container .login_form {
    flex: 0 0 auto;
    padding: 40px 12px;
  }
  
  section.login_container .notice_list_container .notice_list_wrap {
    max-height: 300px;
  }
}