/* ========================================
   TW Utilities - Comprehensive Tailwind-like Utilities
   ======================================== */

/* ========================================
   FONT UTILITIES
   ======================================== */

/* Basic Font Sizes */
.tw-text-xs {
   font-size: 0.75rem !important;
}

.tw-text-sm {
   font-size: 0.875rem !important;
}

.tw-text-base {
   font-size: 1rem !important;
}

.tw-text-lg {
   font-size: 1.125rem !important;
}

.tw-text-xl {
   font-size: 1.25rem !important;
}

.tw-text-2xl {
   font-size: 1.5rem !important;
}

.tw-text-3xl {
   font-size: 1.875rem !important;
}

.tw-text-4xl {
   font-size: 2.25rem !important;
}

.tw-text-5xl {
   font-size: 3rem !important;
}

.tw-text-6xl {
   font-size: 3.75rem !important;
}

.tw-text-7xl {
   font-size: 4.5rem !important;
}

.tw-text-8xl {
   font-size: 6rem !important;
}

.tw-text-9xl {
   font-size: 8rem !important;
}

/* Responsive font sizes */
/* Small screens (sm) */
@media (min-width: 640px) {
   .tw-text-sm\:xs {
      font-size: 0.75rem !important;
   }

   .tw-text-sm\:sm {
      font-size: 0.875rem !important;
   }

   .tw-text-sm\:base {
      font-size: 1rem !important;
   }

   .tw-text-sm\:lg {
      font-size: 1.125rem !important;
   }

   .tw-text-sm\:xl {
      font-size: 1.25rem !important;
   }

   .tw-text-sm\:2xl {
      font-size: 1.5rem !important;
   }

   .tw-text-sm\:3xl {
      font-size: 1.875rem !important;
   }

   .tw-text-sm\:4xl {
      font-size: 2.25rem !important;
   }

   .tw-text-sm\:5xl {
      font-size: 3rem !important;
   }

   .tw-text-sm\:6xl {
      font-size: 3.75rem !important;
   }

   .tw-text-sm\:7xl {
      font-size: 4.5rem !important;
   }

   .tw-text-sm\:8xl {
      font-size: 6rem !important;
   }

   .tw-text-sm\:9xl {
      font-size: 8rem !important;
   }
}

/* Medium screens (md) */
@media (min-width: 768px) {
   .tw-text-md\:xs {
      font-size: 0.75rem !important;
   }

   .tw-text-md\:sm {
      font-size: 0.875rem !important;
   }

   .tw-text-md\:base {
      font-size: 1rem !important;
   }

   .tw-text-md\:lg {
      font-size: 1.125rem !important;
   }

   .tw-text-md\:xl {
      font-size: 1.25rem !important;
   }

   .tw-text-md\:2xl {
      font-size: 1.5rem !important;
   }

   .tw-text-md\:3xl {
      font-size: 1.875rem !important;
   }

   .tw-text-md\:4xl {
      font-size: 2.25rem !important;
   }

   .tw-text-md\:5xl {
      font-size: 3rem !important;
   }

   .tw-text-md\:6xl {
      font-size: 3.75rem !important;
   }

   .tw-text-md\:7xl {
      font-size: 4.5rem !important;
   }

   .tw-text-md\:8xl {
      font-size: 6rem !important;
   }

   .tw-text-md\:9xl {
      font-size: 8rem !important;
   }
}

/* Large screens (lg) */
@media (min-width: 1024px) {
   .tw-text-lg\:xs {
      font-size: 0.75rem !important;
   }

   .tw-text-lg\:sm {
      font-size: 0.875rem !important;
   }

   .tw-text-lg\:base {
      font-size: 1rem !important;
   }

   .tw-text-lg\:lg {
      font-size: 1.125rem !important;
   }

   .tw-text-lg\:xl {
      font-size: 1.25rem !important;
   }

   .tw-text-lg\:2xl {
      font-size: 1.5rem !important;
   }

   .tw-text-lg\:3xl {
      font-size: 1.875rem !important;
   }

   .tw-text-lg\:4xl {
      font-size: 2.25rem !important;
   }

   .tw-text-lg\:5xl {
      font-size: 3rem !important;
   }

   .tw-text-lg\:6xl {
      font-size: 3.75rem !important;
   }

   .tw-text-lg\:7xl {
      font-size: 4.5rem !important;
   }

   .tw-text-lg\:8xl {
      font-size: 6rem !important;
   }

   .tw-text-lg\:9xl {
      font-size: 8rem !important;
   }
}

/* Extra large screens (xl) */
@media (min-width: 1280px) {
   .tw-text-xl\:xs {
      font-size: 0.75rem !important;
   }

   .tw-text-xl\:sm {
      font-size: 0.875rem !important;
   }

   .tw-text-xl\:base {
      font-size: 1rem !important;
   }

   .tw-text-xl\:lg {
      font-size: 1.125rem !important;
   }

   .tw-text-xl\:xl {
      font-size: 1.25rem !important;
   }

   .tw-text-xl\:2xl {
      font-size: 1.5rem !important;
   }

   .tw-text-xl\:3xl {
      font-size: 1.875rem !important;
   }

   .tw-text-xl\:4xl {
      font-size: 2.25rem !important;
   }

   .tw-text-xl\:5xl {
      font-size: 3rem !important;
   }

   .tw-text-xl\:6xl {
      font-size: 3.75rem !important;
   }

   .tw-text-xl\:7xl {
      font-size: 4.5rem !important;
   }

   .tw-text-xl\:8xl {
      font-size: 6rem !important;
   }

   .tw-text-xl\:9xl {
      font-size: 8rem !important;
   }
}

