/* === WIDTH === */
.w-100 { width: 100%; }
.w-75 { width: 75%; }
.w-66 { width: 66.666%; }
.w-50 { width: 50%; }
.w-40 { width: 40%; }
.w-33 { width: 33.333%; }
.w-25 { width: 25%; }

/* === TEXT ALIGN === */
.text-left { text-align: left !important; }
.text-center { text-align: center !important; }
.text-right { text-align: right !important; }

/* === FLEX ALIGNMENT === */
.flex { display: flex; }
.flex-center { justify-content: center; align-items: center; }
.flex-between { justify-content: space-between; align-items: center; }
.flex-evenly {justify-content: space-evenly; align-items: center;}
.flex-column { flex-direction: column; }
.flex-wrap { flex-wrap: wrap; }

/* === MARGIN / PADDING HELPERS === */
.mt-0 { margin-top: 0; }
.mt-1 { margin-top: 1rem; }
.mt-2 { margin-top: 2rem; }
.mb-1 { margin-bottom: 1rem; }
.mb-2 { margin-bottom: 2rem; }

.pt-1 { padding-top: 1rem; }
.pt-2 { padding-top: 2rem; }
.pb-1 { padding-bottom: 1rem; }
.pb-2 { padding-bottom: 2rem; }

/* === HIDE/SHOW === */
.d-none { display: none; }
.d-block { display: block; }
.d-inline { display: inline; }
.d-inline-block { display: inline-block; }

/* === RESPONSIVE DISPLAY === */
@media (max-width: 768px) {
  .d-md-none { display: none; }
  .d-md-block { display: block; }
  .w-100 { width: 100%; }
  .w-75 { width: 100%; }
  .w-66 { width: 100%; }
  .w-50 { width: 100%; }
  .w-40 { width: 100%; }
  .w-33 { width: 100%; }
  .w-25 { width: 100%; }
}
@media (min-width: 768px) {
  .d-sm-none { display: none; }
  .d-sm-block { display: block; }
}
