img {
  width: 100%;
}

.grid-3 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 20px;
}

.text-white {
  color: white;
}

.text-black {
  color: black;
}

.text-center {
  text-align: center;
}

.grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 20px;
}

.grid-4,
.footer-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 4rem;
}

.d-flex {
  display: flex;
}

.flex-direaction-column-reverse {
  flex-direction: column-reverse;
}

.flex-wrap {
  flex-wrap: wrap;
}

.gap-1 {
  gap: 2px;
}
.gap-2 {
  gap: 4px;
}

.gap-3 {
  gap: 6px;
}
.gap-4 {
  gap: 8px;
}
.gap-5 {
  gap: 10px;
}
.gap-6 {
  gap: 12px;
}
.gap-7 {
  gap: 14px;
}
.gap-8 {
  gap: 16px;
}
.gap-9 {
  gap: 18px;
}
.gap-10 {
  gap: 20px;
}
.gap-11 {
  gap: 2.2rem;
}
.gap-12 {
  gap: 2.4rem;
}
.gap-13 {
  gap: 2.6rem;
}
.gap-14 {
  gap: 2.8rem;
}
.gap-15 {
  gap: 3rem;
}
.gap-16 {
  gap: 3.2rem;
}
.gap-17 {
  gap: 3.4rem;
}
.gap-18 {
  gap: 3.6rem;
}
.gap-19 {
  gap: 3.8rem;
}
.gap-20 {
  gap: 4rem;
}

.flex-grow-1 {
  flex-grow: 1;
}
.flex-grow-2 {
  flex-grow: 2;
}

.align-items-center {
  align-items: center;
}
.justify-content-center {
  justify-content: center;
}
.justify-content-between {
  justify-content: space-between;
}

.qodef-svg--open line {
  animation: qodef-line-open 10s infinite;
}

/* First line */
.qodef-svg--open line:first-child {
  animation-delay: 0s;
}

/* Second line */
.qodef-svg--open line:last-child {
  animation-delay: 0.5s;
}

@keyframes qodef-line-open {
  0% {
    clip-path: inset(-1px 0 -1px 0);
  }

  5% {
    clip-path: inset(-1px 0 -1px 100%);
  }

  6% {
    clip-path: inset(-1px 100% -1px 0);
  }

  10% {
    clip-path: inset(-1px 0 -1px 0);
  }

  100% {
    clip-path: inset(-1px 0 -1px 0);
  }
}

/* All sides */
.m-0 {
  margin: 0px;
}
.m-1 {
  margin: 2px;
}
.m-2 {
  margin: 4px;
}
.m-3 {
  margin: 6px;
}
.m-4 {
  margin: 8px;
}
.m-5 {
  margin: 10px;
}
.m-6 {
  margin: 12px;
}
.m-7 {
  margin: 14px;
}
.m-8 {
  margin: 16px;
}
.m-9 {
  margin: 18px;
}
.m-10 {
  margin: 20px;
}
.m-11 {
  margin: 2.2rem;
}
.m-12 {
  margin: 2.4rem;
}
.m-13 {
  margin: 2.6rem;
}
.m-14 {
  margin: 2.8rem;
}
.m-15 {
  margin: 3rem;
}
.m-16 {
  margin: 3.2rem;
}
.m-17 {
  margin: 3.4rem;
}
.m-18 {
  margin: 3.6rem;
}
.m-19 {
  margin: 3.8rem;
}
.m-20 {
  margin: 4rem;
}

/* Top */
.mt-0 {
  margin-top: 0px;
}
.mt-1 {
  margin-top: 2px;
}
.mt-2 {
  margin-top: 4px;
}
.mt-3 {
  margin-top: 6px;
}
.mt-4 {
  margin-top: 8px;
}
.mt-5 {
  margin-top: 10px;
}
.mt-6 {
  margin-top: 12px;
}
.mt-7 {
  margin-top: 14px;
}
.mt-8 {
  margin-top: 16px;
}
.mt-9 {
  margin-top: 18px;
}
.mt-10 {
  margin-top: 20px;
}
.mt-11 {
  margin-top: 2.2rem;
}
.mt-12 {
  margin-top: 2.4rem;
}
.mt-13 {
  margin-top: 2.6rem;
}
.mt-14 {
  margin-top: 2.8rem;
}
.mt-15 {
  margin-top: 3rem;
}
.mt-16 {
  margin-top: 3.2rem;
}
.mt-17 {
  margin-top: 3.4rem;
}
.mt-18 {
  margin-top: 3.6rem;
}
.mt-19 {
  margin-top: 3.8rem;
}
.mt-20 {
  margin-top: 4rem;
}

