/* Reusable spacing, sizing, and float helpers used by application pages. */

/* Apply standard padding at the base spacing step. */
.padded { padding: 1rem; }

/* Apply progressively smaller and larger padding steps. */
.padded-xxs { padding: 0.125rem; }
.padded-xs { padding: 0.25rem; }
.padded-sm { padding: 0.5rem; }
.padded-lg { padding: 2rem; }
.padded-xl { padding: 3rem; }
.padded-xxl { padding: 4rem; }

/* Apply directional padding helpers at every supported spacing step. */
.padded-top { padding-top: 1rem; }
.padded-top-xxs { padding-top: 0.125rem; }
.padded-top-xs { padding-top: 0.25rem; }
.padded-top-sm { padding-top: 0.5rem; }
.padded-top-lg { padding-top: 2rem; }
.padded-top-xl { padding-top: 3rem; }
.padded-top-xxl { padding-top: 4rem; }
.padded-bottom { padding-bottom: 1rem; }
.padded-bottom-xxs { padding-bottom: 0.125rem; }
.padded-bottom-xs { padding-bottom: 0.25rem; }
.padded-bottom-sm { padding-bottom: 0.5rem; }
.padded-bottom-lg { padding-bottom: 2rem; }
.padded-bottom-xl { padding-bottom: 3rem; }
.padded-bottom-xxl { padding-bottom: 4rem; }
.padded-left { padding-left: 1rem; }
.padded-left-xxs { padding-left: 0.125rem; }
.padded-left-xs { padding-left: 0.25rem; }
.padded-left-sm { padding-left: 0.5rem; }
.padded-left-lg { padding-left: 2rem; }
.padded-left-xl { padding-left: 3rem; }
.padded-left-xxl { padding-left: 4rem; }
.padded-right { padding-right: 1rem; }
.padded-right-xxs { padding-right: 0.125rem; }
.padded-right-xs { padding-right: 0.25rem; }
.padded-right-sm { padding-right: 0.5rem; }
.padded-right-lg { padding-right: 2rem; }
.padded-right-xl { padding-right: 3rem; }
.padded-right-xxl { padding-right: 4rem; }

/* Apply standard margin at the base spacing step. */
.margin { margin: 1rem; }

/* Apply progressively smaller and larger margin steps. */
.margin-xxs { margin: 0.125rem; }
.margin-xs { margin: 0.25rem; }
.margin-sm { margin: 0.5rem; }
.margin-lg { margin: 2rem; }
.margin-xl { margin: 3rem; }
.margin-xxl { margin: 4rem; }

/* Apply directional margin helpers at every supported spacing step. */
.margin-top { margin-top: 1rem; }
.margin-top-xxs { margin-top: 0.125rem; }
.margin-top-xs { margin-top: 0.25rem; }
.margin-top-sm { margin-top: 0.5rem; }
.margin-top-lg { margin-top: 2rem; }
.margin-top-xl { margin-top: 3rem; }
.margin-top-xxl { margin-top: 4rem; }
.margin-bottom { margin-bottom: 1rem; }
.margin-bottom-xxs { margin-bottom: 0.125rem; }
.margin-bottom-xs { margin-bottom: 0.25rem; }
.margin-bottom-sm { margin-bottom: 0.5rem; }
.margin-bottom-lg { margin-bottom: 2rem; }
.margin-bottom-xl { margin-bottom: 3rem; }
.margin-bottom-xxl { margin-bottom: 4rem; }
.margin-left { margin-left: 1rem; }
.margin-left-xxs { margin-left: 0.125rem; }
.margin-left-xs { margin-left: 0.25rem; }
.margin-left-sm { margin-left: 0.5rem; }
.margin-left-lg { margin-left: 2rem; }
.margin-left-xl { margin-left: 3rem; }
.margin-left-xxl { margin-left: 4rem; }
.margin-right { margin-right: 1rem; }
.margin-right-xxs { margin-right: 0.125rem; }
.margin-right-xs { margin-right: 0.25rem; }
.margin-right-sm { margin-right: 0.5rem; }
.margin-right-lg { margin-right: 2rem; }
.margin-right-xl { margin-right: 3rem; }
.margin-right-xxl { margin-right: 4rem; }

/* Provide intentional zero-spacing and floating helpers. */
.tight { padding: 0 !important; }
.spaceless { margin: 0 !important; }
.float-right { float: right; }
.float-left { float: left; }

/* Provide full-dimension helpers for page layouts. */
.full-width { width: 100% !important; }
.full-height { height: 100% !important; }
.full-size {
  width: 100% !important;
  height: 100% !important;
}
