:root {
  --tme-grid-gap: 24px;
}
@media (min-width: 992px) {
  :root {
    --tme-grid-gap: 40px;
  }
}

:root {
  --tme-width-xxlarge: 1920px;
  --tme-width-xlarge: 1440px;
  --tme-width-large: 1280px;
  --tme-width-medium: 960px;
  --tme-width-small: 768px;
  --tme-width-xsmall: 640px;
  --tme-width-xxsmall: 480px;
}

:root {
  --tme-zindex-super: 100;
  --tme-zindex-top: 90;
  --tme-zindex-over: 10;
  --tme-zindex-default: 1;
  --tme-zindex-under: -1;
  --tme-zindex-bottom: -9999px;
}

.align-left {
  margin: 0 var(--tme-grid-gap) var(--tme-grid-gap) 0;
}

.align-right {
  margin: 0 0 var(--tme-grid-gap) var(--tme-grid-gap);
}

.align-center {
  margin: var(--tme-grid-gap) auto;
}

[class*=l-flex] > * {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  margin: calc(var(--tme-grid-gap) / 2 * -1) calc(var(--tme-grid-gap) / 2 * -1);
}

[class*=l-flex] > * > * {
  margin: calc(var(--tme-grid-gap) / 2) calc(var(--tme-grid-gap) / 2);
}

.l-flex__alignment--start > * {
  justify-content: flex-start;
}

.l-flex__alignment--center > * {
  justify-content: center;
}

.l-flex__alignment--end > * {
  justify-content: flex-end;
}

.l-flex__alignment--end > * {
  justify-content: flex-end;
}

.l-flex__no-wrap > * {
  flex-wrap: nowrap;
}

[class*=l-constrained] {
  margin-left: auto;
  margin-right: auto;
  max-width: var(--tme-width-xlarge);
  width: 100%;
}

[class*=l-constrained] [class*=l-constrained] {
  margin-left: 0;
  margin-right: 0;
}

.l-constrained {
  max-width: var(--tme-width-xlarge);
}

.l-constrained__width--narrow {
  max-width: var(--tme-width-medium);
}

.l-constrained__width--wide {
  max-width: var(--tme-width-xxlarge);
}

.l-constrained__width--full {
  width: 100%;
}

@media (min-width: 768px) {
  .l-grid .l-grid__inner {
    display: flex;
    flex-flow: nowrap row;
    margin: 0 -var(--tme-grid-gap);
  }
}
.l-grid .l-grid__inner > * + * {
  margin-top: var(--tme-grid-gap);
}
.l-grid .l-grid__inner .l-grid__item {
  flex-shrink: 0;
}
@media (min-width: 768px) {
  .l-grid .l-grid__inner .l-grid__item {
    padding: 0 var(--tme-grid-gap);
  }
}
.l-grid .l-grid__inner .l-grid__item--col-2 {
  width: 100%;
}
@media (min-width: 768px) {
  .l-grid .l-grid__inner .l-grid__item--col-2 {
    width: 16.6666666667%;
  }
}
.l-grid .l-grid__inner .l-grid__item--col-3 {
  width: 100%;
}
@media (min-width: 768px) {
  .l-grid .l-grid__inner .l-grid__item--col-3 {
    width: 25%;
  }
}
.l-grid .l-grid__inner .l-grid__item--col-4 {
  width: 100%;
}
@media (min-width: 768px) {
  .l-grid .l-grid__inner .l-grid__item--col-4 {
    width: 33.3333333333%;
  }
}
.l-grid .l-grid__inner .l-grid__item--col-5 {
  width: 100%;
}
@media (min-width: 768px) {
  .l-grid .l-grid__inner .l-grid__item--col-5 {
    width: 41.6666666667%;
  }
}
.l-grid .l-grid__inner .l-grid__item--col-6 {
  width: 100%;
}
@media (min-width: 768px) {
  .l-grid .l-grid__inner .l-grid__item--col-6 {
    width: 50%;
  }
}
.l-grid .l-grid__inner .l-grid__item--col-7 {
  width: 100%;
}
@media (min-width: 768px) {
  .l-grid .l-grid__inner .l-grid__item--col-7 {
    width: 58.3333333333%;
  }
}
.l-grid .l-grid__inner .l-grid__item--col-8 {
  width: 100%;
}
@media (min-width: 768px) {
  .l-grid .l-grid__inner .l-grid__item--col-8 {
    width: 66.6666666667%;
  }
}
.l-grid .l-grid__inner .l-grid__item--col-9 {
  width: 100%;
}
@media (min-width: 768px) {
  .l-grid .l-grid__inner .l-grid__item--col-9 {
    width: 75%;
  }
}
.l-grid .l-grid__inner .l-grid__item--col-10 {
  width: 100%;
}
@media (min-width: 768px) {
  .l-grid .l-grid__inner .l-grid__item--col-10 {
    width: 83.3333333333%;
  }
}

[class*=l-stack] > * {
  margin-top: 0;
  margin-bottom: 0;
}

[class*=l-stack] > * + * {
  margin-top: var(--space-gap-y);
}

.l-stack--ruled > * + * {
  padding-top: var(--space-gap-y);
  border-top: var(--size-border, 1px) var(--style-border, solid) var(--color-border);
}

.l-stack--none {
  --space-gap-y: 0;
}

.l-stack--minimal {
  --space-gap-y: 12px;
}

.l-stack--tight {
  --space-gap-y: 16px;
}

.l-stack--compact {
  --space-gap-y: 32px;
}

.l-stack--normal {
  --space-gap-y: 48px;
}

.l-stack--loose {
  --space-gap-y: 60px;
}