.mt-21 {
  margin-top: 4.2rem;
}
.mt-22 {
  margin-top: 4.4rem;
}
.mt-23 {
  margin-top: 4.6rem;
}
.mt-24 {
  margin-top: 4.8rem;
}
.mt-25 {
  margin-top: 5rem;
}
.mt-26 {
  margin-top: 5.2rem;
}
.mt-27 {
  margin-top: 5.4rem;
}
.mt-28 {
  margin-top: 5.6rem;
}
.mt-29 {
  margin-top: 5.8rem;
}
.mt-30 {
  margin-top: 6rem;
}

/* Bottom */
.mb-0 {
  margin-bottom: 0px;
}
.mb-1 {
  margin-bottom: 2px;
}
.mb-2 {
  margin-bottom: 4px;
}
.mb-3 {
  margin-bottom: 6px;
}
.mb-4 {
  margin-bottom: 8px;
}
.mb-5 {
  margin-bottom: 10px;
}
.mb-6 {
  margin-bottom: 12px;
}
.mb-7 {
  margin-bottom: 14px;
}
.mb-8 {
  margin-bottom: 16px;
}
.mb-9 {
  margin-bottom: 18px;
}
.mb-10 {
  margin-bottom: 20px;
}
.mb-11 {
  margin-bottom: 2.2rem;
}
.mb-12 {
  margin-bottom: 2.4rem;
}
.mb-13 {
  margin-bottom: 2.6rem;
}
.mb-14 {
  margin-bottom: 2.8rem;
}
.mb-15 {
  margin-bottom: 3rem;
}
.mb-16 {
  margin-bottom: 3.2rem;
}
.mb-17 {
  margin-bottom: 3.4rem;
}
.mb-18 {
  margin-bottom: 3.6rem;
}
.mb-19 {
  margin-bottom: 3.8rem;
}
.mb-20 {
  margin-bottom: 4rem;
}
.mb-21 {
  margin-bottom: 4.2rem;
}
.mb-22 {
  margin-bottom: 4.4rem;
}
.mb-23 {
  margin-bottom: 4.6rem;
}
.mb-24 {
  margin-bottom: 4.8rem;
}
.mb-25 {
  margin-bottom: 5rem;
}
.mb-26 {
  margin-bottom: 5.2rem;
}
.mb-27 {
  margin-bottom: 5.4rem;
}
.mb-28 {
  margin-bottom: 5.6rem;
}
.mb-29 {
  margin-bottom: 5.8rem;
}
.mb-30 {
  margin-bottom: 6rem;
}

/* Left */
.ml-0 {
  margin-left: 0px;
}
.ml-1 {
  margin-left: 2px;
}
.ml-2 {
  margin-left: 4px;
}
.ml-3 {
  margin-left: 6px;
}
.ml-4 {
  margin-left: 8px;
}
.ml-5 {
  margin-left: 10px;
}
.ml-6 {
  margin-left: 12px;
}
.ml-7 {
  margin-left: 14px;
}
.ml-8 {
  margin-left: 16px;
}
.ml-9 {
  margin-left: 18px;
}
.ml-10 {
  margin-left: 20px;
}
.ml-11 {
  margin-left: 2.2rem;
}
.ml-12 {
  margin-left: 2.4rem;
}
.ml-13 {
  margin-left: 2.6rem;
}
.ml-14 {
  margin-left: 2.8rem;
}
.ml-15 {
  margin-left: 3rem;
}
.ml-16 {
  margin-left: 3.2rem;
}
.ml-17 {
  margin-left: 3.4rem;
}
.ml-18 {
  margin-left: 3.6rem;
}
.ml-19 {
  margin-left: 3.8rem;
}
.ml-20 {
  margin-left: 4rem;
}
.ml-21 {
  margin-left: 4.2rem;
}
.ml-22 {
  margin-left: 4.4rem;
}
.ml-23 {
  margin-left: 4.6rem;
}
.ml-24 {
  margin-left: 4.8rem;
}
.ml-25 {
  margin-left: 5rem;
}
.ml-26 {
  margin-left: 5.2rem;
}
.ml-27 {
  margin-left: 5.4rem;
}
.ml-28 {
  margin-left: 5.6rem;
}
.ml-29 {
  margin-left: 5.8rem;
}
.ml-30 {
  margin-left: 6rem;
}

