/* ServerConsultant Utility Classes
   Single-purpose utility classes
   ========================================= */

/* Display
   ----------------------------------------- */
.sc-u-hidden {
  display: none !important;
}

.sc-u-block {
  display: block !important;
}

.sc-u-inline-block {
  display: inline-block !important;
}

.sc-u-inline {
  display: inline !important;
}

.sc-u-flex {
  display: flex !important;
}

.sc-u-inline-flex {
  display: inline-flex !important;
}

.sc-u-grid {
  display: grid !important;
}

/* Visibility
   ----------------------------------------- */
.sc-u-invisible {
  visibility: hidden !important;
}

.sc-u-visible {
  visibility: visible !important;
}

/* Overflow
   ----------------------------------------- */
.sc-u-overflow-hidden {
  overflow: hidden !important;
}

.sc-u-overflow-auto {
  overflow: auto !important;
}

.sc-u-overflow-scroll {
  overflow: scroll !important;
}

.sc-u-overflow-x-auto {
  overflow-x: auto !important;
}

.sc-u-overflow-y-auto {
  overflow-y: auto !important;
}

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

.sc-u-relative {
  position: relative !important;
}

.sc-u-absolute {
  position: absolute !important;
}

.sc-u-fixed {
  position: fixed !important;
}

.sc-u-sticky {
  position: sticky !important;
}

/* Inset
   ----------------------------------------- */
.sc-u-inset-0 {
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
}

.sc-u-top-0 { top: 0 !important; }
.sc-u-right-0 { right: 0 !important; }
.sc-u-bottom-0 { bottom: 0 !important; }
.sc-u-left-0 { left: 0 !important; }

/* Text Alignment
   ----------------------------------------- */
.sc-u-text-left {
  text-align: left !important;
}

.sc-u-text-center {
  text-align: center !important;
}

.sc-u-text-right {
  text-align: right !important;
}

.sc-u-text-justify {
  text-align: justify !important;
}

/* Text Color
   ----------------------------------------- */
.sc-u-text-primary {
  color: var(--sc-primary) !important;
}

.sc-u-text-white {
  color: var(--sc-white) !important;
}

.sc-u-text-black {
  color: var(--sc-black) !important;
}

.sc-u-text-gray {
  color: var(--sc-gray) !important;
}

.sc-u-text-muted {
  color: var(--sc-gray) !important;
}

.sc-u-text-success {
  color: var(--sc-green) !important;
}

.sc-u-text-warning {
  color: var(--sc-yellow) !important;
}

.sc-u-text-danger {
  color: var(--sc-pink) !important;
}

.sc-u-text-info {
  color: var(--sc-blue) !important;
}

/* Text Size
   ----------------------------------------- */
.sc-u-text-xs {
  font-size: var(--sc-text-xs) !important;
}

.sc-u-text-sm {
  font-size: var(--sc-text-sm) !important;
}

.sc-u-text-base {
  font-size: var(--sc-text-base) !important;
}

.sc-u-text-lg {
  font-size: var(--sc-text-lg) !important;
}

.sc-u-text-xl {
  font-size: var(--sc-text-xl) !important;
}

.sc-u-text-2xl {
  font-size: var(--sc-text-2xl) !important;
}

.sc-u-text-3xl {
  font-size: var(--sc-text-3xl) !important;
}

.sc-u-text-4xl {
  font-size: var(--sc-text-4xl) !important;
}

.sc-u-text-5xl {
  font-size: var(--sc-text-5xl) !important;
}

/* Font Weight
   ----------------------------------------- */
.sc-u-font-normal {
  font-weight: var(--sc-font-normal) !important;
}

.sc-u-font-medium {
  font-weight: var(--sc-font-medium) !important;
}

.sc-u-font-semibold {
  font-weight: var(--sc-font-semibold) !important;
}

.sc-u-font-bold {
  font-weight: var(--sc-font-bold) !important;
}

