/* Tailwind CSS Base + Utilities */
/* This is a production-ready subset of Tailwind utilities used in the site */

/* CSS Reset */
*,
::before,
::after {
  box-sizing: border-box;
  border-width: 0;
  border-style: solid;
  border-color: #e5e7eb;
}

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

html {
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  -moz-tab-size: 4;
  tab-size: 4;
  font-family:
    -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue",
    Arial, sans-serif;
}

body {
  margin: 0;
  line-height: inherit;
}

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

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

svg {
  display: block;
  vertical-align: middle;
}

/* Utilities */
.h-full {
  height: 100%;
}
.min-h-full {
  min-height: 100%;
}
.w-auto {
  width: auto;
}
.w-full {
  width: 100%;
}
.max-w-md {
  max-width: 28rem;
}
.max-w-2xl {
  max-width: 42rem;
}
.max-w-7xl {
  max-width: 80rem;
}
.flex {
  display: flex;
}
.flex-col {
  flex-direction: column;
}
.flex-wrap {
  flex-wrap: wrap;
}
.flex-1 {
  flex: 1 1 0%;
}
.justify-center {
  justify-content: center;
}
.gap-x-6 {
  column-gap: 1.5rem;
}
.gap-y-2 {
  row-gap: 0.5rem;
}
.mx-auto {
  margin-left: auto;
  margin-right: auto;
}
.mt-2 {
  margin-top: 0.5rem;
}
.mt-4 {
  margin-top: 1rem;
}
.mt-8 {
  margin-top: 2rem;
}
.mt-auto {
  margin-top: auto;
}
.px-6 {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.py-8 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.py-12 {
  padding-top: 3rem;
  padding-bottom: 3rem;
}
.text-center {
  text-align: center;
}
.text-sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.text-base {
  font-size: 1rem;
  line-height: 1.5rem;
}
.text-2xl {
  font-size: 1.5rem;
  line-height: 2rem;
}
.text-6xl {
  font-size: 3.75rem;
  line-height: 1;
}
.font-medium {
  font-weight: 500;
}
.font-bold {
  font-weight: 700;
}
.text-white {
  color: #ffffff;
}
.antialiased {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.opacity-20 {
  opacity: 0.2;
}

/* Colors */
.bg-zinc-950 {
  background-color: #09090b;
}
.text-zinc-100 {
  color: #f4f4f5;
}
.text-zinc-200 {
  color: #e4e4e7;
}
.text-zinc-300 {
  color: #d4d4d8;
}
.text-zinc-400 {
  color: #a1a1aa;
}
.text-zinc-500 {
  color: #71717a;
}

/* Transitions */
.transition {
  transition-property:
    color, background-color, border-color, text-decoration-color, fill, stroke,
    opacity, box-shadow, transform, filter, backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

/* Hover states */
.hover\:text-zinc-100:hover {
  color: #f4f4f5;
}

/* Focus states */
a:focus-visible {
  outline: 2px solid #f4f4f5;
  outline-offset: 4px;
  border-radius: 0.125rem;
}