/* Right */
.mr-0 {
  margin-right: 0px;
}
.mr-1 {
  margin-right: 2px;
}
.mr-2 {
  margin-right: 4px;
}
.mr-3 {
  margin-right: 6px;
}
.mr-4 {
  margin-right: 8px;
}
.mr-5 {
  margin-right: 10px;
}
.mr-6 {
  margin-right: 12px;
}
.mr-7 {
  margin-right: 14px;
}
.mr-8 {
  margin-right: 16px;
}
.mr-9 {
  margin-right: 18px;
}
.mr-10 {
  margin-right: 20px;
}
.mr-11 {
  margin-right: 2.2rem;
}
.mr-12 {
  margin-right: 2.4rem;
}
.mr-13 {
  margin-right: 2.6rem;
}
.mr-14 {
  margin-right: 2.8rem;
}
.mr-15 {
  margin-right: 3rem;
}
.mr-16 {
  margin-right: 3.2rem;
}
.mr-17 {
  margin-right: 3.4rem;
}
.mr-18 {
  margin-right: 3.6rem;
}
.mr-19 {
  margin-right: 3.8rem;
}
.mr-20 {
  margin-right: 4rem;
}
.mr-21 {
  margin-right: 4.2rem;
}
.mr-22 {
  margin-right: 4.4rem;
}
.mr-23 {
  margin-right: 4.6rem;
}
.mr-24 {
  margin-right: 4.8rem;
}
.mr-25 {
  margin-right: 5rem;
}
.mr-26 {
  margin-right: 5.2rem;
}
.mr-27 {
  margin-right: 5.4rem;
}
.mr-28 {
  margin-right: 5.6rem;
}
.mr-29 {
  margin-right: 5.8rem;
}
.mr-30 {
  margin-right: 6rem;
}

/* X axis */
.mx-0 {
  margin-left: 0px;
  margin-right: 0px;
}
.mx-1 {
  margin-left: 2px;
  margin-right: 2px;
}
.mx-2 {
  margin-left: 4px;
  margin-right: 4px;
}
.mx-3 {
  margin-left: 6px;
  margin-right: 6px;
}
.mx-4 {
  margin-left: 8px;
  margin-right: 8px;
}
.mx-5 {
  margin-left: 10px;
  margin-right: 10px;
}
.mx-6 {
  margin-left: 12px;
  margin-right: 12px;
}
.mx-7 {
  margin-left: 14px;
  margin-right: 14px;
}
.mx-8 {
  margin-left: 16px;
  margin-right: 16px;
}
.mx-9 {
  margin-left: 18px;
  margin-right: 18px;
}
.mx-10 {
  margin-left: 20px;
  margin-right: 20px;
}
.mx-11 {
  margin-left: 2.2rem;
  margin-right: 2.2rem;
}
.mx-12 {
  margin-left: 2.4rem;
  margin-right: 2.4rem;
}
.mx-13 {
  margin-left: 2.6rem;
  margin-right: 2.6rem;
}
.mx-14 {
  margin-left: 2.8rem;
  margin-right: 2.8rem;
}
.mx-15 {
  margin-left: 3rem;
  margin-right: 3rem;
}
.mx-16 {
  margin-left: 3.2rem;
  margin-right: 3.2rem;
}
.mx-17 {
  margin-left: 3.4rem;
  margin-right: 3.4rem;
}
.mx-18 {
  margin-left: 3.6rem;
  margin-right: 3.6rem;
}
.mx-19 {
  margin-left: 3.8rem;
  margin-right: 3.8rem;
}
.mx-20 {
  margin-left: 4rem;
  margin-right: 4rem;
}
.mx-21 {
  margin-left: 4.2rem;
  margin-right: 4.2rem;
}
.mx-22 {
  margin-left: 4.4rem;
  margin-right: 4.4rem;
}
.mx-23 {
  margin-left: 4.6rem;
  margin-right: 4.6rem;
}
.mx-24 {
  margin-left: 4.8rem;
  margin-right: 4.8rem;
}
.mx-25 {
  margin-left: 5rem;
  margin-right: 5rem;
}
.mx-26 {
  margin-left: 5.2rem;
  margin-right: 5.2rem;
}
.mx-27 {
  margin-left: 5.4rem;
  margin-right: 5.4rem;
}
.mx-28 {
  margin-left: 5.6rem;
  margin-right: 5.6rem;
}
.mx-29 {
  margin-left: 5.8rem;
  margin-right: 5.8rem;
}
.mx-30 {
  margin-left: 6rem;
  margin-right: 6rem;
}

