/* Layout */

.is-centered {
  display: block;
  margin: 0 auto !important;
}

.is-fluid { width: 100% !important; }
.is-hidden { display: none !important; }


/* Typography */

.is-size-1 { font-size: 3rem !important; }
.is-size-2 { font-size: 2.5rem !important; }
.is-size-3 { font-size: 2rem !important; }
.is-size-4 { font-size: 1.5rem !important; }
.is-size-5 { font-size: 1.25rem !important; }
.is-size-6 { font-size: 1rem !important; }
.is-size-7 { font-size: 0.75rem !important; }
.is-size-8 { font-size: 0.5rem !important; }

.is-small { font-size: 0.75em !important; }
.is-medium { font-size: 1.25em !important; }
.is-large { font-size: 1.5em !important; }


/* Text Style */

.is-capitalized { text-transform: capitalize !important; }
.is-lowercase { text-transform: lowercase !important; }
.is-uppercase { text-transform: uppercase !important; }
.is-italic { font-style: italic !important; }
.is-bold { font-weight: bold !important; }
.is-bolder { font-weight: bolder !important; }
.has-underline { text-decoration-line: underline !important; }
.has-strikethrough { text-decoration-line: line-through !important; }


/* Text Alignment */

.has-text-left { text-align: left !important; }
.has-text-center { text-align: center !important; }
.has-text-right { text-align: right !important; }
.has-text-nowrap { white-space: nowrap !important; }
.has-text-pre { white-space: pre !important; }


/* Margin and Padding */

.is-marginless { margin: 0 !important; }
.is-paddingless { padding: 0 !important; }

.has-bleed {
  margin-left: -30px !important;
  margin-right: -30px !important;
  max-width: none !important;
  width: calc(100% + 60px) !important;
}

.has-bleed-top { margin-top: -30px !important; }
.has-bleed-bottom { margin-bottom: -30px !important; }

.has-margin-top-1 { margin-top: 1em !important; }
.has-margin-top-2 { margin-top: 2em !important; }
.has-margin-top-3 { margin-top: 3em !important; }

.has-margin-right-1 { margin-right: 1em !important; }
.has-margin-right-2 { margin-right: 2em !important; }
.has-margin-right-3 { margin-right: 3em !important; }

.has-margin-bottom-1 { margin-bottom: 1em !important; }
.has-margin-bottom-2 { margin-bottom: 2em !important; }
.has-margin-bottom-3 { margin-bottom: 3em !important; }

.has-margin-left-1 { margin-left: 1em !important; }
.has-margin-left-2 { margin-left: 2em !important; }
.has-margin-left-3 { margin-left: 3em !important; }

.has-padding-top-1 { padding-top: 1em !important; }
.has-padding-top-2 { padding-top: 2em !important; }
.has-padding-top-3 { padding-top: 3em !important; }

.has-padding-right-1 { padding-right: 1em !important; }
.has-padding-right-2 { padding-right: 2em !important; }
.has-padding-right-3 { padding-right: 3em !important; }

.has-padding-bottom-1 { padding-bottom: 1em !important; }
.has-padding-bottom-2 { padding-bottom: 2em !important; }
.has-padding-bottom-3 { padding-bottom: 3em !important; }

.has-padding-left-1 { padding-left: 1em !important; }
.has-padding-left-2 { padding-left: 2em !important; }
.has-padding-left-3 { padding-left: 3em !important; }

.has-content > *:first-child { margin-top: 0; }
.has-content > *:last-child { margin-bottom: 0; }


/* Floats */

.is-floated-left { float: left !important; }
.is-floated-right { float: right !important; }

.group:after {
  content: "";
  display: table;
  clear: both !important;
}


/* Overflow */

.is-clipped { overflow: hidden !important; }


/* Shadows */

.is-shadowless { box-shadow: none !important; }

.has-shadow-1 {
  box-shadow: 0 1px 2px rgba(0,0,0,0.125),
              0 2px 4px rgba(0,0,0,0.125) !important;
}

.has-shadow-2 {
  box-shadow: 0 2px 4px rgba(0,0,0,0.125),
              0 4px 8px rgba(0,0,0,0.125) !important;
}

.has-shadow-3 {
  box-shadow: 0 4px 8px rgba(0,0,0,0.125),
              0 8px 16px rgba(0,0,0,0.125) !important;
}

.has-shadow-4 {
  box-shadow: 0 8px 16px rgba(0,0,0,0.125),
              0 16px 32px rgba(0,0,0,0.125) !important;
}

.has-shadow-5 {
  box-shadow: 0 16px 32px rgba(0,0,0,0.125),
              0 32px 64px rgba(0,0,0,0.125) !important;
}


/* Radii */

.is-rounded-min { border-radius: 2px !important; }
.is-rounded-small { border-radius: 4px !important; }
.is-rounded-medium { border-radius: 8px !important; }
.is-rounded-large { border-radius: 16px !important; }
.is-rounded-max { border-radius: 100em !important; }
.is-radiusless { border-radius: 0 !important; }
.is-oval { border-radius: 100% !important; }


/* Links */

.link,
.has-links a {
  border-bottom: 1px dotted;
  text-decoration: none;
}

.link:hover,
.has-links a:hover {
  border-bottom-style: solid;
  text-decoration: none;
}