:host {
  /**
   * @prop --ion-grid-padding: Padding for the Grid
   * @prop --ion-grid-padding-xs: Padding for the Grid on xs screens
   * @prop --ion-grid-padding-sm: Padding for the Grid on sm screens
   * @prop --ion-grid-padding-md: Padding for the Grid on md screens
   * @prop --ion-grid-padding-lg: Padding for the Grid on lg screens
   * @prop --ion-grid-padding-xl: Padding for the Grid on xl screens
   *
   * @prop --ion-grid-width: Width of the fixed Grid
   * @prop --ion-grid-width-xs: Width of the fixed Grid on xs screens
   * @prop --ion-grid-width-sm: Width of the fixed Grid on sm screens
   * @prop --ion-grid-width-md: Width of the fixed Grid on md screens
   * @prop --ion-grid-width-lg: Width of the fixed Grid on lg screens
   * @prop --ion-grid-width-xl: Width of the fixed Grid on xl screens
   */
  padding-left: var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));
  padding-right: var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));
  padding-top: var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));
  padding-bottom: var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));
  margin-left: auto;
  margin-right: auto;
  display: block; }
  @supports (margin-inline-start: 0) or (-webkit-margin-start: 0) {
    :host {
      padding-left: unset;
      padding-right: unset;
      -webkit-padding-start: var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));
      padding-inline-start: var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));
      -webkit-padding-end: var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));
      padding-inline-end: var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px)); } }
  @media (min-width: 576px) {
    :host {
      padding-left: var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px));
      padding-right: var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px));
      padding-top: var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px));
      padding-bottom: var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px)); }
      @supports (margin-inline-start: 0) or (-webkit-margin-start: 0) {
        :host {
          padding-left: unset;
          padding-right: unset;
          -webkit-padding-start: var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px));
          padding-inline-start: var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px));
          -webkit-padding-end: var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px));
          padding-inline-end: var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px)); } } }
  @media (min-width: 768px) {
    :host {
      padding-left: var(--ion-grid-padding-md, var(--ion-grid-padding, 5px));
      padding-right: var(--ion-grid-padding-md, var(--ion-grid-padding, 5px));
      padding-top: var(--ion-grid-padding-md, var(--ion-grid-padding, 5px));
      padding-bottom: var(--ion-grid-padding-md, var(--ion-grid-padding, 5px)); }
      @supports (margin-inline-start: 0) or (-webkit-margin-start: 0) {
        :host {
          padding-left: unset;
          padding-right: unset;
          -webkit-padding-start: var(--ion-grid-padding-md, var(--ion-grid-padding, 5px));
          padding-inline-start: var(--ion-grid-padding-md, var(--ion-grid-padding, 5px));
          -webkit-padding-end: var(--ion-grid-padding-md, var(--ion-grid-padding, 5px));
          padding-inline-end: var(--ion-grid-padding-md, var(--ion-grid-padding, 5px)); } } }
  @media (min-width: 992px) {
    :host {
      padding-left: var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px));
      padding-right: var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px));
      padding-top: var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px));
      padding-bottom: var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px)); }
      @supports (margin-inline-start: 0) or (-webkit-margin-start: 0) {
        :host {
          padding-left: unset;
          padding-right: unset;
          -webkit-padding-start: var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px));
          padding-inline-start: var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px));
          -webkit-padding-end: var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px));
          padding-inline-end: var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px)); } } }
  @media (min-width: 1200px) {
    :host {
      padding-left: var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px));
      padding-right: var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px));
      padding-top: var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px));
      padding-bottom: var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px)); }
      @supports (margin-inline-start: 0) or (-webkit-margin-start: 0) {
        :host {
          padding-left: unset;
          padding-right: unset;
          -webkit-padding-start: var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px));
          padding-inline-start: var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px));
          -webkit-padding-end: var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px));
          padding-inline-end: var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px)); } } }
  @supports (margin-inline-start: 0) or (-webkit-margin-start: 0) {
    :host {
      margin-left: unset;
      margin-right: unset;
      -webkit-margin-start: auto;
      margin-inline-start: auto;
      -webkit-margin-end: auto;
      margin-inline-end: auto; } }

:host(.grid-fixed) {
  width: var(--ion-grid-width-xs, var(--ion-grid-width, 100%));
  max-width: 100%; }
  @media (min-width: 576px) {
    :host(.grid-fixed) {
      width: var(--ion-grid-width-sm, var(--ion-grid-width, 540px)); } }
  @media (min-width: 768px) {
    :host(.grid-fixed) {
      width: var(--ion-grid-width-md, var(--ion-grid-width, 720px)); } }
  @media (min-width: 992px) {
    :host(.grid-fixed) {
      width: var(--ion-grid-width-lg, var(--ion-grid-width, 960px)); } }
  @media (min-width: 1200px) {
    :host(.grid-fixed) {
      width: var(--ion-grid-width-xl, var(--ion-grid-width, 1140px)); } }

:host([no-padding]) {
  padding-left: 0;
  padding-right: 0;
  padding-top: 0;
  padding-bottom: 0; }

:host([no-padding]) ::slotted(ion-col) {
  padding-left: 0;
  padding-right: 0;
  padding-top: 0;
  padding-bottom: 0; }