/* Y axis */
.my-0 {
  margin-top: 0px;
  margin-bottom: 0px;
}
.my-1 {
  margin-top: 2px;
  margin-bottom: 2px;
}
.my-2 {
  margin-top: 4px;
  margin-bottom: 4px;
}
.my-3 {
  margin-top: 6px;
  margin-bottom: 6px;
}
.my-4 {
  margin-top: 8px;
  margin-bottom: 8px;
}
.my-5 {
  margin-top: 10px;
  margin-bottom: 10px;
}
.my-6 {
  margin-top: 12px;
  margin-bottom: 12px;
}
.my-7 {
  margin-top: 14px;
  margin-bottom: 14px;
}
.my-8 {
  margin-top: 16px;
  margin-bottom: 16px;
}
.my-9 {
  margin-top: 18px;
  margin-bottom: 18px;
}
.my-10 {
  margin-top: 20px;
  margin-bottom: 20px;
}
.my-11 {
  margin-top: 2.2rem;
  margin-bottom: 2.2rem;
}
.my-12 {
  margin-top: 2.4rem;
  margin-bottom: 2.4rem;
}
.my-13 {
  margin-top: 2.6rem;
  margin-bottom: 2.6rem;
}
.my-14 {
  margin-top: 2.8rem;
  margin-bottom: 2.8rem;
}
.my-15 {
  margin-top: 3rem;
  margin-bottom: 3rem;
}
.my-16 {
  margin-top: 3.2rem;
  margin-bottom: 3.2rem;
}
.my-17 {
  margin-top: 3.4rem;
  margin-bottom: 3.4rem;
}
.my-18 {
  margin-top: 3.6rem;
  margin-bottom: 3.6rem;
}
.my-19 {
  margin-top: 3.8rem;
  margin-bottom: 3.8rem;
}
.my-20 {
  margin-top: 4rem;
  margin-bottom: 4rem;
}

.my-21 {
  margin-top: 4.2rem;
  margin-bottom: 4.2rem;
}
.my-22 {
  margin-top: 4.4rem;
  margin-bottom: 4.4rem;
}
.my-23 {
  margin-top: 4.6rem;
  margin-bottom: 4.6rem;
}
.my-24 {
  margin-top: 4.8rem;
  margin-bottom: 4.8rem;
}
.my-25 {
  margin-top: 5rem;
  margin-bottom: 5rem;
}
.my-26 {
  margin-top: 5.2rem;
  margin-bottom: 5.2rem;
}
.my-27 {
  margin-top: 5.4rem;
  margin-bottom: 5.4rem;
}
.my-28 {
  margin-top: 5.6rem;
  margin-bottom: 5.6rem;
}
.my-29 {
  margin-top: 5.8rem;
  margin-bottom: 5.8rem;
}
.my-30 {
  margin-top: 6rem;
  margin-bottom: 6rem;
}

