
@keyframes bord-pop {
  0% {
    transform: translate(-50%, -50%);
  }
  50% {
    transform: translate(-50%, -50%) scale(1.9);
    opacity: 0.1;
  }
  100% {
    transform: translate(-50%, -50%) scale(1.9);
    opacity: 0;
  }
}
@keyframes col {
  0% {
    transform: scale(1) translate(0,0);
  }
  10% {
    transform: scale(1.1) translate(0,0);
  }
  75% {
    transform: scale(1) translate(0,0);
  }
  100% {
    transform: scale(1) translate(0,0);
  }
}
@keyframes bell-ring {
  0% {
    transform: translate(-50%, -50%);
  }
  5%, 15% {
    transform: translate(-50%, -50%) rotate(25deg);
  }
  10%, 20% {
    transform: translate(-50%, -50%) rotate(-25deg);
  }
  25%  {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(0deg);
  }
}

  /*모달 팝업 영역 스타일링*/
  .showModal {
      display: block; /*평소에는 보이지 않도록*/
      position: fixed;
      top:0;
      left: 0;
      width: 100%;
      height:100%;
      overflow: hidden;
      background: rgba(0,0,0,0.5);
  }
  .showModal .showDialog,.showConfirm {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translateX(-50%) translateY(-50%);
      padding: 20px;
      background: #ffffff;
      border-radius: 20px;
  }
  .showModal>.showDialog { padding:initial;}
  .showConfirm { 
    border-radius: 12px;
    width: 360px;
    padding: 30px;

    overflow: hidden;

    background: #FFFFFF;
    box-shadow: 20px 20px 15px rgba(136, 140, 146, 0.2), 0px 0px 5px rgba(0, 0, 0, 0.5);
    outline: 0;
  
  }
  
  .showConfirm ul{
    display: grid;
    align-content: center;
    text-align: center;
    color: rgba(0, 0, 0, 0.75);
}
.showConfirm ul>li{
    font-size: 18px;
font-weight: bold;
}
.showConfirm ul>li:nth-child(2){
    padding-top:9px;    
    line-height: 23px;
    font-size: 16px;
    font-weight: normal;
    color: rgba(0, 0, 0, 0.75);
}

.showModal ul { margin: 0; padding: 0;}
.showModal li { list-style-type: none;}
.showConfirm button{
    background: transparent;
    margin: 30px;
    margin-bottom: 0px;
    width: 120px;
    height: 36px;
    padding: 0px 8px;
    font-size: 14px;
    line-height: 0px;
    border-radius: 5px;
    display: inline-block;
    font-weight: 400;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-style: normal;
    text-align: center;
    vertical-align: middle;
    user-select: none;
    -webkit-appearance: none;
    -webkit-text-size-adjust: none;
    cursor: pointer;
    border: 1px solid transparent;
    transition-property: background-color;
    transition-duration: 0.2s;
    transition-timing-function: linear;
}
.showConfirm button[data-event="yes"]{
    background: #354567;
    color: white;
}
.showConfirm button:not(:disabled):hover {
    background: rgba(36, 47, 70, 0.05);
}
.showConfirm button:not(:disabled)[data-event="yes"]:hover {
      background: #242f46;
}

#showNotify {
  display: block;
  position: fixed;
  top: 0;
  left: 50%;
  overflow: hidden;
  transform: translateX(-50%);
}
.notifys {
  
  margin-top: 20px;
  position: relative;
  min-height: 46px;
  color: #000000 !important;
  background-color: #fff;
  -webkit-border-radius: 50px;
  -moz-border-radius: 50px;
  border-radius: 50px;
  box-shadow: 0px 1px 5px 2px rgb(0 0 0 / 5%);
  pointer-events: none;
  opacity: 0;
  transition: all ease-in-out 500ms;

}
.notifys .nf-icon {
  display: table;
  position: absolute;
  height: auto;
  width: auto;
  left: 9px;
  top: 20%;
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.notifys.blue .nf-btn{ background: #004fff;}
.notifys.blue .nf-btn-border{ border: 1px solid #004fff; }

.notifys.red .nf-btn{ background: rgba(255, 59, 48, 1);}
.notifys.red .nf-btn-border{ border: 1px solid rgba(255, 59, 48, 1); }

.notifys.yellow .nf-btn{ background: #ffa500;}
.notifys.yellow .nf-btn-border{ border: 1px solid #ffa500; }

.nf-btn {
    text-align: center;
    height: 28px;
    width: 28px;
    animation-name: col;
    animation-duration: 2s;
    animation-iteration-count: infinite;
}
.nf-btn, .nf-btn-border {
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.nf-btn-border {
    height: 24px;
    width: 24px;
    animation-name: bord-pop;
    animation-duration: 2s;
    animation-iteration-count: infinite;
    box-shadow: 2px 2px 5px #ccc, -2px -2px 5px #ccc;
}
.nf-btn::before{
  content:'';
  padding-top: 12px;
  background-image: url("data:image/svg+xml,%3Csvg height='21' viewBox='0 0 21 21' width='21' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m2.41547595 3.5h10.16904815c.9116644 0 1.6507144.73905002 1.6507144 1.65071443 0 .299182-.0813106.59273912-.2352385.84928557-.9815222 1.63587038-1.5 3.50773964-1.5 5.4154759v1.0845241c0 2.209139-1.790861 4-4 4h-2c-2.209139 0-4-1.790861-4-4v-1.0845241c0-1.90773626-.51847777-3.77960552-1.5-5.4154759-.46904747-.78174578-.2155554-1.79571405.56619038-2.26476152.25654645-.15392786.55010357-.23523848.84928557-.23523848zm-1.91547595 11c.2671216.9337883.60045494 1.6004549 1 2s1.06621173.7328784 2 1m10.9115854-3c-.2081785.9337883-.5120403 1.6004549-.9115854 2s-1.0956833.7328784-2.0884146 1m-6.4115854-15.5c.66666667-1 1.5-1.5 2.5-1.5s1.83333333.5 2.5 1.5' fill='%23fff' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' transform='matrix(-1 0 0 -1 18 19)'/%3E%3C/svg%3E");
  background-position: center;
  width: 16px;
  height: 16px;
  display: inline-block;
  border-radius: 50%;
  background-repeat: no-repeat;
  box-sizing: unset;
}
.notify-text{
    padding: 16px;
    padding-left: 48px;
}
div[data-modal-id]{ display: none;}