html {
  scroll-behavior: smooth;
}
body.modal-open {
  overflow: hidden;
}
think {
  display: block;
  color: #9eadbd;
  font-style: italic;
  margin: 0 0 20px 0;
  padding: 0 1em;
  border-left: 3px solid #9eadbd;
}
.think-wrapper {
  margin: 0;
}
.prose p:empty {
  display: none;
}
.prose ol {
  padding-inline-start: 50px;
}
input:-webkit-autofill,
input:-webkit-autofill:focus,
input:-webkit-autofill::first-line,
input:-webkit-autofill:hover,
input:-webkit-autofill:active {
  background-color: white !important;
  -webkit-box-shadow: 0 0 0px 1000px white inset !important;
  color: #333 !important;
  -webkit-text-fill-color: #333 !important;
  font-family: arial, sans-serif;
  font-size: 13px;
}
/* keep auto fill background color for inputs same as default */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
  -webkit-background-clip: text;
  -webkit-text-fill-color: #ffffff;
  transition: background-color 5000s ease-in-out 0s;
  box-shadow: inset 0 0 20px 20px rgb(55 65 81 / 0.5);
}
input:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.3);
}
@keyframes fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}
.animate-fade-in {
  animation: fade-in 0.3s;
}
.server-btn {
  padding: 0.75rem 1.5rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 1rem;
  font-weight: 600;
  border-top-left-radius: 0.5rem;
  border-top-right-radius: 0.5rem;
  transition: all 200ms;
  position: relative;
}
.server-btn.active {
  border-top: 1px solid rgba(255, 255, 255, 0.5);
  border-left: 1px solid rgba(255, 255, 255, 0.5);
  border-right: 1px solid rgba(255, 255, 255, 0.5);
  color: white;
}
.server-btn:not(.active) {
  background-color: transparent;
  color: rgb(209, 213, 219);
}
.server-btn:not(.active):hover {
  background-color: rgba(255, 255, 255, 0.1);
  color: white;
}
.ql-code-block-container {
  background: #394f7aab;
  padding: 10px;
  border-radius: 5px;
  font-family: monospace;
  font-size: 16px;
}
.star {
  position: absolute;
  width: 2px;
  height: 2px;
  border-radius: 5px;
}