/* 2XL screens (2xl) */
@media (min-width: 1536px) {
   .tw-text-2xl\:xs {
      font-size: 0.75rem !important;
   }

   .tw-text-2xl\:sm {
      font-size: 0.875rem !important;
   }

   .tw-text-2xl\:base {
      font-size: 1rem !important;
   }

   .tw-text-2xl\:lg {
      font-size: 1.125rem !important;
   }

   .tw-text-2xl\:xl {
      font-size: 1.25rem !important;
   }

   .tw-text-2xl\:2xl {
      font-size: 1.5rem !important;
   }

   .tw-text-2xl\:3xl {
      font-size: 1.875rem !important;
   }

   .tw-text-2xl\:4xl {
      font-size: 2.25rem !important;
   }

   .tw-text-2xl\:5xl {
      font-size: 3rem !important;
   }

   .tw-text-2xl\:6xl {
      font-size: 3.75rem !important;
   }

   .tw-text-2xl\:7xl {
      font-size: 4.5rem !important;
   }

   .tw-text-2xl\:8xl {
      font-size: 6rem !important;
   }

   .tw-text-2xl\:9xl {
      font-size: 8rem !important;
   }
}

/* Font weight utilities */
.tw-font-thin {
   font-weight: 100 !important;
}

.tw-font-extralight {
   font-weight: 200 !important;
}

.tw-font-light {
   font-weight: 300 !important;
}

.tw-font-normal {
   font-weight: 400 !important;
}

.tw-font-medium {
   font-weight: 500 !important;
}

.tw-font-semibold {
   font-weight: 600 !important;
}

.tw-font-bold {
   font-weight: 700 !important;
}

.tw-font-extrabold {
   font-weight: 800 !important;
}

.tw-font-black {
   font-weight: 900 !important;
}

/* Line height utilities */
.tw-leading-none {
   line-height: 1 !important;
}

.tw-leading-normal {
   line-height: normal;
}

/* Text alignment utilities */
.tw-text-left {
   text-align: left !important;
}

.tw-text-center {
   text-align: center !important;
}

.tw-text-right {
   text-align: right !important;
}

.tw-text-justify {
   text-align: justify !important;
}

@media (min-width: 768px) {
   .tw-text-md-left {
      text-align: left !important;
   }
}

/* Text transform utilities */
.tw-uppercase {
   text-transform: uppercase !important;
}

.tw-lowercase {
   text-transform: lowercase !important;
}

.tw-capitalize {
   text-transform: capitalize !important;
}

.tw-normal-case {
   text-transform: none !important;
}

/* Text decoration utilities */
.tw-underline {
   text-decoration: underline !important;
}

.tw-line-through {
   text-decoration: line-through !important;
}

.tw-no-underline {
   text-decoration: none !important;
}

/* Font style utilities */
.tw-italic {
   font-style: italic !important;
}

.tw-not-italic {
   font-style: normal !important;
}

/* Letter spacing utilities */
.tw-tracking-tighter {
   letter-spacing: -0.05em !important;
}

.tw-tracking-tight {
   letter-spacing: -0.025em !important;
}

.tw-tracking-normal {
   letter-spacing: 0em !important;
}

.tw-tracking-wide {
   letter-spacing: 0.025em !important;
}

.tw-tracking-wider {
   letter-spacing: 0.05em !important;
}

.tw-tracking-widest {
   letter-spacing: 0.1em !important;
}

/* ========================================
   GAP UTILITIES (CSS Grid & Flexbox)
   ======================================== */

/* Gap utilities for flexbox and grid */
.tw-gap-0 {
   gap: 0 !important;
}

.tw-gap-1 {
   gap: 0.25rem !important;
}

.tw-gap-2 {
   gap: 0.5rem !important;
}

.tw-gap-3 {
   gap: 0.75rem !important;
}

.tw-gap-4 {
   gap: 1rem !important;
}

.tw-gap-5 {
   gap: 1.25rem !important;
}

.tw-gap-6 {
   gap: 1.5rem !important;
}

.tw-gap-8 {
   gap: 2rem !important;
}

.tw-gap-10 {
   gap: 2.5rem !important;
}

.tw-gap-12 {
   gap: 3rem !important;
}

.tw-gap-15 {
   gap: 3.75rem !important;
}

.tw-gap-16 {
   gap: 4rem !important;
}

.tw-gap-20 {
   gap: 5rem !important;
}

.tw-gap-24 {
   gap: 6rem !important;
}

.tw-gap-32 {
   gap: 8rem !important;
}

/* Row gap utilities */
.tw-gap-x-0 {
   column-gap: 0 !important;
}

