/* Layout CSS - Sistema de grid e layout */

/* Row */

.row {
  display: flex;
  flex-wrap: wrap;
  box-sizing: border-box;
  align-items: stretch;
  gap: 12px;
}

.row > * {
  box-sizing: border-box;
}

.row.gtr-uniform > * > :last-child {
  margin-bottom: 0;
}

.row.aln-left {
  justify-content: flex-start;
}

.row.aln-center {
  justify-content: center;
}

.row.aln-right {
  justify-content: flex-end;
}

.row.aln-top {
  align-items: flex-start;
}

.row.aln-middle {
  align-items: center;
}

.row.aln-bottom {
  align-items: flex-end;
}

.row > .imp {
  order: -1;
}

/* Grid Columns */

.row > .col-1 {
  width: 8.33333%;
}

.row > .off-1 {
  margin-left: 8.33333%;
}

.row > .col-2 {
  width: 16.66667%;
}

.row > .off-2 {
  margin-left: 16.66667%;
}

.row > .col-3 {
  width: 25%;
}

.row > .off-3 {
  margin-left: 25%;
}

.row > .col-4 {
  width: 33.33333%;
}

.row > .off-4 {
  margin-left: 33.33333%;
}

.row > .col-5 {
  width: 41.66667%;
}

.row > .off-5 {
  margin-left: 41.66667%;
}

.row > .col-6 {
  width: 50%;
}

.row > .off-6 {
  margin-left: 50%;
}

.row > .col-7 {
  width: 58.33333%;
}

.row > .off-7 {
  margin-left: 58.33333%;
}

.row > .col-8 {
  width: 66.66667%;
}

.row > .off-8 {
  margin-left: 66.66667%;
}

.row > .col-9 {
  width: 75%;
}

.row > .off-9 {
  margin-left: 75%;
}

.row > .col-10 {
  width: 83.33333%;
}

.row > .off-10 {
  margin-left: 83.33333%;
}

.row > .col-11 {
  width: 91.66667%;
}

.row > .off-11 {
  margin-left: 91.66667%;
}

.row > .col-12 {
  width: 100%;
}

.row > .off-12 {
  margin-left: 100%;
}

/* Grid Gutters */

.row.gtr-0 {
  margin-top: 0;
  margin-left: 0rem;
}

.row.gtr-0 > * {
  padding: 0 0 0 0rem;
}

.row.gtr-0.gtr-uniform {
  margin-top: 0rem;
}

.row.gtr-0.gtr-uniform > * {
  padding-top: 0rem;
}

.row.gtr-25 {
  margin-top: 0;
  margin-left: -0.375rem;
}

.row.gtr-25 > * {
  padding: 0 0 0 0.375rem;
}

.row.gtr-25.gtr-uniform {
  margin-top: -0.375rem;
}

.row.gtr-25.gtr-uniform > * {
  padding-top: 0.375rem;
}

.row.gtr-50 {
  margin-top: 0;
  margin-left: -0.75rem;
}

.row.gtr-50 > * {
  padding: 0 0 0 0.75rem;
}

.row.gtr-50.gtr-uniform {
  margin-top: -0.75rem;
}

.row.gtr-50.gtr-uniform > * {
  padding-top: 0.75rem;
}

.row {
  margin-top: 0;
  margin-left: -1.5rem;
}

.row > * {
  padding: 0 0 0 1.5rem;
}

.row.gtr-uniform {
  margin-top: -1.5rem;
}

.row.gtr-uniform > * {
  padding-top: 1.5rem;
}

.row.gtr-150 {
  margin-top: 0;
  margin-left: -2.25rem;
}

.row.gtr-150 > * {
  padding: 0 0 0 2.25rem;
}

.row.gtr-150.gtr-uniform {
  margin-top: -2.25rem;
}

.row.gtr-150.gtr-uniform > * {
  padding-top: 2.25rem;
}

.row.gtr-200 {
  margin-top: 0;
  margin-left: -3rem;
}

.row.gtr-200 > * {
  padding: 0 0 0 3rem;
}

.row.gtr-200.gtr-uniform {
  margin-top: -3rem;
}

.row.gtr-200.gtr-uniform > * {
  padding-top: 3rem;
}
