:root {
  --modal-bg: #ffffff;
  --modal-text: #000;
  --modal-title-bg: #40444D;
  --modal-title-success: #61b832;
  --modal-title-warning: #f1b40e;
  --modal-title-error: #de4343;
  --modal-title-info: #525763;
  --modal-title-inverted: #232B31;
  --modal-title-primary: #40444D;
  --modal-shadow: 0 0 7px rgba(0,0,0,0.3);
}

#modal-window {
  background-color: rgba(0, 0, 0, 0.35);
}

#modal-window, #modal-window * {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  line-height: normal;
  vertical-align: baseline;
}

#modal-window .modal-box {
  position: absolute;
  margin-bottom: 10px;
  background-color: var(--modal-bg);
  font-family: -apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Pretendard Variable',Pretendard,Roboto,'Noto Sans KR',sans-serif;
  color: var(--modal-text);
  border-radius: 4px;
  background-clip: padding-box;
  box-shadow: var(--modal-shadow);
  outline: none;
  overflow: hidden;
}

#modal-window .modal-box.modal-size-normal { width: 560px; }
#modal-window .modal-box.modal-size-small { width: 350px; }
#modal-window .modal-box.modal-size-large { width: 1000px; }

/* Modal Responsive */
@media only screen and (max-width: 580px){
  #modal-window .modal-box.modal-size-normal{
    width: 96%;
    left: 0 !important;
    margin-left: 2% !important;
    margin-right: 2%;
  }
}
@media only screen and (max-width: 1020px){
  #modal-window .modal-box.modal-size-large{
    width: 96%;
    left: 0 !important;
    margin-left: 2% !important;
    margin-right: 2%;
  }
}
@media only screen and (max-width: 370px){
  #modal-window .modal-box.modal-size-small{
    width: 96%;
    left: 0 !important;
    margin-left: 2% !important;
    margin-right: 2%;
  }
}

/* Modal Title */
#modal-window .modal-box .modal-title {
  position: relative;
  color: #FFF;
  background-color: var(--modal-title-bg);
  padding: 12px 15px;
  border-bottom: 1px solid #e5e5e5;
  font-size: 20px;
  overflow: hidden;
  text-shadow: 0 1px 3px rgba(0,0,0,0.25);
  border-bottom-color: transparent;
}

#modal-window .modal-box .modal-title h3 {
  font-size: 22px;
  font-weight: normal;
  margin: 0;
  padding: 0;
  display: inline-block;
}

/* Modal Close Button (Á¢±Ù¼º + ¿øº» ½ºÅ¸ÀÏ ¸ðµÎ ¹Ý¿µ) */
#modal-window .modal-box .modal-title .modal-close-btn {
  position: absolute;
  display: block;
  width: 14px;
  height: 14px;
  right: 20px;
  top: 50%;
  margin-top: -7px;
  cursor: pointer;
  background: none;
  opacity: 0.5;
  transition: opacity 0.2s;
}
#modal-window .modal-box .modal-title .modal-close-btn::before {
  content: "¡¿";
  font-size: 20px;
  color: #fff;
  display: block;
  text-align: center;
}
#modal-window .modal-box .modal-title .modal-close-btn:hover {
  opacity: 1;
}

/* Modal Text */
#modal-window .modal-box .modal-text {
  font-size: 15px;
  padding: 18px 15px;
  overflow-y: auto;
}

/* Modal ÀÌ¹ÌÁö ½ºÅ¸ÀÏ */
#modal-window .modal-box img {
  height: auto;
  max-width: 100%;
  vertical-align: middle;
  border: 0;
  image-rendering: auto;
  -ms-interpolation-mode: bicubic;
}

/* Modal Prompt Input */
#modal-window .modal-box .modal-text input.modal-prompt-input {
  width: calc(100% - 14px);
  display: block;
  margin: 10px 0;
  padding: 6px;
  outline: 0;
  border: 1px solid #dddddd;
  border-top: 1px solid #cccccc;
  color: #333;
  border-radius: 3px;
  box-shadow: inset 0 0 2px #eeeeee;
  transition: all 0.1s linear;
}
#modal-window .modal-box .modal-text input.modal-prompt-input:hover {
  border: 1px solid #bbbbbb;
  border-top: 1px solid #aaaaaa;
}
#modal-window .modal-box .modal-text input.modal-prompt-input:focus,
#modal-window .modal-box .modal-text input.modal-prompt-input:active {
  border-color: rgba(82, 168, 236, 0.8);
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.075), 0 0 8px rgba(82,168,236,0.3);
}