.tw-gap-x-1 {
   column-gap: 0.25rem !important;
}

.tw-gap-x-2 {
   column-gap: 0.5rem !important;
}

.tw-gap-x-3 {
   column-gap: 0.75rem !important;
}

.tw-gap-x-4 {
   column-gap: 1rem !important;
}

.tw-gap-x-5 {
   column-gap: 1.25rem !important;
}

.tw-gap-x-6 {
   column-gap: 1.5rem !important;
}

.tw-gap-x-8 {
   column-gap: 2rem !important;
}

.tw-gap-x-10 {
   column-gap: 2.5rem !important;
}

.tw-gap-x-12 {
   column-gap: 3rem !important;
}

.tw-gap-x-16 {
   column-gap: 4rem !important;
}

.tw-gap-x-20 {
   column-gap: 5rem !important;
}

.tw-gap-x-24 {
   column-gap: 6rem !important;
}

.tw-gap-x-32 {
   column-gap: 8rem !important;
}

/* Column gap utilities */
.tw-gap-y-0 {
   row-gap: 0 !important;
}

.tw-gap-y-1 {
   row-gap: 0.25rem !important;
}

.tw-gap-y-2 {
   row-gap: 0.5rem !important;
}

.tw-gap-y-3 {
   row-gap: 0.75rem !important;
}

.tw-gap-y-4 {
   row-gap: 1rem !important;
}

.tw-gap-y-5 {
   row-gap: 1.25rem !important;
}

.tw-gap-y-6 {
   row-gap: 1.5rem !important;
}

.tw-gap-y-8 {
   row-gap: 2rem !important;
}

.tw-gap-y-10 {
   row-gap: 2.5rem !important;
}

.tw-gap-y-12 {
   row-gap: 3rem !important;
}

.tw-gap-y-16 {
   row-gap: 4rem !important;
}

.tw-gap-y-20 {
   row-gap: 5rem !important;
}

.tw-gap-y-24 {
   row-gap: 6rem !important;
}

.tw-gap-y-32 {
   row-gap: 8rem !important;
}

/* Responsive gap utilities */
/* Small screens (sm) */
@media (min-width: 640px) {
   .tw-gap-sm\:0 {
      gap: 0 !important;
   }

   .tw-gap-sm\:1 {
      gap: 0.25rem !important;
   }

   .tw-gap-sm\:2 {
      gap: 0.5rem !important;
   }

   .tw-gap-sm\:3 {
      gap: 0.75rem !important;
   }

   .tw-gap-sm\:4 {
      gap: 1rem !important;
   }

   .tw-gap-sm\:5 {
      gap: 1.25rem !important;
   }

   .tw-gap-sm\:6 {
      gap: 1.5rem !important;
   }

   .tw-gap-sm\:8 {
      gap: 2rem !important;
   }

   .tw-gap-sm\:10 {
      gap: 2.5rem !important;
   }

   .tw-gap-sm\:12 {
      gap: 3rem !important;
   }

   .tw-gap-sm\:16 {
      gap: 4rem !important;
   }

   .tw-gap-sm\:20 {
      gap: 5rem !important;
   }

   .tw-gap-sm\:24 {
      gap: 6rem !important;
   }

   .tw-gap-sm\:32 {
      gap: 8rem !important;
   }
}

/* Medium screens (md) */
@media (min-width: 768px) {
   .tw-gap-md\:0 {
      gap: 0 !important;
   }

   .tw-gap-md\:1 {
      gap: 0.25rem !important;
   }

   .tw-gap-md\:2 {
      gap: 0.5rem !important;
   }

   .tw-gap-md\:3 {
      gap: 0.75rem !important;
   }

   .tw-gap-md\:4 {
      gap: 1rem !important;
   }

   .tw-gap-md\:5 {
      gap: 1.25rem !important;
   }

   .tw-gap-md\:6 {
      gap: 1.5rem !important;
   }

   .tw-gap-md\:8 {
      gap: 2rem !important;
   }

   .tw-gap-md\:10 {
      gap: 2.5rem !important;
   }

   .tw-gap-md\:12 {
      gap: 3rem !important;
   }

   .tw-gap-md\:15 {
      gap: 3.75rem !important;
   }

   .tw-gap-md\:16 {
      gap: 4rem !important;
   }

   .tw-gap-md\:20 {
      gap: 5rem !important;
   }

   .tw-gap-md\:24 {
      gap: 6rem !important;
   }

   .tw-gap-md\:32 {
      gap: 8rem !important;
   }
}

/* Large screens (lg) */
@media (min-width: 1024px) {
   .tw-gap-lg\:0 {
      gap: 0 !important;
   }

   .tw-gap-lg\:1 {
      gap: 0.25rem !important;
   }

   .tw-gap-lg\:2 {
      gap: 0.5rem !important;
   }

   .tw-gap-lg\:3 {
      gap: 0.75rem !important;
   }

   .tw-gap-lg\:4 {
      gap: 1rem !important;
   }

   .tw-gap-lg\:5 {
      gap: 1.25rem !important;
   }

   .tw-gap-lg\:6 {
      gap: 1.5rem !important;
   }

   .tw-gap-lg\:8 {
      gap: 2rem !important;
   }

   .tw-gap-lg\:10 {
      gap: 2.5rem !important;
   }

   .tw-gap-lg\:12 {
      gap: 3rem !important;
   }

   .tw-gap-lg\:16 {
      gap: 4rem !important;
   }

   .tw-gap-lg\:20 {
      gap: 5rem !important;
   }

   .tw-gap-lg\:24 {
      gap: 6rem !important;
   }

   .tw-gap-lg\:32 {
      gap: 8rem !important;
   }
}