/* Text Transform
   ----------------------------------------- */
.sc-u-uppercase {
  text-transform: uppercase !important;
}

.sc-u-lowercase {
  text-transform: lowercase !important;
}

.sc-u-capitalize {
  text-transform: capitalize !important;
}

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

/* Text Decoration
   ----------------------------------------- */
.sc-u-underline {
  text-decoration: underline !important;
}

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

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

/* Background Colors
   ----------------------------------------- */
.sc-u-bg-primary {
  background-color: var(--sc-primary) !important;
}

.sc-u-bg-black {
  background-color: var(--sc-black) !important;
}

.sc-u-bg-dark-blue {
  background-color: var(--sc-dark-blue) !important;
}

.sc-u-bg-dark-gray {
  background-color: var(--sc-dark-gray) !important;
}

.sc-u-bg-gray {
  background-color: var(--sc-gray) !important;
}

.sc-u-bg-white {
  background-color: var(--sc-white) !important;
}

.sc-u-bg-transparent {
  background-color: transparent !important;
}

/* Borders
   ----------------------------------------- */
.sc-u-border {
  border: var(--sc-border-width) solid var(--sc-dark-gray) !important;
}

.sc-u-border-0 {
  border: 0 !important;
}

.sc-u-border-t {
  border-top: var(--sc-border-width) solid var(--sc-dark-gray) !important;
}

.sc-u-border-r {
  border-right: var(--sc-border-width) solid var(--sc-dark-gray) !important;
}

.sc-u-border-b {
  border-bottom: var(--sc-border-width) solid var(--sc-dark-gray) !important;
}

.sc-u-border-l {
  border-left: var(--sc-border-width) solid var(--sc-dark-gray) !important;
}

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

.sc-u-rounded {
  border-radius: var(--sc-radius-base) !important;
}

.sc-u-rounded-md {
  border-radius: var(--sc-radius-md) !important;
}

.sc-u-rounded-lg {
  border-radius: var(--sc-radius-lg) !important;
}

.sc-u-rounded-full {
  border-radius: var(--sc-radius-full) !important;
}

/* Width
   ----------------------------------------- */
.sc-u-w-full {
  width: 100% !important;
}

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

.sc-u-w-auto {
  width: auto !important;
}

.sc-u-w-1-2 {
  width: 50% !important;
}

.sc-u-w-1-3 {
  width: 33.333333% !important;
}

.sc-u-w-2-3 {
  width: 66.666667% !important;
}

.sc-u-w-1-4 {
  width: 25% !important;
}

.sc-u-w-3-4 {
  width: 75% !important;
}

/* Height
   ----------------------------------------- */
.sc-u-h-full {
  height: 100% !important;
}

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

.sc-u-h-auto {
  height: auto !important;
}

/* Margin - All Sides
   ----------------------------------------- */
.sc-u-m-0 { margin: 0 !important; }
.sc-u-m-1 { margin: var(--sc-space-1) !important; }
.sc-u-m-2 { margin: var(--sc-space-2) !important; }
.sc-u-m-3 { margin: var(--sc-space-3) !important; }
.sc-u-m-4 { margin: var(--sc-space-4) !important; }
.sc-u-m-5 { margin: var(--sc-space-5) !important; }
.sc-u-m-6 { margin: var(--sc-space-6) !important; }
.sc-u-m-8 { margin: var(--sc-space-8) !important; }
.sc-u-m-auto { margin: auto !important; }

/* Margin - Top */
.sc-u-mt-0 { margin-top: 0 !important; }
.sc-u-mt-1 { margin-top: var(--sc-space-1) !important; }
.sc-u-mt-2 { margin-top: var(--sc-space-2) !important; }
.sc-u-mt-3 { margin-top: var(--sc-space-3) !important; }
.sc-u-mt-4 { margin-top: var(--sc-space-4) !important; }
.sc-u-mt-5 { margin-top: var(--sc-space-5) !important; }
.sc-u-mt-6 { margin-top: var(--sc-space-6) !important; }
.sc-u-mt-8 { margin-top: var(--sc-space-8) !important; }
.sc-u-mt-auto { margin-top: auto !important; }

