.tve-image-dialog-inner button:disabled {
  opacity: 0.5;
}
.tve-image-dialog-outer {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen,
    Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  display: flex;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 99;
  justify-content: center;
  align-items: center;
  background: rgba(0, 0, 0, 0.6);
}

.tve-image-dialog-outer.hidden {
  display: none;
}

.tve-image-dialog-inner {
  background: white;
  border-radius: 8px;
  width: 100vw;
  max-width: 30rem;
  padding: 2rem;
}

.tve-image-dialog-inner > p {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 1rem;
}

.tve-image-dialog-inner .error-messages {
  display: inline-block;
  padding: 0.25rem 1rem;
  background: salmon;
  border: 1px solid darkred;
  border-radius: 5px;
}

.tve-image-dropzone {
  height: 15rem;
  position: relative;
  border: 1px solid #ccc;
  border-radius: 8px;
}

.tve-image-dropzone.hovering {
  height: 15rem;
  position: relative;
  border: 1px solid #41b883;
  border-radius: 8px;
}

.tve-image-dropzone label {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  justify-items: center;
  align-items: center;
}

.tve-image-dropzone label span {
  display: block;
  margin: auto;
}

.tve-alt-text-block > p {
  font-size: 0.875rem;
  margin-bottom: 0.5rem;
  margin-top: 1.5rem;
  font-family: sans-serif;
}

.tve-alt-text-block > input {
  display: block;
  border: 1px solid #e5e5e5;
  width: 100%;
  padding: 0.5rem;
}

.tve-button-bar {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin: 1rem 0;
}

.tve-button-bar button {
  margin: 0 0 0 1rem;
  border: none;
  box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.125);
  border-radius: 5px;
  font-family: sans-serif;
  font-size: 1rem;
  padding: 0.25rem 1rem;
}

.tve-button-bar .cancel {
  background: #e5e5e5;
}

.tve-button-bar .cancel:hover {
  background: #cbeefa;
}

.tve-button-bar .insert {
  background: #41b883;
  color: white;
}

.tve-button-bar .insert:hover {
  background: #35495e;
}

/* MARK: DD Toolbar 
*/
.dd-trix-toolbar {
  display: flex; justify-content: space-between; 
  margin: 0.25rem 0; height: 36px; padding: 0.25rem 0;
}

.plugin-button-bar {
  display: flex;
  align-items: center;
}

.plugin-button-bar > * {
  margin: 0 0.5rem;
}

.dd-trix-toolbar .dd-save-content {
  display: flex;
  align-items: center;
}

.dd-trix-toolbar .dd-save-content button {
  border: 1px solid #bbb; margin-left: 0.5rem; padding: 4px; 
  display: flex; align-items: center;
}

.dd-trix-toolbar .dd-save-content button svg {
  margin-left: 8px;
}

.dd-trix-toolbar .dd-insert-image-label {
  display: flex; align-items: center; margin-right: 1rem;
  border: 1px solid #bbb; padding: 4px;
}

.dd-trix-toolbar .dd-insert-image-label svg {
  margin-right: 5px;
}

.dd-trix-toolbar .dd-insert-image-label input {
  display: none;
}
trix-editor {
  border: 1px solid #bbb; border-radius: 3px; margin: 0;
  padding: 0.4em 0.6em; min-height: 5em; outline: none;
}

.dd-vue-trix.stick .attachment {
  z-index: 1;
}

.dd-vue-trix.stick .dd-trix-toolbar {
  background: #fff; position: sticky; top: 0; z-index: 99;
}

.dd-vue-trix.stick trix-toolbar {
  background: #fff; position: sticky; top: 36px; z-index: 99;
}