/* ========================================
   SPACING UTILITIES
   ======================================== */

/* Margin utilities */
.tw-m-0 {
   margin: 0 !important;
}

.tw-m-1 {
   margin: 0.25rem !important;
}

.tw-m-2 {
   margin: 0.5rem !important;
}

.tw-m-3 {
   margin: 0.75rem !important;
}

.tw-m-4 {
   margin: 1rem !important;
}

.tw-m-5 {
   margin: 1.25rem !important;
}

.tw-m-6 {
   margin: 1.5rem !important;
}

.tw-m-8 {
   margin: 2rem !important;
}

.tw-m-10 {
   margin: 2.5rem !important;
}

.tw-m-12 {
   margin: 3rem !important;
}

.tw-m-16 {
   margin: 4rem !important;
}

.tw-m-20 {
   margin: 5rem !important;
}

.tw-m-24 {
   margin: 6rem !important;
}

.tw-m-32 {
   margin: 8rem !important;
}

/* Margin top */
.tw-mt-0 {
   margin-top: 0 !important;
}

.tw-mt-1 {
   margin-top: 0.25rem !important;
}

.tw-mt-2 {
   margin-top: 0.5rem !important;
}

.tw-mt-3 {
   margin-top: 0.75rem !important;
}

.tw-mt-4 {
   margin-top: 1rem !important;
}

.tw-mt-5 {
   margin-top: 1.25rem !important;
}

.tw-mt-6 {
   margin-top: 1.5rem !important;
}

.tw-mt-8 {
   margin-top: 2rem !important;
}

.tw-mt-10 {
   margin-top: 2.5rem !important;
}

.tw-mt-12 {
   margin-top: 3rem !important;
}

.tw-mt-16 {
   margin-top: 4rem !important;
}

.tw-mt-20 {
   margin-top: 5rem !important;
}

.tw-mt-24 {
   margin-top: 6rem !important;
}

.tw-mt-32 {
   margin-top: 8rem !important;
}

/* Margin bottom */
.tw-mb-0 {
   margin-bottom: 0 !important;
}

.tw-mb-1 {
   margin-bottom: 0.25rem !important;
}

.tw-mb-2 {
   margin-bottom: 0.5rem !important;
}

.tw-mb-3 {
   margin-bottom: 0.75rem !important;
}

.tw-mb-4 {
   margin-bottom: 1rem !important;
}

.tw-mb-5 {
   margin-bottom: 1.25rem !important;
}

.tw-mb-6 {
   margin-bottom: 1.5rem !important;
}

.tw-mb-8 {
   margin-bottom: 2rem !important;
}

.tw-mb-10 {
   margin-bottom: 2.5rem !important;
}

.tw-mb-12 {
   margin-bottom: 3rem !important;
}

.tw-mb-16 {
   margin-bottom: 4rem !important;
}

.tw-mb-20 {
   margin-bottom: 5rem !important;
}

.tw-mb-24 {
   margin-bottom: 6rem !important;
}

.tw-mb-32 {
   margin-bottom: 8rem !important;
}

/* Margin left */
.tw-ml-0 {
   margin-left: 0 !important;
}

.tw-ml-1 {
   margin-left: 0.25rem !important;
}

.tw-ml-2 {
   margin-left: 0.5rem !important;
}

.tw-ml-3 {
   margin-left: 0.75rem !important;
}

.tw-ml-4 {
   margin-left: 1rem !important;
}

.tw-ml-5 {
   margin-left: 1.25rem !important;
}

.tw-ml-6 {
   margin-left: 1.5rem !important;
}

.tw-ml-8 {
   margin-left: 2rem !important;
}

.tw-ml-10 {
   margin-left: 2.5rem !important;
}

.tw-ml-12 {
   margin-left: 3rem !important;
}

.tw-ml-16 {
   margin-left: 4rem !important;
}

.tw-ml-20 {
   margin-left: 5rem !important;
}

.tw-ml-24 {
   margin-left: 6rem !important;
}

.tw-ml-32 {
   margin-left: 8rem !important;
}

/* Margin right */
.tw-mr-0 {
   margin-right: 0 !important;
}

.tw-mr-1 {
   margin-right: 0.25rem !important;
}

.tw-mr-2 {
   margin-right: 0.5rem !important;
}

.tw-mr-3 {
   margin-right: 0.75rem !important;
}

.tw-mr-4 {
   margin-right: 1rem !important;
}

.tw-mr-5 {
   margin-right: 1.25rem !important;
}

.tw-mr-6 {
   margin-right: 1.5rem !important;
}

