.container,
.container-fluid {
  width: 100%;
  margin-inline: auto;
  padding-inline: var(--container-padding);
}

.container {
  max-width: none;
}

.container-fluid {
  max-width: none;
}

.row {
  --gutter-x: var(--space-4);
  --gutter-y: var(--space-4);
  display: flex;
  flex-wrap: wrap;
  row-gap: var(--gutter-y);
  margin-inline: calc(var(--gutter-x) * -0.5);
}

.row > * {
  --col-flex: 0 0 auto;
  --col-width: 100%;
  min-width: 0;
  flex: var(--col-flex);
  width: var(--col-width);
  max-width: 100%;
  padding-inline: calc(var(--gutter-x) * 0.5);
}

.col { --col-flex: 1 0 0%; --col-width: 0; }
.col-auto { --col-width: auto; }
.col-1 { --col-width: 8.333333%; }
.col-2 { --col-width: 16.666667%; }
.col-3 { --col-width: 25%; }
.col-4 { --col-width: 33.333333%; }
.col-5 { --col-width: 41.666667%; }
.col-6 { --col-width: 50%; }
.col-7 { --col-width: 58.333333%; }
.col-8 { --col-width: 66.666667%; }
.col-9 { --col-width: 75%; }
.col-10 { --col-width: 83.333333%; }
.col-11 { --col-width: 91.666667%; }
.col-12 { --col-width: 100%; }

.section {
  padding-block: var(--space-7);
}

.section-sm {
  padding-block: var(--space-6);
}

.section-lg {
  padding-block: var(--space-8);
}

@media (min-width: 640px) {
  .container {
    max-width: var(--container-max-sm);
  }

  .col-sm { --col-flex: 1 0 0%; --col-width: 0; }
  .col-sm-auto { --col-width: auto; }
  .col-sm-1 { --col-width: 8.333333%; }
  .col-sm-2 { --col-width: 16.666667%; }
  .col-sm-3 { --col-width: 25%; }
  .col-sm-4 { --col-width: 33.333333%; }
  .col-sm-5 { --col-width: 41.666667%; }
  .col-sm-6 { --col-width: 50%; }
  .col-sm-7 { --col-width: 58.333333%; }
  .col-sm-8 { --col-width: 66.666667%; }
  .col-sm-9 { --col-width: 75%; }
  .col-sm-10 { --col-width: 83.333333%; }
  .col-sm-11 { --col-width: 91.666667%; }
  .col-sm-12 { --col-width: 100%; }
}

@media (min-width: 768px) {
  .container {
    max-width: var(--container-max-md);
  }

  .col-md { --col-flex: 1 0 0%; --col-width: 0; }
  .col-md-auto { --col-width: auto; }
  .col-md-1 { --col-width: 8.333333%; }
  .col-md-2 { --col-width: 16.666667%; }
  .col-md-3 { --col-width: 25%; }
  .col-md-4 { --col-width: 33.333333%; }
  .col-md-5 { --col-width: 41.666667%; }
  .col-md-6 { --col-width: 50%; }
  .col-md-7 { --col-width: 58.333333%; }
  .col-md-8 { --col-width: 66.666667%; }
  .col-md-9 { --col-width: 75%; }
  .col-md-10 { --col-width: 83.333333%; }
  .col-md-11 { --col-width: 91.666667%; }
  .col-md-12 { --col-width: 100%; }
}

@media (min-width: 1024px) {
  .container {
    max-width: var(--container-max-lg);
  }

  .col-lg { --col-flex: 1 0 0%; --col-width: 0; }
  .col-lg-auto { --col-width: auto; }
  .col-lg-1 { --col-width: 8.333333%; }
  .col-lg-2 { --col-width: 16.666667%; }
  .col-lg-3 { --col-width: 25%; }
  .col-lg-4 { --col-width: 33.333333%; }
  .col-lg-5 { --col-width: 41.666667%; }
  .col-lg-6 { --col-width: 50%; }
  .col-lg-7 { --col-width: 58.333333%; }
  .col-lg-8 { --col-width: 66.666667%; }
  .col-lg-9 { --col-width: 75%; }
  .col-lg-10 { --col-width: 83.333333%; }
  .col-lg-11 { --col-width: 91.666667%; }
  .col-lg-12 { --col-width: 100%; }
}

@media (min-width: 1280px) {
  .container {
    max-width: var(--container-max-xl);
  }

  .col-xl { --col-flex: 1 0 0%; --col-width: 0; }
  .col-xl-auto { --col-width: auto; }
  .col-xl-1 { --col-width: 8.333333%; }
  .col-xl-2 { --col-width: 16.666667%; }
  .col-xl-3 { --col-width: 25%; }
  .col-xl-4 { --col-width: 33.333333%; }
  .col-xl-5 { --col-width: 41.666667%; }
  .col-xl-6 { --col-width: 50%; }
  .col-xl-7 { --col-width: 58.333333%; }
  .col-xl-8 { --col-width: 66.666667%; }
  .col-xl-9 { --col-width: 75%; }
  .col-xl-10 { --col-width: 83.333333%; }
  .col-xl-11 { --col-width: 91.666667%; }
  .col-xl-12 { --col-width: 100%; }
}

@media (min-width: 1550px) {
  .col-xxl { --col-flex: 1 0 0%; --col-width: 0; }
  .col-xxl-auto { --col-width: auto; }
  .col-xxl-1 { --col-width: 8.333333%; }
  .col-xxl-2 { --col-width: 16.666667%; }
  .col-xxl-3 { --col-width: 25%; }
  .col-xxl-4 { --col-width: 33.333333%; }
  .col-xxl-5 { --col-width: 41.666667%; }
  .col-xxl-6 { --col-width: 50%; }
  .col-xxl-7 { --col-width: 58.333333%; }
  .col-xxl-8 { --col-width: 66.666667%; }
  .col-xxl-9 { --col-width: 75%; }
  .col-xxl-10 { --col-width: 83.333333%; }
  .col-xxl-11 { --col-width: 91.666667%; }
  .col-xxl-12 { --col-width: 100%; }
}
