:root {
    --vh: 100%;
    --bs-body-color: #333333;
    --bs-primary: #9997f7;
    --bs-secondary: #999999;
    --bs-plain: #666666;
    --bs-point: #ff52a7;
    --bs-border-color: #ebebeb;
    --bs-form-control-bg: #f5f5f5;
}
html {
    font-size: 14px;
}
html, body {
    min-height: calc(var(--vh, 1vh) * 100)
}
body {
    font-family: 'Pretendard', sans-serif;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-direction: column;
    background-color: #fff;
}
/* buttons */
.btn-primary {
    --bs-btn-bg: #918ff7;
    --bs-btn-border-color: transparent;
    --bs-btn-hover-bg: #918ff7;
    --bs-btn-hover-border-color: transparent;
    --bs-btn-focus-shadow-rgb: 145,143,247;
    --bs-btn-active-bg: #918ff7;
    --bs-btn-active-border-color: transparent;
    background-image: linear-gradient(to right, #bb9def, #a08ff7, #918ff7);
}
.btn-lg {
    --bs-btn-font-size: 16px;
    --bs-btn-padding-x: 20px;
    --bs-btn-padding-y: 11px;
    --bs-btn-border-radius: 50rem;
}
/* modal */
.modal-alert {
    --bs-modal-padding: 20px;
    --bs-modal-header-padding: 20px;
    --bs-modal-border-radius: 20px;
    --bs-modal-border-width: 0;
    --bs-modal-header-border-width: 0;
    --bs-modal-footer-border-width: 0;
    max-width: 300px;
    margin-right: auto;
    margin-left: auto;
}
.modal-alert .modal-body {
    padding: 10px var(--bs-modal-padding);
    text-align: center;
    font-size: 16px;
}
.modal-footer .btn {
    width: 100%;
}

/* login */
.login-header,
.login-footer{
    margin: 0;
    text-align: center;
}
.login-header {
    padding: 70px 20px 20px;
}
.login-header .login-header-subtitle {
    padding: 0;
    margin: 30px 0 0;
    letter-spacing: -1.8px;
    font-weight: 500;
    font-size: 18px;
}
.login-footer {
    padding: 20px 20px 50px;
    font-size: 13px;
}
.login-footer .footer-company-info {
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: 11px;
    color: var(--bs-plain);
}
.login-footer .footer-company-info li {
    display: inline-block;
    word-break: keep-all;
}
.login-footer .footer-company-info strong {
    font-weight: 500;
    color: var(--bs-secondary);
}
.login-contents {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-grow: 1;
}
.login-contents .logo {
    height: 40px;
    margin-left: -17px;
}
.login-contents .form-control {
    --bs-border-color: #f5f5f5;
    padding: 11px 20px;
    border-radius: 15px;
}
.login-contents .form-control::placeholder {
    color: #ccc;
}
.login-contents input.form-control:focus {
    color: var(--bs-primary);
    background-color: #fff;
    border-color: var(--bs-primary);
    box-shadow: unset;
}
.login-contents .valid-feedback,
.login-contents .invalid-feedback {
    margin-bottom: -1.55rem;
}
.login-contents .valid-feedback {
    color: var(--bs-primary);
}
.login-contents .invalid-feedback {
    color: var(--bs-point);
}
.login-contents .btn-login {
    --bs-btn-padding-x: 20px;
    --bs-btn-padding-y: 11px;
    --bs-btn-bg: #918ff7;
    --bs-btn-font-size: 16px;
    --bs-btn-border-radius: 50rem;
    --bs-btn-border-color: transparent;
    --bs-btn-active-border-color: transparent;
    --bs-btn-active-color: #fff;
    width: 100%;
    color: #fff;
    background-image: linear-gradient(to right, #bb9def, #a08ff7, #918ff7);
}
.login-contents .container {
    min-width: 280px;
    max-width: 360px;
    padding: 20px;
}
.login-contents [class*="link"] {
    text-decoration: none;
}
.login-contents .member-link,
.login-contents .sns-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    justify-content: center;
    list-style: none;
    padding: 0;
    margin: 20px 0;
}
.login-contents .member-link-item {
    position: relative;
    list-style: none;
    padding: 0;
    margin: 0;
    line-height: 40px;
    white-space: nowrap;
}
.login-contents .member-link-item + .member-link-item {
    padding-left: 7px;
    margin-left: 8px;
}
.login-contents .member-link-item + .member-link-item:after {
    content: "";
    display: block;
    width: 1px;
    height: 10px;
    position: absolute;
    left: 0;
    top: 50%;
    background: var(--bs-secondary);
    transform: translateY(-50%);
}
.login-contents .sns-link-item + .sns-link-item {
    margin-left: 20px;
}
.login-contents .sns-link-item img {
    height: 40px;
}
.cu-arrow-right {
    display: inline-block;
    width: 6px;
    height: 13px;
    margin-top: -2px;
    margin-left: 5px;
    vertical-align: middle;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 6px auto;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='20'%3E%3Cpath fill-rule='evenodd' fill='%23333' d='M11.656 9.999S3.43 1.386 2.464.807C2.73.416 1.44.416 1.5.807c-.841.39-.841 1.024 0 1.414.171.621 7.328 7.778 7.328 7.778S1.722 17.105 1.5 17.777c-.841.391-.841 1.024 0 1.415-.06.39 1.23.39.964 0l9.192-9.193z'/%3E%3C/svg%3E");
}

/* 인증서 */
.footer-certificates {
  padding: 0 0 20px 0;
}
.footer-certificates-list {
  list-style: none;
  padding: 20px 0;
  margin: 0;
  display: flex;
  align-content: center;
  justify-content: center;
  gap: 30px;
}
/************************************/
/*               isms               */
/************************************/
.isms-contents {
  overflow-x: hidden;
  /*max-width: 460px;*/
  min-height: 100%;
  padding: 0;
  text-align: left;
  word-break: keep-all;
  line-height: 1.63;
  letter-spacing: -0.5px;
  color: #666;
  background-color: var(--bs-gray-200);
}
.isms-contents ~ .close {
  top: 10px;
  --hmu-btn-close-bg: url('data:image/svg+xml,%3csvg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"%3e%3cpath d="M5.50317 5.50391L18.5032 18.5039M18.5032 5.50391L5.50317 18.5039" stroke="%23ffffff" stroke-width="1.6" stroke-linecap="round"/%3e%3c/svg%3e');
}
.isms-contents-title {
  position: sticky;
  top: 0;
  padding: 15px 0;
  margin: 0;
  text-align: center;
  line-height: 1;
  font-weight: 600;
  font-size: 1.125rem;
  color: #fff;
  background-position: top -15px left -20px;
  background-repeat: no-repeat;
  background-color: var(--bs-primary);
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='182' height='101'%3E%3Cpath fill-rule='evenodd' opacity='.302' fill='%23FFF' d='M37.393 101.5c.155-4.085.746-7.708 1.838-11.33 5.389-17.872 20.722-30.961 37.067-38.833 19.474-9.38 42.22-12.179 63.578-10.087 10.311 1.011 20.833 3.56 29.64 8.595 6.614 5.115 12.459 11.096 10.994 19.403-1.769 10.031-12.359 14.516-21.01 17.191a157.946 157.946 0 0 1-31.224 6.304c-20.736 2.08-43.01-.347-62.83-8.351-20.465-8.265-38.447-22.849-49.826-41.43C6.863 30.199 2.15 15.853.704.995c1.102 0 2.222-.017 2.643-.017 1.265 14.017 5.395 27.601 13.016 39.769 24.143 38.551 70.099 54.437 114.001 49.486 10.896-.933 21.388-3.43 31.534-6.971 5.336-1.863 11.071-4.488 14.296-9.356 3.108-4.69 2.956-10.349-.255-14.952-5.636-8.431-16.413-12.238-25.639-13.983-11.897-2.127-23.783-2.613-35.528-1.495-20.549 1.957-41.356 8.722-56.935 22.722C47.375 75.6 40.704 87.855 39.86 101.6c-1.307-.6-1.662-.6-2.467-.1z'/%3E%3C/svg%3E");
}
.isms-contents .isms-container {
  padding: 20px;
}
.isms-contents .isms-info-block + .isms-info-block {
  margin-top: 20px;
}
.isms-contents .isms-info-block[class*=bg-] {
  padding: 20px;
  border-radius: 20px;
}
.isms-contents .isms-info-box {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
}
.isms-contents .isms-contents-logo {
  flex-shrink: 0;
  width: 120px;
  margin-right: 10px;
  object-fit: contain;
}
.isms-contents .isms-contents-logo img {
  max-width: 100%;
  max-height: 100%;
}
.isms-contents .isms-contents-info {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}
.isms-contents .isms-contents-info dt, .isms-contents .isms-contents-info .tit {
  display: inline-block;
  width: 72px;
  padding: 5px 7px;
  text-align: center;
  margin-right: 10px;
  line-height: 1;
  font-weight: 500;
  font-size: 14px;
  color: #fff;
  border-radius: 5em;
  background-color: var(--bs-primary);
}
.isms-contents .isms-contents-info dd, .isms-contents .isms-contents-info .txt {
  width: calc(100% - 82px);
  color: var(--bs-dark);
}
.isms-contents .isms-contents-info dd ~ dt, .isms-contents .isms-contents-info dd ~ .tit, .isms-contents .isms-contents-info dd ~ dd, .isms-contents .isms-contents-info dd ~ .txt, .isms-contents .isms-contents-info .txt ~ dt, .isms-contents .isms-contents-info .txt ~ .tit, .isms-contents .isms-contents-info .txt ~ dd, .isms-contents .isms-contents-info .txt ~ .txt {
  margin-top: 10px;
}
.isms-contents .isms-contents-desc dt {
  margin-bottom: 5px;
  font-weight: bold;
  font-size: 16px;
  color: var(--bs-dark);
}
.isms-contents .isms-contents-desc dd {
  font-size: 13px;
}
.isms-contents .isms-contents-desc ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.isms-contents .isms-contents-desc ul li {
  position: relative;
  padding-left: 10px;
}
.isms-contents .isms-contents-desc ul li:before {
  content: "-";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
}
.isms-contents button.btn-close {
  --bs-btn-close-opacity: 1;
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
  color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3E%3Cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3E%3C/svg%3E");
}

@media all and (max-width: 460px) {
  .isms-contents .isms-info-box {
    flex-direction: column;
    align-items: center;
  }
}
/* modal-image */
.modal-image {
  --bs-modal-width: auto;
  --bs-modal-margin: 0;
  --bs-modal-padding: 0;
  --bs-modal-border-radius: 0;
  --bs-modal-border-width: 0;
}