.tw-mr-8 {
   margin-right: 2rem !important;
}

.tw-mr-10 {
   margin-right: 2.5rem !important;
}

.tw-mr-12 {
   margin-right: 3rem !important;
}

.tw-mr-16 {
   margin-right: 4rem !important;
}

.tw-mr-20 {
   margin-right: 5rem !important;
}

.tw-mr-24 {
   margin-right: 6rem !important;
}

.tw-mr-32 {
   margin-right: 8rem !important;
}

/* Padding utilities */
.tw-p-0 {
   padding: 0 !important;
}

.tw-p-1 {
   padding: 0.25rem !important;
}

.tw-p-2 {
   padding: 0.5rem !important;
}

.tw-p-3 {
   padding: 0.75rem !important;
}

.tw-p-4 {
   padding: 1rem !important;
}

.tw-p-5 {
   padding: 1.25rem !important;
}

.tw-p-6 {
   padding: 1.5rem !important;
}

.tw-p-8 {
   padding: 2rem !important;
}

.tw-p-10 {
   padding: 2.5rem !important;
}

.tw-p-12 {
   padding: 3rem !important;
}

.tw-p-16 {
   padding: 4rem !important;
}

.tw-p-20 {
   padding: 5rem !important;
}

.tw-p-24 {
   padding: 6rem !important;
}

.tw-p-32 {
   padding: 8rem !important;
}

/* ========================================
   FLEXBOX UTILITIES
   ======================================== */

/* Display */
.tw-flex {
   display: flex !important;
}

.tw-inline-flex {
   display: inline-flex !important;
}

.tw-grid {
   display: grid !important;
}

.tw-inline-grid {
   display: inline-grid !important;
}

.tw-block {
   display: block !important;
}

.tw-inline-block {
   display: inline-block !important;
}

.tw-inline {
   display: inline !important;
}

.tw-hidden {
   display: none !important;
}

/* Flex direction */
.tw-flex-row {
   flex-direction: row !important;
}

.tw-flex-row-reverse {
   flex-direction: row-reverse !important;
}

.tw-flex-col {
   flex-direction: column !important;
}

.tw-flex-col-reverse {
   flex-direction: column-reverse !important;
}

/* Flex wrap */
.tw-flex-wrap {
   flex-wrap: wrap !important;
}

.tw-flex-wrap-reverse {
   flex-wrap: wrap-reverse !important;
}

.tw-flex-nowrap {
   flex-wrap: nowrap !important;
}

/* Flex grow/shrink */
.tw-flex-1 {
   flex: 1 1 0% !important;
}

.tw-flex-auto {
   flex: 1 1 auto !important;
}

.tw-flex-initial {
   flex: 0 1 auto !important;
}

.tw-flex-none {
   flex: none !important;
}

/* Justify content */
.tw-justify-start {
   justify-content: flex-start !important;
}

.tw-justify-end {
   justify-content: flex-end !important;
}

.tw-justify-center {
   justify-content: center !important;
}

.tw-justify-between {
   justify-content: space-between !important;
}

.tw-justify-around {
   justify-content: space-around !important;
}

.tw-justify-evenly {
   justify-content: space-evenly !important;
}

/* Align items */
.tw-items-start {
   align-items: flex-start !important;
}

.tw-items-end {
   align-items: flex-end !important;
}

.tw-items-center {
   align-items: center !important;
}

.tw-items-baseline {
   align-items: baseline !important;
}

.tw-items-stretch {
   align-items: stretch !important;
}

@media (min-width: 768px) {
    .tw-items-md-start {
        align-items: flex-start !important;
    }
    .tw-items-md-end {
        align-items: flex-end !important;
    }
    .tw-items-md-center {
        align-items: center !important;
    }
    .tw-items-md-baseline {
        align-items: baseline !important;
    }
    .tw-items-md-stretch {
        align-items: stretch !important;
    }
}
/* Align self */
.tw-self-auto {
   align-self: auto !important;
}

.tw-self-start {
   align-self: flex-start !important;
}

.tw-self-end {
   align-self: flex-end !important;
}

.tw-self-center {
   align-self: center !important;
}

.tw-self-stretch {
   align-self: stretch !important;
}

/* ========================================
   POSITIONING UTILITIES
   ======================================== */

/* Position */
.tw-static {
   position: static !important;
}

.tw-fixed {
   position: fixed !important;
}

.tw-absolute {
   position: absolute !important;
}

.tw-relative {
   position: relative !important;
}

.tw-sticky {
   position: sticky !important;
}

/* Top, Right, Bottom, Left */
.tw-top-0 {
   top: 0 !important;
}

.tw-right-0 {
   right: 0 !important;
}

.tw-bottom-0 {
   bottom: 0 !important;
}

.tw-left-0 {
   left: 0 !important;
}

/* ========================================
   WIDTH & HEIGHT UTILITIES
   ======================================== */

/* Width */
.tw-w-auto {
   width: auto !important;
}

.tw-w-full {
   width: 100% !important;
}

.tw-w-screen {
   width: 100vw !important;
}

.tw-w-1\/2 {
   width: 50% !important;
}

.tw-w-1\/3 {
   width: 33.333333% !important;
}

