.outer {
  --layout-inline-content-max-width: var(--centered-inline-content-max-width, 700px);
  --layout-inline-lg-content-max-width: var(--centered-inline-lg-content-max-width, 950px);
  --layout-inline-xl-content-max-width: var(--centered-inline-xl-content-max-width, 1200px);

  padding-left: var(--content-margin);
  padding-right: var(--content-margin);
  margin-left: auto;
  margin-right: auto;
  max-width: var(--section-max-width, none);
}

.customMargin,
.outer-full {
  padding-left: 0;
  padding-right: 0;
  max-width: none;
  width: 100%;
}

.item {
  --content-max-width: var(--layout-inline-content-max-width);
  margin-left: auto;
  margin-right: auto;
  max-width: var(--content-max-width);
}

.customMargin .item {
  max-width: calc(var(--content-margin) * 2 + var(--content-max-width));
}

.item-inline-lg {
  --content-max-width: var(--layout-inline-lg-content-max-width);
}

.item-inline-xl {
  --content-max-width: var(--layout-inline-xl-content-max-width);
}

.item-inline-full {
  --content-max-width: unset;
  margin-left: 0;
  margin-right: 0;
}

.clear {
  clear: both;
}

.inner-xxs,
.inner-xs,
.inner-sm {
  margin: 0 auto;
}

.align-left {
  margin-left: 0;
}

.align-right {
  margin-right: 0;
}

.inner-xxs {
  width: 30%;
}

.inner-xs {
  width: 50%;
}

.inner-sm {
  width: 70%;
}

.inner-left,
.inner-right {
  /* Setting the --inlined-* properties to intial causes the fallback
   values below (e.g. float: var(--inlined-float, left)) to take
   effect and thus switches to floated posiiton. */

  --inlined-float: none;
  --inlined-margin: 0;

  margin-top: var(--inlined-margin, 0.375em);
  margin-bottom: var(--inlined-margin, 1em);
  clear: both;

  /* Ensure element is positioned in front of text block wrapping around
     element and can be selected in editor. */
  position: relative;
  z-index: 1;
}

.inner-xxs,
.inner-xs,
.inner-sm {
  --inlined-margin: auto;
}

.inner-left {
  float: var(--inlined-float, left);
  margin-left: var(--inlined-margin, calc(var(--floated-indent) - 1em));
  margin-right: var(--inlined-margin, 1em);
}

.inner-right {
  float: var(--inlined-float, right);
  margin-right: var(--inlined-margin, calc(var(--floated-indent) - 1em));
  margin-left: var(--inlined-margin, 1em);
}

.inner-xs.sideBySide {
  --inlined-float: initial;
  --inlined-margin: initial;
  --floated-indent: 25%;
  clear: none;
  width: 25%;
}

@media (min-width: 950px) {
  .inner-xs.inner-left,
  .inner-xs.inner-right,
  .inner-sm.inner-left,
  .inner-sm.inner-right,
  .inner-md.inner-left,
  .inner-md.inner-right {
    --inlined-float: initial;
    --inlined-margin: initial;
    --floated-indent: -10%;
    clear: none;
  }

  .inner-xs.inner-left,
  .inner-xs.inner-right {
    width: 25%;
  }

  .inner-xs.sideBySide {
    --floated-indent: 25%;
  }

  .inner-sm.inner-left,
  .inner-sm.inner-right {
    width: 40%;
  }

  .inner-md.inner-left,
  .inner-md.inner-right {
    width: 60%;
  }
}

@media (min-width: 700px) {
  .inner-sm.sideBySide {
    --inlined-float: initial;
    --inlined-margin: initial;
    clear: none;
    width: 40%;
    --floated-indent: 10%;
  }
}

@media (min-width: 1100px) {
  .inner-lg.inner-left,
  .inner-lg.inner-right {
    --inlined-float: initial;
    --inlined-margin: initial;
    clear: none;
    width: 70%;
    --floated-indent: -20%;
  }
}

@media (min-width: 1300px) {
  .inner-xl.inner-left,
  .inner-xl.inner-right {
    --inlined-float: initial;
    --inlined-margin: initial;
    clear: none;
    width: 80%;
    --floated-indent: -30%;
  }
}
