

.d-flex{
  display: flex;
}
.d-none{
  display: none;
}


/* Bootstrap-like spacing, sizing, and text alignment classes */
/* Base spacing unit (similar to Bootstrap's 1rem = 16px default) */
:root {
  --spacing-unit: 1rem;
}

/* Padding classes */
.p-0 { padding: 0 !important; }
.p-1 { padding: calc(var(--spacing-unit) * 0.25) !important; } /* 4px */
.p-2 { padding: calc(var(--spacing-unit) * 0.5) !important; } /* 8px */
.p-3 { padding: var(--spacing-unit) !important; } /* 16px */
.p-4 { padding: calc(var(--spacing-unit) * 1.5) !important; } /* 24px */
.p-5 { padding: calc(var(--spacing-unit) * 3) !important; } /* 48px */

/* Directional padding */
.pt-0 { padding-top: 0 !important; }
.pr-0 { padding-right: 0 !important; }
.pb-0 { padding-bottom: 0 !important; }
.pl-0 { padding-left: 0 !important; }
.pt-1 { padding-top: calc(var(--spacing-unit) * 0.25) !important; }
.pr-1 { padding-right: calc(var(--spacing-unit) * 0.25) !important; }
.pb-1 { padding-bottom: calc(var(--spacing-unit) * 0.25) !important; }
.pl-1 { padding-left: calc(var(--spacing-unit) * 0.25) !important; }
.pt-2 { padding-top: calc(var(--spacing-unit) * 0.5) !important; }
.pr-2 { padding-right: calc(var(--spacing-unit) * 0.5) !important; }
.pb-2 { padding-bottom: calc(var(--spacing-unit) * 0.5) !important; }
.pl-2 { padding-left: calc(var(--spacing-unit) * 0.5) !important; }
.pt-3 { padding-top: var(--spacing-unit) !important; }
.pr-3 { padding-right: var(--spacing-unit) !important; }
.pb-3 { padding-bottom: var(--spacing-unit) !important; }
.pl-3 { padding-left: var(--spacing-unit) !important; }
.pt-4 { padding-top: calc(var(--spacing-unit) * 1.5) !important; }
.pr-4 { padding-right: calc(var(--spacing-unit) * 1.5) !important; }
.pb-4 { padding-bottom: calc(var(--spacing-unit) * 1.5) !important; }
.pl-4 { padding-left: calc(var(--spacing-unit) * 1.5) !important; }
.pt-5 { padding-top: calc(var(--spacing-unit) * 3) !important; }
.pr-5 { padding-right: calc(var(--spacing-unit) * 3) !important; }
.pb-5 { padding-bottom: calc(var(--spacing-unit) * 3) !important; }
.pl-5 { padding-left: calc(var(--spacing-unit) * 3) !important; }

/* X and Y axis padding */
.px-0 { padding-left: 0 !important; padding-right: 0 !important; }
.py-0 { padding-top: 0 !important; padding-bottom: 0 !important; }
.px-1 { padding-left: calc(var(--spacing-unit) * 0.25) !important; padding-right: calc(var(--spacing-unit) * 0.25) !important; }
.py-1 { padding-top: calc(var(--spacing-unit) * 0.25) !important; padding-bottom: calc(var(--spacing-unit) * 0.25) !important; }
.px-2 { padding-left: calc(var(--spacing-unit) * 0.5) !important; padding-right: calc(var(--spacing-unit) * 0.5) !important; }
.py-2 { padding-top: calc(var(--spacing-unit) * 0.5) !important; padding-bottom: calc(var(--spacing-unit) * 0.5) !important; }
.px-3 { padding-left: var(--spacing-unit) !important; padding-right: var(--spacing-unit) !important; }
.py-3 { padding-top: var(--spacing-unit) !important; padding-bottom: var(--spacing-unit) !important; }
.px-4 { padding-left: calc(var(--spacing-unit) * 1.5) !important; padding-right: calc(var(--spacing-unit) * 1.5) !important; }
.py-4 { padding-top: calc(var(--spacing-unit) * 1.5) !important; padding-bottom: calc(var(--spacing-unit) * 1.5) !important; }
.px-5 { padding-left: calc(var(--spacing-unit) * 3) !important; padding-right: calc(var(--spacing-unit) * 3) !important; }
.py-5 { padding-top: calc(var(--spacing-unit) * 3) !important; padding-bottom: calc(var(--spacing-unit) * 3) !important; }

/* Margin classes */
.m-0 { margin: 0 !important; }
.m-1 { margin: calc(var(--spacing-unit) * 0.25) !important; }
.m-2 { margin: calc(var(--spacing-unit) * 0.5) !important; }
.m-3 { margin: var(--spacing-unit) !important; }
.m-4 { margin: calc(var(--spacing-unit) * 1.5) !important; }
.m-5 { margin: calc(var(--spacing-unit) * 3) !important; }