.tw-w-2\/3 {
   width: 66.666667% !important;
}

.tw-w-1\/4 {
   width: 25% !important;
}

.tw-w-3\/4 {
   width: 75% !important;
}

/* Height */
.tw-h-auto {
   height: auto !important;
}

.tw-h-full {
   height: 100% !important;
}

.tw-h-screen {
   height: 100vh !important;
}

/* ========================================
   BORDER UTILITIES
   ======================================== */

/* Border radius */
.tw-rounded-none {
   border-radius: 0 !important;
}

.tw-rounded-sm {
   border-radius: 0.125rem !important;
}

.tw-rounded {
   border-radius: 0.25rem !important;
}

.tw-rounded-md {
   border-radius: 0.375rem !important;
}

.tw-rounded-lg {
   border-radius: 0.5rem !important;
}

.tw-rounded-xl {
   border-radius: 0.75rem !important;
}

.tw-rounded-2xl {
   border-radius: 1rem !important;
}

.tw-rounded-3xl {
   border-radius: 1.5rem !important;
}

.tw-rounded-full {
   border-radius: 9999px !important;
}

/* ========================================
   SHADOW UTILITIES
   ======================================== */

.tw-shadow-sm {
   box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
}

.tw-shadow {
   box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06) !important;
}

.tw-shadow-md {
   box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06) !important;
}

.tw-shadow-lg {
   box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05) !important;
}

.tw-shadow-xl {
   box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04) !important;
}

.tw-shadow-2xl {
   box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25) !important;
}

.tw-shadow-none {
   box-shadow: none !important;
}

/* ========================================
   CURSOR UTILITIES
   ======================================== */

.tw-cursor-auto {
   cursor: auto !important;
}

.tw-cursor-default {
   cursor: default !important;
}

.tw-cursor-pointer {
   cursor: pointer !important;
}

.tw-cursor-wait {
   cursor: wait !important;
}

.tw-cursor-text {
   cursor: text !important;
}

.tw-cursor-move {
   cursor: move !important;
}

.tw-cursor-not-allowed {
   cursor: not-allowed !important;
}

/* ========================================
   OPACITY UTILITIES
   ======================================== */

.tw-opacity-0 {
   opacity: 0 !important;
}

.tw-opacity-25 {
   opacity: 0.25 !important;
}

.tw-opacity-50 {
   opacity: 0.5 !important;
}

.tw-opacity-75 {
   opacity: 0.75 !important;
}

.tw-opacity-100 {
   opacity: 1 !important;
}

/* ========================================
   TRANSITION UTILITIES
   ======================================== */

.tw-transition-none {
   transition-property: none !important;
}

.tw-transition-all {
   transition-property: all !important;
}

.tw-transition {
   transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter !important;
}

.tw-transition-colors {
   transition-property: color, background-color, border-color, text-decoration-color, fill, stroke !important;
}

.tw-transition-opacity {
   transition-property: opacity !important;
}

.tw-transition-shadow {
   transition-property: box-shadow !important;
}

.tw-transition-transform {
   transition-property: transform !important;
}

.tw-duration-75 {
   transition-duration: 75ms !important;
}

.tw-duration-100 {
   transition-duration: 100ms !important;
}

.tw-duration-150 {
   transition-duration: 150ms !important;
}

.tw-duration-200 {
   transition-duration: 200ms !important;
}

.tw-duration-300 {
   transition-duration: 300ms !important;
}

.tw-duration-500 {
   transition-duration: 500ms !important;
}

.tw-duration-700 {
   transition-duration: 700ms !important;
}

.tw-duration-1000 {
   transition-duration: 1000ms !important;
}

.tw-ease-linear {
   transition-timing-function: linear !important;
}

.tw-ease-in {
   transition-timing-function: cubic-bezier(0.4, 0, 1, 1) !important;
}

.tw-ease-out {
   transition-timing-function: cubic-bezier(0, 0, 0.2, 1) !important;
}

