:root {
  /* Viewports */
  --viewport-phone: 1px;
  --viewport-tablet: 768px;
  --viewport-desktop: 1024px;
}
/* Heights */
.mh-1 {
  min-height: 1rem;
}
.mh-2 {
  min-height: 2rem;
}
.mh-3 {
  min-height: 3rem;
}
.mh-4 {
  min-height: 4rem;
}
.mh-5 {
  min-height: 5rem;
}
.mh-6 {
  min-height: 6rem;
}
.mh-7 {
  min-height: 7rem;
}
.mh-8 {
  min-height: 8rem;
}
/* Max Heights */
.mh-auto {
  max-height: auto;
}
.mh-full {
  max-height: 100%;
}

/* Widths */
.w-100 {
  width: 100%;
}
.w-50 {
  width: 50%;
}
.w-auto {
  width: auto;
}

/* Max Widths */
.mw-100 {
  max-width: 100%;
}
.mw-auto {
  max-width: auto;
}

/* Flex Utilities */
.d-flex {
  display: flex;
}
.justify-center {
  justify-content: center;
}
.align-center {
  align-items: center;
}
.flex-column {
  flex-direction: column;
}
.flex-row {
  flex-direction: row;
}
.flex-wrap {
  flex-wrap: wrap;
}
/* Phone */
@media screen and (min-width: 1px) {
  /* Margin Y */
  .margin-y-1 {
    margin-block: 1rem;
  }
  .margin-y-2 {
    margin-block: 2rem;
  }
  .margin-y-3 {
    margin-block: 3rem;
  }
  .margin-y-4 {
    margin-block: 4rem;
  }
  .margin-y-5 {
    margin-block: 5rem;
  }
  .margin-y-6 {
    margin-block: 6rem;
  }
  .margin-y-7 {
    margin-block: 7rem;
  }
  .margin-y-8 {
    margin-block: 8rem;
  }

  /* Margin X */
  .margin-x-1 {
    margin-inline: 1rem;
  }
  .margin-x-2 {
    margin-inline: 2rem;
  }
  .margin-x-3 {
    margin-inline: 3rem;
  }
  .margin-x-4 {
    margin-inline: 4rem;
  }
  .margin-x-5 {
    margin-inline: 5rem;
  }
  .margin-x-6 {
    margin-inline: 6rem;
  }
  .margin-x-7 {
    margin-inline: 7rem;
  }
  .margin-x-8 {
    margin-inline: 8rem;
  }

  /* Margin Top */
  .margin-t-1 {
    margin-top: 1rem;
  }
  .margin-t-2 {
    margin-top: 2rem;
  }
  .margin-t-3 {
    margin-top: 3rem;
  }
  .margin-t-4 {
    margin-top: 4rem;
  }
  .margin-t-5 {
    margin-top: 5rem;
  }
  .margin-t-5 {
    margin-top: 5rem;
  }
  .margin-t-6 {
    margin-top: 6rem;
  }
  .margin-t-7 {
    margin-top: 7rem;
  }
  .margin-t-8 {
    margin-top: 8rem;
  }

  /* Margin Bottom */
  .margin-b-1 {
    margin-bottom: 1rem;
  }
  .margin-b-2 {
    margin-bottom: 2rem;
  }
  .margin-b-3 {
    margin-bottom: 3rem;
  }
  .margin-b-4 {
    margin-bottom: 4rem;
  }
  .margin-b-5 {
    margin-bottom: 5rem;
  }
  .margin-b-6 {
    margin-bottom: 6rem;
  }
  .margin-b-7 {
    margin-bottom: 7rem;
  }
  .margin-b-8 {
    margin-bottom: 8rem;
  }

  /* Padding X */
  .padding-x-1 {
    padding-inline: 1rem;
  }
  .padding-x-2 {
    padding-inline: 2rem;
  }
  .padding-x-3 {
    padding-inline: 3rem;
  }
  .padding-x-4 {
    padding-inline: 4rem;
  }
  .padding-x-5 {
    padding-inline: 5rem;
  }
  .padding-x-6 {
    padding-inline: 6rem;
  }
  .padding-x-7 {
    padding-inline: 7rem;
  }
  .padding-x-8 {
    padding-inline: 8rem;
  }

  /* Padding Y */
  .padding-y-1 {
    padding-block: 1rem;
  }
  .padding-y-2 {
    padding-block: 2rem;
  }
  .padding-y-3 {
    padding-block: 3rem;
  }
  .padding-y-4 {
    padding-block: 4rem;
  }
  .padding-y-5 {
    padding-block: 5rem;
  }
  .padding-y-6 {
    padding-block: 6rem;
  }
  .padding-y-7 {
    padding-block: 7rem;
  }
  .padding-y-8 {
    padding-block: 8rem;
  }
  /* Padding Top */
  .padding-t-1 {
    padding-top: 1rem;
  }
  .padding-t-2 {
    padding-top: 2rem;
  }
  .padding-t-3 {
    padding-top: 3rem;
  }
  .padding-t-4 {
    padding-top: 4rem;
  }
  .padding-t-5 {
    padding-top: 5rem;
  }
  .padding-t-6 {
    padding-top: 6rem;
  }
  .padding-t-7 {
    padding-top: 7rem;
  }
  .padding-t-8 {
    padding-top: 8rem;
  }

  /* Padding Bottom */
  .padding-b-1 {
    padding-bottom: 1rem;
  }
  .padding-b-2 {
    padding-bottom: 2rem;
  }
  .padding-b-3 {
    padding-bottom: 3rem;
  }
  .padding-b-4 {
    padding-bottom: 4rem;
  }
  .padding-b-5 {
    padding-bottom: 5rem;
  }
  .padding-b-6 {
    padding-bottom: 6rem;
  }
  .padding-b-7 {
    padding-bottom: 7rem;
  }
  .padding-b-8 {
    padding-bottom: 8rem;
  }

  /* Padding Left */
  .padding-l-1 {
    padding-left: 1rem;
  }
  .padding-l-2 {
    padding-left: 2rem;
  }
  .padding-l-3 {
    padding-left: 3rem;
  }
  .padding-l-4 {
    padding-left: 4rem;
  }
  .padding-l-5 {
    padding-left: 5rem;
  }
  .padding-l-6 {
    padding-left: 6rem;
  }
  .padding-l-7 {
    padding-left: 7rem;
  }
  .padding-l-8 {
    padding-left: 8rem;
  }

  /* Padding Right */
  .padding-r-1 {
    padding-right: 1rem;
  }
  .padding-r-2 {
    padding-right: 2rem;
  }
  .padding-r-3 {
    padding-right: 3rem;
  }
  .padding-r-4 {
    padding-right: 4rem;
  }
  .padding-r-5 {
    padding-right: 5rem;
  }
  .padding-r-6 {
    padding-right: 6rem;
  }
  .padding-r-7 {
    padding-right: 7rem;
  }
  .padding-r-8 {
    padding-right: 8rem;
  }

  /* Padding All */
  .padding-1 {
    padding: 1rem;
  }
  .padding-2 {
    padding: 2rem;
  }
  .padding-3 {
    padding: 3rem;
  }
  .padding-4 {
    padding: 4rem;
  }
  .padding-5 {
    padding: 5rem;
  }
  .padding-6 {
    padding: 6rem;
  }
  .padding-7 {
    padding: 7rem;
  }
  .padding-8 {
    padding: 8rem;
  }
}
/* Tablet */
@media screen and (min-width: 768px) and (max-width: 1023) {
  /* Margin Y */
  .margin-y-1-tablet {
    margin-block: 1rem;
  }
  .margin-y-2-tablet {
    margin-block: 2rem;
  }
  .margin-y-3-tablet {
    margin-block: 3rem;
  }
  .margin-y-4-tablet {
    margin-block: 4rem;
  }
  .margin-y-5-tablet {
    margin-block: 5rem;
  }
  .margin-y-6-tablet {
    margin-block: 6rem;
  }
  .margin-y-7-tablet {
    margin-block: 7rem;
  }
  .margin-y-8-tablet {
    margin-block: 8rem;
  }

  /* Margin X */
  .margin-x-1-tablet {
    margin-inline: 1rem;
  }
  .margin-x-2-tablet {
    margin-inline: 2rem;
  }
  .margin-x-3-tablet {
    margin-inline: 3rem;
  }
  .margin-x-4-tablet {
    margin-inline: 4rem;
  }
  .margin-x-5-tablet {
    margin-inline: 5rem;
  }
  .margin-x-6-tablet {
    margin-inline: 6rem;
  }
  .margin-x-7-tablet {
    margin-inline: 7rem;
  }
  .margin-x-8-tablet {
    margin-inline: 8rem;
  }

  /* Margin Top */
  .margin-t-1-tablet {
    margin-top: 1rem;
  }
  .margin-t-2-tablet {
    margin-top: 2rem;
  }
  .margin-t-3-tablet {
    margin-top: 3rem;
  }
  .margin-t-4-tablet {
    margin-top: 4rem;
  }
  .margin-t-5-tablet {
    margin-top: 5rem;
  }
  .margin-t-5-tablet {
    margin-top: 5rem;
  }
  .margin-t-6-tablet {
    margin-top: 6rem;
  }
  .margin-t-7-tablet {
    margin-top: 7rem;
  }
  .margin-t-8-tablet {
    margin-top: 8rem;
  }

  /* Margin Bottom */
  .margin-b-1-tablet {
    margin-bottom: 1rem;
  }
  .margin-b-2-tablet {
    margin-bottom: 2rem;
  }
  .margin-b-3-tablet {
    margin-bottom: 3rem;
  }
  .margin-b-4-tablet {
    margin-bottom: 4rem;
  }
  .margin-b-5-tablet {
    margin-bottom: 5rem;
  }
  .margin-b-6-tablet {
    margin-bottom: 6rem;
  }
  .margin-b-7-tablet {
    margin-bottom: 7rem;
  }
  .margin-b-8-tablet {
    margin-bottom: 8rem;
  }

  /* Padding X */
  .padding-x-1-tablet {
    padding-inline: 1rem;
  }
  .padding-x-2-tablet {
    padding-inline: 2rem;
  }
  .padding-x-3-tablet {
    padding-inline: 3rem;
  }
  .padding-x-4-tablet {
    padding-inline: 4rem;
  }
  .padding-x-5-tablet {
    padding-inline: 5rem;
  }
  .padding-x-6-tablet {
    padding-inline: 6rem;
  }
  .padding-x-7-tablet {
    padding-inline: 7rem;
  }
  .padding-x-8-tablet {
    padding-inline: 8rem;
  }

  /* Padding Y */
  .padding-y-1-tablet {
    padding-block: 1rem;
  }
  .padding-y-2-tablet {
    padding-block: 2rem;
  }
  .padding-y-3-tablet {
    padding-block: 3rem;
  }
  .padding-y-4-tablet {
    padding-block: 4rem;
  }
  .padding-y-5-tablet {
    padding-block: 5rem;
  }
  .padding-y-6-tablet {
    padding-block: 6rem;
  }
  .padding-y-7-tablet {
    padding-block: 7rem;
  }
  .padding-y-8-tablet {
    padding-block: 8rem;
  }
  /* Padding Top */
  .padding-t-1-tablet {
    padding-top: 1rem;
  }
  .padding-t-2-tablet {
    padding-top: 2rem;
  }
  .padding-t-3-tablet {
    padding-top: 3rem;
  }
  .padding-t-4-tablet {
    padding-top: 4rem;
  }
  .padding-t-5-tablet {
    padding-top: 5rem;
  }
  .padding-t-6-tablet {
    padding-top: 6rem;
  }
  .padding-t-7-tablet {
    padding-top: 7rem;
  }
  .padding-t-8-tablet {
    padding-top: 8rem;
  }

  /* Padding Bottom */
  .padding-b-1-tablet {
    padding-bottom: 1rem;
  }
  .padding-b-2-tablet {
    padding-bottom: 2rem;
  }
  .padding-b-3-tablet {
    padding-bottom: 3rem;
  }
  .padding-b-4-tablet {
    padding-bottom: 4rem;
  }
  .padding-b-5-tablet {
    padding-bottom: 5rem;
  }
  .padding-b-6-tablet {
    padding-bottom: 6rem;
  }
  .padding-b-7-tablet {
    padding-bottom: 7rem;
  }
  .padding-b-8-tablet {
    padding-bottom: 8rem;
  }

  /* Padding Left */
  .padding-l-1-tablet {
    padding-left: 1rem;
  }
  .padding-l-2-tablet {
    padding-left: 2rem;
  }
  .padding-l-3-tablet {
    padding-left: 3rem;
  }
  .padding-l-4-tablet {
    padding-left: 4rem;
  }
  .padding-l-5-tablet {
    padding-left: 5rem;
  }
  .padding-l-6-tablet {
    padding-left: 6rem;
  }
  .padding-l-7-tablet {
    padding-left: 7rem;
  }
  .padding-l-8-tablet {
    padding-left: 8rem;
  }

  /* Padding Right */
  .padding-r-1-tablet {
    padding-right: 1rem;
  }
  .padding-r-2-tablet {
    padding-right: 2rem;
  }
  .padding-r-3-tablet {
    padding-right: 3rem;
  }
  .padding-r-4-tablet {
    padding-right: 4rem;
  }
  .padding-r-5-tablet {
    padding-right: 5rem;
  }
  .padding-r-6-tablet {
    padding-right: 6rem;
  }
  .padding-r-7-tablet {
    padding-right: 7rem;
  }
  .padding-r-8-tablet {
    padding-right: 8rem;
  }

  /* Padding All */
  .padding-1-tablet {
    padding: 1rem;
  }
  .padding-2-tablet {
    padding: 2rem;
  }
  .padding-3-tablet {
    padding: 3rem;
  }
  .padding-4-tablet {
    padding: 4rem;
  }
  .padding-5-tablet {
    padding: 5rem;
  }
  .padding-6-tablet {
    padding: 6rem;
  }
  .padding-7-tablet {
    padding: 7rem;
  }
  .padding-8-tablet {
    padding: 8rem;
  }
}
/* Desktop */
@media screen and (min-width: 1024) {
  /* Margin Y */
  .margin-y-1-desktop {
    margin-block: 1rem;
  }
  .margin-y-2-desktop {
    margin-block: 2rem;
  }
  .margin-y-3-desktop {
    margin-block: 3rem;
  }
  .margin-y-4-desktop {
    margin-block: 4rem;
  }
  .margin-y-5-desktop {
    margin-block: 5rem;
  }
  .margin-y-6-desktop {
    margin-block: 6rem;
  }
  .margin-y-7-desktop {
    margin-block: 7rem;
  }
  .margin-y-8-desktop {
    margin-block: 8rem;
  }

  /* Margin X */
  .margin-x-1-desktop {
    margin-inline: 1rem;
  }
  .margin-x-2-desktop {
    margin-inline: 2rem;
  }
  .margin-x-3-desktop {
    margin-inline: 3rem;
  }
  .margin-x-4-desktop {
    margin-inline: 4rem;
  }
  .margin-x-5-desktop {
    margin-inline: 5rem;
  }
  .margin-x-6-desktop {
    margin-inline: 6rem;
  }
  .margin-x-7-desktop {
    margin-inline: 7rem;
  }
  .margin-x-8-desktop {
    margin-inline: 8rem;
  }

  /* Margin Top */
  .margin-t-1-desktop {
    margin-top: 1rem;
  }
  .margin-t-2-desktop {
    margin-top: 2rem;
  }
  .margin-t-3-desktop {
    margin-top: 3rem;
  }
  .margin-t-4-desktop {
    margin-top: 4rem;
  }
  .margin-t-5-desktop {
    margin-top: 5rem;
  }
  .margin-t-5-desktop {
    margin-top: 5rem;
  }
  .margin-t-6-desktop {
    margin-top: 6rem;
  }
  .margin-t-7-desktop {
    margin-top: 7rem;
  }
  .margin-t-8-desktop {
    margin-top: 8rem;
  }

  /* Margin Bottom */
  .margin-b-1-desktop {
    margin-bottom: 1rem;
  }
  .margin-b-2-desktop {
    margin-bottom: 2rem;
  }
  .margin-b-3-desktop {
    margin-bottom: 3rem;
  }
  .margin-b-4-desktop {
    margin-bottom: 4rem;
  }
  .margin-b-5-desktop {
    margin-bottom: 5rem;
  }
  .margin-b-6-desktop {
    margin-bottom: 6rem;
  }
  .margin-b-7-desktop {
    margin-bottom: 7rem;
  }
  .margin-b-8-desktop {
    margin-bottom: 8rem;
  }

  /* Padding X */
  .padding-x-1-desktop {
    padding-inline: 1rem;
  }
  .padding-x-2-desktop {
    padding-inline: 2rem;
  }
  .padding-x-3-desktop {
    padding-inline: 3rem;
  }
  .padding-x-4-desktop {
    padding-inline: 4rem;
  }
  .padding-x-5-desktop {
    padding-inline: 5rem;
  }
  .padding-x-6-desktop {
    padding-inline: 6rem;
  }
  .padding-x-7-desktop {
    padding-inline: 7rem;
  }
  .padding-x-8-desktop {
    padding-inline: 8rem;
  }

  /* Padding Y */
  .padding-y-1-desktop {
    padding-block: 1rem;
  }
  .padding-y-2-desktop {
    padding-block: 2rem;
  }
  .padding-y-3-desktop {
    padding-block: 3rem;
  }
  .padding-y-4-desktop {
    padding-block: 4rem;
  }
  .padding-y-5-desktop {
    padding-block: 5rem;
  }
  .padding-y-6-desktop {
    padding-block: 6rem;
  }
  .padding-y-7-desktop {
    padding-block: 7rem;
  }
  .padding-y-8-desktop {
    padding-block: 8rem;
  }
  /* Padding Top */
  .padding-t-1-desktop {
    padding-top: 1rem;
  }
  .padding-t-2-desktop {
    padding-top: 2rem;
  }
  .padding-t-3-desktop {
    padding-top: 3rem;
  }
  .padding-t-4-desktop {
    padding-top: 4rem;
  }
  .padding-t-5-desktop {
    padding-top: 5rem;
  }
  .padding-t-6-desktop {
    padding-top: 6rem;
  }
  .padding-t-7-desktop {
    padding-top: 7rem;
  }
  .padding-t-8-desktop {
    padding-top: 8rem;
  }

  /* Padding Bottom */
  .padding-b-1-desktop {
    padding-bottom: 1rem;
  }
  .padding-b-2-desktop {
    padding-bottom: 2rem;
  }
  .padding-b-3-desktop {
    padding-bottom: 3rem;
  }
  .padding-b-4-desktop {
    padding-bottom: 4rem;
  }
  .padding-b-5-desktop {
    padding-bottom: 5rem;
  }
  .padding-b-6-desktop {
    padding-bottom: 6rem;
  }
  .padding-b-7-desktop {
    padding-bottom: 7rem;
  }
  .padding-b-8-desktop {
    padding-bottom: 8rem;
  }

  /* Padding Left */
  .padding-l-1-desktop {
    padding-left: 1rem;
  }
  .padding-l-2-desktop {
    padding-left: 2rem;
  }
  .padding-l-3-desktop {
    padding-left: 3rem;
  }
  .padding-l-4-desktop {
    padding-left: 4rem;
  }
  .padding-l-5-desktop {
    padding-left: 5rem;
  }
  .padding-l-6-desktop {
    padding-left: 6rem;
  }
  .padding-l-7-desktop {
    padding-left: 7rem;
  }
  .padding-l-8-desktop {
    padding-left: 8rem;
  }

  /* Padding Right */
  .padding-r-1-desktop {
    padding-right: 1rem;
  }
  .padding-r-2-desktop {
    padding-right: 2rem;
  }
  .padding-r-3-desktop {
    padding-right: 3rem;
  }
  .padding-r-4-desktop {
    padding-right: 4rem;
  }
  .padding-r-5-desktop {
    padding-right: 5rem;
  }
  .padding-r-6-desktop {
    padding-right: 6rem;
  }
  .padding-r-7-desktop {
    padding-right: 7rem;
  }
  .padding-r-8-desktop {
    padding-right: 8rem;
  }

  /* Padding All */
  .padding-1-desktop {
    padding: 1rem;
  }
  .padding-2-desktop {
    padding: 2rem;
  }
  .padding-3-desktop {
    padding: 3rem;
  }
  .padding-4-desktop {
    padding: 4rem;
  }
  .padding-5-desktop {
    padding: 5rem;
  }
  .padding-6-desktop {
    padding: 6rem;
  }
  .padding-7-desktop {
    padding: 7rem;
  }
  .padding-8-desktop {
    padding: 8rem;
  }
}