/* MARK: Trix Toolbar 
*/
trix-toolbar {
  position: sticky; top: 0; z-index: 99;
}
trix-toolbar * {
  box-sizing: border-box;
}
trix-toolbar .trix-button-row {
  display: flex; flex-wrap: nowrap; justify-content: space-between;
}
trix-toolbar .trix-button-group {
  display: flex; margin-bottom: 10px; border: 1px solid #bbb;
  border-top-color: #ccc; border-bottom-color: #888; border-radius: 3px;
  background: white;
}
trix-toolbar .trix-button {
  position: relative; float: left; color: rgba(0, 0, 0, 0.6);
  font-size: 0.75em; font-weight: 600; white-space: nowrap;
  padding: 0 0.5em; margin: 0; outline: none; border: none;
  border-bottom: 1px solid #ddd; border-radius: 0; background: transparent;
}
trix-toolbar .trix-button:not(:first-child) {
  border-left: 1px solid #ccc;
}
trix-toolbar .trix-button.trix-active {
  background: #cbeefa;
  color: black;
}
trix-toolbar .trix-button:not(:disabled) {
  cursor: pointer;
}
trix-toolbar .trix-button:disabled {
  color: rgba(0, 0, 0, 0.125);
}
@media (max-device-width: 768px) {
  trix-toolbar .trix-button {
    letter-spacing: -0.01em;
    padding: 0 0.3em;
  }
}
trix-toolbar .trix-button--icon {
  font-size: inherit; width: 2.6em; height: 1.6em;
  max-width: calc(0.8em + 4vw); text-indent: -9999px;
}
@media (max-device-width: 768px) {
  trix-toolbar .trix-button--icon {
    height: 2em;
    max-width: calc(0.8em + 3.5vw);
  }
}
trix-toolbar .trix-button--icon::before {
  display: inline-block; position: absolute; 
  top: 0; right: 0; bottom: 0; left: 0;
  opacity: 0.6; content: ""; 
  background-position: center; background-repeat: no-repeat;
  background-size: contain;
}
@media (max-device-width: 768px) {
  trix-toolbar .trix-button--icon::before {
    right: 6%;
    left: 6%;
  }
}
trix-toolbar .trix-button--icon.trix-active::before {
  opacity: 1;
}
trix-toolbar .trix-button--icon:disabled::before {
  opacity: 0.125;
}
trix-toolbar .trix-button--icon-bold::before {
  background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M15.6%2011.8c1-.7%201.6-1.8%201.6-2.8a4%204%200%200%200-4-4H7v14h7c2.1%200%203.7-1.7%203.7-3.8%200-1.5-.8-2.8-2.1-3.4zM10%207.5h3a1.5%201.5%200%201%201%200%203h-3v-3zm3.5%209H10v-3h3.5a1.5%201.5%200%201%201%200%203z%22%2F%3E%3C%2Fsvg%3E);
}
trix-toolbar .trix-button--icon-italic::before {
  background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M10%205v3h2.2l-3.4%208H6v3h8v-3h-2.2l3.4-8H18V5h-8z%22%2F%3E%3C%2Fsvg%3E);
}
trix-toolbar .trix-button--icon-link::before {
  background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M9.88%2013.7a4.3%204.3%200%200%201%200-6.07l3.37-3.37a4.26%204.26%200%200%201%206.07%200%204.3%204.3%200%200%201%200%206.06l-1.96%201.72a.91.91%200%201%201-1.3-1.3l1.97-1.71a2.46%202.46%200%200%200-3.48-3.48l-3.38%203.37a2.46%202.46%200%200%200%200%203.48.91.91%200%201%201-1.3%201.3z%22%2F%3E%3Cpath%20d%3D%22M4.25%2019.46a4.3%204.3%200%200%201%200-6.07l1.93-1.9a.91.91%200%201%201%201.3%201.3l-1.93%201.9a2.46%202.46%200%200%200%203.48%203.48l3.37-3.38c.96-.96.96-2.52%200-3.48a.91.91%200%201%201%201.3-1.3%204.3%204.3%200%200%201%200%206.07l-3.38%203.38a4.26%204.26%200%200%201-6.07%200z%22%2F%3E%3C%2Fsvg%3E);
}
trix-toolbar .trix-button--icon-strike::before {
  background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M12.73%2014l.28.14c.26.15.45.3.57.44.12.14.18.3.18.5%200%20.3-.15.56-.44.75-.3.2-.76.3-1.39.3A13.52%2013.52%200%200%201%207%2014.95v3.37a10.64%2010.64%200%200%200%204.84.88c1.26%200%202.35-.19%203.28-.56.93-.37%201.64-.9%202.14-1.57s.74-1.45.74-2.32c0-.26-.02-.51-.06-.75h-5.21zm-5.5-4c-.08-.34-.12-.7-.12-1.1%200-1.29.52-2.3%201.58-3.02%201.05-.72%202.5-1.08%204.34-1.08%201.62%200%203.28.34%204.97%201l-1.3%202.93c-1.47-.6-2.73-.9-3.8-.9-.55%200-.96.08-1.2.26-.26.17-.38.38-.38.64%200%20.27.16.52.48.74.17.12.53.3%201.05.53H7.23zM3%2013h18v-2H3v2z%22%2F%3E%3C%2Fsvg%3E);
}
trix-toolbar .trix-button--icon-quote::before {
  background-image: url(data:image/svg+xml,%3Csvg%20version%3D%221%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M6%2017h3l2-4V7H5v6h3zm8%200h3l2-4V7h-6v6h3z%22%2F%3E%3C%2Fsvg%3E);
}
trix-toolbar .trix-button--icon-heading-1::before {
  background-image: url(data:image/svg+xml,%3Csvg%20version%3D%221%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M12%209v3H9v7H6v-7H3V9h9zM8%204h14v3h-6v12h-3V7H8V4z%22%2F%3E%3C%2Fsvg%3E);
}
trix-toolbar .trix-button--icon-code::before {
  background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M18.2%2012L15%2015.2l1.4%201.4L21%2012l-4.6-4.6L15%208.8l3.2%203.2zM5.8%2012L9%208.8%207.6%207.4%203%2012l4.6%204.6L9%2015.2%205.8%2012z%22%2F%3E%3C%2Fsvg%3E);
}
trix-toolbar .trix-button--icon-bullet-list::before {
  background-image: url(data:image/svg+xml,%3Csvg%20version%3D%221%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%204a2%202%200%201%200%200%204%202%202%200%200%200%200-4zm0%206a2%202%200%201%200%200%204%202%202%200%200%200%200-4zm0%206a2%202%200%201%200%200%204%202%202%200%200%200%200-4zm4%203h14v-2H8v2zm0-6h14v-2H8v2zm0-8v2h14V5H8z%22%2F%3E%3C%2Fsvg%3E);
}
trix-toolbar .trix-button--icon-number-list::before {
  background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M2%2017h2v.5H3v1h1v.5H2v1h3v-4H2v1zm1-9h1V4H2v1h1v3zm-1%203h1.8L2%2013.1v.9h3v-1H3.2L5%2010.9V10H2v1zm5-6v2h14V5H7zm0%2014h14v-2H7v2zm0-6h14v-2H7v2z%22%2F%3E%3C%2Fsvg%3E);
}
trix-toolbar .trix-button--icon-undo::before {
  background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M12.5%208c-2.6%200-5%201-6.9%202.6L2%207v9h9l-3.6-3.6A8%208%200%200%201%2020%2016l2.4-.8a10.5%2010.5%200%200%200-10-7.2z%22%2F%3E%3C%2Fsvg%3E);
}
trix-toolbar .trix-button--icon-redo::before {
  background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M18.4%2010.6a10.5%2010.5%200%200%200-16.9%204.6L4%2016a8%208%200%200%201%2012.7-3.6L13%2016h9V7l-3.6%203.6z%22%2F%3E%3C%2Fsvg%3E);
}
trix-toolbar .trix-button--icon-decrease-nesting-level::before {
  background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M3%2019h19v-2H3v2zm7-6h12v-2H10v2zm-8.3-.3l2.8%202.9L6%2014.2%204%2012l2-2-1.4-1.5L1%2012l.7.7zM3%205v2h19V5H3z%22%2F%3E%3C%2Fsvg%3E);
}
trix-toolbar .trix-button--icon-increase-nesting-level::before {
  background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M3%2019h19v-2H3v2zm7-6h12v-2H10v2zm-6.9-1L1%2014.2l1.4%201.4L6%2012l-.7-.7-2.8-2.8L1%209.9%203.1%2012zM3%205v2h19V5H3z%22%2F%3E%3C%2Fsvg%3E);
}
trix-toolbar .trix-button--icon-attach::before {
  background-image: url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M10.5%2018V7.5c0-2.25%203-2.25%203%200V18c0%204.125-6%204.125-6%200V7.5c0-6.375%209-6.375%209%200V18%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E)
}
trix-toolbar .trix-dialogs {
  position: relative;
}
trix-toolbar .trix-dialog {
  position: absolute; top: 0; left: 0; right: 0; font-size: 0.75em;
  padding: 15px 10px; background: #fff; box-shadow: 0 0.3em 1em #ccc;
  border-top: 2px solid #888; border-radius: 5px; z-index: 5;
}
trix-toolbar .trix-input--dialog {
  font-size: inherit; font-weight: normal; padding: 0.5em 0.8em;
  margin: 0 10px 0 0; border-radius: 3px; border: 1px solid #bbb;
  background-color: #fff; box-shadow: none; outline: none; appearance: none;
  -webkit-appearance: none; -moz-appearance: none;
}
trix-toolbar .trix-input--dialog.validate:invalid {
  box-shadow: #f00 0px 0px 1.5px 1px;
}
trix-toolbar .trix-button--dialog {
  font-size: inherit;
  padding: 0.5em;
  border-bottom: none;
}
trix-toolbar .trix-dialog--link {
  max-width: 600px;
}
trix-toolbar .trix-dialog__link-fields {
  display: flex;
  align-items: baseline;
}
trix-toolbar .trix-dialog__link-fields .trix-input {
  flex: 1;
}
trix-toolbar .trix-dialog__link-fields .trix-button-group {
  flex: 0 0 content;
  margin: 0;
}
/* MARK: Trix Editor 
*/
trix-editor [data-trix-mutable="true"] {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}
trix-editor [data-trix-mutable="true"] img {
  box-shadow: 0 0 0 2px highlight;
}
trix-editor [data-trix-mutable="true"].attachment.attachment--file {
  box-shadow: 0 0 0 2px highlight;
  border-color: transparent;
}
trix-editor [data-trix-mutable="true"]::-moz-selection,
trix-editor [data-trix-cursor-target]::-moz-selection {
  background: none;
}
trix-editor [data-trix-mutable="true"]::-moz-selection, trix-editor [data-trix-cursor-target]::-moz-selection {
  background: none;
}
trix-editor [data-trix-mutable="true"]::selection,
trix-editor [data-trix-cursor-target]::selection {
  background: none;
}
trix-editor .attachment {
  position: relative;
}
trix-editor .attachment:hover {
  cursor: default;
}
trix-editor .attachment--preview .attachment__caption:hover {
  cursor: text;
}
trix-editor .attachment__progress {
  position: absolute; z-index: 1; height: 20px; top: calc(50% - 10px);
  left: 5%; width: 90%; opacity: 0.9; transition: opacity 200ms ease-in;
}
trix-editor .attachment__progress[value="100"] {
  opacity: 0;
}
trix-editor .attachment__caption-editor {
  display: inline-block; width: 100%; margin: 0; padding: 0;
  font-size: inherit; font-family: inherit; line-height: inherit;
  color: inherit; text-align: center; vertical-align: top;
  border: none; outline: none; appearance: none;
  -webkit-appearance: none; -moz-appearance: none;
}
trix-editor .attachment__caption--editing {
  margin-top: 2px;
}
trix-editor .attachment__toolbar {
  display: flex; flex-direction: row; align-items: baseline; gap: 0.5rem;
  margin-top: 2rem; margin-bottom: 0.5rem;
}
trix-editor .trix-button--remove {
  display: inline-block; padding: 0.3em 0.5em;
  font-size: .8em; color: #fff; background-color: rgb(227 52 47 / var(--tw-text-opacity, 1));
  border: none; border-radius: 0.25em; text-align: center; cursor: pointer;
  transition: background-color 0.3s ease;
}
trix-editor .trix-button--remove:hover {
  background-color: rgb(207 46 40 / var(--tw-text-opacity, 1));
}
trix-editor .attachment__metadata {
  display: flex; flex-direction: row; align-items: baseline; gap: 0.5rem;
  padding: 0.1rem 0.3rem; border-radius: 0.1rem; font-size: 0.8rem;
}
trix-editor .attachment__remove {
  cursor: pointer;
}
trix-editor .attachment__remove--icon {
  text-indent: -9999px; display: block; position: absolute; z-index: 1;
  padding: 0; margin: 0; top: -1.1em; left: calc(50% - 0.8em);
  width: 1.8em; height: 1.8em; line-height: 1.8em; border-radius: 50%;
  background-color: #fff; border: 2px solid highlight;
  box-shadow: 1px 1px 6px rgba(0, 0, 0, 0.25);
}
trix-editor .attachment__remove--icon::before {
  display: inline-block; position: absolute; 
  top: 0.1em; right: 0.1em; bottom: 0.1em; left: 0.1em;
  opacity: 0.75; content: "";
  background-image: url(data:image/svg+xml,%3Csvg%20height%3D%2224%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M19%206.4L17.6%205%2012%2010.6%206.4%205%205%206.4l5.6%205.6L5%2017.6%206.4%2019l5.6-5.6%205.6%205.6%201.4-1.4-5.6-5.6z%22%2F%3E%3Cpath%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%2F%3E%3C%2Fsvg%3E);
  background-position: center; background-repeat: no-repeat; 
  background-size: contain;
}
trix-editor .attachment__remove--icon:hover {
  border-color: #333;
}
trix-editor .attachment__remove--icon:hover::before {
  opacity: 1;
}
/* MARK: .trix-content 
*/
.trix-content * { box-sizing: border-box; }
.trix-content img { max-width: 100%; height: auto; }
.trix-content a[data-trix-attachment] { 
  color: inherit; text-decoration: none; 
}
.trix-content a[data-trix-attachment]:hover,
.trix-content a[data-trix-attachment]:visited:hover { 
  color: inherit; 
}
.trix-content .attachment {
  display: inline-block; position: relative; max-width: 100%;
}
.trix-content .attachment__caption {
  padding: 0; text-align: center;
}
.trix-content
  .attachment__caption
  .attachment__name
  + .attachment__size::before {
  content: " · ";
}
.trix-content .attachment--preview {
  width: 100%; text-align: center;
}
.trix-content .attachment--preview .attachment__caption {
  font-size: 0.875rem; line-height: 1.25rem;
}
.trix-content .attachment--file {
  color: #333;
  line-height: 1;
  margin: 0 2px 2px 0;
  padding: 0.4em 1em;
  border: 1px solid #bbb;
  border-radius: 5px;
}