/* All sides */
.p-0 {
  padding: 0px;
}
.p-1 {
  padding: 2px;
}
.p-2 {
  padding: 4px;
}
.p-3 {
  padding: 6px;
}
.p-4 {
  padding: 8px;
}
.p-5 {
  padding: 10px;
}
.p-6 {
  padding: 12px;
}
.p-7 {
  padding: 14px;
}
.p-8 {
  padding: 16px;
}
.p-9 {
  padding: 18px;
}
.p-10 {
  padding: 20px;
}
.p-11 {
  padding: 2.2rem;
}
.p-12 {
  padding: 2.4rem;
}
.p-13 {
  padding: 2.6rem;
}
.p-14 {
  padding: 2.8rem;
}
.p-15 {
  padding: 3rem;
}
.p-16 {
  padding: 3.2rem;
}
.p-17 {
  padding: 3.4rem;
}
.p-18 {
  padding: 3.6rem;
}
.p-19 {
  padding: 3.8rem;
}
.p-20 {
  padding: 4rem;
}

.p-21 {
  padding: 4.2rem;
}
.p-22 {
  padding: 4.4rem;
}
.p-23 {
  padding: 4.6rem;
}
.p-24 {
  padding: 4.8rem;
}
.p-25 {
  padding: 5rem;
}
.p-26 {
  padding: 5.2rem;
}
.p-27 {
  padding: 5.4rem;
}
.p-28 {
  padding: 5.6rem;
}
.p-29 {
  padding: 5.8rem;
}
.p-30 {
  padding: 6rem;
}

/* Top */
.pt-0 {
  padding-top: 0px;
}
.pt-1 {
  padding-top: 2px;
}
.pt-2 {
  padding-top: 4px;
}
.pt-3 {
  padding-top: 6px;
}
.pt-4 {
  padding-top: 8px;
}
.pt-5 {
  padding-top: 10px;
}
.pt-6 {
  padding-top: 12px;
}
.pt-7 {
  padding-top: 14px;
}
.pt-8 {
  padding-top: 16px;
}
.pt-9 {
  padding-top: 18px;
}
.pt-10 {
  padding-top: 20px;
}
.pt-11 {
  padding-top: 2.2rem;
}
.pt-12 {
  padding-top: 2.4rem;
}
.pt-13 {
  padding-top: 2.6rem;
}
.pt-14 {
  padding-top: 2.8rem;
}
.pt-15 {
  padding-top: 3rem;
}
.pt-16 {
  padding-top: 3.2rem;
}
.pt-17 {
  padding-top: 3.4rem;
}
.pt-18 {
  padding-top: 3.6rem;
}
.pt-19 {
  padding-top: 3.8rem;
}
.pt-20 {
  padding-top: 4rem;
}
.pt-21 {
  padding-top: 4.2rem;
}
.pt-22 {
  padding-top: 4.4rem;
}
.pt-23 {
  padding-top: 4.6rem;
}
.pt-24 {
  padding-top: 4.8rem;
}
.pt-25 {
  padding-top: 5rem;
}
.pt-26 {
  padding-top: 5.2rem;
}
.pt-27 {
  padding-top: 5.4rem;
}
.pt-28 {
  padding-top: 5.6rem;
}
.pt-29 {
  padding-top: 5.8rem;
}
.pt-30 {
  padding-top: 6rem;
}

/* Bottom */
.pb-0 {
  padding-bottom: 0px;
}
.pb-1 {
  padding-bottom: 2px;
}
.pb-2 {
  padding-bottom: 4px;
}
.pb-3 {
  padding-bottom: 6px;
}
.pb-4 {
  padding-bottom: 8px;
}
.pb-5 {
  padding-bottom: 10px;
}
.pb-6 {
  padding-bottom: 12px;
}
.pb-7 {
  padding-bottom: 14px;
}
.pb-8 {
  padding-bottom: 16px;
}
.pb-9 {
  padding-bottom: 18px;
}
.pb-10 {
  padding-bottom: 20px;
}
.pb-11 {
  padding-bottom: 2.2rem;
}
.pb-12 {
  padding-bottom: 2.4rem;
}
.pb-13 {
  padding-bottom: 2.6rem;
}
.pb-14 {
  padding-bottom: 2.8rem;
}
.pb-15 {
  padding-bottom: 3rem;
}
.pb-16 {
  padding-bottom: 3.2rem;
}
.pb-17 {
  padding-bottom: 3.4rem;
}
.pb-18 {
  padding-bottom: 3.6rem;
}
.pb-19 {
  padding-bottom: 3.8rem;
}
.pb-20 {
  padding-bottom: 4rem;
}
.pb-21 {
  padding-bottom: 4.2rem;
}
.pb-22 {
  padding-bottom: 4.4rem;
}
.pb-23 {
  padding-bottom: 4.6rem;
}
.pb-24 {
  padding-bottom: 4.8rem;
}
.pb-25 {
  padding-bottom: 5rem;
}
.pb-26 {
  padding-bottom: 5.2rem;
}
.pb-27 {
  padding-bottom: 5.4rem;
}
.pb-28 {
  padding-bottom: 5.6rem;
}
.pb-29 {
  padding-bottom: 5.8rem;
}
.pb-30 {
  padding-bottom: 6rem;
}