/* Text Alignment */
/* .text-center {
  text-align: center !important;
}
.text-left {
  text-align: left !important;
}
.text-right {
  text-align: right !important;
} */

/* Text Transformation */
.italic {
  font-style: italic;
}
.line-through {
  text-decoration: line-through;
}
.underline {
  text-decoration: underline;
}

/* Text Weight */
.bold {
  font-family: 'circular-bold', sans-serif;
}
.light {
  font-family: 'circular', sans-serif;
  font-weight: lighter;
}

/* Border Utilities */
.border-0 {
  border: 0 !important;
}
.border-1 {
  border-width: 1px !important;
}
.border-2 {
  border-width: 2px !important;
}
.border-3 {
  border-width: 3px !important;
}
.border-4 {
  border-width: 4px !important;
}
.border-5 {
  border-width: 5px !important;
}
/* Border Radius */
.border-radius-sm {
  border-radius: 0.25rem;
}
.border-radius-md {
  border-radius: 0.5rem;
}
.border-radius-lg {
  border-radius: 1rem;
}

/* From 1rem to 10rem */
.border-radius-1 {
  border-radius: 1rem;
}
.border-radius-2 {
  border-radius: 2rem;
}
.border-radius-3 {
  border-radius: 3rem;
}
.border-radius-4 {
  border-radius: 4rem;
}
.border-radius-5 {
  border-radius: 5rem;
}
.border-radius-6 {
  border-radius: 6rem;
}
.border-radius-7 {
  border-radius: 7rem;
}
.border-radius-8 {
  border-radius: 8rem;
}
.border-radius-9 {
  border-radius: 9rem;
}
.border-radius-10 {
  border-radius: 10rem;
}

.circled-icon {
  aspect-ratio: 1;
  border-radius: 50%;
  place-content: center;
  display: grid;
  cursor: pointer;
}

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

/* Transitions */
.transition-fast {
  transition: all 0.25s ease-in-out !important;
}
.transition-medium {
  transition: all 0.5s ease-in-out !important;
}
.transition-slow {
  transition: all 1s ease-in-out !important;
}