/* MARK: .journal-entry 
*/
.journal-entry { font-size: 1.25rem; }
.journal-entry h1 { font-size: 2.125rem; line-height: 1.6; }
.journal-entry h2 { font-size: 1.75rem; line-height: 1.6; }
.journal-entry h3 { font-size: 1.5rem; line-height: 1.6; }
.journal-entry h4 { font-size: 1.25rem; line-height: 1.6; }

.journal-entry img { 
  display: block; margin: auto; margin-bottom: 3rem; max-width: 100%; 
}
.journal-entry figcaption { line-height: 1.15; margin-top: -2rem; text-align: center; font-size: 0.875rem; line-height: 1.25rem; }
.journal-entry figure {
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.journal-entry iframe {
  max-width: 100%;
}
.journal-entry blockquote {
  margin: 0 0 0 0.3em; padding: 0 0 0 0.6em;
  border-left: 0.3em solid #ccc;
}
.journal-entry pre {
  display: inline-block; width: 100%; vertical-align: top;
  font-size: 0.9em; font-family: consolas, monospace; 
  margin: 0; padding: 0.5em; white-space: pre;
  background-color: #eee; overflow-x: auto;
}
/* trix 工具列的 List 樣式 */
.journal-entry ul { list-style-type: disc; }
.journal-entry ol { list-style-type: decimal; }

.journal-entry ul, .journal-entry ol, .journal-entry li {
  margin: 0; padding: 0;
}
.journal-entry ul li, .journal-entry ol li, .journal-entry li li {
  margin-left: 1em;
}

/* MARK: Heading Menu 
*/
.heading-dropdown { position: relative; display: inline-block; }

.heading-menu {
  position: absolute; top: 100%; left: 0;
  background: white; border: 1px solid #bbb;
  border-radius: 3px; box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  z-index: 1000; min-width: 120px; margin-top: 4px;
}

.heading-option {
  display: block; width: 100%; padding: 8px 12px;
  text-align: left; cursor: pointer; white-space: nowrap;
  color: #333;
}

.heading-option.normal-text { font-size: 1.25rem; font-weight: normal; }
.heading-option.h1-text { font-size: 2.125rem; font-weight: bold; }
.heading-option.h2-text { font-size: 1.75rem; font-weight: bold; }
.heading-option.h3-text { font-size: 1.5rem; font-weight: bold; }
.heading-option.h4-text { font-size: 1.25rem; font-weight: bold; }

.heading-option:hover { background: #f5f5f5; }
.heading-option:first-child { border-bottom: 1px solid #eee; }

.heading-dropdown-trigger { border-left: none !important; }

/* MARK: Color Menu 
*/
.trix-button--icon-color::before {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="800px" height="800px" viewBox="0 0 24 24"><g><path d="M3 19h18v3H3v-3zM15.82 17h3.424L14 3h-4L4.756 17H8.18l1.067-3.5h5.506L15.82 17zm-1.952-6h-3.73l1.868-5.725L13.868 11z"/></g></svg>');
}
.trix-button--icon-bgcolor::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='800px' height='800px' viewBox='0 0 48 48'><g><path d='M43,3H5A2,2,0,0,0,3,5V43a2,2,0,0,0,2,2H43a2,2,0,0,0,2-2V5A2,2,0,0,0,43,3ZM33.4,37l-2.6-6H17.2l-2.6,6H10.2L21.5,11h5L37.8,37ZM18.9,27H29.1L24,14.9Z'/></g></svg>");
}
.color-dropdown, .bg-color-dropdown { 
  position: relative; display: inline-block; 
}

.color-menu, .bg-color-menu {
  position: absolute; top: 100%; left: 0; min-width: 120px;
  background: white; margin-top: 4px; z-index: 1000;
  border: 1px solid #bbb; border-radius: 3px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.color-option {
  display: block; width: 100%; padding: 8px 12px;
  text-align: left; border: none; background: none;
  cursor: pointer; white-space: nowrap; font-size: 14px;
}
.color-menu .color-option:hover { background: #f5f5f5; }
.bg-color-menu .color-option:hover { color: #888; } 

.trix-button--icon-paragraph-bg::before {
  background-image: url('data:image/svg+xml;utf8,<svg width="48" height="48" viewBox="0 0 2.88 2.88" xmlns="http://www.w3.org/2000/svg"><g data-name="Layer 2"><path d="M.354.24A.114.114 0 0 0 .24.354v2.172c0 .063.051.114.114.114h2.172a.114.114 0 0 0 .114-.114V.354A.114.114 0 0 0 2.526.24zm.263.48h1.646v.206H.617zm0 .617h1.646v.206H.617zm0 .617h1.646v.206H.617z" data-name="Q3 icons"/></g></svg>');
}

/* 在選單選項中添加 */
.color-option.base-color {
  --tw-text-opacity: 1;
  color: rgb(46 48 45 / var(--tw-text-opacity, 1));
}
.color-option.sub-color1 {
  --tw-text-opacity: 1;
  color: rgb(135 149 161 / var(--tw-text-opacity, 1));
}
.color-option.sub-color2 {
  --tw-text-opacity: 1;
  color: rgb(241 245 248 / var(--tw-text-opacity, 1));
}
.color-option.bg-base-color {
  --tw-text-opacity: 1;
  color: rgb(218 225 231 / var(--tw-text-opacity, 1));
}
.color-option.bg-sub-color1 {
  --tw-text-opacity: 1;
  color: rgb(218 225 231 / var(--tw-text-opacity, 1));
}
.color-option.bg-sub-color2 {
  --tw-text-opacity: 1;
  color: rgb(218 225 231 / var(--tw-text-opacity, 1));
}

/* 在顏色相關的樣式中添加 */
base-color {
  --tw-text-opacity: 1;
  color: rgb(46 48 45 / var(--tw-text-opacity, 1));
}
sub-color1 {
  --tw-text-opacity: 1;
  color: rgb(135 149 161 / var(--tw-text-opacity, 1));
}
sub-color2 {
  --tw-text-opacity: 1;
  color: rgb(241 245 248 / var(--tw-text-opacity, 1));
}
bg-base-color {
  --tw-bg-opacity: 1;
  background-color: rgb(46 48 45 / var(--tw-bg-opacity, 1));
}
bg-base-color.color-option {
  --tw-text-opacity: 1;
  color: rgb(218 225 231 / var(--tw-text-opacity, 1));
}
bg-sub-color1 {
  --tw-bg-opacity: 1;
  background-color: rgb(135 149 161 / var(--tw-bg-opacity, 1));
}
bg-sub-color1.color-option {
  --tw-text-opacity: 1;
  color: rgb(218 225 231 / var(--tw-text-opacity, 1));
}
bg-sub-color2 {
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 248 / var(--tw-bg-opacity, 1));
}
bg-sub-color2.color-option {
  --tw-text-opacity: 1;
  color: rgb(218 225 231 / var(--tw-text-opacity, 1));
}

/* 背景色區塊 */
block-base, block-sub1, block-sub2, block-black, block-yellow, block-red, block-green, block-blue, block-gray {
  display: block; padding: .5rem; border-radius: 5px;
}
block-base {
  --tw-bg-opacity: 1;
  background-color: rgb(46 48 45 / var(--tw-bg-opacity, 1));
}
block-base.color-option {
  --tw-text-opacity: 1;
  color: rgb(218 225 231 / var(--tw-text-opacity, 1));
}
block-sub1 {
  --tw-bg-opacity: 1;
  background-color: rgb(135 149 161 / var(--tw-bg-opacity, 1));
}
block-sub1.color-option {
  --tw-text-opacity: 1;
  color: rgb(218 225 231 / var(--tw-text-opacity, 1));
}
block-sub2 {
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 248 / var(--tw-bg-opacity, 1));
}
block-sub2.color-option {
  --tw-text-opacity: 1;
  color: rgb(218 225 231 / var(--tw-text-opacity, 1));
}
block-black {
  --tw-bg-opacity: 1;
  background-color: rgb(46 48 45 / var(--tw-bg-opacity, 1));
}
block-yellow {
  --tw-bg-opacity: 1;
  background-color: rgb(255 243 205 / var(--tw-bg-opacity, 1));
}
block-red {
  --tw-bg-opacity: 1;
  background-color: rgb(248 215 218 / var(--tw-bg-opacity, 1));
}
block-green {
  --tw-bg-opacity: 1;
  background-color: rgb(212 237 218 / var(--tw-bg-opacity, 1));
}
block-blue {
  --tw-bg-opacity: 1;
  background-color: rgb(204 229 255 / var(--tw-bg-opacity, 1));
}
block-gray {
  --tw-bg-opacity: 1;
  background-color: rgb(226 227 229 / var(--tw-bg-opacity, 1));
}

.trix-button--icon-text-center::before {
  background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"%3E%3Cpath d="M7 15v2h10v-2H7zm-4 6h18v-2H3v2zm0-8h18v-2H3v2zm4-6v2h10V7H7zM3 3v2h18V3H3z"/%3E%3C/svg%3E');
}

block-center { display: block; text-align: center; }

/* MARK: Video-embed */
.video-embed {
    width: 736px; height: 414px; max-width: 100%;
}
.youtube-thumbnail {
    display: flex; align-items: center; justify-content: center;
    height: 100%; overflow: hidden; position: relative;    
}
.youtube-thumbnail img {
    max-width: 100%; width:100%; -o-object-fit: cover; object-fit: cover; margin: 0;
}
.youtube-thumbnail::after {
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="77px" height="77px" viewBox="0 0 260 180"><path d="M220,2H40C19.01,2,2,19.01,2,40v100c0,20.99,17.01,38,38,38h180c20.99,0,38-17.01,38-38V40C258,19.01,240.99,2,220,2z M102,130V50l68,40L102,130z"/></svg>') no-repeat center transparent;
    content: ""; width: 77px; height: 77px; position: absolute; top: 50%; left: 50%; 
    margin-left: -38px; margin-top: -38px; opacity: .6; pointer-events: none;
}
*, ::before, ::after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}/*
! tailwindcss v3.4.16 | MIT License | https://tailwindcss.com
*//*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: currentColor; /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

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

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*
Reset default styling for dialogs.
*/
dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}
    a { text-decoration: underline; }
    h1 { font-size: 2.125rem; }
    h2 { font-size: 1.5rem; }
    h3 { font-size: 1.33rem; }
    h4 { font-size: 1.17rem; }
    h1, h2, h3, h4 { font-weight: bold; line-height: 1.15; }
    a, p, button, svg { line-height: 1.15; }
    .text-sm, .text-lg, .text-xl, .text-2xl { line-height: 1.15; }
    svg { display: inline; }
    ul { list-style-type: disc; }
    ol { list-style-type: decimal; }