/* Left */
.pl-0 {
  padding-left: 0px;
}
.pl-1 {
  padding-left: 2px;
}
.pl-2 {
  padding-left: 4px;
}
.pl-3 {
  padding-left: 6px;
}
.pl-4 {
  padding-left: 8px;
}
.pl-5 {
  padding-left: 10px;
}
.pl-6 {
  padding-left: 12px;
}
.pl-7 {
  padding-left: 14px;
}
.pl-8 {
  padding-left: 16px;
}
.pl-9 {
  padding-left: 18px;
}
.pl-10 {
  padding-left: 20px;
}
.pl-11 {
  padding-left: 2.2rem;
}
.pl-12 {
  padding-left: 2.4rem;
}
.pl-13 {
  padding-left: 2.6rem;
}
.pl-14 {
  padding-left: 2.8rem;
}
.pl-15 {
  padding-left: 3rem;
}
.pl-16 {
  padding-left: 3.2rem;
}
.pl-17 {
  padding-left: 3.4rem;
}
.pl-18 {
  padding-left: 3.6rem;
}
.pl-19 {
  padding-left: 3.8rem;
}
.pl-20 {
  padding-left: 4rem;
}
.pl-21 {
  padding-left: 4.2rem;
}
.pl-22 {
  padding-left: 4.4rem;
}
.pl-23 {
  padding-left: 4.6rem;
}
.pl-24 {
  padding-left: 4.8rem;
}
.pl-25 {
  padding-left: 5rem;
}
.pl-26 {
  padding-left: 5.2rem;
}
.pl-27 {
  padding-left: 5.4rem;
}
.pl-28 {
  padding-left: 5.6rem;
}
.pl-29 {
  padding-left: 5.8rem;
}
.pl-30 {
  padding-left: 6rem;
}

/* Right */
.pr-0 {
  padding-right: 0px;
}
.pr-1 {
  padding-right: 2px;
}
.pr-2 {
  padding-right: 4px;
}
.pr-3 {
  padding-right: 6px;
}
.pr-4 {
  padding-right: 8px;
}
.pr-5 {
  padding-right: 10px;
}
.pr-6 {
  padding-right: 12px;
}
.pr-7 {
  padding-right: 14px;
}
.pr-8 {
  padding-right: 16px;
}
.pr-9 {
  padding-right: 18px;
}
.pr-10 {
  padding-right: 20px;
}
.pr-11 {
  padding-right: 2.2rem;
}
.pr-12 {
  padding-right: 2.4rem;
}
.pr-13 {
  padding-right: 2.6rem;
}
.pr-14 {
  padding-right: 2.8rem;
}
.pr-15 {
  padding-right: 3rem;
}
.pr-16 {
  padding-right: 3.2rem;
}
.pr-17 {
  padding-right: 3.4rem;
}
.pr-18 {
  padding-right: 3.6rem;
}
.pr-19 {
  padding-right: 3.8rem;
}
.pr-20 {
  padding-right: 4rem;
}
.pr-21 {
  padding-right: 4.2rem;
}
.pr-22 {
  padding-right: 4.4rem;
}
.pr-23 {
  padding-right: 4.6rem;
}
.pr-24 {
  padding-right: 4.8rem;
}
.pr-25 {
  padding-right: 5rem;
}
.pr-26 {
  padding-right: 5.2rem;
}
.pr-27 {
  padding-right: 5.4rem;
}
.pr-28 {
  padding-right: 5.6rem;
}
.pr-29 {
  padding-right: 5.8rem;
}
.pr-30 {
  padding-right: 6rem;
}

