/*
 * Resets
 */

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  font-family: var(--font-family);
  line-height: 1.5;
}

img {
  max-height: 15rem;
  width: auto;
  object-fit: cover;
}

a {
  text-decoration: unset;
}

/*
 * Text
 */

.text-center {
  text-align: center;
}

/* 
 * Colors
 */

.color-btn {
  color: var(--button);
}

.text-color {
  color: var(--text-color);
}

/*
 * Sizes
 */

.w-full {
  width: 100%;
}

.h-full {
  height: 100%;
  max-height: unset;
}

/*
 * Spacings
 */

.m-0 {
  margin: 0;
}

.p-0 {
  padding: 0;
}

.mt-auto {
  margin-top: auto;
}

.mt-sm {
  margin-top: var(--spacing-sm);
}

.mt-md {
  margin-top: var(--spacing-md);
}

.mt-lg {
  margin-top: var(--spacing-lg);
}

.mt-xxl {
  margin-top: var(--spacing-xxl);
}

.mb-sm {
  margin-bottom: var(--spacing-sm);
}

.mb-md {
  margin-bottom: var(--spacing-md);
}

.mb-lg {
  margin-bottom: var(--spacing-lg);
}

.p-sm {
  padding: var(--spacing-sm);
}

.p-md {
  padding: var(--spacing-md);
}

.p-lg {
  padding: var(--spacing-lg);
}

.pl-sm {
  padding-left: var(--spacing-sm);
}

.pl-md {
  padding-left: var(--spacing-md);
}

.pl-lg {
  padding-left: var(--spacing-lg);
}

.pr-sm {
  padding-right: var(--spacing-sm);
}

.pr-md {
  padding-right: var(--spacing-md);
}

.pr-lg {
  padding-right: var(--spacing-lg);
}

.pb-sm {
  padding-bottom: var(--spacing-sm);
}

.pb-md {
  padding-bottom: var(--spacing-md);
}

.pb-lg {
  padding-bottom: var(--spacing-lg);
}

.pt-sm {
  padding-top: var(--spacing-sm);
}

.pt-md {
  padding-top: var(--spacing-md);
}

.pt-lg {
  padding-top: var(--spacing-lg);
}

.h1 {
  font-size: var(--h1-size);
}

.h2 {
  font-size: var(--h2-size);
}

.h3 {
  font-size: var(--h3-size);
}

.gap-xs {
  gap: var(--spacing-xs);
}

.gap-sm {
  gap: var(--spacing-sm);
}

.gap-md {
  gap: var(--spacing-md);
}

.gap-lg {
  gap: var(--spacing-lg);
}

.gap-xxl {
  gap: var(--spacing-xxl);
}

/*
 * Flex
 */

.flex {
  display: flex;
}

.align-center {
  align-items: center;
}

.align-center-mobile {
  align-items: center;
}

.justify-center {
  justify-content: center;
}

.justify-between {
  justify-content: space-between;
}

.column {
  flex-direction: column;
}