/* Directional margin */
.mt-0 { margin-top: 0 !important; }
.mr-0 { margin-right: 0 !important; }
.mb-0 { margin-bottom: 0 !important; }
.ml-0 { margin-left: 0 !important; }
.mt-1 { margin-top: calc(var(--spacing-unit) * 0.25) !important; }
.mr-1 { margin-right: calc(var(--spacing-unit) * 0.25) !important; }
.mb-1 { margin-bottom: calc(var(--spacing-unit) * 0.25) !important; }
.ml-1 { margin-left: calc(var(--spacing-unit) * 0.25) !important; }
.mt-2 { margin-top: calc(var(--spacing-unit) * 0.5) !important; }
.mr-2 { margin-right: calc(var(--spacing-unit) * 0.5) !important; }
.mb-2 { margin-bottom: calc(var(--spacing-unit) * 0.5) !important; }
.ml-2 { margin-left: calc(var(--spacing-unit) * 0.5) !important; }
.mt-3 { margin-top: var(--spacing-unit) !important; }
.mr-3 { margin-right: var(--spacing-unit) !important; }
.mb-3 { margin-bottom: var(--spacing-unit) !important; }
.ml-3 { margin-left: var(--spacing-unit) !important; }
.mt-4 { margin-top: calc(var(--spacing-unit) * 1.5) !important; }
.mr-4 { margin-right: calc(var(--spacing-unit) * 1.5) !important; }
.mb-4 { margin-bottom: calc(var(--spacing-unit) * 1.5) !important; }
.ml-4 { margin-left: calc(var(--spacing-unit) * 1.5) !important; }
.mt-5 { margin-top: calc(var(--spacing-unit) * 3) !important; }
.mr-5 { margin-right: calc(var(--spacing-unit) * 3) !important; }
.mb-5 { margin-bottom: calc(var(--spacing-unit) * 3) !important; }
.ml-5 { margin-left: calc(var(--spacing-unit) * 3) !important; }

/* X and Y axis margin */
.mx-0 { margin-left: 0 !important; margin-right: 0 !important; }
.my-0 { margin-top: 0 !important; margin-bottom: 0 !important; }
.mx-1 { margin-left: calc(var(--spacing-unit) * 0.25) !important; margin-right: calc(var(--spacing-unit) * 0.25) !important; }
.my-1 { margin-top: calc(var(--spacing-unit) * 0.25) !important; margin-bottom: calc(var(--spacing-unit) * 0.25) !important; }
.mx-2 { margin-left: calc(var(--spacing-unit) * 0.5) !important; margin-right: calc(var(--spacing-unit) * 0.5) !important; }
.my-2 { margin-top: calc(var(--spacing-unit) * 0.5) !important; margin-bottom: calc(var(--spacing-unit) * 0.5) !important; }
.mx-3 { margin-left: var(--spacing-unit) !important; margin-right: var(--spacing-unit) !important; }
.my-3 { margin-top: var(--spacing-unit) !important; margin-bottom: var(--spacing-unit) !important; }
.mx-4 { margin-left: calc(var(--spacing-unit) * 1.5) !important; margin-right: calc(var(--spacing-unit) * 1.5) !important; }
.my-4 { margin-top: calc(var(--spacing-unit) * 1.5) !important; margin-bottom: calc(var(--spacing-unit) * 1.5) !important; }
.mx-5 { margin-left: calc(var(--spacing-unit) * 3) !important; margin-right: calc(var(--spacing-unit) * 3) !important; }
.my-5 { margin-top: calc(var(--spacing-unit) * 3) !important; margin-bottom: calc(var(--spacing-unit) * 3) !important; }

/* Width classes */
.w-25 { width: 25% !important; }
.w-50 { width: 50% !important; }
.w-75 { width: 75% !important; }
.w-100 { width: 100% !important; }
.w-auto { width: auto !important; }

/* Height classes */
.h-25 { height: 25% !important; }
.h-50 { height: 50% !important; }
.h-75 { height: 75% !important; }
.h-100 { height: 100% !important; }
.h-auto { height: auto !important; }

/* Text alignment classes */
.text-center { text-align: center !important; }

/* Responsive breakpoints (similar to Bootstrap) */
@media (min-width: 576px) {
  .p-sm-0 { padding: 0 !important; }
  .p-sm-1 { padding: calc(var(--spacing-unit) * 0.25) !important; }
  .p-sm-2 { padding: calc(var(--spacing-unit) * 0.5) !important; }
  .p-sm-3 { padding: var(--spacing-unit) !important; }
  .p-sm-4 { padding: calc(var(--spacing-unit) * 1.5) !important; }
  .p-sm-5 { padding: calc(var(--spacing-unit) * 3) !important; }
  .m-sm-0 { margin: 0 !important; }
  .m-sm-1 { margin: calc(var(--spacing-unit) * 0.25) !important; }
  .m-sm-2 { margin: calc(var(--spacing-unit) * 0.5) !important; }
  .m-sm-3 { margin: var(--spacing-unit) !important; }
  .m-sm-4 { margin: calc(var(--spacing-unit) * 1.5) !important; }
  .m-sm-5 { margin: calc(var(--spacing-unit) * 3) !important; }
  .w-sm-25 { width: 25% !important; }
  .w-sm-50 { width: 50% !important; }
  .w-sm-75 { width: 75% !important; }
  .w-sm-100 { width: 100% !important; }
  .w-sm-auto { width: auto !important; }
  .h-sm-25 { height: 25% !important; }
  .h-sm-50 { height: 50% !important; }
  .h-sm-75 { height: 75% !important; }
  .h-sm-100 { height: 100% !important; }
  .h-sm-auto { height: auto !important; }
  .text-sm-center { text-align: center !important; }
}