/* Modal Buttons */
#modal-window .modal-box .modal-buttons {
  padding: 10px 15px;
  text-align: right;
  background-color: #f9f9f9;
  border-top: 1px solid #ddd;
}

#modal-window .modal-box .modal-buttons a.modal-btn {
  display: inline-block;
  padding: 8px 16px;
  outline: none;
  border: 1px solid transparent;
  cursor: pointer;
  text-decoration: none;
  text-align: center;
  white-space: nowrap;
  font-size: 12px;
  font-weight: bold;
  line-height: normal;
  color: #555;
  border-radius: 3px;
  vertical-align: middle;
  background-color: #fcfcfc;
  border-color: #c9c9c9;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.08);
  transition: background 0.2s, color 0.2s;
}

#modal-window .modal-box .modal-buttons a.modal-btn:active,
#modal-window .modal-box .modal-buttons a.modal-btn.active {
  box-shadow: inset 0 0 7px rgba(0,0,0,0.2);
}
#modal-window .modal-box .modal-buttons a.modal-btn:focus-visible {
  outline: 2px solid #333;
}
#modal-window .modal-box .modal-buttons a.modal-btn+a.modal-btn { margin-left: 10px; }
#modal-window .modal-box .modal-buttons a.modal-btn.btn-disabled {
  cursor: not-allowed;
  pointer-events: none;
  opacity: .65;
}
#modal-window .modal-box .modal-buttons a.modal-btn.btn-large { padding: 8px 16px; font-size: 16px; }
#modal-window .modal-box .modal-buttons a.modal-btn.btn-small { padding: 6px 8px; font-size: 10px; }
#modal-window .modal-box .modal-buttons a.modal-btn.btn-rounded { border-radius: 3px; }
#modal-window .modal-box .modal-buttons a.modal-btn.btn-circle { border-radius: 15px; }
#modal-window .modal-box .modal-buttons a.modal-btn.btn-square { border-radius: 0px; }
#modal-window .modal-box .modal-buttons a.modal-btn i,
#modal-window .modal-box .modal-buttons a.modal-btn img {
  vertical-align: middle;
  max-height: 16px;
  margin-right: 5px;
}

/* ¹öÆ° ÄÃ·¯ (¿øº» À¯Áö) */
#modal-window .modal-box .modal-buttons a.modal-btn.btn-green { background-color: #5cb85c; border-color: #4cae4c; color: #fff; }
#modal-window .modal-box .modal-buttons a.modal-btn.btn-green:hover { background-color: #449d44; border-color: #398439; color: #fff; }
#modal-window .modal-box .modal-buttons a.modal-btn.btn-purple { background-color: #8149B4; border-color: #6922AD; color: #fff; }
#modal-window .modal-box .modal-buttons a.modal-btn.btn-purple:hover { background-color: #6f32a8; border-color: #5b149e; color: #fff; }
#modal-window .modal-box .modal-buttons a.modal-btn.btn-orange { background-color: #f7aa47; border-color: #eea236; color: #fff; }
#modal-window .modal-box .modal-buttons a.modal-btn.btn-orange:hover { background-color: #f69f2f; border-color: #d58512; color: #fff; }
#modal-window .modal-box .modal-buttons a.modal-btn.btn-pink { background-color: #ff6264; border-color: #eb5b5c; color: #fff; }
#modal-window .modal-box .modal-buttons a.modal-btn.btn-pink:hover { background-color: #ff484b; border-color: #e53a3d; color: #fff; }
#modal-window .modal-box .modal-buttons a.modal-btn.btn-turquoise { background-color: #00b19d; border-color: #11a594; color: #fff; }
#modal-window .modal-box .modal-buttons a.modal-btn.btn-turquoise:hover { background-color: #009886; border-color: #0b8173; color: #fff; }
#modal-window .modal-box .modal-buttons a.modal-btn.btn-light-green { background-color: #8dc63f; border-color: #7db432; color: #fff; }
#modal-window .modal-box .modal-buttons a.modal-btn.btn-light-green:hover { background-color: #82b838; border-color: #75a336; color: #fff; }
#modal-window .modal-box .modal-buttons a.modal-btn.btn-light-blue { background-color: var(--modal-title-bg); border-color: #3c3e42; color: #fff; }
#modal-window .modal-box .modal-buttons a.modal-btn.btn-light-blue:hover { background-color: #737679; border-color: #6e7d8b; color: #fff; }
#modal-window .modal-box .modal-buttons a.modal-btn.btn-blue { background-color: #0e62c7; border-color: #0D54AA; color: #fff; }
#modal-window .modal-box .modal-buttons a.modal-btn.btn-blue:hover { background-color: #0c56af; border-color: #0B4992; color: #fff; }
#modal-window .modal-box .modal-buttons a.modal-btn.btn-red { background-color: #cc3f44; border-color: #bd1b21; color: #fff; }
#modal-window .modal-box .modal-buttons a.modal-btn.btn-red:hover { background-color: #ab2d32; border-color: #96050b; color: #fff; }
#modal-window .modal-box .modal-buttons a.modal-btn.btn-light-red { background-color: #d9534f; border-color: #d43f3a; color: #fff; }
#modal-window .modal-box .modal-buttons a.modal-btn.btn-light-red:hover { background-color: #c9302c; border-color: #ac2925; color: #fff; }
#modal-window .modal-box .modal-buttons a.modal-btn.btn-yellow { background-color: #ffba00; border-color: #e4a703; color: #fff; }
#modal-window .modal-box .modal-buttons a.modal-btn.btn-yellow:hover { background-color: #f0bb2e; border-color: #dba71a; color: #fff; }
#modal-window .modal-box .modal-buttons a.modal-btn.btn-3e64e1 { background-color: #3e64e1; color: #fff; border: 1px solid #3e64e1; }
#modal-window .modal-box .modal-buttons a.modal-btn.btn-3e64e1:hover { background-color: #3e64e1; border: 1px solid #3e64e1; }
#modal-window .modal-box .modal-buttons a.modal-btn.btn-black { background-color: #444; border-color: #313131; color: #fff; }
#modal-window .modal-box .modal-buttons a.modal-btn.btn-black:hover { background-color: #333; border-color: #222; color: #fff; }
#modal-window .modal-box .modal-buttons a.modal-btn.btn-gray { background-color: gray; border-color: gray; color: #fff; }
#modal-window .modal-box .modal-buttons a.modal-btn.btn-gray:hover { background-color: gray; border-color: gray; color: #fff; }
#modal-window .modal-box .modal-buttons a.modal-btn.btn-white { background-color: #fff; color: #555; border: 1px solid #ddd;}
#modal-window .modal-box .modal-buttons a.modal-btn.btn-white:hover { background-color: #f7f7f7; border: 1px solid #ccc;}
#modal-window .modal-box .modal-buttons a.modal-btn.btn-white:active, #modal-window .modal-box .modal-buttons a.modal-btn.btn-white:focus {
  box-shadow: inset 0 0 10px rgba(0,0,0,0.1);
}