/* Margin - Right */
.sc-u-mr-0 { margin-right: 0 !important; }
.sc-u-mr-1 { margin-right: var(--sc-space-1) !important; }
.sc-u-mr-2 { margin-right: var(--sc-space-2) !important; }
.sc-u-mr-3 { margin-right: var(--sc-space-3) !important; }
.sc-u-mr-4 { margin-right: var(--sc-space-4) !important; }
.sc-u-mr-5 { margin-right: var(--sc-space-5) !important; }
.sc-u-mr-6 { margin-right: var(--sc-space-6) !important; }
.sc-u-mr-8 { margin-right: var(--sc-space-8) !important; }
.sc-u-mr-auto { margin-right: auto !important; }

/* Margin - Bottom */
.sc-u-mb-0 { margin-bottom: 0 !important; }
.sc-u-mb-1 { margin-bottom: var(--sc-space-1) !important; }
.sc-u-mb-2 { margin-bottom: var(--sc-space-2) !important; }
.sc-u-mb-3 { margin-bottom: var(--sc-space-3) !important; }
.sc-u-mb-4 { margin-bottom: var(--sc-space-4) !important; }
.sc-u-mb-5 { margin-bottom: var(--sc-space-5) !important; }
.sc-u-mb-6 { margin-bottom: var(--sc-space-6) !important; }
.sc-u-mb-8 { margin-bottom: var(--sc-space-8) !important; }
.sc-u-mb-auto { margin-bottom: auto !important; }

/* Margin - Left */
.sc-u-ml-0 { margin-left: 0 !important; }
.sc-u-ml-1 { margin-left: var(--sc-space-1) !important; }
.sc-u-ml-2 { margin-left: var(--sc-space-2) !important; }
.sc-u-ml-3 { margin-left: var(--sc-space-3) !important; }
.sc-u-ml-4 { margin-left: var(--sc-space-4) !important; }
.sc-u-ml-5 { margin-left: var(--sc-space-5) !important; }
.sc-u-ml-6 { margin-left: var(--sc-space-6) !important; }
.sc-u-ml-8 { margin-left: var(--sc-space-8) !important; }
.sc-u-ml-auto { margin-left: auto !important; }

/* Margin - X axis */
.sc-u-mx-0 { margin-left: 0 !important; margin-right: 0 !important; }
.sc-u-mx-1 { margin-left: var(--sc-space-1) !important; margin-right: var(--sc-space-1) !important; }
.sc-u-mx-2 { margin-left: var(--sc-space-2) !important; margin-right: var(--sc-space-2) !important; }
.sc-u-mx-3 { margin-left: var(--sc-space-3) !important; margin-right: var(--sc-space-3) !important; }
.sc-u-mx-4 { margin-left: var(--sc-space-4) !important; margin-right: var(--sc-space-4) !important; }
.sc-u-mx-5 { margin-left: var(--sc-space-5) !important; margin-right: var(--sc-space-5) !important; }
.sc-u-mx-6 { margin-left: var(--sc-space-6) !important; margin-right: var(--sc-space-6) !important; }
.sc-u-mx-8 { margin-left: var(--sc-space-8) !important; margin-right: var(--sc-space-8) !important; }
.sc-u-mx-auto { margin-left: auto !important; margin-right: auto !important; }