.pointer-events-none {
  pointer-events: none;
}
.fixed {
  position: fixed;
}
.absolute {
  position: absolute;
}
.relative {
  position: relative;
}
.sticky {
  position: sticky;
}
.inset-y-0 {
  top: 0px;
  bottom: 0px;
}
.bottom-0 {
  bottom: 0px;
}
.right-0 {
  right: 0px;
}
.right-2 {
  right: 0.5rem;
}
.top-1\/2 {
  top: 50%;
}
.z-40 {
  z-index: 40;
}
.mx-2 {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}
.mx-4 {
  margin-left: 1rem;
  margin-right: 1rem;
}
.mx-auto {
  margin-left: auto;
  margin-right: auto;
}
.my-1 {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}
.my-12 {
  margin-top: 3rem;
  margin-bottom: 3rem;
}
.my-2 {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.my-3 {
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}
.my-4 {
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.my-6 {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}
.my-8 {
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.mb-12 {
  margin-bottom: 3rem;
}
.mb-16 {
  margin-bottom: 4rem;
}
.mb-2 {
  margin-bottom: 0.5rem;
}
.mb-3 {
  margin-bottom: 0.75rem;
}
.mb-4 {
  margin-bottom: 1rem;
}
.mb-6 {
  margin-bottom: 1.5rem;
}
.mb-8 {
  margin-bottom: 2rem;
}
.ml-1 {
  margin-left: 0.25rem;
}
.ml-1\.5 {
  margin-left: 0.375rem;
}
.ml-2 {
  margin-left: 0.5rem;
}
.ml-2\.5 {
  margin-left: 0.625rem;
}
.ml-4 {
  margin-left: 1rem;
}
.ml-6 {
  margin-left: 1.5rem;
}
.ml-8 {
  margin-left: 2rem;
}
.mr-2 {
  margin-right: 0.5rem;
}
.mr-4 {
  margin-right: 1rem;
}
.mr-6 {
  margin-right: 1.5rem;
}
.mr-8 {
  margin-right: 2rem;
}
.mt-1 {
  margin-top: 0.25rem;
}
.mt-12 {
  margin-top: 3rem;
}
.mt-16 {
  margin-top: 4rem;
}
.mt-2 {
  margin-top: 0.5rem;
}
.mt-4 {
  margin-top: 1rem;
}
.mt-6 {
  margin-top: 1.5rem;
}
.mt-8 {
  margin-top: 2rem;
}
.block {
  display: block;
}
.inline-block {
  display: inline-block;
}
.inline {
  display: inline;
}
.flex {
  display: flex;
}
.inline-flex {
  display: inline-flex;
}
.table {
  display: table;
}
.grid {
  display: grid;
}
.hidden {
  display: none;
}
.h-12 {
  height: 3rem;
}
.h-16 {
  height: 4rem;
}
.h-2 {
  height: 0.5rem;
}
.h-24 {
  height: 6rem;
}
.h-32 {
  height: 8rem;
}
.h-4 {
  height: 1rem;
}
.h-5 {
  height: 1.25rem;
}
.h-6 {
  height: 1.5rem;
}
.h-8 {
  height: 2rem;
}
.h-9 {
  height: 2.25rem;
}
.h-full {
  height: 100%;
}
.h-screen {
  height: 100vh;
}
.max-h-60 {
  max-height: 15rem;
}
.w-1\/2 {
  width: 50%;
}
.w-100 {
  width: 25rem;
}
.w-2 {
  width: 0.5rem;
}
.w-2\/5 {
  width: 40%;
}
.w-4 {
  width: 1rem;
}
.w-48 {
  width: 12rem;
}
.w-5 {
  width: 1.25rem;
}
.w-6 {
  width: 1.5rem;
}
.w-64 {
  width: 16rem;
}
.w-9 {
  width: 2.25rem;
}
.w-full {
  width: 100%;
}
.w-screen {
  width: 100vw;
}
.max-w-full {
  max-width: 100%;
}
.max-w-lg {
  max-width: 50rem;
}
.max-w-md {
  max-width: 40rem;
}
.max-w-sm {
  max-width: 30rem;
}
.max-w-xs {
  max-width: 20rem;
}
.flex-1 {
  flex: 1 1 0%;
}
.-translate-y-1\/2 {
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.transform {
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
@keyframes spin {

  to {
    transform: rotate(360deg);
  }
}
.animate-spin {
  animation: spin 1s linear infinite;
}
.cursor-pointer {
  cursor: pointer;
}
.appearance-none {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.flex-wrap {
  flex-wrap: wrap;
}
.items-center {
  align-items: center;
}
.justify-end {
  justify-content: flex-end;
}
.justify-center {
  justify-content: center;
}
.justify-between {
  justify-content: space-between;
}
.gap-2 {
  gap: 0.5rem;
}
.overflow-auto {
  overflow: auto;
}
.rounded {
  border-radius: 0.25rem;
}
.rounded-full {
  border-radius: 9999px;
}
.rounded-lg {
  border-radius: 0.5rem;
}
.border {
  border-width: 1px;
}
.border-b {
  border-bottom-width: 1px;
}
.border-l-4 {
  border-left-width: 4px;
}
.border-t-4 {
  border-top-width: 4px;
}
.border-black {
  --tw-border-opacity: 1;
  border-color: rgb(46 48 45 / var(--tw-border-opacity, 1));
}
.border-gray {
  --tw-border-opacity: 1;
  border-color: rgb(184 194 204 / var(--tw-border-opacity, 1));
}
.border-gray-light {
  --tw-border-opacity: 1;
  border-color: rgb(218 225 231 / var(--tw-border-opacity, 1));
}
.border-red-500 {
  --tw-border-opacity: 1;
  border-color: rgb(239 68 68 / var(--tw-border-opacity, 1));
}
.bg-base-color {
  --tw-bg-opacity: 1;
  background-color: rgb(46 48 45 / var(--tw-bg-opacity, 1));
}
.bg-black {
  --tw-bg-opacity: 1;
  background-color: rgb(46 48 45 / var(--tw-bg-opacity, 1));
}
.bg-gray {
  --tw-bg-opacity: 1;
  background-color: rgb(184 194 204 / var(--tw-bg-opacity, 1));
}
.bg-gray-darkest {
  --tw-bg-opacity: 1;
  background-color: rgb(61 72 82 / var(--tw-bg-opacity, 1));
}
.bg-gray-light {
  --tw-bg-opacity: 1;
  background-color: rgb(218 225 231 / var(--tw-bg-opacity, 1));
}
.bg-gray-lightest {
  --tw-bg-opacity: 1;
  background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
}
.bg-green {
  --tw-bg-opacity: 1;
  background-color: rgb(56 193 114 / var(--tw-bg-opacity, 1));
}
.bg-sub-color1 {
  --tw-bg-opacity: 1;
  background-color: rgb(135 149 161 / var(--tw-bg-opacity, 1));
}
.bg-sub-color2 {
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 248 / var(--tw-bg-opacity, 1));
}
.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.fill-current {
  fill: currentColor;
}
.p-2 {
  padding: 0.5rem;
}
.p-3 {
  padding: 0.75rem;
}
.p-4 {
  padding: 1rem;
}
.p-6 {
  padding: 1.5rem;
}
.p-8 {
  padding: 2rem;
}
.px-2 {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.px-3 {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}
.px-4 {
  padding-left: 1rem;
  padding-right: 1rem;
}
.px-8 {
  padding-left: 2rem;
  padding-right: 2rem;
}
.py-1 {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
.py-2 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.py-3 {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
.py-4 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.py-8 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.pb-20 {
  padding-bottom: 5rem;
}
.pb-4 {
  padding-bottom: 1rem;
}
.pb-8 {
  padding-bottom: 2rem;
}
.pl-0 {
  padding-left: 0px;
}
.pl-2 {
  padding-left: 0.5rem;
}
.pl-4 {
  padding-left: 1rem;
}
.pl-6 {
  padding-left: 1.5rem;
}
.pr-8 {
  padding-right: 2rem;
}
.pt-3 {
  padding-top: 0.75rem;
}
.pt-4 {
  padding-top: 1rem;
}
.pt-8 {
  padding-top: 2rem;
}
.text-center {
  text-align: center;
}
.font-sans {
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}
.text-2xl {
  font-size: 1.5rem;
  line-height: 2rem;
}
.text-4xl {
  font-size: 2.125rem;
}
.text-lg {
  font-size: 1.25rem;
}
.text-sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.text-xl {
  font-size: 1.25rem;
  line-height: 1.75rem;
}
.text-xs {
  font-size: 0.75rem;
  line-height: 1rem;
}
.font-black {
  font-weight: 900;
}
.font-bold {
  font-weight: 700;
}
.font-medium {
  font-weight: 500;
}
.font-semibold {
  font-weight: 600;
}
.uppercase {
  text-transform: uppercase;
}
.leading-normal {
  line-height: 1.5;
}
.leading-tight {
  line-height: 1.25;
}
.tracking-wide {
  letter-spacing: 0.025em;
}
.text-black {
  --tw-text-opacity: 1;
  color: rgb(46 48 45 / var(--tw-text-opacity, 1));
}
.text-danger {
  --tw-text-opacity: 1;
  color: rgb(204 31 26 / var(--tw-text-opacity, 1));
}
.text-gold {
  --tw-text-opacity: 1;
  color: rgb(228 158 42 / var(--tw-text-opacity, 1));
}
.text-gray {
  --tw-text-opacity: 1;
  color: rgb(184 194 204 / var(--tw-text-opacity, 1));
}
.text-gray-dark {
  --tw-text-opacity: 1;
  color: rgb(135 149 161 / var(--tw-text-opacity, 1));
}
.text-gray-darker {
  --tw-text-opacity: 1;
  color: rgb(96 111 123 / var(--tw-text-opacity, 1));
}
.text-gray-darkest {
  --tw-text-opacity: 1;
  color: rgb(61 72 82 / var(--tw-text-opacity, 1));
}
.text-gray-light {
  --tw-text-opacity: 1;
  color: rgb(218 225 231 / var(--tw-text-opacity, 1));
}
.text-green {
  --tw-text-opacity: 1;
  color: rgb(56 193 114 / var(--tw-text-opacity, 1));
}
.text-orange {
  --tw-text-opacity: 1;
  color: rgb(246 153 63 / var(--tw-text-opacity, 1));
}
.text-red-500 {
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}
.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.underline {
  text-decoration-line: underline;
}
.no-underline {
  text-decoration-line: none;
}
.antialiased {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.opacity-0 {
  opacity: 0;
}
.opacity-25 {
  opacity: 0.25;
}
.opacity-50 {
  opacity: 0.5;
}
.opacity-75 {
  opacity: 0.75;
}
.shadow {
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.ring-red-500 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity, 1));
}
.filter {
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.transition {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-colors {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.ease-in-out {
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.container {
  width: 100%;
}
@media (min-width: 640px) {

  .container {
    max-width: 640px;
  }
}
@media (min-width: 768px) {

  .container {
    max-width: 768px;
  }
}
@media (min-width: 1024px) {

  .container {
    max-width: 1024px;
  }
}
@media (min-width: 1280px) {

  .container {
    max-width: 1280px;
  }
}
@media (min-width: 1536px) {

  .container {
    max-width: 1536px;
  }
}
.btn { line-height: 1.15; border-radius: 0.25rem; padding-left: 1rem; padding-right: 1rem; padding-top: 0.5rem; padding-bottom: 0.5rem; font-size: 0.875rem; line-height: 1.25rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.025em; --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1); --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); }
.btn-primary {
  --tw-bg-opacity: 1;
  background-color: rgb(46 48 45 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.btn-primary:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(135 149 161 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.btn-danger {
  --tw-bg-opacity: 1;
  background-color: rgb(204 31 26 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.btn-danger:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(204 31 26 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.btn-cancel {
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(135 149 161 / var(--tw-text-opacity, 1));
  text-decoration-line: underline;
}
.btn-cancel:hover {
  --tw-text-opacity: 1;
  color: rgb(96 111 123 / var(--tw-text-opacity, 1));
}

.btn:disabled {
    opacity: .5;
    pointer-events: none;
}

.object-cover {
    -o-object-fit: cover;
       object-fit: cover;
}

svg {
    fill: currentColor;
}

[v-cloak] {
    display: none;
}

.container {
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
}

.not-contained .container {
    max-width: 100%;
}

.pin-b { bottom: 0; }

.hover\:bg-gray-lighter:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 248 / var(--tw-bg-opacity, 1));
}

.hover\:text-gold:hover {
  --tw-text-opacity: 1;
  color: rgb(228 158 42 / var(--tw-text-opacity, 1));
}

.hover\:text-gray-darkest:hover {
  --tw-text-opacity: 1;
  color: rgb(61 72 82 / var(--tw-text-opacity, 1));
}

.hover\:text-green:hover {
  --tw-text-opacity: 1;
  color: rgb(56 193 114 / var(--tw-text-opacity, 1));
}

.hover\:underline:hover {
  text-decoration-line: underline;
}

.focus\:border-blue:focus {
  --tw-border-opacity: 1;
  border-color: rgb(52 144 220 / var(--tw-border-opacity, 1));
}

.focus\:outline-none:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.focus\:ring-2:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
