#toast-box {
  visibility: hidden;
  min-width: 200px;
  background-color: #333;
  color: #fff;
  text-align: center;
  border-radius: 2px;
  padding: 16px;
  position: fixed;
  z-index: 1;
  top: 30px;
  font-size: 17px;
}
#bottom-sheet-box {
  visibility: hidden;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  touch-action: none;
}
#bottom-sheet {
  position: relative;
  visibility: hidden;
  width: 100%;
  height: calc(100% - 100px);
  position: fixed;
  bottom: 0;
  background-color: #fff;
  touch-action: none;
}
#toast-box.show {
  visibility: visible;
  -webkit-animation: toast-fadein 0.5s, toast-fadeout 0.5s 2.5s;
  animation: toast-fadein 0.5s, toast-fadeout 0.5s 2.5s;
}
#bottom-sheet-box.show {
  visibility: visible;
  -webkit-animation: sheet-box-fadein 0.5s;
  animation: sheet-box-fadein 0.5s;
}
#bottom-sheet.show {
  visibility: visible;
  -webkit-animation: bottom-sheet-fadein 0.5s;
  animation: bottom-sheet-fadein 0.5s;
}
.close-img {
  width: 22px;
  height: 22px;
}
.sheet-title-box {
  position: relative;
  display: inline-flex;
  padding: 15px 15px 6px 15px;
  width: calc(100% - 30px);
  justify-content: space-between;
}
.sheet-title-text {
  font-size: 16px;
  color: #333;
}
#sheet-list {
  height: calc(100% - 80px);
  padding-bottom: 20px;
  overflow: scroll;
}
.sheet-item-text {
  font-size: 16px;
  color: #333;
  margin-left: 15px;
}
.sheet-item-text-disabled {
  color: #999999;
}
.sheet-item-box {
  display: flex;
  padding: 15px;
  width: 100%;
  flex-direction: row;
  align-items: center;
}

.send-sms-loading {
  position: absolute;
  visibility: hidden;
  transform: scale(0.45);
}
.page-loading-box {
  position: fixed;
  visibility: hidden;
  width: 100%;
  height: 100%;
  top: 0;
  background-color: rgba(0, 0, 0, 0.5);
}
.page-loading {
  transform: scale(0.7);
}
.page-loading-text {
  font-size: 16px;
  color: #fff;
}

@-webkit-keyframes toast-fadein {
  from {top: 0; opacity: 0;} 
  to {top: 30px; opacity: 1;}
}
@keyframes toast-fadein {
  from {top: 0; opacity: 0;}
  to {top: 30px; opacity: 1;}
}
@-webkit-keyframes toast-fadeout {
  from {top: 30px; opacity: 1;} 
  to {top: 0; opacity: 0;}
}
@keyframes toast-fadeout {
  from {top: 30px; opacity: 1;}
  to {top: 0; opacity: 0;}
}
@-webkit-keyframes sheet-box-fadein {
  from {opacity: 0;} 
  to {opacity: 1;}
}
@keyframes sheet-box-fadein {
  from {opacity: 0;}
  to {opacity: 1;}
}
@-webkit-keyframes sheet-box-fadeout {
  from {opacity: 1;} 
  to {opacity: 0;}
}
@keyframes sheet-box-fadeout {
  from {opacity: 1;}
  to {opacity: 0;}
}
@-webkit-keyframes bottom-sheet-fadein {
  from {bottom: -600px;} 
  to {bottom: 0;}
}
@keyframes bottom-sheet-fadein {
  from {bottom: -600px;}
  to {bottom: 0;}
}
@-webkit-keyframes bottom-sheet-fadeout {
  from {bottom: 0;} 
  to {bottom: -600px;}
}
@keyframes bottom-sheet-fadeout {
  from {bottom: 0;}
  to {bottom: -600px;}
}

/* loading */

.lds-spinner {
  color: official;
  display: inline-block;
  position: relative;
  width: 80px;
  height: 80px;
}
.lds-spinner div {
  transform-origin: 40px 40px;
  animation: lds-spinner 1.2s linear infinite;
}
.lds-spinner div:after {
  content: " ";
  display: block;
  position: absolute;
  top: 3px;
  left: 37px;
  width: 6px;
  height: 18px;
  border-radius: 20%;
  background: #ff7000;
}
.lds-spinner div:nth-child(1) {
  transform: rotate(0deg);
  animation-delay: -1.1s;
}
.lds-spinner div:nth-child(2) {
  transform: rotate(30deg);
  animation-delay: -1s;
}
.lds-spinner div:nth-child(3) {
  transform: rotate(60deg);
  animation-delay: -0.9s;
}
.lds-spinner div:nth-child(4) {
  transform: rotate(90deg);
  animation-delay: -0.8s;
}
.lds-spinner div:nth-child(5) {
  transform: rotate(120deg);
  animation-delay: -0.7s;
}
.lds-spinner div:nth-child(6) {
  transform: rotate(150deg);
  animation-delay: -0.6s;
}
.lds-spinner div:nth-child(7) {
  transform: rotate(180deg);
  animation-delay: -0.5s;
}
.lds-spinner div:nth-child(8) {
  transform: rotate(210deg);
  animation-delay: -0.4s;
}
.lds-spinner div:nth-child(9) {
  transform: rotate(240deg);
  animation-delay: -0.3s;
}
.lds-spinner div:nth-child(10) {
  transform: rotate(270deg);
  animation-delay: -0.2s;
}
.lds-spinner div:nth-child(11) {
  transform: rotate(300deg);
  animation-delay: -0.1s;
}
.lds-spinner div:nth-child(12) {
  transform: rotate(330deg);
  animation-delay: 0s;
}
@keyframes lds-spinner {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

.lds-spinner-white div:after {
  background: #fff;
}
.page-loading div:after {
  background: #fff;
}

#init-loading {
  visibility: hidden;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
#init-loading img {
  border-radius: 16px;
  width: 90px;
  height: 90px;
  animation: 1s ease-in-out 0s infinite alternate breathe;
  opacity: 0.66;
  transition: opacity 0.4s;
}
#init-loading.main_done img {
  opacity: 1;
}
@keyframes breathe {
  from {
    transform: scale(1);
  }
  to {
    transform: scale(0.8);
  }
}