#carousel {
  position: relative;
  height: 400px;
  top: 50%;
  margin: 0 20px;
}
#carousel div {
  position: absolute;
  transition: transform 400ms, left 400ms, opacity 400ms, z-index 0s;
  opacity: 1;
}
#carousel div img {
  width: 400px;
  max-width: 400px;
  transition: width 400ms;
  -webkit-user-drag: none;
  box-shadow: rgba(255, 255, 255, 0.2) 0px 20px 30px -10px;
  border-radius: 10px;
  position: relative;
  z-index: 0;
}
#carousel div.hideLeft {
  left: 0%;
  opacity: 0;
  transform: translateY(50%) translateX(-50%);
}
#carousel div.hideLeft img {
  width: 200px;
}
#carousel div.hideRight {
  left: 100%;
  opacity: 0;
  transform: translateY(50%) translateX(-50%);
}
#carousel div.hideRight img {
  width: 200px;
}
#carousel div.prev {
  z-index: 5;
  left: 30%;
  transform: translateY(50px) translateX(-50%);
}
#carousel img:hover {
  cursor: pointer;
}
#carousel div.prev img {
  width: 300px;
}
#carousel div.prevLeftSecond {
  z-index: 4;
  left: 15%;
  transform: translateY(50%) translateX(-50%);
  opacity: 0.7;
}
#carousel div.prevLeftSecond img {
  width: 200px;
}
#carousel div.selected {
  z-index: 10;
  left: 50%;
  transform: translateY(20px) translateX(-50%);
}
#carousel div.next {
  z-index: 5;
  left: 70%;
  transform: translateY(50px) translateX(-50%);
}
#carousel div.next img {
  width: 300px;
}
#carousel div.nextRightSecond {
  z-index: 4;
  left: 85%;
  transform: translateY(50%) translateX(-50%);
  opacity: 0.7;
}
#carousel div.nextRightSecond img {
  width: 200px;
}
#carousel2 div::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6);
  transition: opacity 400ms;
  opacity: 0;
  z-index: 1;
  border-radius: 10px;
}
#carousel2 div.prev::before,
#carousel2 div.next::before {
  opacity: 0.8;
}
#carousel2 div.prevLeftSecond::before,
#carousel2 div.nextRightSecond::before {
  opacity: 1;
}
#carousel2 div.selected::before {
  opacity: 0;
}
.right-indented-textarea {
  text-indent: -70px;
  padding-left: 80px;
  /* This compensates for the negative text-indent */
}
/* Adjust the placeholder text alignment */
.right-indented-textarea::placeholder {
  text-indent: -70px;
  padding-left: 0;
}
/* Ensure the text doesn't overlap with the character counter */
.textarea-wrapper {
  position: relative;
}
.bg-loader {
  position: relative;
}
.bg-loader::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 60px;
  height: 60px;
  margin-top: -30px;
  margin-left: -30px;
  border-top: 4px solid rgba(255, 255, 255, 0.5);
  border-bottom: 4px solid rgba(255, 255, 255, 0.5);
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-radius: 50%;
  animation: spin 0.6s linear infinite;
  z-index: 10;
  display: block;
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
#image-quality-slider::-webkit-slider-thumb {
  background-color: #2563eb;
  border-radius: 50%;
}
#image-quality-slider::-moz-range-thumb {
  background-color: #2563eb;
  border-radius: 50%;
}
#image-quality-slider::-ms-thumb {
  background-color: #2563eb;
  border-radius: 50%;
}
.image-loading {
  position: relative;
}
.image-loading::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 40px;
  height: 40px;
  margin-top: -20px;
  margin-left: -20px;
  border: 4px solid rgba(255, 255, 255, 0.3);
  border-top: 4px solid #3498db;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  z-index: 10;
  display: block;
}
.image-loading img {
  display: none;
}
.image-loading.loaded::before {
  display: none;
}
.image-loading.loaded img {
  display: block;
}
#modal-image {
  max-height: calc(100vh - 10rem);
  width: auto;
  max-width: 100%;
  object-fit: contain;
}
.underline,
.link {
  text-decoration: underline;
}
.underline:hover,
.link:hover {
  text-decoration: none;
}
.button-menu {
  border-left: 2px solid rgb(147, 51, 234);
  background-image: linear-gradient(
      to right,
      rgba(147, 51, 234, 0.4),
      rgba(59, 130, 246, 0.4)
  );
}
.button-menu-hover {
  transition: all;
  background-image: linear-gradient(
      to right,
      #081629,
      #081629,
      #081629 
  );
  background-size: 200% 100%;
  background-position: 0% 50%;
}
.button-menu-hover:hover {
  transition-duration: 500ms;
  background-image: linear-gradient(
      to right,
      rgba(59, 130, 246, 0.6),
      rgba(147, 51, 234, 0.6), 
      rgba(59, 130, 246, 0.8)
  );
  background-position: 100% 50%;
}
.button-menu-sub {
  border-left: 2px solid rgb(147, 51, 234);
  background-image: linear-gradient(
      to right,
      rgba(147, 51, 234, 0.1),
      rgba(59, 130, 246, 0.1)
  );
}
@keyframes gradient {
  0% {
      background-position: 0% 50%;
  }
  100% {
      background-position: 100% 50%;
  }
}
.animated-text {
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  background-image: linear-gradient(
      to right,
      rgb(59, 130, 246),
      rgb(236, 72, 153)
  );
  background-size: 200% 200%;
  animation: gradient 6s linear infinite;
}
.hljs-copy-wrapper {
  position: relative;
}
.hljs-copy-wrapper:hover .hljs-copy-button, .hljs-copy-button:focus {
  transform: translateX(0)
}
.hljs-copy-button {
  position: absolute;
  top: 5px;
  right: 5px;
  width: 2rem;
  height: 2rem;
  text-indent: -9999px;
  color: #fff;
  border-radius: .25rem;
  background-image: url('data:image/svg+xml;utf-8,<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z" fill="gray"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z" fill="gray"></path></svg>');
  background-repeat: no-repeat;
  background-position: center;
  transition: background-color 200ms ease, transform 200ms ease-out
}
.hljs-copy-button:hover {
  border: 1px solid #ffffff22;
  background-color: #13131399;
}
.hljs-copy-button:active {
  border-color: #ffffff66
}
.hljs-copy-button[data-copied="true"] {
  text-indent: 0;
  width: auto;
  background-image: none;
  padding: 0 10px;
  border: 1px solid #ffffff22;
  background-color: #13131399;
  color: #d4d4d4;
}
@media(prefers-reduced-motion) {
  .hljs-copy-button {
    transition: none
  }
}
.hljs-copy-alert {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px
}
.hljs,
.language-plaintext {
  background: #00000099 !important;
  margin: 0 0 0 0;
  white-space: break-spaces;
  border-radius: 5px;
}
.inline-codeblock {
  padding: 2px 4px 2px 6px;
  background: #00000040;
  border: 1px solid #000000;
  border-radius: 5px;
  font-family: 'Courier New';
}
.sharded-group::after {
  content: '';
  position: absolute;
  left: 3px;
  bottom: 0;
  top: -33px;
  width: 2px;
  height: 40px;
  background-color: gray;
  z-index: 0;
}
.hover\:truncate-none:hover {
  position: absolute;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  backdrop-filter: blur(50px);
  z-index: 51;
  width: max-content;
  left: 28px;
  padding-right: 20px;
}
.errorlist {
  color: yellow;
  font-size: 12px;
  margin-bottom: 10px;
}
@media (prefers-reduced-motion: reduce) {
  .button-menu-hover {
    animation: none !important;
  }
  .auroral-agrabah {
    animation: none !important;
  }
  .auroral-northern {
    animation: none !important;
  }
  .auroral-northern-intense {
    animation: none !important;
  }
  .auroral-northern-dimmed {
    animation: none !important;
  }
  .auroral-northern-dusk {
    animation: none !important;
  }
  .auroral-northern-warm {
    animation: none !important;
  }
  #carousel div {
    transition: none !important;
  }
  #carousel div img {
    transition: none !important;
  }
  html {
    scroll-behavior: auto !important;
  }
  .button-ai i:before {
    animation: none !important;
  }
  .button-ai:hover i:before {
    animation: none !important;
  }
  .menu-button i:before {
    animation: none !important;
  }
  .menu-button:hover i:before {
    animation: none !important;
  }
}
/* Hide scrollbar for Chrome, Safari and Opera */
.scrollbar-none::-webkit-scrollbar {
  display: none;
}
/* Hide scrollbar for IE, Edge and Firefox */
.scrollbar-none {
  -ms-overflow-style: none;  /* IE and Edge */
  scrollbar-width: none;  /* Firefox */
}
@keyframes blink {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
}
.blinking-cursor {
  animation: blink 1s step-start infinite;
}
.copy-button:hover {
  background-image: url('data:image/svg+xml;utf-8,<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z" fill="white"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z" fill="white"></path></svg>');
  color: #fff;
}
.copy-button {
  position: absolute;
  top: -30px;
  right: 0;
  width: 2rem;
  height: 2rem;
  border-radius: .25rem;
  background-image: url('data:image/svg+xml;utf-8,<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z" fill="gray"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z" fill="gray"></path></svg>');
  background-repeat: no-repeat;
  background-position: center;
  transition: background-color 200ms ease, transform 200ms ease-out;
  transform: translateX(0);
  font-size: 12px;
  text-indent: -60px;
  color: gray;
}
.text-xxs {
  font-size: 0.60rem;
}
input:disabled {
  background-color: rgb(31 41 55 / 0.5);
  border-color: rgba(255, 255, 255, 0);
  cursor: default;
}
.disabled,
.disabled i:before {
  pointer-events: none;
  cursor: default;
  text-decoration: none;
  color: #888 !important;
  --tw-bg-opacity: 0.1 !important;
  --tw-border-opacity: 0.3 !important;
}
.disabled i:before {
  background: none !important;
}
.light\:disabled {
  pointer-events: none;
  cursor: default;
  text-decoration: none;
  color: #ccc;
}
/* custom - scrollbars */
.custom-scrollbar::-webkit-scrollbar {
  width: 6px;
  height: 4px;
  border-radius: 8px;
}
.custom-scrollbar::-webkit-scrollbar-track {
  background: #333;
  z-index: 99;
}
.custom-scrollbar::-webkit-scrollbar-thumb {
  background: #ffffff55;
  border-radius: 8px;
}
.custom-scrollbar::-webkit-scrollbar-thumb:hover {
  background: #fff;
}
/* custom - scrollbars - light */
.scrollbar::-webkit-scrollbar {
  width: 6px;
  height: 4px;
  border-radius: 8px;
}
.scrollbar::-webkit-scrollbar-track {
  background: #e5e7eb;
  z-index: 99;
}
.scrollbar::-webkit-scrollbar-thumb {
  background: #b8b8b8;
  border-radius: 8px;
}
.scrollbar::-webkit-scrollbar-thumb:hover {
  background: #fff;
}
/* custom - scrollbars - thin */
.custom-scrollbar-thin::-webkit-scrollbar {
  width: 2px;
  height: 4px;
  border-radius: 8px;
}
.custom-scrollbar-thin::-webkit-scrollbar-track {
  background: #333;
  z-index: 99;
}
.custom-scrollbar-thin::-webkit-scrollbar-thumb {
  background: #ffffff55;
  border-radius: 8px;
}
.custom-scrollbar-thin::-webkit-scrollbar-thumb:hover {
  background: #fff;
}
/* custom - page: file manager */
#overlay p,
#overlay i {
  opacity: 0;
}
#overlay.draggedover {
  background-color: rgba(20, 27, 42, 0.9);
}
#overlay.draggedover p,
#overlay.draggedover i {
  opacity: 1;
}
/* custom logo */
.logo {
  height: 30px;
}
.ai-logo {
  position: absolute;
  top: 1.5px;
  left: -2.5px;
  width: 32px;
  height: 32px;
  background: linear-gradient(280deg, #e92a67, #2a8af6, #e92a67);
  background-size: 200% 200%;
  animation: moveGradient 10s ease-out infinite;
  border-radius: 50%;
  z-index: 1;
}
@keyframes moveGradient {
  0% {
    background-position: 0% 20%;
  }
  50% {
    background-position: 70% 50%;
  }
  100% {
    background-position: 0% 80%;
  }
}
/* custom - borders */
.border-ai-glow {
  position: relative;
  display: inline-block;
  overflow: none;
  z-index: 0;
  backface-visibility: hidden;
  perspective: 1000;
  transform: translateZ(0);
  border: none;
  border-radius: 0.5rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 0.54rem;
  padding-bottom: 0.54rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  color: #fff;
  box-shadow:
    0 0 100px 40px #ff00ff11,
    /* middle magenta */
    0 0 140px 60px #00ffff11;
  /* outer cyan */
  /* in order: x offset, y offset, blur size, spread size, color */
}
.border-ai-glow i {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 2px;
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  z-index: -1;
  border-radius: 0.5rem;
  display: inline-block;
}
.border-ai-glow i:before {
  content: "";
  display: block;
  background: conic-gradient(from 180deg at 50% 50%, #e92a67 0deg, #a853ba 112.5deg, #2a8af6 228.75deg, rgba(42, 138, 246, 0) 360deg);
  width: calc(100% * 1.41421356237);
  padding-bottom: calc(100% * 1.41421356237);
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border-radius: 100%;
  z-index: -2;
  animation: button-ai 1.5s linear infinite;
}
@keyframes button-ai {
  0% {
    transform: translate(-50%, -50%) rotate(1turn);
  }
  100% {
    transform: translate(-50%, -50%) rotate(0);
  }
}
.border-ai {
  position: relative;
  display: inline-block;
  z-index: 0;
  backface-visibility: hidden;
  perspective: 1000;
  transform: translateZ(0);
  border: none;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 0.54rem;
  padding-bottom: 0.54rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  color: #fff;
  overflow: hidden;
}
.border-ai i {
  content: "";
  position: absolute;
  top: 1px;
  right: 1px;
  bottom: 1px;
  left: 1px;
  padding: 1px;
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  z-index: -1;
  border-radius: inherit;
  display: inline-block;
}
.border-ai i:before {
  content: "";
  display: block;
  background: conic-gradient(from 180deg at 50% 50%, #e92a67 0deg, #a853ba 112.5deg, #2a8af6 228.75deg, rgba(42, 138, 246, 0) 360deg);
  width: calc(100% * 1.41421356237);
  padding-bottom: calc(100% * 1.41421356237);
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border-radius: 100%;
  z-index: -2;
  animation: button-ai 3s linear infinite;
}
@keyframes button-ai {
  0% {
    transform: translate(-50%, -50%) rotate(1turn);
  }
  100% {
    transform: translate(-50%, -50%) rotate(0);
  }
}
.border-ai-onhover {
  position: relative;
  display: inline-block;
  z-index: 0;
  backface-visibility: hidden;
  perspective: 1000;
  transform: translateZ(0);
  border: none;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  color: #fff;
  overflow: hidden;
}
.border-ai-onhover i {
  content: "";
  position: absolute;
  top: 1px;
  right: 1px;
  bottom: 1px;
  left: 1px;
  padding: 1px;
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  z-index: -1;
  border-radius: inherit;
  display: inline-block;
}
.border-ai-onhover i:before {
  content: "";
  display: block;
  background: #ffffff44;
  width: calc(100% * 1.41421356237);
  padding-bottom: calc(100% * 1.41421356237);
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border-radius: 100%;
  z-index: -2;
}
.border-ai-onhover:hover i:before {
  background: conic-gradient(from 180deg at 50% 50%, #e92a67 0deg, #a853ba 112.5deg, #2a8af6 228.75deg, rgba(42, 138, 246, 0) 360deg);
  animation: button-ai 3s linear infinite;
}
/* custom - buttons */
@keyframes gradient {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
.gradient-text {
  background: linear-gradient(-45deg, #2a8af6, #e92a67);
  background-size: 200% 200%;
  color: transparent;
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: gradient 6s ease infinite;
}
.button-ai-menu {
  position: relative;
  display: inline-block;
  z-index: 0;
  backface-visibility: hidden;
  perspective: 1000;
  transform: translateZ(0);
  border: none;
  border-radius: 0.5rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.54rem;
  padding-bottom: 0.54rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 400;
  color: #fff;
  background-color: rgb(255 255 255 / 0.05);
}
.button-ai-menu:hover {
  background-color: rgba(255, 255, 255, 0);
}
.button-ai-menu i {
  content: "";
  position: absolute;
  top: 1px;
  right: 1px;
  bottom: 1px;
  left: 1px;
  padding: 1px;
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  z-index: -1;
  border-radius: 0.5rem;
  display: inline-block;
}
.button-ai-menu i:before {
  content: "";
  display: block;
  background: conic-gradient(from 180deg at 50% 50%, #2a76e9 180deg, rgba(42, 138, 246, 0) 360deg);
  width: calc(100% * 1.41421356237);
  padding-bottom: calc(100% * 1.41421356237);
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border-radius: 100%;
  z-index: -2;
  animation: button-ai 3s linear infinite;
}
.button-ai-menu:hover i:before {
  animation: button-ai 2s linear infinite;
}
@keyframes button-ai {
  0% {
    transform: translate(-50%, -50%) rotate(1turn);
  }
  100% {
    transform: translate(-50%, -50%) rotate(0);
  }
}
.button-ai {
  position: relative;
  display: inline-block;
  z-index: 0;
  backface-visibility: hidden;
  perspective: 1000;
  transform: translateZ(0);
  border: none;
  border-radius: 0.5rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 0.54rem;
  padding-bottom: 0.54rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 400;
  color: #fff;
  background-color: rgb(255 255 255 / 0.05);
  overflow: hidden;
}
.button-ai:hover {
  background-color: rgba(255, 255, 255, 0);
}
.button-ai i {
  content: "";
  position: absolute;
  top: 1px;
  right: 1px;
  bottom: 1px;
  left: 1px;
  padding: 1px;
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  z-index: -1;
  border-radius: 0.5rem;
  display: inline-block;
}
.button-ai i:before {
  content: "";
  display: block;
  background: conic-gradient(from 180deg at 50% 50%, #e92a67 0deg, #a853ba 112.5deg, #2a8af6 228.75deg, rgba(42, 138, 246, 0) 360deg);
  width: calc(100% * 1.41421356237);
  padding-bottom: calc(100% * 1.41421356237);
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border-radius: 100%;
  z-index: -2;
  animation: button-ai 4s linear infinite;
}
.button-ai:hover i:before {
  animation: button-ai 2s linear infinite;
}
@keyframes button-ai {
  0% {
    transform: translate(-50%, -50%) rotate(1turn);
  }
  100% {
    transform: translate(-50%, -50%) rotate(0);
  }
}
.fast-spin i:before {
  animation: button-ai 0.5s linear infinite;
}
.button-ai-onhover {
  position: relative;
  display: inline-block;
  z-index: 0;
  backface-visibility: hidden;
  perspective: 1000;
  transform: translateZ(0);
  border: none;
  border-radius: 5px;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 0.54rem;
  padding-bottom: 0.54em;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 400;
  color: #fff;
  background-color: rgb(255 255 255 / 0.05);
  overflow: hidden;
}
.button-ai-onhover:hover {
  background-color: rgba(255, 255, 255, 0);
}
.button-ai-onhover i {
  content: "";
  position: absolute;
  top: 1px;
  right: 1px;
  bottom: 1px;
  left: 1px;
  padding: 1px;
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  z-index: -1;
  border-radius: 6px;
  display: inline-block;
}
.button-ai-onhover i:before {
  content: "";
  display: block;
  background-color: rgb(170 170 170 / 1);
  width: calc(100% * 1.41421356237);
  padding-bottom: calc(100% * 1.41421356237);
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border-radius: 100%;
  z-index: -2;
}
.button-ai-onhover:hover i:before {
  background: conic-gradient(from 180deg at 50% 50%, #e92a67 0deg, #a853ba 112.5deg, #2a8af6 228.75deg, rgba(42, 138, 246, 0) 360deg);
  animation: button-ai-onhover 0.5s linear infinite;
}
@keyframes button-ai-onhover {
  0% {
    transform: translate(-50%, -50%) rotate(1turn);
  }
  100% {
    transform: translate(-50%, -50%) rotate(0);
  }
}
.button-ai-dark {
  position: relative;
  display: inline-block;
  z-index: 0;
  backface-visibility: hidden;
  perspective: 1000;
  transform: translateZ(0);
  border: none;
  border-radius: 8px;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 0.54rem;
  padding-bottom: 0.54em;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 400;
  color: #fff;
  background-color: #040a16;
  overflow: hidden;
}
.button-ai-dark:hover {
  background-color: rgba(255, 255, 255, 0);
}
.button-ai-dark i {
  content: "";
  position: absolute;
  top: 1px;
  right: 1px;
  bottom: 1px;
  left: 1px;
  padding: 1px;
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  z-index: -1;
  border-radius: 6px;
  display: inline-block;
}
.button-ai-dark i:before {
  content: "";
  display: block;
  --tw-bg-opacity: 1;
  background-color: #475569;
  width: calc(100% * 1.41421356237);
  padding-bottom: calc(100% * 1.41421356237);
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border-radius: 100%;
  z-index: -2;
}
.button-ai-dark:hover i:before {
  background: conic-gradient(from 180deg at 50% 50%, #e92a67 0deg, #a853ba 112.5deg, #2a8af6 228.75deg, rgba(42, 138, 246, 0) 360deg);
  animation: button-ai-onhover 0.5s linear infinite;
}
.button-hollow-blue {
  display: inline-flex;
  align-items: center;
  border-radius: 0.5rem;
  border-width: 1px;
  background-image: none;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  border-color: rgb(29 78 216);
  color: rgb(29 78 216);
}
.button-hollow-blue:hover {
  border-color: rgb(29 78 216);
  background-color: rgb(29 78 216 / 0.2);
  color: rgb(29 78 216);
}
.button-hollow-white {
  display: inline-flex;
  align-items: center;
  border-radius: 0.5rem;
  border-width: 1px;
  background-image: none;
  background-color: unset;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  border-color: rgb(255 255 255 / 0.5);
  color: rgb(255 255 255);
}
.button-hollow-white:hover {
  background-color: rgb(255 255 255 / 0.2);
  color: rgb(255 255 255);
}
.button-primary {
  display: inline-flex;
  align-items: center;
  border-radius: 0.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  text-align: center;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  background-color: rgb(29 78 216);
  color: rgb(255 255 255);
}
.button-primary:hover {
  background-color: rgb(30 64 175)
}
.button-primary:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  box-shadow: rgb(255, 255, 255) 0px 0px 0px 0px, rgb(147, 197, 253) 0px 0px 0px 4px, rgba(0, 0, 0, 0) 0px 0px 0px 0px;
}
.button-primary-dark {
  display: inline-flex;
  align-items: center;
  border-radius: 0.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  text-align: center;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  color: rgb(255 255 255);
  background-color: rgb(29 78 216 / 0.25);
  border: 1px solid rgb(29 78 216);
}
.button-primary-dark:hover {
  background-color: rgb(37 99 235);
}
.button-primary-dark:focus {
  box-shadow: rgb(255, 255, 255) 0px 0px 0px 0px, rgb(30, 64, 175) 0px 0px 0px 4px, rgba(0, 0, 0, 0) 0px 0px 0px 0px;
}
.button-secondary {
  display: inline-flex;
  align-items: center;
  border-radius: 0.5rem;
  border-width: 0;
  border-color: none;
  background-image: none;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  background-color: rgb(56 72 94 / 1);
  color: rgb(255 255 255);
}
.button-secondary:hover {
  background-color: rgb(77, 95, 121);
}
.button-dropdown {
  display: inline-flex;             /* inline-flex */
  align-items: center;              /* items-center */
  color: rgb(107, 114, 128);       /* text-gray-500 */
  background-color: white;          /* bg-white */
  border: 1px solid rgb(209, 213, 219);  /* border border-gray-300 */
  border-radius: 0.5rem;            /* rounded-lg */
  padding: 0.375rem 0.75rem;        /* px-3 py-1.5 */
  font-size: 0.875rem;              /* text-sm */
  font-weight: 500;                 /* font-medium */
}
.button-dropdown:hover {
    background-color: rgb(243, 244, 246);  /* hover:bg-gray-100 */
}
.button-dropdown:focus {
    outline: none;                    /* focus:outline-none */
    box-shadow: 0 0 0 4px rgb(243, 244, 246);  /* focus:ring-4 focus:ring-gray-100 */
}
@media (prefers-color-scheme: dark) {
    .button-dropdown {
        background-color: rgb(31, 41, 55);      /* dark:bg-gray-800 */
        color: rgb(156, 163, 175);             /* dark:text-gray-400 */
        border-color: rgb(75, 85, 99);         /* dark:border-gray-600 */
    }
    .button-dropdown:hover {
        background-color: rgb(55, 65, 81);     /* dark:hover:bg-gray-700 */
        border-color: rgb(75, 85, 99);         /* dark:hover:border-gray-600 */
    }
    .button-dropdown:focus {
        box-shadow: 0 0 0 4px rgb(55, 65, 81);  /* dark:focus:ring-gray-700 */
    }
}
.button-tertiary {
  display: inline-flex;
  align-items: center;
  border-radius: 0.5rem;
  border-width: 0;
  border-color: none;
  background-image: none;
  background-color: rgb(49, 85, 136);
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  color: rgb(255 255 255);
}
.button-tertiary:hover {
  background-color: rgb(69 109 165);
}
.link-onhover:hover {
  text-decoration: underline;
}
.-z-1 {
  z-index: -1;
}
.z-11 {
  z-index: 11;
}
.z-12 {
  z-index: 12;
}
.z-13 {
  z-index: 13;
}
.z-14 {
  z-index: 14;
}
.z-15 {
  z-index: 15;
}
.z-16 {
  z-index: 16;
}
.z-17 {
  z-index: 17;
}
.z-18 {
  z-index: 18;
}
.z-19 {
  z-index: 19;
}
.z-20 {
  z-index: 20;
}
.z-21 {
  z-index: 21;
}
.z-22 {
  z-index: 22;
}
.z-23 {
  z-index: 23;
}
.z-24 {
  z-index: 24;
}
.z-25 {
  z-index: 25;
}
.z-26 {
  z-index: 26;
}
.z-27 {
  z-index: 27;
}
.z-28 {
  z-index: 28;
}
.z-29 {
  z-index: 29;
}
.z-30 {
  z-index: 30;
}
.z-31 {
  z-index: 31;
}
.z-32 {
  z-index: 32;
}
.z-33 {
  z-index: 33;
}
.z-34 {
  z-index: 34;
}
.z-35 {
  z-index: 35;
}
.z-36 {
  z-index: 36;
}
.z-37 {
  z-index: 37;
}
.z-38 {
  z-index: 38;
}
.z-39 {
  z-index: 39;
}
.z-40 {
  z-index: 40;
}
.z-41 {
  z-index: 41;
}
.z-42 {
  z-index: 42;
}
.z-43 {
  z-index: 43;
}
.z-44 {
  z-index: 44;
}
.z-45 {
  z-index: 45;
}
.z-46 {
  z-index: 46;
}
.z-47 {
  z-index: 47;
}
.z-48 {
  z-index: 48;
}
.z-49 {
  z-index: 49;
}
.z-50 {
  z-index: 50;
}
.z-51 {
  z-index: 51;
}
.z-52 {
  z-index: 52;
}
.z-53 {
  z-index: 53;
}
.z-54 {
  z-index: 54;
}
.z-55 {
  z-index: 55;
}
.z-56 {
  z-index: 56;
}
.z-57 {
  z-index: 57;
}
.z-58 {
  z-index: 58;
}
.z-59 {
  z-index: 59;
}

html.reduce-motion {
  scroll-behavior: auto !important;
}

html.reduce-motion .button-ai i:before,
html.reduce-motion .button-ai:hover i:before,
html.reduce-motion .button-ai-onhover:hover i:before,
html.reduce-motion .menu-button i:before,
html.reduce-motion .menu-button:hover i:before {
  animation: none !important;
}

html.reduce-motion .auroral-agrabah,
html.reduce-motion .auroral-northern,
html.reduce-motion .auroral-northern-intense,
html.reduce-motion .auroral-northern-dimmed,
html.reduce-motion .auroral-northern-dusk,
html.reduce-motion .auroral-northern-warm {
  animation: none !important;
}

html.reduce-motion #carousel div,
html.reduce-motion #carousel div img {
  transition: none !important;
}
