.u-clearfix:before,
.u-clearfix:after {
  content:' ';
  display:table
}
.u-clearfix:after {
  clear:both
}

.u-position-context {
  position:relative
}
.u-position-right,
.u-position-left,
.u-position--top-right,
.u-position--bottom-right {
  position:absolute !important
}
.u-position-right {
  right:0
}
.u-position-left {
  left:0
}
.u-position--bottom-right {
  bottom:0;
  right:0
}
.u-position--top-right {
  top:0;
  right:0
}
.u-full-width {
  width:100%
}
.u-unscrollable {
  overflow:hidden
}
.u-display-i {
  display:inline
}
.u-display-b {
  display:block
}
.u-display-ib {
  display:inline-block
}
.u-display-n {
  display:none
}
.u-pointer-events-n {
  pointer-events:none
}
.u-margin-centered {
  margin-left:auto;
  margin-right:auto
}
@media screen and (min-width: 768px) {
  .u-wrap-on-desktop {
    display:block
  }
}
@media screen and (max-width: 767px) {
  .u-wrap-on-mobile {
    display:block
  }
}
.u-nowrap {
  white-space:nowrap
}
.u-float-l {
  float:left
}
.u-float-r {
  float:right
}
.u-float-n {
  float:none
}
.u-float-clear {
  clear:both
}
.u-float-clear-l {
  clear:left
}
.u-float-clear-r {
  clear:right
}
@media screen and (max-width: 767px) {
  .u-float-n-on-mobile {
    float:none
  }
}
.u-hide {
  display:none
}
.u-hide-focus {
   outline:none !important
}
@media screen and (max-width: 767px) {
  .u-hide-on-media-small {
    display:none
  }
}
@media screen and (min-width: 768px) {
  .u-hide-on-media-medium {
    display:none
  }
}

.push {
  margin:1.25em !important
}
.push--top {
  margin-top:1.25em !important
}
.push--right {
  margin-right:1.25em !important
}
.push--bottom {
  margin-bottom:1.25em !important
}
.push--left {
  margin-left:1.25em !important
}
.push--ends {
  margin-top:1.25em !important;
  margin-bottom:1.25em !important
}
.push--sides {
  margin-right:1.25em !important;
  margin-left:1.25em !important
}
.push_half {
  margin:0.625em !important
}
.push_half--top {
  margin-top:0.625em !important
}
.push_half--right {
  margin-right:0.625em !important
}
.push_half--bottom {
  margin-bottom:0.625em !important
}
.push_half--left {
  margin-left:0.625em !important
}
.push_half--ends {
  margin-top:0.625em !important;
  margin-bottom:0.625em !important;
}
.push_half--sides {
  margin-right:0.625em !important;
  margin-left:0.625em !important
}
.push_quarter {
  margin:0.3125em !important
}
.push_quarter--top {
  margin-top:0.3125em !important
}
.push_quarter--bottom {
  margin-bottom:0.3125em !important
}
.push_quarter--left {
  margin-left:0.3125em !important
}
.push_quarter--right {
  margin-right:0.3125em !important
}
.push_quarter--ends {
  margin-top:0.3125em !important;
  margin-bottom:0.3125em !important
}
.push_quarter--sides {
  margin-right:0.3125em !important;
  margin-left:0.3125em !important
}
.push_one_and_a_half--top {
  margin-top:1.875em !important
}
.push_one_and_a_half--bottom {
  margin-bottom:1.875em !important
}
.push_double {
  margin:2.5em !important
}
@media screen and (max-width: 767px) {
 .push_double {
  margin-left:0 !important;
  margin-right:0 !important
 }
}
.push_double--top {
  margin-top:2.5em !important
}
.push_double--right {
  margin-right:2.5em !important
}
.push_double--bottom {
  margin-bottom:2.5em !important
}
.push_double--left {
  margin-left:2.5em !important
}
.push_double--ends {
  margin-top:2.5em !important;
  margin-bottom:2.5em !important
}
.push_double--sides {
  margin-right:2.5em !important;
  margin-left:2.5em !important
}
.push_triple--top {
  margin-top:3.75em !important
}
.flush {
  margin:0 !important
}
.flush--top {
  margin-top:0 !important
}
.flush--right {
  margin-right:0 !important
}
.flush--bottom {
  margin-bottom:0 !important;
}
.flush--left {
  margin-left:0 !important
}
.flush--ends {
  margin-top:0 !important;
  margin-bottom:0 !important
}
.flush--sides {
  margin-right:0 !important;
  margin-left:0 !important
}
.unpad {
 padding:0 !important
}
.unpad--top {
 padding-top:0 !important
}
.unpad--right {
 padding-right:0 !important
}
.unpad--bottom {
 padding-bottom:0 !important
}
.unpad--left {
 padding-left:0 !important
}
.pull--top {
  margin-top:-1.25em !important
}
.pull_half--top {
  margin-top:-0.625em !important
}
.pull_quarter--top {
  margin-top:-0.3125em !important
}

@media screen and (max-width: 767px) {
  .u-rotate-on-media-md {
    transform: rotate(90deg);
  }
}