@media (min-width: 768px) {
  .p-md-0 { padding: 0 !important; }
  .p-md-1 { padding: calc(var(--spacing-unit) * 0.25) !important; }
  .p-md-2 { padding: calc(var(--spacing-unit) * 0.5) !important; }
  .p-md-3 { padding: var(--spacing-unit) !important; }
  .p-md-4 { padding: calc(var(--spacing-unit) * 1.5) !important; }
  .p-md-5 { padding: calc(var(--spacing-unit) * 3) !important; }
  .m-md-0 { margin: 0 !important; }
  .m-md-1 { margin: calc(var(--spacing-unit) * 0.25) !important; }
  .m-md-2 { margin: calc(var(--spacing-unit) * 0.5) !important; }
  .m-md-3 { margin: var(--spacing-unit) !important; }
  .m-md-4 { margin: calc(var(--spacing-unit) * 1.5) !important; }
  .m-md-5 { margin: calc(var(--spacing-unit) * 3) !important; }
  .w-md-25 { width: 25% !important; }
  .w-md-50 { width: 50% !important; }
  .w-md-75 { width: 75% !important; }
  .w-md-100 { width: 100% !important; }
  .w-md-auto { width: auto !important; }
  .h-md-25 { height: 25% !important; }
  .h-md-50 { height: 50% !important; }
  .h-md-75 { height: 75% !important; }
  .h-md-100 { height: 100% !important; }
  .h-md-auto { height: auto !important; }
  .text-md-center { text-align: center !important; }
}

@media (min-width: 992px) {
  .p-lg-0 { padding: 0 !important; }
  .p-lg-1 { padding: calc(var(--spacing-unit) * 0.25) !important; }
  .p-lg-2 { padding: calc(var(--spacing-unit) * 0.5) !important; }
  .p-lg-3 { padding: var(--spacing-unit) !important; }
  .p-lg-4 { padding: calc(var(--spacing-unit) * 1.5) !important; }
  .p-lg-5 { padding: calc(var(--spacing-unit) * 3) !important; }
  .m-lg-0 { margin: 0 !important; }
  .m-lg-1 { margin: calc(var(--spacing-unit) * 0.25) !important; }
  .m-lg-2 { margin: calc(var(--spacing-unit) * 0.5) !important; }
  .m-lg-3 { margin: var(--spacing-unit) !important; }
  .m-lg-4 { margin: calc(var(--spacing-unit) * 1.5) !important; }
  .m-lg-5 { margin: calc(var(--spacing-unit) * 3) !important; }
  .w-lg-25 { width: 25% !important; }
  .w-lg-50 { width: 50% !important; }
  .w-lg-75 { width: 75% !important; }
  .w-lg-100 { width: 100% !important; }
  .w-lg-auto { width: auto !important; }
  .h-lg-25 { height: 25% !important; }
  .h-lg-50 { height: 50% !important; }
  .h-lg-75 { height: 75% !important; }
  .h-lg-100 { height: 100% !important; }
  .h-lg-auto { height: auto !important; }
  .text-lg-center { text-align: center !important; }
}

@media (min-width: 1200px) {
  .p-xl-0 { padding: 0 !important; }
  .p-xl-1 { padding: calc(var(--spacing-unit) * 0.25) !important; }
  .p-xl-2 { padding: calc(var(--spacing-unit) * 0.5) !important; }
  .p-xl-3 { padding: var(--spacing-unit) !important; }
  .p-xl-4 { padding: calc(var(--spacing-unit) * 1.5) !important; }
  .p-xl-5 { padding: calc(var(--spacing-unit) * 3) !important; }
  .m-xl-0 { margin: 0 !important; }
  .m-xl-1 { margin: calc(var(--spacing-unit) * 0.25) !important; }
  .m-xl-2 { margin: calc(var(--spacing-unit) * 0.5) !important; }
  .m-xl-3 { margin: var(--spacing-unit) !important; }
  .m-xl-4 { margin: calc(var(--spacing-unit) * 1.5) !important; }
  .m-xl-5 { margin: calc(var(--spacing-unit) * 3) !important; }
  .w-xl-25 { width: 25% !important; }
  .w-xl-50 { width: 50% !important; }
  .w-xl-75 { width: 75% !important; }
  .w-xl-100 { width: 100% !important; }
  .w-xl-auto { width: auto !important; }
  .h-xl-25 { height: 25% !important; }
  .h-xl-50 { height: 50% !important; }
  .h-xl-75 { height: 75% !important; }
  .h-xl-100 { height: 100% !important; }
  .h-xl-auto { height: auto !important; }
  .text-xl-center { text-align: center !important; }
}