/* Margin - Y axis */
.sc-u-my-0 { margin-top: 0 !important; margin-bottom: 0 !important; }
.sc-u-my-1 { margin-top: var(--sc-space-1) !important; margin-bottom: var(--sc-space-1) !important; }
.sc-u-my-2 { margin-top: var(--sc-space-2) !important; margin-bottom: var(--sc-space-2) !important; }
.sc-u-my-3 { margin-top: var(--sc-space-3) !important; margin-bottom: var(--sc-space-3) !important; }
.sc-u-my-4 { margin-top: var(--sc-space-4) !important; margin-bottom: var(--sc-space-4) !important; }
.sc-u-my-5 { margin-top: var(--sc-space-5) !important; margin-bottom: var(--sc-space-5) !important; }
.sc-u-my-6 { margin-top: var(--sc-space-6) !important; margin-bottom: var(--sc-space-6) !important; }
.sc-u-my-8 { margin-top: var(--sc-space-8) !important; margin-bottom: var(--sc-space-8) !important; }
.sc-u-my-auto { margin-top: auto !important; margin-bottom: auto !important; }

/* Padding - All Sides */
.sc-u-p-0 { padding: 0 !important; }
.sc-u-p-1 { padding: var(--sc-space-1) !important; }
.sc-u-p-2 { padding: var(--sc-space-2) !important; }
.sc-u-p-3 { padding: var(--sc-space-3) !important; }
.sc-u-p-4 { padding: var(--sc-space-4) !important; }
.sc-u-p-5 { padding: var(--sc-space-5) !important; }
.sc-u-p-6 { padding: var(--sc-space-6) !important; }
.sc-u-p-8 { padding: var(--sc-space-8) !important; }

/* Padding - Top */
.sc-u-pt-0 { padding-top: 0 !important; }
.sc-u-pt-1 { padding-top: var(--sc-space-1) !important; }
.sc-u-pt-2 { padding-top: var(--sc-space-2) !important; }
.sc-u-pt-3 { padding-top: var(--sc-space-3) !important; }
.sc-u-pt-4 { padding-top: var(--sc-space-4) !important; }
.sc-u-pt-5 { padding-top: var(--sc-space-5) !important; }
.sc-u-pt-6 { padding-top: var(--sc-space-6) !important; }
.sc-u-pt-8 { padding-top: var(--sc-space-8) !important; }

/* Padding - Right */
.sc-u-pr-0 { padding-right: 0 !important; }
.sc-u-pr-1 { padding-right: var(--sc-space-1) !important; }
.sc-u-pr-2 { padding-right: var(--sc-space-2) !important; }
.sc-u-pr-3 { padding-right: var(--sc-space-3) !important; }
.sc-u-pr-4 { padding-right: var(--sc-space-4) !important; }
.sc-u-pr-5 { padding-right: var(--sc-space-5) !important; }
.sc-u-pr-6 { padding-right: var(--sc-space-6) !important; }
.sc-u-pr-8 { padding-right: var(--sc-space-8) !important; }

/* Padding - Bottom */
.sc-u-pb-0 { padding-bottom: 0 !important; }
.sc-u-pb-1 { padding-bottom: var(--sc-space-1) !important; }
.sc-u-pb-2 { padding-bottom: var(--sc-space-2) !important; }
.sc-u-pb-3 { padding-bottom: var(--sc-space-3) !important; }
.sc-u-pb-4 { padding-bottom: var(--sc-space-4) !important; }
.sc-u-pb-5 { padding-bottom: var(--sc-space-5) !important; }
.sc-u-pb-6 { padding-bottom: var(--sc-space-6) !important; }
.sc-u-pb-8 { padding-bottom: var(--sc-space-8) !important; }

/* Padding - Left */
.sc-u-pl-0 { padding-left: 0 !important; }
.sc-u-pl-1 { padding-left: var(--sc-space-1) !important; }
.sc-u-pl-2 { padding-left: var(--sc-space-2) !important; }
.sc-u-pl-3 { padding-left: var(--sc-space-3) !important; }
.sc-u-pl-4 { padding-left: var(--sc-space-4) !important; }
.sc-u-pl-5 { padding-left: var(--sc-space-5) !important; }
.sc-u-pl-6 { padding-left: var(--sc-space-6) !important; }
.sc-u-pl-8 { padding-left: var(--sc-space-8) !important; }

