/* 모달팝업 */
.modal-inc {
  display: block;
}
.modal {
  position: fixed;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 200;
  flex-direction: column;
  overflow: hidden;
  overscroll-behavior: none;

  top: 0;
  left: 0;
  z-index: 150;
}
.modal.system {
  z-index: 160;
  text-align: center;
}
.modal .dimed {
  z-index: 1;
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  transition: 0.4s;
  opacity: 0;
}
.modal .modal-popup {
  max-width: 90%;
  max-height: 90%;
  overflow: hidden;
  overscroll-behavior: none;
  border-radius: 20px;
  transition: 0.4s;
  z-index: 2;
  box-shadow: 60px 60px 90px rgba(0, 0, 0, 0.2);
  position: relative;
}
.modal .modal-popup .popup-content.split {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  width: max-content;
}
.popup-content .btn-set.close-only a {
  background: none;
  position: absolute;
  top: 20px;
  right: 20px;
  width: auto;
  height: auto;
  line-height: 1;
  font-size: 1.5em;
  margin: 0;
  padding: 0;
  color: var(--gray-dark);
}
.modal.login .modal-popup .popup-content.split > li {
  width: 4var (--btn-h);
}
.modal.login.single .modal-popup .popup-content.split > li.non-login {
  display: none;
}
.modal.login .modal-popup .popup-content.split > li.non-login {
  background-color: var(--gray-pale);
}
.modal.login .modal-popup .popup-content.split > li .join-find > div {
  margin-top: 4px;
}
.modal.login.dual .modal-popup .popup-content.split > li.regular-login .join-find > div.join {
  display: none;
}
.modal.login .modal-popup .popup-content.split > li .join-find > div a {
  font-weight: bold;
  text-decoration: underline;
}
.modal .modal-popup .popup-content.split > li {
  flex-grow: 1;
  border-bottom: 0;
}
.modal .modal-popup .popup-content.split > li .login-form {
  display: flex;
  gap: 8px;
  flex-direction: column;
  margin-top: 20px;
  padding: 0;
}
.modal .modal-popup .popup-content.split > li .login-form + .join-find {
  margin-top: 16px;
}
.modal .modal-popup .popup-content.split > li .login-form .inputs {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.modal .modal-popup .popup-content.split > li .login-form .inputs input {
  width: 100% !important;
}
.modal .modal-popup .popup-content.split > li .login-form a.submit {
  border: 2px solid var(--gray-dark);
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  font-size: 1.2em;
  height: var(--input-h);
}
.modal .modal-popup .popup-content.split > li + li {
  border-left: 1px solid var(--gray-border);
}
.popup-content {
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  background-color: #fff;
  border-radius: 20px 20px 0 0;
  background-color: #fff;
  line-height: 1.5;
  flex-grow: 0;
  max-height: calc(100% - 60px);
}
.modal.login .modal-popup .popup-content {
  max-height: 100%;
  background-color: #fff;
}
.modal.ticket .modal-popup .popup-content {
  max-height: 100%;
  position: relative;
  background-color: transparent;
}
.modal.ticket .modal-popup,
.modal.ticket .modal-popup .popup-content {
  border-radius: 0;
  box-shadow: none;
  overflow-x: hidden;
}
.modal.ticket .modal-popup .popup-content .ticket-img {
  background-color: #fff;
  border-radius: 20px;
  overflow: hidden;
  flex-shrink: 0;
  position: relative;
}
.modal.ticket .modal-popup .popup-content .subscr,
.modal.ticket .modal-popup .popup-content .ticket-img {
  width: 400px;
}
.ticket-printing {
  position: absolute;
  width: 100%;
  height: 100%;
  padding-top: 20%;
  line-height: 1.4;
  left: 0;
  bottom: 0;
}
.stamp {
  --color: var(--main);
  position: absolute;
  width: 240px;
  height: 240px;
  border: 4px solid var(--color);
  border-radius: 50%;
  opacity: 1;
  transform-origin: center center;
  transform: rotate(-30deg);
  left: 20%;
  bottom: 10%;
  padding: 10px;
  box-sizing: border-box;
  color: var(--color);
  z-index: 3;
  mix-blend-mode: multiply;
  font-weight: 900;
  font-size: 2.5em;
  text-align: center;
  line-height: 212px;
}
.stamp::before {
  content: '';
  width: 212px;
  height: 212px;
  left: 10px;
  top: 10px;
  border-radius: 50%;
  border: 10px solid var(--color);
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  position: absolute;
}
.stamp.used {
  --color: rgb(0, 149, 255);
}
.stamp.expired {
  --color: orangered;
}
.stamp.canceled,
.stamp.unabled {
  --color: rgb(171, 0, 0);
}
.item .stamp {
  bottom: initial;
  top: var(--padding);
  mix-blend-mode: hard-light;
  z-index: 100;
}
.modal.ticket .modal-popup .popup-content .ticket-printing {
  font-size: 1em;
}
.modal.ticket .modal-popup .popup-content .ticket-printing .qrcode {
  padding: 5% 30%;
}
.modal.ticket .modal-popup .popup-content .ticket-printing .name {
  font-weight: bold;
  text-align: center;
  font-size: 1.7em;
  line-height: 1.3;
  color: #000;
}
.modal.ticket .modal-popup .popup-content .ticket-printing .remain {
  text-align: center;
  font-size: 1.1em;
  display: block;
  color: var(--gray-mid);
  margin-bottom: 1%;
}
.modal.ticket .modal-popup .popup-content .ticket-printing .remain span {
  color: var(--gray-dark);
}
.modal.ticket .modal-popup .popup-content .ticket-printing .remain span.num {
  font-weight: bold;
  color: var(--main-color);
}
.modal.ticket .modal-popup .popup-content .ticket-printing .info {
  display: flex;
  justify-content: space-between;
  padding: 4% 7%;
  gap: 4%;
}
.modal.ticket .modal-popup .popup-content .ticket-printing .info dt {
  font-weight: bold;
  color: var(--gray-light);
  font-size: 0.85em;
}
.modal.ticket .modal-popup .popup-content .ticket-printing .info dd {
  font-size: 1.1em;
}
.modal.ticket .modal-popup .popup-content .ticket-printing .date {
  font-weight: bold;
  text-align: center;
  font-size: 1.4em;
  color: #000;
}
.ticket-bg {
  width: 400px;
  aspect-ratio: 8.6/15;
  background: url(../images/img/ticket.svg) no-repeat center bottom/100% auto;
}
.modal.ticket .modal-popup .popup-content .ticket-bg img {
  width: 400px;
  display: none;
}
.modal.ticket .modal-popup .popup-content .subscr {
  color: #fff;
  margin-top: 20px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.modal.ticket .modal-popup .popup-content .subscr p {
  line-height: 1.2;
  font-size: 0.8em;
}
.modal.ticket .modal-popup .popup-content .subscr p::before {
  content: '•';
}
.popup-content > li {
  padding: 30px;
  border-bottom: 1px solid #ddd;
  display: flex;
  flex-direction: column;
  /* gap: 10px; */
}
.popup-content > li h1 + h2 {
  margin-top: 10px;
}
.popup-content > li h1 + h2:only-of-type {
  margin-top: 10px;
}
.popup-content > li:last-of-type {
  border-bottom: 0;
}
.popup-content .descript .img-set {
  overflow: hidden;
  overscroll-behavior: none;
  margin: 20px 0;
  display: flex;
  gap: 10px;
}
.popup-content .descript .img-set img {
  height: 1var (--btn-h);
}
.modal .modal-popup h1 {
  font-size: 1.75em;
  line-height: 1.3;
}
.modal .modal-popup h1 + p,
.modal .modal-popup h2 + p {
  margin-top: 12px;
}
.modal .modal-popup.cert h1.certificated {
  color: var(--main-color);
  display: flex;
  align-items: center;
}
.modal .modal-popup.cert h1.certificated::after {
  content: '인증완료';
  color: #fff;
  font-size: 0.5em;
  background-color: var(--main-color);
  border-radius: 5px;
  padding: 9px 12px;
  display: inline-block;
  margin-left: 10px;
  vertical-align: middle;
  line-height: 1;
  animation-name: certok;
  animation-duration: 1s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  transform-origin: center;
}
@keyframes certok {
  0% {
    background-color: var(--main-color);
  }
  100% {
    background-color: var(--main-light);
  }
  100% {
    background-color: var(--main-color);
  }
}
.modal .modal-popup h2 {
  color: var(--gray-mid);
  font-size: 1em;
  font-weight: normal;
}
.modal .modal-popup h2 span {
  font-weight: bold;
  color: var(--main-color);
}
.modal .btn-set {
  display: flex;
  width: 100%;
  overflow: hidden;
  overscroll-behavior: none;
}
.modal .btn-set a {
  height: 60px;
  line-height: 60px;
  color: #fff;
  font-weight: bold;
  text-align: center;
  background-color: var(--gray-mid);
  width: 100%;
  transition: 0.3s;
}
.modal .btn-set a:first-child:nth-last-child(3),
.modal .btn-set a:first-child:nth-last-child(3) ~ a:first-child {
  background-color: var(--gray-light);
}
.modal .btn-set a.submit {
  background-color: var(--main-color);
}
.modal .btn-set a img {
  vertical-align: middle;
}
.modal .btn-set:not(.close-only) a:hover {
  background-color: var(--gray-dark);
}
.modal .btn-set a.submit:hover {
  background-color: var(--main-deep);
}
.modal .no {
  margin-top: 20px;
  color: var(--gray-mid);
  font-weight: bold;
  transition: 0.3s;
  z-index: 2;
  position: relative;
}
.modal.ticket .no {
  border: 2px solid #fff;
  color: #fff;
  border-radius: 8px;
  padding: 12px 30px;
}
.modal .no:hover {
  color: #fff;
}
.modal-on {
  overflow: hidden;
  overscroll-behavior: none;
}
.modal-on .modal.on {
  height: 100%;
}
.modal-on .modal.on:not(:has(.dimed)) {
  background-color: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(40px);
  -webkit-backdrop-filter: blur(40px);
}
.modal-on .modal .dimed {
  opacity: 1;
  backdrop-filter: blur(40px);
  -webkit-backdrop-filter: blur(40px);
}
.modal-on .modal.login .dimed {
  opacity: 1;
  background-color: rgba(255, 255, 255, 0.5);
  backdrop-filter: blur(40px);
  -webkit-backdrop-filter: blur(40px);
}
.modal.sanctions .modal-popup {
  width: 340px;
}
.modal.sanctions .modal-popup .head strong {
  color: var(--main-color);
}
.modal .popup-content li > dl.form dd {
  border: 0;
}
.modal .popup-content li > dl {
  border-top: 1px solid var(--gray-border);
  padding-top: 20px;
  margin-top: 10px;
}
.modal .popup-content li .head + dl {
  margin-top: 30px;
}
.modal .popup-content li > dl dt {
  font-weight: bold;
  font-size: 0.9em;
  color: var(--gray-mid);
}
.modal .popup-content li > dl dd {
  border-bottom: 1px solid var(--gray-border);
  padding-bottom: 20px;
  word-break: keep-all;
}
.modal .popup-content li > dl.form dt {
  margin-bottom: 10px;
}
.modal .popup-content li > dl.form dd {
  margin-bottom: 0px;
  padding-bottom: 0;
}
.modal .popup-content li > dl.form dd input {
  font-size: 1.1em;
  letter-spacing: 0;
}
.modal .popup-content li > dl.form {
  border: 0;
  padding-top: 0;
}
.modal .popup-content .inquiry {
  text-align: center;
  margin-top: 10px;
  cursor: pointer;
  display: block;
}
.modal .popup-content .inquiry:hover {
  color: var(--main-color);
}
.modal .popup-content li > dl dd + dt {
  margin-top: 20px;
}
.modal.system.error {
  background-color: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(40px);
  -webkit-backdrop-filter: blur(40px);
}
.modal.system .popup-content {
  max-height: calc(100% - var(--input-h));
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
}
.modal.system .modal-popup {
  box-shadow: 60px 60px 60px rgba(0, 0, 0, 0.5);
}
.modal.system .btn-set a {
  /* height: var(--input-h);
  line-height: var(--input-h); */
} /* link모달 */
.modal .filebox input {
  border-radius: 5px 0 0 5px;
  border-right: 0;
}
.modal .filebox label {
  font-weight: bold;
  border: none;
  background-color: var(--gray-light);
  color: #fff;
  padding: 0 15px;
  flex-shrink: 0;
}
.modal.linkage .thumb {
  height: 200px;
  background-size: cover;
  background-position: center;
}
.modal.linkage .modal-popup h1 {
  line-height: 1;
}
.modal.linkage .logo {
  max-width: 120px;
  max-height: 42px;
}
.modal.linkage .descript h3,
.modal.linkage .descript h4 {
  font-weight: normal;
  color: var(--gray-dark);
}
.modal.linkage .descript h3 span {
  font-weight: bold;
}
.modal.linkage .descript h3 {
  font-size: 1.4em;
}
.modal.linkage .descript h4 {
  font-size: 1.2em;
  margin-bottom: 5px;
}
.popup-content .form {
  margin-top: 30px;
}
.popup-content .form + div {
  margin-top: 30px;
}
.popup-content .form h4,
.popup-content .privacy h4 {
  margin-bottom: 12px;
}
.popup-content .privacy .agreement {
  padding: 20px 20px 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.popup-content .privacy ul.agree {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.popup-content .privacy ul.agree li {
  display: flex;
  gap: 5px;
  color: var(--gray-mid);
  line-height: 1.2;
}
.popup-content .privacy ul.agree li::before {
  content: '•';
  opacity: 0.5;
}
.popup-content .privacy ul.agree li ul li::before {
  content: '-';
}
.popup-content .privacy ul.agree li strong {
  color: var(--gray-dark);
}
.popup-content .privacy .agreement .inputs {
  justify-content: center;
  font-size: 1.3em;
  font-weight: bold;
  margin-top: 10px;
}
.popup-content table .inputs {
  min-height: initial;
}
.popup-content table .inputs input,
.popup-content table .inputs select {
  height: 50px;
}
.popup-content .agree {
  border: 1px solid var(--gray-border);
  border-radius: 6px;
  padding: 20px;
}
.modal .qr-voucher {
  margin-top: 20px;
  flex-direction: column;
}
.modal .popup-content .grid:not(:first-child) {
  margin-top: var(--padding);
}
.modal .popup-content .grid table th {
  white-space: nowrap;
}
.modal .popup-content .grid table .canceled {
  text-decoration: line-through;
}
.modal .popup-content .grid table td:has(.button) {
  padding: 10px;
}
.modal .popup-content .grid table .button {
  border-color: var(--gray-dark);
  color: var(--gray-dark);
  font-size: 0.85em;
  height: auto;
  border-radius: 4px;
  padding: 0.8em;
}
.modal .popup-content .grid table .button:hover {
  background-color: var(--gray-dark);
  color: #fff;
}
.lottery-log .modal-popup {
  max-width: 700px;
  width: fit-content;
}
.lottery-log .list.horizon.log {
  gap: 10px;
  margin-top: var(--padding);
}
.lottery-log .list.horizon.log li {
  padding: 20px;
  border: 1px solid var(--gray-border);
  border-radius: 8px;
}
.lottery-log .list.horizon.log li.canceled {
  background-color: var(--gray-pale);
  text-decoration: line-through;
  opacity: 0.5;
}
@media (max-width: 812px) {
  /* 모달 */

  .modal-on .modal.on {
    padding: 5px;
  }
  .modal-on .modal.system.on {
    padding: 20px;
  }
  .popup-content > li {
    padding: 30px 20px;
  }
  .modal .modal-popup h2 {
    /* font-size: 12px; */
  }
  .modal .modal-popup {
    max-width: 100%;
    max-height: 100%;
    border-radius: 10px;
    min-width: 80%;
  }
  .popup-content {
    max-height: calc(100% - var(--btn-h));
  }
  .modal.ticket .modal-popup .popup-content .subscr {
    padding-left: 20px;
  }
  .modal .btn-set a {
    line-height: var(--btn-h);
    height: var(--btn-h);
  }
  .modal .filebox label,
  .modal .filebox input {
    font-size: 12px;
  }
  .modal .no {
    padding-bottom: 10px;
  }
  .modal .btn-set a {
    height: var(--btn-h);
    line-height: var(--btn-h);
  }
  .modal.ticket .modal-popup .popup-content .subscr,
  .modal.ticket .modal-popup .popup-content .ticket-img {
    width: 100%;
  }
  .modal .modal-popup .popup-content.split {
    flex-direction: column;
    width: initial;
  }
  .modal.login .modal-popup {
    overflow-y: auto;
  }
  .modal.login .modal-popup .popup-content {
    max-height: initial;
    flex-grow: 1;
  }
  .modal.login .modal-popup .popup-content.split > li {
    width: 100%;
    padding: var(--padding);
    gap: 2px;
  }
  .modal.login .modal-popup .popup-content.split > li.non-login {
    border: 0;
  }
  .modal-on .modal.on {
    background-color: rgba(0, 0, 0, 0.8);
  }
  .modal .modal-popup .popup-content.split > li .login-form {
    margin-top: 10px;
  }
  .modal-on .modal .dimed {
    display: none;
  }
  .modal-on .reserv-ui a.submit,
  .modal-on .reserv-ui a.pay {
    display: none;
  }
  .reserved-my-ticket > li {
    font-size: 1em;
  }
  .info-sub {
    font-size: 1em;
  }
  .modal.ticket .modal-popup .popup-content .ticket-printing {
    font-size: 1.2em;
  }
  .lottery-log .list.horizon.log li {
    padding-right: 10px;
  }
  .lottery-log .list.horizon.log li .btnset .button {
    flex-direction: column;
  }
  .my .list.horizon.log li .info {
    gap: 4px;
  }
  .lottery-log .list.horizon.log li .info-sub {
    flex-wrap: wrap;
    row-gap: 5px;
    font-size: 1em;
  }
  .lottery-log .list.horizon.log li .info-sub .status {
    width: 100%;
    font-size: 1em;
  }
}