/* X axis */
.px-0 {
  padding-left: 0px;
  padding-right: 0px;
}
.px-1 {
  padding-left: 2px;
  padding-right: 2px;
}
.px-2 {
  padding-left: 4px;
  padding-right: 4px;
}
.px-3 {
  padding-left: 6px;
  padding-right: 6px;
}
.px-4 {
  padding-left: 8px;
  padding-right: 8px;
}
.px-5 {
  padding-left: 10px;
  padding-right: 10px;
}
.px-6 {
  padding-left: 12px;
  padding-right: 12px;
}
.px-7 {
  padding-left: 14px;
  padding-right: 14px;
}
.px-8 {
  padding-left: 16px;
  padding-right: 16px;
}
.px-9 {
  padding-left: 18px;
  padding-right: 18px;
}
.px-10 {
  padding-left: 20px;
  padding-right: 20px;
}
.px-11 {
  padding-left: 2.2rem;
  padding-right: 2.2rem;
}
.px-12 {
  padding-left: 2.4rem;
  padding-right: 2.4rem;
}
.px-13 {
  padding-left: 2.6rem;
  padding-right: 2.6rem;
}
.px-14 {
  padding-left: 2.8rem;
  padding-right: 2.8rem;
}
.px-15 {
  padding-left: 3rem;
  padding-right: 3rem;
}
.px-16 {
  padding-left: 3.2rem;
  padding-right: 3.2rem;
}
.px-17 {
  padding-left: 3.4rem;
  padding-right: 3.4rem;
}
.px-18 {
  padding-left: 3.6rem;
  padding-right: 3.6rem;
}
.px-19 {
  padding-left: 3.8rem;
  padding-right: 3.8rem;
}
.px-20 {
  padding-left: 4rem;
  padding-right: 4rem;
}
.px-21 {
  padding-left: 4.2rem;
  padding-right: 4.2rem;
}
.px-22 {
  padding-left: 4.4rem;
  padding-right: 4.4rem;
}
.px-23 {
  padding-left: 4.6rem;
  padding-right: 4.6rem;
}
.px-24 {
  padding-left: 4.8rem;
  padding-right: 4.8rem;
}
.px-25 {
  padding-left: 5rem;
  padding-right: 5rem;
}
.px-26 {
  padding-left: 5.2rem;
  padding-right: 5.2rem;
}
.px-27 {
  padding-left: 5.4rem;
  padding-right: 5.4rem;
}
.px-28 {
  padding-left: 5.6rem;
  padding-right: 5.6rem;
}
.px-29 {
  padding-left: 5.8rem;
  padding-right: 5.8rem;
}
.px-30 {
  padding-left: 6rem;
  padding-right: 6rem;
}

