/**************************\
  Basic Modal Styles
\**************************/

@import url('constants.css');

.modal {
  font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}

.modal__overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0,0,0,0.6);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 100;
  cursor: default;
}

.modal__container {
  background-color: #fff;
  padding: 30px;
  max-width: 700px;
  width: 100%;
  max-height: 100vh;
  border-radius: 4px;
  overflow-y: auto;
  box-sizing: border-box;
}

.modal__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.modal__title {
  margin-top: 0;
  margin-bottom: 0;
  padding: 0 !important;
  font-weight: 700 !important;
  font-size: 1.10rem !important;
  line-height: 1.25;
  color: var(--palette-gray-darkest);
  box-sizing: border-box;
}

.modal__close {
  background: transparent;
  border: 0;
}

.modal__header .modal__close:before { content: "\2715"; cursor: pointer; }

.modal__content {
  margin-top: 2rem;
  margin-bottom: 2rem;
  line-height: 1.5;
  color: var(--palette-gray-darkest);
}

.modal__footer{
  width: inherit;
  display: flex;
  column-gap: .5em;
  justify-content: flex-end;
  align-items: normal;
}

.modal__btn {
  font-size: .875rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: .5rem;
  padding-bottom: .5rem;
  background-color: #e6e6e6;
  color: var(--palette-gray-darkest);
  border-radius: .25rem;
  border-style: none;
  border-width: 0;
  cursor: pointer;
  /* -webkit-appearance: button; */
  text-transform: none;
  overflow: visible;
  line-height: 1.15;
  margin: 0;
  will-change: transform;
  -moz-osx-font-smoothing: grayscale;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  transition: -webkit-transform .25s ease-out;
  transition: transform .25s ease-out;
  transition: transform .25s ease-out,-webkit-transform .25s ease-out;
}

.modal__btn:focus, .modal__btn:hover {
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
}

.modal__btn-primary {
  background-color: var(--primary-color);
  color: #fff;
}

/**************************\
  Demo Animation Style
\**************************/
@keyframes mmfadeIn {
    from { opacity: 0; }
      to { opacity: 1; }
}

@keyframes mmfadeOut {
    from { opacity: 1; }
      to { opacity: 0; }
}

@keyframes mmslideIn {
  from { transform: translateY(15%); }
    to { transform: translateY(0); }
}

@keyframes mmslideOut {
    from { transform: translateY(0); }
    to { transform: translateY(-10%); }
}

.micromodal-slide {
  display: none;
}

.micromodal-slide.is-open {
  display: block;
}

.micromodal-slide[aria-hidden="false"] .modal__overlay {
  animation: mmfadeIn .3s cubic-bezier(0.0, 0.0, 0.2, 1);
}

.micromodal-slide[aria-hidden="false"] .modal__container {
  animation: mmslideIn .3s cubic-bezier(0, 0, .2, 1);
}

.micromodal-slide[aria-hidden="true"] .modal__overlay {
  animation: mmfadeOut .3s cubic-bezier(0.0, 0.0, 0.2, 1);
}

.micromodal-slide[aria-hidden="true"] .modal__container {
  animation: mmslideOut .3s cubic-bezier(0, 0, .2, 1);
}

.micromodal-slide .modal__container,
.micromodal-slide .modal__overlay {
  will-change: transform;
}

.msync-modal-upload-container.msync-row{
  display: flex;
  flex-direction: row;
  width: inherit;
  margin-top: .5rem;
  gap: .5rem;
}
.msync-modal-upload-container.msync-col{
  display: flex;
  flex-direction: column;
  gap: .5rem;
}

.msync-modal-upload-container.msync-center{
  display: flex;
  justify-content: center;
  align-items: center;
  width: inherit;
}

.msync-file-input::file-selector-button{
  color: var(--palette-blurple-base);
  border: 1px solid var(--palette-blurple-base);
  cursor: pointer;
  background-color: transparent;
  padding: var(--btn-padding);
  border-radius: var(--radius);
}

.msync-between{
  justify-content: space-between;
  align-items: center;
}

.msync-progress-bar-container {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  background-color: #ffffff;
  margin: 0 20px;
  border-radius: 5px;
}

.msync-progress-bar-container .msync-progress-bar-percent {
  position: relative;
  width: 120px; /* Adjust as needed */
  height: 120px; /* Adjust as needed */
}

.msync-progress-bar-container svg {
  position: relative;
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}

.msync-progress-bar-container svg circle {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: #f0f0f0;
  stroke-width: 10;
  stroke-linecap: round;
}

.msync-progress-bar-container svg circle:last-of-type {
  stroke-dasharray: 376px; /* Adjust based on the circumference of the smaller circle */
  stroke: var(--clr-primary-700); 
  stroke-dashoffset: calc(314px - (314px * 0) / 100);
}

.msync-progress-bar-container .msync-progress-bar-number {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.msync-progress-bar-container:nth-child(1) svg circle:last-of-type {
  stroke-dasharray: 314px; /* Circumference of the circle (2 * π * r), adjust based on your circle size */
  stroke: var(--clr-primary-700);
  transition: stroke-dashoffset 0.5s ease;
}

.msync-progress-bar-number h3 {
  font-weight: bold;
  font-size: 1.2rem;
}

.msync-progress-message, .msync-progress-bar-title{
  text-align: center;
  white-space: pre-line;
}

@keyframes flipInX {
  0% {
    transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }
  100% {
    transform: perspective(400px) rotateX(0);
    opacity: 1;
  }
}

/* .msync-tanstack-table{
  display: none !important;
} */

.msync-is-completed{
  display: none !important;
}

.msync-is-completed.show {
  display: flex !important;
  animation: flipInX 0.5s ease;
}

.msync.button{
  padding:0;
  margin:0;
}
.msync.button a {
  display: flex;
  padding: 0 10px;
}

.msync-modal-upload-container.msync-download-template > p,
.msync-modal-upload-container.msync-download-template > p > a{
  margin:0;
  padding:0;
  color: var(--palette-gray-dark);
}