.tw-ease-in-out {
   transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* Responsive Margin Utilities */
@media (min-width: 768px) {
   .tw-m-md-0 {
      margin: 0 !important;
   }

   .tw-m-md-1 {
      margin: 0.25rem !important;
   }

   .tw-m-md-2 {
      margin: 0.5rem !important;
   }

   .tw-m-md-3 {
      margin: 0.75rem !important;
   }

   .tw-m-md-4 {
      margin: 1rem !important;
   }

   .tw-m-md-5 {
      margin: 1.25rem !important;
   }

   .tw-m-md-6 {
      margin: 1.5rem !important;
   }

   .tw-m-md-8 {
      margin: 2rem !important;
   }

   .tw-m-md-10 {
      margin: 2.5rem !important;
   }

   .tw-m-md-12 {
      margin: 3rem !important;
   }

   .tw-m-md-16 {
      margin: 4rem !important;
   }

   .tw-m-md-20 {
      margin: 5rem !important;
   }

   .tw-m-md-24 {
      margin: 6rem !important;
   }

   .tw-m-md-32 {
      margin: 8rem !important;
   }

   .tw-mt-md-0 {
      margin-top: 0 !important;
   }

   .tw-mt-md-1 {
      margin-top: 0.25rem !important;
   }

   .tw-mt-md-2 {
      margin-top: 0.5rem !important;
   }

   .tw-mt-md-3 {
      margin-top: 0.75rem !important;
   }

   .tw-mt-md-4 {
      margin-top: 1rem !important;
   }

   .tw-mt-md-5 {
      margin-top: 1.25rem !important;
   }

   .tw-mt-md-6 {
      margin-top: 1.5rem !important;
   }

   .tw-mt-md-8 {
      margin-top: 2rem !important;
   }

   .tw-mt-md-10 {
      margin-top: 2.5rem !important;
   }

   .tw-mt-md-12 {
      margin-top: 3rem !important;
   }

   .tw-mt-md-16 {
      margin-top: 4rem !important;
   }

   .tw-mt-md-20 {
      margin-top: 5rem !important;
   }

   .tw-mt-md-24 {
      margin-top: 6rem !important;
   }

   .tw-mt-md-32 {
      margin-top: 8rem !important;
   }

   .tw-mb-md-0 {
      margin-bottom: 0 !important;
   }

   .tw-mb-md-1 {
      margin-bottom: 0.25rem !important;
   }

   .tw-mb-md-2 {
      margin-bottom: 0.5rem !important;
   }

   .tw-mb-md-3 {
      margin-bottom: 0.75rem !important;
   }

   .tw-mb-md-4 {
      margin-bottom: 1rem !important;
   }

   .tw-mb-md-5 {
      margin-bottom: 1.25rem !important;
   }

   .tw-mb-md-6 {
      margin-bottom: 1.5rem !important;
   }

   .tw-mb-md-8 {
      margin-bottom: 2rem !important;
   }

   .tw-mb-md-10 {
      margin-bottom: 2.5rem !important;
   }

   .tw-mb-md-12 {
      margin-bottom: 3rem !important;
   }

   .tw-mb-md-16 {
      margin-bottom: 4rem !important;
   }

   .tw-mb-md-20 {
      margin-bottom: 5rem !important;
   }

   .tw-mb-md-24 {
      margin-bottom: 6rem !important;
   }

   .tw-mb-md-32 {
      margin-bottom: 8rem !important;
   }

   .tw-ml-md-0 {
      margin-left: 0 !important;
   }

   .tw-ml-md-1 {
      margin-left: 0.25rem !important;
   }

   .tw-ml-md-2 {
      margin-left: 0.5rem !important;
   }

   .tw-ml-md-3 {
      margin-left: 0.75rem !important;
   }

   .tw-ml-md-4 {
      margin-left: 1rem !important;
   }

   .tw-ml-md-5 {
      margin-left: 1.25rem !important;
   }

   .tw-ml-md-6 {
      margin-left: 1.5rem !important;
   }

   .tw-ml-md-8 {
      margin-left: 2rem !important;
   }

   .tw-ml-md-10 {
      margin-left: 2.5rem !important;
   }

   .tw-ml-md-12 {
      margin-left: 3rem !important;
   }

   .tw-ml-md-16 {
      margin-left: 4rem !important;
   }

   .tw-ml-md-20 {
      margin-left: 5rem !important;
   }

   .tw-ml-md-24 {
      margin-left: 6rem !important;
   }

   .tw-ml-md-32 {
      margin-left: 8rem !important;
   }

   .tw-mr-md-0 {
      margin-right: 0 !important;
   }

   .tw-mr-md-1 {
      margin-right: 0.25rem !important;
   }

   .tw-mr-md-2 {
      margin-right: 0.5rem !important;
   }

   .tw-mr-md-3 {
      margin-right: 0.75rem !important;
   }

   .tw-mr-md-4 {
      margin-right: 1rem !important;
   }

   .tw-mr-md-5 {
      margin-right: 1.25rem !important;
   }

   .tw-mr-md-6 {
      margin-right: 1.5rem !important;
   }

   .tw-mr-md-8 {
      margin-right: 2rem !important;
   }

   .tw-mr-md-10 {
      margin-right: 2.5rem !important;
   }

   .tw-mr-md-12 {
      margin-right: 3rem !important;
   }

   .tw-mr-md-16 {
      margin-right: 4rem !important;
   }

   .tw-mr-md-20 {
      margin-right: 5rem !important;
   }

   .tw-mr-md-24 {
      margin-right: 6rem !important;
   }

   .tw-mr-md-32 {
      margin-right: 8rem !important;
   }
}

@media (min-width: 1024px) {
   .tw-m-lg-0 {
      margin: 0 !important;
   }

   .tw-m-lg-1 {
      margin: 0.25rem !important;
   }

   .tw-m-lg-2 {
      margin: 0.5rem !important;
   }

   .tw-m-lg-3 {
      margin: 0.75rem !important;
   }

   .tw-m-lg-4 {
      margin: 1rem !important;
   }

   .tw-m-lg-5 {
      margin: 1.25rem !important;
   }

   .tw-m-lg-6 {
      margin: 1.5rem !important;
   }

   .tw-m-lg-8 {
      margin: 2rem !important;
   }

   .tw-m-lg-10 {
      margin: 2.5rem !important;
   }

   .tw-m-lg-12 {
      margin: 3rem !important;
   }

   .tw-m-lg-16 {
      margin: 4rem !important;
   }

   .tw-m-lg-20 {
      margin: 5rem !important;
   }

   .tw-m-lg-24 {
      margin: 6rem !important;
   }

   .tw-m-lg-32 {
      margin: 8rem !important;
   }

   .tw-mt-lg-0 {
      margin-top: 0 !important;
   }

   .tw-mt-lg-1 {
      margin-top: 0.25rem !important;
   }

   .tw-mt-lg-2 {
      margin-top: 0.5rem !important;
   }

   .tw-mt-lg-3 {
      margin-top: 0.75rem !important;
   }

   .tw-mt-lg-4 {
      margin-top: 1rem !important;
   }

   .tw-mt-lg-5 {
      margin-top: 1.25rem !important;
   }

   .tw-mt-lg-6 {
      margin-top: 1.5rem !important;
   }

   .tw-mt-lg-8 {
      margin-top: 2rem !important;
   }

   .tw-mt-lg-10 {
      margin-top: 2.5rem !important;
   }

   .tw-mt-lg-12 {
      margin-top: 3rem !important;
   }

   .tw-mt-lg-16 {
      margin-top: 4rem !important;
   }

   .tw-mt-lg-20 {
      margin-top: 5rem !important;
   }

   .tw-mt-lg-24 {
      margin-top: 6rem !important;
   }

   .tw-mt-lg-32 {
      margin-top: 8rem !important;
   }

   .tw-mb-lg-0 {
      margin-bottom: 0 !important;
   }

   .tw-mb-lg-1 {
      margin-bottom: 0.25rem !important;
   }

   .tw-mb-lg-2 {
      margin-bottom: 0.5rem !important;
   }

   .tw-mb-lg-3 {
      margin-bottom: 0.75rem !important;
   }

   .tw-mb-lg-4 {
      margin-bottom: 1rem !important;
   }

   .tw-mb-lg-5 {
      margin-bottom: 1.25rem !important;
   }

   .tw-mb-lg-6 {
      margin-bottom: 1.5rem !important;
   }

   .tw-mb-lg-8 {
      margin-bottom: 2rem !important;
   }

   .tw-mb-lg-10 {
      margin-bottom: 2.5rem !important;
   }

   .tw-mb-lg-12 {
      margin-bottom: 3rem !important;
   }

   .tw-mb-lg-16 {
      margin-bottom: 4rem !important;
   }

   .tw-mb-lg-20 {
      margin-bottom: 5rem !important;
   }

   .tw-mb-lg-24 {
      margin-bottom: 6rem !important;
   }

   .tw-mb-lg-32 {
      margin-bottom: 8rem !important;
   }

   .tw-ml-lg-0 {
      margin-left: 0 !important;
   }

   .tw-ml-lg-1 {
      margin-left: 0.25rem !important;
   }

   .tw-ml-lg-2 {
      margin-left: 0.5rem !important;
   }

   .tw-ml-lg-3 {
      margin-left: 0.75rem !important;
   }

   .tw-ml-lg-4 {
      margin-left: 1rem !important;
   }

   .tw-ml-lg-5 {
      margin-left: 1.25rem !important;
   }

   .tw-ml-lg-6 {
      margin-left: 1.5rem !important;
   }

   .tw-ml-lg-8 {
      margin-left: 2rem !important;
   }

   .tw-ml-lg-10 {
      margin-left: 2.5rem !important;
   }

   .tw-ml-lg-12 {
      margin-left: 3rem !important;
   }

   .tw-ml-lg-16 {
      margin-left: 4rem !important;
   }

   .tw-ml-lg-20 {
      margin-left: 5rem !important;
   }

   .tw-ml-lg-24 {
      margin-left: 6rem !important;
   }

   .tw-ml-lg-32 {
      margin-left: 8rem !important;
   }

   .tw-mr-lg-0 {
      margin-right: 0 !important;
   }

   .tw-mr-lg-1 {
      margin-right: 0.25rem !important;
   }

   .tw-mr-lg-2 {
      margin-right: 0.5rem !important;
   }

   .tw-mr-lg-3 {
      margin-right: 0.75rem !important;
   }

   .tw-mr-lg-4 {
      margin-right: 1rem !important;
   }

   .tw-mr-lg-5 {
      margin-right: 1.25rem !important;
   }

   .tw-mr-lg-6 {
      margin-right: 1.5rem !important;
   }

   .tw-mr-lg-8 {
      margin-right: 2rem !important;
   }

   .tw-mr-lg-10 {
      margin-right: 2.5rem !important;
   }

   .tw-mr-lg-12 {
      margin-right: 3rem !important;
   }

   .tw-mr-lg-16 {
      margin-right: 4rem !important;
   }

   .tw-mr-lg-20 {
      margin-right: 5rem !important;
   }

   .tw-mr-lg-24 {
      margin-right: 6rem !important;
   }

   .tw-mr-lg-32 {
      margin-right: 8rem !important;
   }
}