/* Y axis */
.py-0 {
  padding-top: 0px;
  padding-bottom: 0px;
}
.py-1 {
  padding-top: 2px;
  padding-bottom: 2px;
}
.py-2 {
  padding-top: 4px;
  padding-bottom: 4px;
}
.py-3 {
  padding-top: 6px;
  padding-bottom: 6px;
}
.py-4 {
  padding-top: 8px;
  padding-bottom: 8px;
}
.py-5 {
  padding-top: 10px;
  padding-bottom: 10px;
}
.py-6 {
  padding-top: 12px;
  padding-bottom: 12px;
}
.py-7 {
  padding-top: 14px;
  padding-bottom: 14px;
}
.py-8 {
  padding-top: 16px;
  padding-bottom: 16px;
}
.py-9 {
  padding-top: 18px;
  padding-bottom: 18px;
}
.py-10 {
  padding-top: 20px;
  padding-bottom: 20px;
}
.py-11 {
  padding-top: 2.2rem;
  padding-bottom: 2.2rem;
}
.py-12 {
  padding-top: 2.4rem;
  padding-bottom: 2.4rem;
}
.py-13 {
  padding-top: 2.6rem;
  padding-bottom: 2.6rem;
}
.py-14 {
  padding-top: 2.8rem;
  padding-bottom: 2.8rem;
}
.py-15 {
  padding-top: 3rem;
  padding-bottom: 3rem;
}
.py-16 {
  padding-top: 3.2rem;
  padding-bottom: 3.2rem;
}
.py-17 {
  padding-top: 3.4rem;
  padding-bottom: 3.4rem;
}
.py-18 {
  padding-top: 3.6rem;
  padding-bottom: 3.6rem;
}
.py-19 {
  padding-top: 3.8rem;
  padding-bottom: 3.8rem;
}
.py-20 {
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.py-21 {
  padding-top: 4.2rem;
  padding-bottom: 4.2rem;
}
.py-22 {
  padding-top: 4.4rem;
  padding-bottom: 4.4rem;
}
.py-23 {
  padding-top: 4.6rem;
  padding-bottom: 4.6rem;
}
.py-24 {
  padding-top: 4.8rem;
  padding-bottom: 4.8rem;
}
.py-25 {
  padding-top: 5rem;
  padding-bottom: 5rem;
}
.py-26 {
  padding-top: 5.2rem;
  padding-bottom: 5.2rem;
}
.py-27 {
  padding-top: 5.4rem;
  padding-bottom: 5.4rem;
}
.py-28 {
  padding-top: 5.6rem;
  padding-bottom: 5.6rem;
}
.py-29 {
  padding-top: 5.8rem;
  padding-bottom: 5.8rem;
}
.py-30 {
  padding-top: 6rem;
  padding-bottom: 6rem;
}

/* ---------------------------------------------------------------- */
.f-s-10 {
  font-size: 10px;
}
.f-s-12 {
  font-size: 12px;
}
.f-s-14 {
  font-size: 14px;
}
.f-s-16 {
  font-size: 16px;
}
.f-s-18 {
  font-size: 18px;
}
.f-s-20 {
  font-size: 20px;
}
.f-s-22 {
  font-size: 2.2rem;
}
.f-s-24 {
  font-size: 2.4rem;
}
.f-s-26 {
  font-size: 2.6rem;
}
.f-s-28 {
  font-size: 2.8rem;
}
.f-s-30 {
  font-size: 3rem;
}
.f-s-32 {
  font-size: 3.2rem;
}
.f-s-34 {
  font-size: 3.4rem;
}
.f-s-36 {
  font-size: 3.6rem;
}
.f-s-38 {
  font-size: 3.8rem;
}
.f-s-40 {
  font-size: 4rem;
}
.f-s-42 {
  font-size: 4.2rem;
}
.f-s-44 {
  font-size: 4.4rem;
}
.f-s-46 {
  font-size: 4.6rem;
}
.f-s-48 {
  font-size: 4.8rem;
}
.f-s-50 {
  font-size: 5rem;
}
.f-s-52 {
  font-size: 5.2rem;
}
.f-s-54 {
  font-size: 5.4rem;
}
.f-s-56 {
  font-size: 5.6rem;
}
.f-s-58 {
  font-size: 5.8rem;
}
.f-s-60 {
  font-size: 6rem;
}

.f-w-100 {
  font-weight: 100;
}
.f-w-200 {
  font-weight: 200;
}
.f-w-300 {
  font-weight: 300;
}
.f-w-400 {
  font-weight: 400;
}
.f-w-500 {
  font-weight: 500;
}
.f-w-600 {
  font-weight: 600;
}
.f-w-700 {
  font-weight: 700;
}
.f-w-800 {
  font-weight: 800;
}
.f-w-900 {
  font-weight: 900;
}

.circle::before {
  content: "";
  display: block;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background-color: currentColor;
  position: absolute;
  left: -8px;
  top: 50%;
  transform: translateY(-50%);
}

.p-relative {
  position: relative;
}
.z-0 {
  z-index: 0;
}
.z-1 {
  z-index: 1;
}

.opacity-7 {
  opacity: 0.7;
}
.opacity-8 {
  opacity: 0.8;
}