/* Modal Title Types */
#modal-window .modal-box.modal-type-success .modal-title { background-color: var(--modal-title-success); }
#modal-window .modal-box.modal-type-warning .modal-title { background-color: var(--modal-title-warning);}
#modal-window .modal-box.modal-type-error .modal-title { background-color: var(--modal-title-error);}
#modal-window .modal-box.modal-type-info .modal-title { background-color: var(--modal-title-info);}
#modal-window .modal-box.modal-type-inverted .modal-title { background-color: var(--modal-title-inverted);}
#modal-window .modal-box.modal-type-primary .modal-title { background-color: var(--modal-title-primary);}
#modal-window .modal-box.modal-type-success .modal-title,
#modal-window .modal-box.modal-type-warning .modal-title,
#modal-window .modal-box.modal-type-error .modal-title,
#modal-window .modal-box.modal-type-info .modal-title,
#modal-window .modal-box.modal-type-inverted .modal-title,
#modal-window .modal-box.modal-type-primary .modal-title {
  color: #FFF;
  text-shadow: 0 1px 3px rgba(0,0,0,0.25);
  border-bottom-color: transparent;
}

/* Modal Title Types - Close Button White Color */
#modal-window .modal-box.modal-type-success .modal-title .modal-close-btn::before,
#modal-window .modal-box.modal-type-warning .modal-title .modal-close-btn::before,
#modal-window .modal-box.modal-type-error .modal-title .modal-close-btn::before,
#modal-window .modal-box.modal-type-info .modal-title .modal-close-btn::before,
#modal-window .modal-box.modal-type-inverted .modal-title .modal-close-btn::before,
#modal-window .modal-box.modal-type-primary .modal-title .modal-close-btn::before {
  color: #fff;
}

#modal-window .modal-box.modal-theme-reseted {
  background: none;
  border-radius: 0;
  box-shadow: none;
}
#modal-window .modal-box.modal-theme-reseted .modal-title { border-bottom: 0; padding: 0;}
#modal-window .modal-box.modal-theme-reseted .modal-title .modal-close-btn { right: 0;}
#modal-window .modal-box.modal-theme-reseted .modal-text { padding: 0;}
#modal-window .modal-box.modal-theme-reseted .modal-buttons { border-top: 0; background: none; padding: 0;}