/* Padding - X axis */
.sc-u-px-0 { padding-left: 0 !important; padding-right: 0 !important; }
.sc-u-px-1 { padding-left: var(--sc-space-1) !important; padding-right: var(--sc-space-1) !important; }
.sc-u-px-2 { padding-left: var(--sc-space-2) !important; padding-right: var(--sc-space-2) !important; }
.sc-u-px-3 { padding-left: var(--sc-space-3) !important; padding-right: var(--sc-space-3) !important; }
.sc-u-px-4 { padding-left: var(--sc-space-4) !important; padding-right: var(--sc-space-4) !important; }
.sc-u-px-5 { padding-left: var(--sc-space-5) !important; padding-right: var(--sc-space-5) !important; }
.sc-u-px-6 { padding-left: var(--sc-space-6) !important; padding-right: var(--sc-space-6) !important; }
.sc-u-px-8 { padding-left: var(--sc-space-8) !important; padding-right: var(--sc-space-8) !important; }

/* Padding - Y axis */
.sc-u-py-0 { padding-top: 0 !important; padding-bottom: 0 !important; }
.sc-u-py-1 { padding-top: var(--sc-space-1) !important; padding-bottom: var(--sc-space-1) !important; }
.sc-u-py-2 { padding-top: var(--sc-space-2) !important; padding-bottom: var(--sc-space-2) !important; }
.sc-u-py-3 { padding-top: var(--sc-space-3) !important; padding-bottom: var(--sc-space-3) !important; }
.sc-u-py-4 { padding-top: var(--sc-space-4) !important; padding-bottom: var(--sc-space-4) !important; }
.sc-u-py-5 { padding-top: var(--sc-space-5) !important; padding-bottom: var(--sc-space-5) !important; }
.sc-u-py-6 { padding-top: var(--sc-space-6) !important; padding-bottom: var(--sc-space-6) !important; }
.sc-u-py-8 { padding-top: var(--sc-space-8) !important; padding-bottom: var(--sc-space-8) !important; }

/* Opacity
   ----------------------------------------- */
.sc-u-opacity-0 { opacity: 0 !important; }
.sc-u-opacity-25 { opacity: 0.25 !important; }
.sc-u-opacity-50 { opacity: 0.5 !important; }
.sc-u-opacity-75 { opacity: 0.75 !important; }
.sc-u-opacity-100 { opacity: 1 !important; }

/* Shadow
   ----------------------------------------- */
.sc-u-shadow-none { box-shadow: none !important; }
.sc-u-shadow-sm { box-shadow: var(--sc-shadow-sm) !important; }
.sc-u-shadow { box-shadow: var(--sc-shadow-base) !important; }
.sc-u-shadow-md { box-shadow: var(--sc-shadow-md) !important; }
.sc-u-shadow-lg { box-shadow: var(--sc-shadow-lg) !important; }
.sc-u-shadow-xl { box-shadow: var(--sc-shadow-xl) !important; }
.sc-u-shadow-2xl { box-shadow: var(--sc-shadow-2xl) !important; }

/* Cursor
   ----------------------------------------- */
.sc-u-cursor-auto { cursor: auto !important; }
.sc-u-cursor-default { cursor: default !important; }
.sc-u-cursor-pointer { cursor: pointer !important; }
.sc-u-cursor-wait { cursor: wait !important; }
.sc-u-cursor-move { cursor: move !important; }
.sc-u-cursor-not-allowed { cursor: not-allowed !important; }

/* User Select
   ----------------------------------------- */
.sc-u-select-none { user-select: none !important; }
.sc-u-select-text { user-select: text !important; }
.sc-u-select-all { user-select: all !important; }

/* Screen Reader Only
   ----------------------------------------- */
.sc-u-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border-width: 0 !important;
}