/* Flex Utilities - ROA2WEB */

/* Flex Display */
.flex {
  display: flex;
}
.inline-flex {
  display: inline-flex;
}

/* Flex Direction */
.flex-row {
  flex-direction: row;
}
.flex-row-reverse {
  flex-direction: row-reverse;
}
.flex-col {
  flex-direction: column;
}
.flex-col-reverse {
  flex-direction: column-reverse;
}

/* Flex Wrap */
.flex-wrap {
  flex-wrap: wrap;
}
.flex-nowrap {
  flex-wrap: nowrap;
}
.flex-wrap-reverse {
  flex-wrap: wrap-reverse;
}

/* Flex */
.flex-1 {
  flex: 1 1 0%;
}
.flex-auto {
  flex: 1 1 auto;
}
.flex-initial {
  flex: 0 1 auto;
}
.flex-none {
  flex: none;
}

/* Flex Grow */
.flex-grow-0 {
  flex-grow: 0;
}
.flex-grow {
  flex-grow: 1;
}

/* Flex Shrink */
.flex-shrink-0 {
  flex-shrink: 0;
}
.flex-shrink {
  flex-shrink: 1;
}

/* Justify Content */
.justify-start {
  justify-content: flex-start;
}
.justify-end {
  justify-content: flex-end;
}
.justify-center {
  justify-content: center;
}
.justify-between {
  justify-content: space-between;
}
.justify-around {
  justify-content: space-around;
}
.justify-evenly {
  justify-content: space-evenly;
}

/* Align Items */
.items-start {
  align-items: flex-start;
}
.items-end {
  align-items: flex-end;
}
.items-center {
  align-items: center;
}
.items-baseline {
  align-items: baseline;
}
.items-stretch {
  align-items: stretch;
}

/* Align Content */
.content-start {
  align-content: flex-start;
}
.content-end {
  align-content: flex-end;
}
.content-center {
  align-content: center;
}
.content-between {
  align-content: space-between;
}
.content-around {
  align-content: space-around;
}
.content-evenly {
  align-content: space-evenly;
}

/* Align Self */
.self-auto {
  align-self: auto;
}
.self-start {
  align-self: flex-start;
}
.self-end {
  align-self: flex-end;
}
.self-center {
  align-self: center;
}
.self-stretch {
  align-self: stretch;
}
.self-baseline {
  align-self: baseline;
}

/* Gap */
.gap-0 {
  gap: 0;
}
.gap-1 {
  gap: var(--space-xs);
}
.gap-2 {
  gap: var(--space-sm);
}
.gap-3 {
  gap: 0.75rem;
}
.gap-4 {
  gap: var(--space-md);
}
.gap-5 {
  gap: 1.25rem;
}
.gap-6 {
  gap: var(--space-lg);
}
.gap-8 {
  gap: var(--space-xl);
}

.gap-x-0 {
  column-gap: 0;
}
.gap-x-1 {
  column-gap: var(--space-xs);
}
.gap-x-2 {
  column-gap: var(--space-sm);
}
.gap-x-3 {
  column-gap: 0.75rem;
}
.gap-x-4 {
  column-gap: var(--space-md);
}
.gap-x-6 {
  column-gap: var(--space-lg);
}
.gap-x-8 {
  column-gap: var(--space-xl);
}

.gap-y-0 {
  row-gap: 0;
}
.gap-y-1 {
  row-gap: var(--space-xs);
}
.gap-y-2 {
  row-gap: var(--space-sm);
}
.gap-y-3 {
  row-gap: 0.75rem;
}
.gap-y-4 {
  row-gap: var(--space-md);
}
.gap-y-6 {
  row-gap: var(--space-lg);
}
.gap-y-8 {
  row-gap: var(--space-xl);
}

/* Order */
.order-1 {
  order: 1;
}
.order-2 {
  order: 2;
}
.order-3 {
  order: 3;
}
.order-4 {
  order: 4;
}
.order-5 {
  order: 5;
}
.order-6 {
  order: 6;
}
.order-7 {
  order: 7;
}
.order-8 {
  order: 8;
}
.order-9 {
  order: 9;
}
.order-10 {
  order: 10;
}
.order-11 {
  order: 11;
}
.order-12 {
  order: 12;
}
.order-first {
  order: -9999;
}
.order-last {
  order: 9999;
}
.order-none {
  order: 0;
}

/* Responsive Flex Utilities */
@media (max-width: 480px) {
  .mobile-flex {
    display: flex;
  }
  .mobile-flex-col {
    flex-direction: column;
  }
  .mobile-flex-wrap {
    flex-wrap: wrap;
  }
  .mobile-items-center {
    align-items: center;
  }
  .mobile-items-start {
    align-items: flex-start;
  }
  .mobile-items-stretch {
    align-items: stretch;
  }
  .mobile-justify-center {
    justify-content: center;
  }
  .mobile-justify-between {
    justify-content: space-between;
  }
}

@media (max-width: 768px) {
  .tablet-flex {
    display: flex;
  }
  .tablet-flex-col {
    flex-direction: column;
  }
  .tablet-flex-wrap {
    flex-wrap: wrap;
  }
  .tablet-items-center {
    align-items: center;
  }
  .tablet-items-start {
    align-items: flex-start;
  }
  .tablet-items-stretch {
    align-items: stretch;
  }
  .tablet-justify-center {
    justify-content: center;
  }
  .tablet-justify-between {
    justify-content: space-between;
  }
}

@media (min-width: 1024px) {
  .desktop-flex {
    display: flex;
  }
  .desktop-flex-row {
    flex-direction: row;
  }
  .desktop-flex-nowrap {
    flex-wrap: nowrap;
  }
  .desktop-items-center {
    align-items: center;
  }
  .desktop-justify-start {
    justify-content: flex-start;
  }
}
