@tailwind base;
@tailwind components;
@tailwind utilities;

:root {
  --tooltip-color: #0369a1;
  /* Default color */
}

body {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 16px;
  background-color: #eeeeee;
  color: #212121;
  scrollbar-gutter: stable both-edges;
  overflow-x: hidden;
  width: 100vw;
  margin-right: calc(100vw - 100%);
}

.arvo {
  font-family: 'Arvo', serif;
}

.contrail {
  font-family: 'Contrail One', 'Noto Sans JP', serif;
  font-display: block;
}

.notosansjp {
  font-family: 'Noto Sans JP', sans-serif;
  font-display: block;
}

a:hover {
  color: inherit;
  text-decoration: none;
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  margin: 0;
}


#terms_en ol,
#terms_ja ol,
#terms_ko ol {
  margin-left: 15px;
}

.valign--1px {
  vertical-align: -1px;
}

.valign-3px {
  vertical-align: 3px;
}

.center-icon {
  position: absolute;
  top: 35%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.center-icon-51 {
  position: absolute;
  top: 51%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.svg-colorBase path {
  fill: #212121;
}

.svg-active path {
  fill: #0369a1;
}

.svg-disabled path {
  fill: rgb(229 231 235);
}

/* DROP DOWN IN NAVBAR */
.drop a {
  transition: background-color 0.5s ease-in-out;
}

.drop {
  position: absolute;
  width: max-content;
  z-index: 2;
  display: none;
}

.drop li {
  opacity: 1;
  transform-origin: top center;
  padding: 10px;
}


/* HR */
.hr-text {
  position: relative;
  outline: 0;
  border: 0;
  color: black;
  text-align: center;
  height: 1px;
  opacity: .5;
}

.hr-text:before {
  content: '';
  /* // use the linear-gradient for the fading effect
    // use a solid background color for a solid bar */
  background: linear-gradient(to right, transparent, #818078, transparent);
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  height: 1px;
  line-height: 1px;
}

.hr-text:after {
  content: attr(data-content);
  position: relative;
  display: inline-block;
  color: black;

  padding: 0 .5em;
  line-height: 1px;
  /* // this is really the only tricky part, you need to specify the background color of the container element... */
  color: #818078;
  background-color: #fcfcfa;
}

/* IMAGE CLIP */
.clip-slash {
  clip-path: polygon(0% 0%, 100% 0%, 100% 45%, 0% 64%);
}

.clip-slash-85-100 {
  clip-path: polygon(0% 0%, 100% 0%, 100% 85%, 0% 100%);
}

.clip-slash-70-90 {
  clip-path: polygon(0% 0%, 100% 0%, 100% 70%, 0% 90%);
}

.img-cover {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.required::after {
  content: '*';
  margin-left: 5px;
  color: #b91c1c;
}

.tracking-xs {
  letter-spacing: -0.1rem;
}

.progress {
  background: rgba(0, 0, 0, 0.25);
  border-radius: 6px;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.25), 0 1px rgba(255, 255, 255, 0.08);
}

.progress-bar {
  height: 18px;
  background-color: #ee303c;
  border-radius: 4px;
  transition: 0.4s linear;
  transition-property: width, background-color;
}

.progress-striped .progress-bar {
  width: 0;
  background-color: #0369a1;
  background-image: linear-gradient(45deg, rgb(62 150 196) 25%,
      transparent 25%, transparent 50%,
      rgb(62 150 196) 50%, rgb(62 150 196) 75%,
      transparent 75%, transparent);
  transition: width 2s;
}

.progress .upload-progress-bar {
  width: 0;
  background-color: #03a140;
  transition: width 2s;
}

.table-scroll {
  overflow-y: scroll;
}

.table-scroll::-webkit-scrollbar-thumb {
  min-height: auto;
}

/* COLOR PICKER COLORIS JS */
.color-picker {
  -webkit-apprearance: none;
  -moz-apprearance: none;
  width: 37px;
  height: 40px;
  background-color: transparent;
  border: none;
  cursor: pointer;
}

.color-picker::-webkit-color-swatch {
  border-radius: 100px;
  border: none;
}

.color-picker::-moz-color-swatch {
  border-radius: 100%;
  border: none;
}

/* Shortcut Key Buttons */
.keycap {
  align-items: center;
  background-color: #FCFCFD;
  border-radius: 4px;
  border-width: 0;
  box-shadow: rgba(45, 35, 66, 0.4) 0 2px 4px, rgba(45, 35, 66, 0.3) 0 0px 3px -3px, #D6D6E7 0 -3px 0 inset;
  box-sizing: border-box;
  color: #36395A;
  cursor: pointer;
  display: inline-flex;
  font-family: "JetBrains Mono", monospace;
  height: 35px;
  justify-content: center;
  line-height: 1;
  overflow: hidden;
  padding-left: 13px;
  padding-right: 14px;
  position: relative;
  text-align: left;
  white-space: nowrap;
  cursor: default;
}

/* PAGER */
.pageNum,
.activePage {
  height: 45px;
  width: 45px;
  margin: 0 3px;
  line-height: 45px;
  border-radius: 50%;
}

/* TOOLTIP */
.tooltip {
  position: relative;
  display: inline-block;
  opacity: 1;
}

/* Tooltip text */
[tooltip] {
  position: relative;
  /* opinion 1 */
}

/* Applies to all tooltips */
[tooltip]::before,
[tooltip]::after {
  user-select: none;
  pointer-events: none;
  position: absolute;
  display: none;
  opacity: 0;
  font-size: small;
}

[tooltip]::before {
  content: '';
  border: 5px solid transparent;
  /* opinion 4 */
  z-index: 1;
  /* absurdity 1 */
}

[tooltip]::after {
  content: attr(tooltip);
  /* magic! */

  /* most of the rest of this is opinion */
  text-align: center;

  /* 
    Let the content set the size of the tooltips 
    but this will also keep them from being obnoxious
    */
  min-width: 3em;
  width: 100%;
  white-space: break-spaces;
  padding: 0.5rem;
  border-radius: .3ch;
  box-shadow: 0 1em 2em -.5em rgba(0, 0, 0, 0.35);
  background: var(--tooltip-color);
  color: #fff;
  z-index: 2;
  /* absurdity 2 */
}

/* Make the tooltips respond to hover */
[tooltip]:hover::before,
[tooltip]:hover::after {
  display: block;
}

/* don't show empty tooltips */
[tooltip='']::before,
[tooltip='']::after {
  display: none !important;
}

/* FLOW: UP */
[tooltip]:not([flow])::before,
[tooltip][flow^="up"]::before {
  bottom: 100%;
  border-bottom-width: 0;
  border-top-color: var(--tooltip-color);
}

[tooltip]:not([flow])::after,
[tooltip][flow^="up"]::after {
  bottom: calc(100% + 4px);
}

[tooltip]:not([flow])::before,
[tooltip]:not([flow])::after,
[tooltip][flow^="up"]::before,
[tooltip][flow^="up"]::after {
  left: 50%;
  transform: translate(-50%, -.5em);
}

/* FLOW: DOWN */
[tooltip][flow^="down"]::before {
  top: 100%;
  border-top-width: 0;
  border-bottom-color: var(--tooltip-color);
}

[tooltip][flow^="down"]::after {
  top: calc(100% + 5px);
}

[tooltip][flow^="down"]::before,
[tooltip][flow^="down"]::after {
  left: 50%;
  transform: translate(-50%, .5em);
}

/* FLOW: LEFT */
[tooltip][flow^="left"]::before {
  top: 50%;
  border-right-width: 0;
  border-left-color: var(--tooltip-color);
  left: calc(0em - 5px);
  transform: translate(-.5em, -50%);
}

[tooltip][flow^="left"]::after {
  top: 50%;
  right: calc(100% + 5px);
  transform: translate(-.5em, -50%);
}

/* FLOW: RIGHT */
[tooltip][flow^="right"]::before {
  top: 50%;
  border-left-width: 0;
  border-right-color: var(--tooltip-color);
  right: calc(0em - 5px);
  transform: translate(.5em, -50%);
}

[tooltip][flow^="right"]::after {
  top: 50%;
  left: calc(100% + 5px);
  transform: translate(.5em, -50%);
}

/* KEYFRAMES */
@keyframes tooltips-vert {
  to {
    opacity: .9;
    transform: translate(-50%, 0);
  }
}

@keyframes tooltips-horz {
  to {
    opacity: .9;
    transform: translate(0, -50%);
  }
}

/* FX All The Things */
[tooltip]:not([flow]):hover::before,
[tooltip]:not([flow]):hover::after,
[tooltip][flow^="up"]:hover::before,
[tooltip][flow^="up"]:hover::after,
[tooltip][flow^="down"]:hover::before,
[tooltip][flow^="down"]:hover::after {
  animation: tooltips-vert 300ms ease-out forwards;
}

[tooltip][flow^="left"]:hover::before,
[tooltip][flow^="left"]:hover::after,
[tooltip][flow^="right"]:hover::before,
[tooltip][flow^="right"]:hover::after {
  animation: tooltips-horz 300ms ease-out forwards;
}

/* SCROLLBAR */
/* Firefox */
*,
.filepond--list-scroller {
  scrollbar-width: auto;
  scrollbar-color: #0369a1 #ffffff;
}

/* Chrome, Edge, and Safari */
*::-webkit-scrollbar {
  width: 10px;
  height: 5px;
}

.filepond--list-scroller::-webkit-scrollbar {
  width: 8px;
}

*::-webkit-scrollbar-track,
.filepond--list-scroller::-webkit-scrollbar-track {
  background: transparent;
}

*::-webkit-scrollbar-thumb,
.filepond--list-scroller::-webkit-scrollbar-thumb {
  background-color: #0369a1;
  border-radius: 10px;
  border: 3px solid transparent;
}

.inner-sb::-webkit-scrollbar-thumb {
  min-height: auto !important;
}

*::-webkit-scrollbar-thumb {
  min-height: 47rem;
}