:host {
  /**
   * @prop --background: Background of the Content
   * @prop --color: Color of the Content
   * @prop --padding-top: Padding top of the Content
   * @prop --padding-bottom: Padding bottom of the Content
   * @prop --padding-start: Padding start of the Content
   * @prop --padding-end: Padding end of the Content
   * @prop --keyboard-offset: Keyboard offset of the Content
   * @prop --offset-top: Offset top of the Content
   * @prop --offset-bottom: Offset bottom of the Content
   */
  --background: var(--ion-background-color, #fff);
  --color: var(--ion-text-color, #000);
  --padding-top: 0px;
  --padding-bottom: 0px;
  --padding-start: 0px;
  --padding-end: 0px;
  --keyboard-offset: 0px;
  --offset-top: 0px;
  --offset-bottom: 0px;
  --overflow: auto;
  display: block;
  position: relative;
  flex: 1;
  width: 100%;
  height: 100%;
  /* stylelint-disable */
  margin: 0 !important;
  padding: 0 !important;
  /* stylelint-enable */
  font-family: var(--ion-font-family, inherit);
  contain: size style; }

:host(.ion-color) .inner-scroll {
  background: var(--ion-color-base);
  color: var(--ion-color-contrast); }

:host(.outer-content) {
  --background: var(--ion-color-step-50, #f2f2f2); }

.inner-scroll {
  left: 0px;
  right: 0px;
  top: calc(var(--offset-top) * -1);
  bottom: calc(var(--offset-bottom) * -1);
  padding-left: var(--padding-start);
  padding-right: var(--padding-end);
  padding-top: calc(var(--padding-top) + var(--offset-top));
  padding-bottom: calc(var(--padding-bottom) + var(--keyboard-offset) + var(--offset-bottom));
  position: absolute;
  background: var(--background);
  color: var(--color);
  box-sizing: border-box;
  overflow: hidden; }
  @supports (margin-inline-start: 0) or (-webkit-margin-start: 0) {
    .inner-scroll {
      padding-left: unset;
      padding-right: unset;
      -webkit-padding-start: var(--padding-start);
      padding-inline-start: var(--padding-start);
      -webkit-padding-end: var(--padding-end);
      padding-inline-end: var(--padding-end); } }

.scroll-y,
.scroll-x {
  -webkit-overflow-scrolling: touch;
  will-change: scroll-position;
  overscroll-behavior: contain; }

.scroll-y {
  touch-action: pan-y;
  overflow-y: var(--overflow); }

.scroll-x {
  touch-action: pan-x;
  overflow-x: var(--overflow); }

.scroll-x.scroll-y {
  touch-action: auto; }

.overscroll::before,
.overscroll::after {
  position: absolute;
  width: 1px;
  height: 1px;
  content: ""; }

.overscroll::before {
  bottom: -1px; }

.overscroll::after {
  top: -1px; }

:host(.content-sizing) {
  contain: none; }

:host(.content-sizing) .inner-scroll {
  position: relative; }
