/*! ace.css | https://github.com/basscss/ace | MIT License */

/* Basscss Basic */

* {
  box-sizing: border-box;
}

body {
  font-family:
    -apple-system,
    BlinkMacSystemFont,
    'Segoe UI',
    'Roboto',
    'Helvetica Neue',
    Helvetica,
    sans-serif;
  line-height: 1.5;
  margin: 0;
  color: #111;
  background-color: #fff;
}

img {
  height: auto;
}

svg {
  max-height: 100%;
}

a {
  color: #07c;
}

h1, h2, h3,
h4, h5, h6 {
  font-weight: 600;
  line-height: 1.25;
  margin-top: 1em;
  margin-bottom: .5em;
}

h1 { font-size: 2rem }

h2 { font-size: 1.5rem }

h3 { font-size: 1.25rem }

h4 { font-size: 1rem }

h5 { font-size: .875rem }

h6 { font-size: .75rem }

p, dl, ol, ul, pre, blockquote {
  margin-top: 1em;
  margin-bottom: 1em;
}

code,
pre,
samp {
  font-family:
    'Roboto Mono',
    'Source Code Pro',
    Menlo,
    Consolas,
    'Liberation Mono',
    monospace;
}

code, samp {
  font-size: 87.5%;
  padding: .125em;
}

pre {
  font-size: 87.5%;
  overflow: scroll;
}

blockquote {
  font-size: 1.25rem;
  font-style: italic;
  margin-left: 0;
}

hr {
  margin-top: 1.5em;
  margin-bottom: 1.5em;
  border: 0;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-bottom-color: #ccc;
}

/* Basscss Forms */

.label {
  font-size: .875rem;
  font-weight: bold;
  display: block;
  margin-bottom: .5rem;
}

.input {
  font-family: inherit;
  font-size: inherit;
  display: block;
  width: 100%;
  height: 2.5rem;
  padding: .5rem;
  margin-bottom: 1rem;
  border: 1px solid #ccc;
  border-radius: 3px;
  box-sizing: border-box;
}

.select {
  font-family: inherit;
  font-size: inherit;
  display: block;
  width: 100%;
  height: 2.5rem;
  padding: .5rem;
  margin-bottom: 1rem;
  border: 1px solid #ccc;
  border-radius: 3px;
  box-sizing: border-box;
}

.textarea {
  font-family: inherit;
  font-size: inherit;
  display: block;
  width: 100%;
  padding: .5rem;
  margin-bottom: 1rem;
  border: 1px solid #ccc;
  border-radius: 3px;
  box-sizing: border-box;
}

/* Basscss Input Range */

.input-range {
  vertical-align: middle;
  background-color: transparent;
  padding-top: .5rem;
  padding-bottom: .5rem;
  color: inherit;
  background-color: transparent;
  -webkit-appearance: none;
}

.input-range::-webkit-slider-thumb {
  position: relative;
  width: .5rem;
  height: 1.25rem;
  cursor: pointer;
  margin-top: -0.5rem;
  border-radius: 3px;
  background-color: currentcolor;
  -webkit-appearance: none;
}

/* Touch screen friendly pseudo element */

.input-range::-webkit-slider-thumb:before {
  content: '';
  display: block;
  position: absolute;
  top: -0.5rem;
  left: -0.875rem;
  width: 2.25rem;
  height: 2.25rem;
  opacity: 0;
}

.input-range::-moz-range-thumb {
  width: .5rem;
  height: 1.25rem;
  cursor: pointer;
  border-radius: 3px;
  border-color: transparent;
  border-width: 0;
  background-color: currentcolor;
}

.input-range::-webkit-slider-runnable-track {
  height: 0.25rem;
  cursor: pointer;
  border-radius: 3px;
  background-color: rgba(0, 0, 0, .25);
}

.input-range::-moz-range-track {
  height: 0.25rem;
  cursor: pointer;
  border-radius: 3px;
  background-color: rgba(0, 0, 0, .25);
}

.input-range:focus {
  outline: none;
}

/* Basscss Progress */

.progress {
  display: block;
  width: 100%;
  height: 0.5625rem;
  margin: .5rem 0;
  overflow: hidden;
  background-color: rgba(0, 0, 0, .125);
  border: 0;
  border-radius: 10000px;
  -webkit-appearance: none;
}

.progress::-webkit-progress-bar {
  -webkit-appearance: none;
  background-color: rgba(0, 0, 0, .125)
}

.progress::-webkit-progress-value {
  -webkit-appearance: none;
  background-color: currentcolor;
}

.progress::-moz-progress-bar {
  background-color: currentcolor;
}

/* Basscss Btn */

.btn {
  font-family: inherit;
  font-size: inherit;
  font-weight: bold;
  text-decoration: none;
  cursor: pointer;
  display: inline-block;
  line-height: 1.125rem;
  padding: .5rem 1rem;
  margin: 0;
  height: auto;
  border: 1px solid transparent;
  vertical-align: middle;
  -webkit-appearance: none;
  color: inherit;
  background-color: transparent;
}

.btn:hover {
  text-decoration: none;
}

.btn:focus {
  outline: none;
  border-color: rgba(0, 0, 0, .125);
  box-shadow: 0 0 0 3px rgba(0, 0, 0, .25);
}

::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/* Basscss Btn Sizes */

.btn-small {
  padding: .25rem .5rem;
}

.btn-big {
  padding: 1rem 1.25rem;
}

.btn-narrow {
  padding-left: .5rem;
  padding-right: .5rem;
}

/* Basscss Btn Primary */

.btn-primary {
  color: #fff;
  background-color: #0074D9;
  border-radius: 3px;
}

.btn-primary:hover {
  box-shadow: inset 0 0 0 20rem rgba(0, 0, 0, .0625);
}

.btn-primary:active {
  box-shadow: inset 0 0 0 20rem rgba(0, 0, 0, .125),
    inset 0 3px 4px 0 rgba(0, 0, 0, .25),
    0 0 1px rgba(0, 0, 0, .125);
}

.btn-primary:disabled,
.btn-primary.is-disabled {
  opacity: .5;
}

/* Basscss Btn Outline */

.btn-outline,
.btn-outline:hover {
  border-color: currentcolor;
}

.btn-outline {
  border-radius: 3px;
}

.btn-outline:hover {
  box-shadow: inset 0 0 0 20rem rgba(0, 0, 0, .0625);
}

.btn-outline:active {
  box-shadow: inset 0 0 0 20rem rgba(0, 0, 0, .125),
    inset 0 3px 4px 0 rgba(0, 0, 0, .25),
    0 0 1px rgba(0, 0, 0, .125);
}

.btn-outline:disabled,
.btn-outline.is-disabled {
  opacity: .5;
}

/* Basscss Media Object */

.media,
.sm-media,
.md-media,
.lg-media {
  margin-left: -.5rem;
  margin-right: -.5rem;
}

.media {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.media-center {
  -webkit-box-align: center;
      -ms-flex-align: center;
              -ms-grid-row-align: center;
          align-items: center;
}

.media-bottom {
  -webkit-box-align: end;
      -ms-flex-align: end;
              -ms-grid-row-align: flex-end;
          align-items: flex-end;
}

.media-img,
.media-body {
  padding-left: .5rem;
  padding-right: .5rem;
}

.media-body {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
}

@media (min-width: 40em) {
  .sm-media { display: -webkit-box; display: -ms-flexbox; display: flex }
}

@media (min-width: 52em) {
  .md-media { display: -webkit-box; display: -ms-flexbox; display: flex }
}

@media (min-width: 64em) {
  .lg-media { display: -webkit-box; display: -ms-flexbox; display: flex }
}

/*! Basscss | http://basscss.com | MIT License */

/* Basscss Type Scale */

.h1 { font-size: 2rem }

.h2 { font-size: 1.5rem }

.h3 { font-size: 1.25rem }

.h4 { font-size: 1rem }

.h5 { font-size: .875rem }

.h6 { font-size: .75rem }

/* Basscss Typography */

.font-family-inherit { font-family: inherit }

.font-size-inherit { font-size: inherit }

.text-decoration-none { text-decoration: none }

.bold    { font-weight: bold; font-weight: bold }

.regular { font-weight: normal }

.italic  { font-style: italic }

.caps    { text-transform: uppercase; letter-spacing: .2em; }

.left-align   { text-align: left }

.center       { text-align: center }

.right-align  { text-align: right }

.justify      { text-align: justify }

.nowrap { white-space: nowrap }

.break-word { word-wrap: break-word }

.line-height-1 { line-height: 1 }

.line-height-2 { line-height: 1.125 }

.line-height-3 { line-height: 1.25 }

.line-height-4 { line-height: 1.5 }

.list-style-none { list-style: none }

.underline { text-decoration: underline }

.truncate {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.list-reset {
  list-style: none;
  padding-left: 0;
}

/* Basscss Layout */

.inline       { display: inline }

.block        { display: block }

.inline-block { display: inline-block }

.table        { display: table }

.table-cell   { display: table-cell }

.table-border-collapse { border-collapse: collapse;  }

.overflow-hidden { overflow: hidden }

.overflow-scroll { overflow: scroll }

.overflow-auto   { overflow: auto }

.clearfix:before,
.clearfix:after {
  content: " ";
  display: table
}

.clearfix:after { clear: both }

.left  { float: left }

.right { float: right }

.fit { max-width: 100% }

.max-width-1 { max-width: 24rem }

.max-width-2 { max-width: 32rem }

.max-width-3 { max-width: 48rem }

.max-width-4 { max-width: 64rem }

.max-width-5 { max-width: 80rem }

.max-width-1024 { max-width: 1024px }

.max-width-1280 { max-width: 1280px }

.max-width-1400 { max-width: 1400px }


.border-box { box-sizing: border-box }

/* Basscss Align */

.align-baseline { vertical-align: baseline }

.align-top      { vertical-align: top }

.align-middle   { vertical-align: middle }

.align-bottom   { vertical-align: bottom }

/* Basscss Margin */

.m0  { margin:        0 }

.mt0 { margin-top:    0 }

.mr0 { margin-right:  0 }

.mb0 { margin-bottom: 0 }

.ml0 { margin-left:   0 }

.mx0 { margin-left:   0; margin-right:  0 }

.my0 { margin-top:    0; margin-bottom: 0 }

.m1  { margin: .5rem }

.mt1 { margin-top: .5rem }

.mr1 { margin-right: .5rem }

.mb1 { margin-bottom: .5rem }

.ml1 { margin-left: .5rem }

.mx1 { margin-left: .5rem; margin-right: .5rem }

.my1 { margin-top: .5rem; margin-bottom: .5rem }

.m2  { margin: 1rem }

.mt2 { margin-top: 1rem }

.mr2 { margin-right: 1rem }

.mb2 { margin-bottom: 1rem }

.ml2 { margin-left: 1rem }

.mx2 { margin-left: 1rem; margin-right: 1rem }

.my2 { margin-top: 1rem; margin-bottom: 1rem }

.m3  { margin: 2rem }

.mt3 { margin-top: 2rem }

.mr3 { margin-right: 2rem }

.mb3 { margin-bottom: 2rem }

.ml3 { margin-left: 2rem }

.mx3 { margin-left: 2rem; margin-right: 2rem }

.my3 { margin-top: 2rem; margin-bottom: 2rem }

.m4  { margin: 4rem }

.mt4 { margin-top: 4rem }

.mr4 { margin-right: 4rem }

.mb4 { margin-bottom: 4rem }

.ml4 { margin-left: 4rem }

.mx4 { margin-left: 4rem; margin-right: 4rem }

.my4 { margin-top: 4rem; margin-bottom: 4rem }

.mxn1 { margin-left: -.5rem; margin-right: -.5rem; }

.mxn2 { margin-left: -1rem; margin-right: -1rem; }

.mxn3 { margin-left: -2rem; margin-right: -2rem; }

.mxn4 { margin-left: -4rem; margin-right: -4rem; }

.ml-auto { margin-left: auto }

.mr-auto { margin-right: auto }

.mx-auto { margin-left: auto; margin-right: auto; }

/* Basscss Padding */

.p0  { padding: 0 }

.pt0 { padding-top: 0 }

.pr0 { padding-right: 0 }

.pb0 { padding-bottom: 0 }

.pl0 { padding-left: 0 }

.px0 { padding-left: 0; padding-right:  0 }

.py0 { padding-top: 0;  padding-bottom: 0 }

.p1  { padding: .5rem }

.pt1 { padding-top: .5rem }

.pr1 { padding-right: .5rem }

.pb1 { padding-bottom: .5rem }

.pl1 { padding-left: .5rem }

.py1 { padding-top: .5rem; padding-bottom: .5rem }

.px1 { padding-left: .5rem; padding-right: .5rem }

.p2  { padding: 1rem }

.pt2 { padding-top: 1rem }

.pr2 { padding-right: 1rem }

.pb2 { padding-bottom: 1rem }

.pl2 { padding-left: 1rem }

.py2 { padding-top: 1rem; padding-bottom: 1rem }

.px2 { padding-left: 1rem; padding-right: 1rem }

.p3  { padding: 2rem }

.pt3 { padding-top: 2rem }

.pr3 { padding-right: 2rem }

.pb3 { padding-bottom: 2rem }

.pl3 { padding-left: 2rem }

.py3 { padding-top: 2rem; padding-bottom: 2rem }

.px3 { padding-left: 2rem; padding-right: 2rem }

.p4  { padding: 4rem }

.pt4 { padding-top: 4rem }

.pr4 { padding-right: 4rem }

.pb4 { padding-bottom: 4rem }

.pl4 { padding-left: 4rem }

.py4 { padding-top: 4rem; padding-bottom: 4rem }

.px4 { padding-left: 4rem; padding-right: 4rem }

.pl5 { padding-left: 5rem }

.pl6 { padding-left: 6rem }

.pl7 { padding-left: 7rem }

.pl8 { padding-left: 8rem }

.pl9 { padding-left: 9rem }

.pl10 { padding-left: 10rem }

.pl11 { padding-left: 11rem }

.pl12 { padding-left: 12rem }

.pl13 { padding-left: 13rem }

.pl14 { padding-left: 14rem }

.pl15 { padding-left: 15rem }

.pl16 { padding-left: 16rem }

.pl17 { padding-left: 17rem }

.pl18 { padding-left: 18rem }

.pl19 { padding-left: 19rem }

.pl20 { padding-left: 20rem }



/* Basscss Grid */

.col {
  float: left;
  box-sizing: border-box;
}

.col-right {
  float: right;
  box-sizing: border-box;
}

.col-1 {
  width: 8.33333%;
}

.col-2 {
  width: 16.66667%;
}

.col-3 {
  width: 25%;
}

.col-4 {
  width: 33.33333%;
}

.col-5 {
  width: 41.66667%;
}

.col-6 {
  width: 50%;
}

.col-7 {
  width: 58.33333%;
}

.col-8 {
  width: 66.66667%;
}

.col-9 {
  width: 75%;
}

.col-10 {
  width: 83.33333%;
}

.col-11 {
  width: 91.66667%;
}

.col-12 {
  width: 100%;
}

@media (min-width: 40em) {

  .sm-col {
    float: left;
    box-sizing: border-box;
  }

  .sm-col-right {
    float: right;
    box-sizing: border-box;
  }

  .sm-col-1 {
    width: 8.33333%;
  }

  .sm-col-2 {
    width: 16.66667%;
  }

  .sm-col-3 {
    width: 25%;
  }

  .sm-col-4 {
    width: 33.33333%;
  }

  .sm-col-5 {
    width: 41.66667%;
  }

  .sm-col-6 {
    width: 50%;
  }

  .sm-col-7 {
    width: 58.33333%;
  }

  .sm-col-8 {
    width: 66.66667%;
  }

  .sm-col-9 {
    width: 75%;
  }

  .sm-col-10 {
    width: 83.33333%;
  }

  .sm-col-11 {
    width: 91.66667%;
  }

  .sm-col-12 {
    width: 100%;
  }

}

@media (min-width: 52em) {

  .md-col {
    float: left;
    box-sizing: border-box;
  }

  .md-col-right {
    float: right;
    box-sizing: border-box;
  }

  .md-col-1 {
    width: 8.33333%;
  }

  .md-col-2 {
    width: 16.66667%;
  }

  .md-col-3 {
    width: 25%;
  }

  .md-col-4 {
    width: 33.33333%;
  }

  .md-col-5 {
    width: 41.66667%;
  }

  .md-col-6 {
    width: 50%;
  }

  .md-col-7 {
    width: 58.33333%;
  }

  .md-col-8 {
    width: 66.66667%;
  }

  .md-col-9 {
    width: 75%;
  }

  .md-col-10 {
    width: 83.33333%;
  }

  .md-col-11 {
    width: 91.66667%;
  }

  .md-col-12 {
    width: 100%;
  }

}

@media (min-width: 64em) {

  .lg-col {
    float: left;
    box-sizing: border-box;
  }

  .lg-col-right {
    float: right;
    box-sizing: border-box;
  }

  .lg-col-1 {
    width: 8.33333%;
  }

  .lg-col-2 {
    width: 16.66667%;
  }

  .lg-col-3 {
    width: 25%;
  }

  .lg-col-4 {
    width: 33.33333%;
  }

  .lg-col-5 {
    width: 41.66667%;
  }

  .lg-col-6 {
    width: 50%;
  }

  .lg-col-7 {
    width: 58.33333%;
  }

  .lg-col-8 {
    width: 66.66667%;
  }

  .lg-col-9 {
    width: 75%;
  }

  .lg-col-10 {
    width: 83.33333%;
  }

  .lg-col-11 {
    width: 91.66667%;
  }

  .lg-col-12 {
    width: 100%;
  }

}

.flex { display: -webkit-box; display: -ms-flexbox; display: flex }

@media (min-width: 40em) {
  .sm-flex { display: -webkit-box; display: -ms-flexbox; display: flex }
}

@media (min-width: 52em) {
  .md-flex { display: -webkit-box; display: -ms-flexbox; display: flex }
}

@media (min-width: 64em) {
  .lg-flex { display: -webkit-box; display: -ms-flexbox; display: flex }
}

.flex-column  { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column }

.flex-wrap    { -ms-flex-wrap: wrap; flex-wrap: wrap }

.items-start    { -webkit-box-align: start; -ms-flex-align: start; -ms-grid-row-align: flex-start; align-items: flex-start }

.items-end      { -webkit-box-align: end; -ms-flex-align: end; -ms-grid-row-align: flex-end; align-items: flex-end }

.items-center   { -webkit-box-align: center; -ms-flex-align: center; -ms-grid-row-align: center; align-items: center }

.items-baseline { -webkit-box-align: baseline; -ms-flex-align: baseline; -ms-grid-row-align: baseline; align-items: baseline }

.items-stretch  { -webkit-box-align: stretch; -ms-flex-align: stretch; -ms-grid-row-align: stretch; align-items: stretch }

.self-start    { -ms-flex-item-align: start; align-self: flex-start }

.self-end      { -ms-flex-item-align: end; align-self: flex-end }

.self-center   { -ms-flex-item-align: center; align-self: center }

.self-baseline { -ms-flex-item-align: baseline; align-self: baseline }

.self-stretch  { -ms-flex-item-align: stretch; align-self: stretch }

.justify-start   { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start }

.justify-end     { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end }

.justify-center  { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center }

.justify-between { -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between }

.justify-around  { -ms-flex-pack: distribute; justify-content: space-around }

.content-start   { -ms-flex-line-pack: start; align-content: flex-start }

.content-end     { -ms-flex-line-pack: end; align-content: flex-end }

.content-center  { -ms-flex-line-pack: center; align-content: center }

.content-between { -ms-flex-line-pack: justify; align-content: space-between }

.content-around  { -ms-flex-line-pack: distribute; align-content: space-around }

.content-stretch { -ms-flex-line-pack: stretch; align-content: stretch }

/* 1. Fix for Chrome 44 bug. https://code.google.com/p/chromium/issues/detail?id=506893 */

.flex-auto {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  min-width: 0; /* 1 */
  min-height: 0; /* 1 */
}

.flex-none { -webkit-box-flex: 0; -ms-flex: none; flex: none }

.order-0 { -webkit-box-ordinal-group: 1; -ms-flex-order: 0; order: 0 }

.order-1 { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1 }

.order-2 { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2 }

.order-3 { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3 }

.order-last { -webkit-box-ordinal-group: 100000; -ms-flex-order: 99999; order: 99999 }

/* Basscss Position */

.relative { position: relative }

.absolute { position: absolute }

.absolute-i { position: absolute !important; }


.fixed    { position: fixed }

.top-0    { top: 0 }

.right-0  { right: 0 }

.bottom-0 { bottom: 0 }

.left-0   { left: 0 }

.z1 { z-index: 1 }

.z2 { z-index: 2 }

.z3 { z-index: 3 }
.z3-i { z-index: 3 !important; }

.z4 { z-index: 4 }
.z4-i { z-index: 4 !important; }

.z5 { z-index: 5 }
.z5-i { z-index: 5 !important; }

.z6 { z-index: 6 }
.z6-i { z-index: 6 !important; }

.z7 { z-index: 7 }
.z7-i { z-index: 7 !important; }

.z8 { z-index: 8 }

/* Basscss Border */

.border, .border-1 {
  border-style: solid;
  border-width: 1px;
}

.border-top {
  border-top-style: solid;
  border-top-width: 1px;
}

.border-right {
  border-right-style: solid;
  border-right-width: 1px;
}

.border-bottom {
  border-bottom-style: solid;
  border-bottom-width: 1px;
}

.border-left {
  border-left-style: solid;
  border-left-width: 1px;
}

.border-none { border: 0 }

.rounded { border-radius: 3px }

.circle  { border-radius: 50% }

.rounded-top    { border-radius: 3px 3px 0 0 }

.rounded-right  { border-radius: 0 3px 3px 0 }

.rounded-bottom { border-radius: 0 0 3px 3px }

.rounded-left   { border-radius: 3px 0 0 3px }

.not-rounded { border-radius: 0 }

/* Basscss Hide */

.hide {
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
}

@media (max-width: 40em) {
  .xs-hide { display: none !important }
}

@media (min-width: 40em) and (max-width: 52em) {
  .sm-hide { display: none !important }
}

@media (min-width: 52em) and (max-width: 64em) {
  .md-hide { display: none !important }
}

@media (min-width: 64em) {
  .lg-hide { display: none !important }
}

.display-none { display: none !important }

/* Basscss Responsive Margin */

@media (min-width: 40em) {

  .sm-m0  { margin:        0 }
  .sm-mt0 { margin-top:    0 }
  .sm-mr0 { margin-right:  0 }
  .sm-mb0 { margin-bottom: 0 }
  .sm-ml0 { margin-left:   0 }
  .sm-mx0 { margin-left:   0; margin-right:  0 }
  .sm-my0 { margin-top:    0; margin-bottom: 0 }

  .sm-m1  { margin: .5rem }
  .sm-mt1 { margin-top: .5rem }
  .sm-mr1 { margin-right: .5rem }
  .sm-mb1 { margin-bottom: .5rem }
  .sm-ml1 { margin-left: .5rem }
  .sm-mx1 { margin-left: .5rem; margin-right: .5rem }
  .sm-my1 { margin-top: .5rem; margin-bottom: .5rem }

  .sm-m2  { margin: 1rem }
  .sm-mt2 { margin-top: 1rem }
  .sm-mr2 { margin-right: 1rem }
  .sm-mb2 { margin-bottom: 1rem }
  .sm-ml2 { margin-left: 1rem }
  .sm-mx2 { margin-left: 1rem; margin-right: 1rem }
  .sm-my2 { margin-top: 1rem; margin-bottom: 1rem }

  .sm-m3  { margin: 2rem }
  .sm-mt3 { margin-top: 2rem }
  .sm-mr3 { margin-right: 2rem }
  .sm-mb3 { margin-bottom: 2rem }
  .sm-ml3 { margin-left: 2rem }
  .sm-mx3 { margin-left: 2rem; margin-right: 2rem }
  .sm-my3 { margin-top: 2rem; margin-bottom: 2rem }

  .sm-m4  { margin: 4rem }
  .sm-mt4 { margin-top: 4rem }
  .sm-mr4 { margin-right: 4rem }
  .sm-mb4 { margin-bottom: 4rem }
  .sm-ml4 { margin-left: 4rem }
  .sm-mx4 { margin-left: 4rem; margin-right: 4rem }
  .sm-my4 { margin-top: 4rem; margin-bottom: 4rem }

  .sm-mxn1 { margin-left: -.5rem; margin-right: -.5rem }
  .sm-mxn2 { margin-left: -1rem; margin-right: -1rem }
  .sm-mxn3 { margin-left: -2rem; margin-right: -2rem }
  .sm-mxn4 { margin-left: -4rem; margin-right: -4rem }

  .sm-ml-auto { margin-left:  auto }
  .sm-mr-auto { margin-right: auto }
  .sm-mx-auto { margin-left:  auto; margin-right: auto }

}

@media (min-width: 52em) {

  .md-m0  { margin:        0 }
  .md-mt0 { margin-top:    0 }
  .md-mr0 { margin-right:  0 }
  .md-mb0 { margin-bottom: 0 }
  .md-ml0 { margin-left:   0 }
  .md-mx0 { margin-left:   0; margin-right:  0 }
  .md-my0 { margin-top:    0; margin-bottom: 0 }

  .md-m1  { margin: .5rem }
  .md-mt1 { margin-top: .5rem }
  .md-mr1 { margin-right: .5rem }
  .md-mb1 { margin-bottom: .5rem }
  .md-ml1 { margin-left: .5rem }
  .md-mx1 { margin-left: .5rem; margin-right: .5rem }
  .md-my1 { margin-top: .5rem; margin-bottom: .5rem }

  .md-m2  { margin: 1rem }
  .md-mt2 { margin-top: 1rem }
  .md-mr2 { margin-right: 1rem }
  .md-mb2 { margin-bottom: 1rem }
  .md-ml2 { margin-left: 1rem }
  .md-mx2 { margin-left: 1rem; margin-right: 1rem }
  .md-my2 { margin-top: 1rem; margin-bottom: 1rem }

  .md-m3  { margin: 2rem }
  .md-mt3 { margin-top: 2rem }
  .md-mr3 { margin-right: 2rem }
  .md-mb3 { margin-bottom: 2rem }
  .md-ml3 { margin-left: 2rem }
  .md-mx3 { margin-left: 2rem; margin-right: 2rem }
  .md-my3 { margin-top: 2rem; margin-bottom: 2rem }

  .md-m4  { margin: 4rem }
  .md-mt4 { margin-top: 4rem }
  .md-mr4 { margin-right: 4rem }
  .md-mb4 { margin-bottom: 4rem }
  .md-ml4 { margin-left: 4rem }
  .md-mx4 { margin-left: 4rem; margin-right: 4rem }
  .md-my4 { margin-top: 4rem; margin-bottom: 4rem }

  .md-mxn1 { margin-left: -.5rem; margin-right: -.5rem; }
  .md-mxn2 { margin-left: -1rem; margin-right: -1rem; }
  .md-mxn3 { margin-left: -2rem; margin-right: -2rem; }
  .md-mxn4 { margin-left: -4rem; margin-right: -4rem; }

  .md-ml-auto { margin-left:  auto }
  .md-mr-auto { margin-right: auto }
  .md-mx-auto { margin-left: auto; margin-right: auto; }

}

@media (min-width: 64em) {

  .lg-m0  { margin:        0 }
  .lg-mt0 { margin-top:    0 }
  .lg-mr0 { margin-right:  0 }
  .lg-mb0 { margin-bottom: 0 }
  .lg-ml0 { margin-left:   0 }
  .lg-mx0 { margin-left:   0; margin-right:  0 }
  .lg-my0 { margin-top:    0; margin-bottom: 0 }

  .lg-m1  { margin: .5rem }
  .lg-mt1 { margin-top: .5rem }
  .lg-mr1 { margin-right: .5rem }
  .lg-mb1 { margin-bottom: .5rem }
  .lg-ml1 { margin-left: .5rem }
  .lg-mx1 { margin-left: .5rem; margin-right: .5rem }
  .lg-my1 { margin-top: .5rem; margin-bottom: .5rem }

  .lg-m2  { margin: 1rem }
  .lg-mt2 { margin-top: 1rem }
  .lg-mr2 { margin-right: 1rem }
  .lg-mb2 { margin-bottom: 1rem }
  .lg-ml2 { margin-left: 1rem }
  .lg-mx2 { margin-left: 1rem; margin-right: 1rem }
  .lg-my2 { margin-top: 1rem; margin-bottom: 1rem }

  .lg-m3  { margin: 2rem }
  .lg-mt3 { margin-top: 2rem }
  .lg-mr3 { margin-right: 2rem }
  .lg-mb3 { margin-bottom: 2rem }
  .lg-ml3 { margin-left: 2rem }
  .lg-mx3 { margin-left: 2rem; margin-right: 2rem }
  .lg-my3 { margin-top: 2rem; margin-bottom: 2rem }

  .lg-m4  { margin: 4rem }
  .lg-mt4 { margin-top: 4rem }
  .lg-mr4 { margin-right: 4rem }
  .lg-mb4 { margin-bottom: 4rem }
  .lg-ml4 { margin-left: 4rem }
  .lg-mx4 { margin-left: 4rem; margin-right: 4rem }
  .lg-my4 { margin-top: 4rem; margin-bottom: 4rem }

  .lg-mxn1 { margin-left: -.5rem; margin-right: -.5rem; }
  .lg-mxn2 { margin-left: -1rem; margin-right: -1rem; }
  .lg-mxn3 { margin-left: -2rem; margin-right: -2rem; }
  .lg-mxn4 { margin-left: -4rem; margin-right: -4rem; }

  .lg-ml-auto { margin-left:  auto }
  .lg-mr-auto { margin-right: auto }
  .lg-mx-auto { margin-left: auto; margin-right: auto; }

}

/* Basscss Responsive Padding */

@media (min-width: 40em) {

  .sm-p0  { padding:        0 }
  .sm-pt0 { padding-top:    0 }
  .sm-pr0 { padding-right:  0 }
  .sm-pb0 { padding-bottom: 0 }
  .sm-pl0 { padding-left:   0 }
  .sm-px0 { padding-left:   0; padding-right:  0 }
  .sm-py0 { padding-top:    0; padding-bottom: 0 }

  .sm-p1  { padding: .5rem }
  .sm-pt1 { padding-top: .5rem }
  .sm-pr1 { padding-right: .5rem }
  .sm-pb1 { padding-bottom: .5rem }
  .sm-pl1 { padding-left: .5rem }
  .sm-px1 { padding-left: .5rem; padding-right: .5rem }
  .sm-py1 { padding-top: .5rem; padding-bottom: .5rem }

  .sm-p2  { padding: 1rem }
  .sm-pt2 { padding-top: 1rem }
  .sm-pr2 { padding-right: 1rem }
  .sm-pb2 { padding-bottom: 1rem }
  .sm-pl2 { padding-left: 1rem }
  .sm-px2 { padding-left: 1rem; padding-right: 1rem }
  .sm-py2 { padding-top: 1rem; padding-bottom: 1rem }

  .sm-p3  { padding: 2rem }
  .sm-pt3 { padding-top: 2rem }
  .sm-pr3 { padding-right: 2rem }
  .sm-pb3 { padding-bottom: 2rem }
  .sm-pl3 { padding-left: 2rem }
  .sm-px3 { padding-left: 2rem; padding-right: 2rem }
  .sm-py3 { padding-top: 2rem; padding-bottom: 2rem }

  .sm-p4  { padding: 4rem }
  .sm-pt4 { padding-top: 4rem }
  .sm-pr4 { padding-right: 4rem }
  .sm-pb4 { padding-bottom: 4rem }
  .sm-pl4 { padding-left: 4rem }
  .sm-px4 { padding-left: 4rem; padding-right: 4rem }
  .sm-py4 { padding-top: 4rem; padding-bottom: 4rem }

}

@media (min-width: 52em) {

  .md-p0  { padding:        0 }
  .md-pt0 { padding-top:    0 }
  .md-pr0 { padding-right:  0 }
  .md-pb0 { padding-bottom: 0 }
  .md-pl0 { padding-left:   0 }
  .md-px0 { padding-left:   0; padding-right:  0 }
  .md-py0 { padding-top:    0; padding-bottom: 0 }

  .md-p1  { padding: .5rem }
  .md-pt1 { padding-top: .5rem }
  .md-pr1 { padding-right: .5rem }
  .md-pb1 { padding-bottom: .5rem }
  .md-pl1 { padding-left: .5rem }
  .md-px1 { padding-left: .5rem; padding-right: .5rem }
  .md-py1 { padding-top: .5rem; padding-bottom: .5rem }

  .md-p2  { padding: 1rem }
  .md-pt2 { padding-top: 1rem }
  .md-pr2 { padding-right: 1rem }
  .md-pb2 { padding-bottom: 1rem }
  .md-pl2 { padding-left: 1rem }
  .md-px2 { padding-left: 1rem; padding-right: 1rem }
  .md-py2 { padding-top: 1rem; padding-bottom: 1rem }

  .md-p3  { padding: 2rem }
  .md-pt3 { padding-top: 2rem }
  .md-pr3 { padding-right: 2rem }
  .md-pb3 { padding-bottom: 2rem }
  .md-pl3 { padding-left: 2rem }
  .md-px3 { padding-left: 2rem; padding-right: 2rem }
  .md-py3 { padding-top: 2rem; padding-bottom: 2rem }

  .md-p4  { padding: 4rem }
  .md-pt4 { padding-top: 4rem }
  .md-pr4 { padding-right: 4rem }
  .md-pb4 { padding-bottom: 4rem }
  .md-pl4 { padding-left: 4rem }
  .md-px4 { padding-left: 4rem; padding-right: 4rem }
  .md-py4 { padding-top: 4rem; padding-bottom: 4rem }

}

@media (min-width: 64em) {

  .lg-p0  { padding:        0 }
  .lg-pt0 { padding-top:    0 }
  .lg-pr0 { padding-right:  0 }
  .lg-pb0 { padding-bottom: 0 }
  .lg-pl0 { padding-left:   0 }
  .lg-px0 { padding-left:   0; padding-right:  0 }
  .lg-py0 { padding-top:    0; padding-bottom: 0 }

  .lg-p1  { padding: .5rem }
  .lg-pt1 { padding-top: .5rem }
  .lg-pr1 { padding-right: .5rem }
  .lg-pb1 { padding-bottom: .5rem }
  .lg-pl1 { padding-left: .5rem }
  .lg-px1 { padding-left: .5rem; padding-right: .5rem }
  .lg-py1 { padding-top: .5rem; padding-bottom: .5rem }

  .lg-p2  { padding: 1rem }
  .lg-pt2 { padding-top: 1rem }
  .lg-pr2 { padding-right: 1rem }
  .lg-pb2 { padding-bottom: 1rem }
  .lg-pl2 { padding-left: 1rem }
  .lg-px2 { padding-left: 1rem; padding-right: 1rem }
  .lg-py2 { padding-top: 1rem; padding-bottom: 1rem }

  .lg-p3  { padding: 2rem }
  .lg-pt3 { padding-top: 2rem }
  .lg-pr3 { padding-right: 2rem }
  .lg-pb3 { padding-bottom: 2rem }
  .lg-pl3 { padding-left: 2rem }
  .lg-px3 { padding-left: 2rem; padding-right: 2rem }
  .lg-py3 { padding-top: 2rem; padding-bottom: 2rem }

  .lg-p4  { padding: 4rem }
  .lg-pt4 { padding-top: 4rem }
  .lg-pr4 { padding-right: 4rem }
  .lg-pb4 { padding-bottom: 4rem }
  .lg-pl4 { padding-left: 4rem }
  .lg-px4 { padding-left: 4rem; padding-right: 4rem }
  .lg-py4 { padding-top: 4rem; padding-bottom: 4rem }

}

/* Basscss Responsive Layout */

@media (min-width: 40em) {

  .sm-inline       { display: inline }
  .sm-block        { display: block }
  .sm-inline-block { display: inline-block }
  .sm-table        { display: table }
  .sm-table-cell   { display: table-cell }

  .sm-overflow-hidden { overflow: hidden }
  .sm-overflow-scroll { overflow: scroll }
  .sm-overflow-auto   { overflow: auto }

  .sm-left  { float: left }
  .sm-right { float: right }

}

@media (min-width: 52em) {

  .md-inline       { display: inline }
  .md-block        { display: block }
  .md-inline-block { display: inline-block }
  .md-table        { display: table }
  .md-table-cell   { display: table-cell }

  .md-overflow-hidden { overflow: hidden }
  .md-overflow-scroll { overflow: scroll }
  .md-overflow-auto   { overflow: auto }

  .md-left  { float: left }
  .md-right { float: right }

}

@media (min-width: 64em) {

  .lg-inline       { display: inline }
  .lg-block        { display: block }
  .lg-inline-block { display: inline-block }
  .lg-table        { display: table }
  .lg-table-cell   { display: table-cell }

  .lg-overflow-hidden { overflow: hidden }
  .lg-overflow-scroll { overflow: scroll }
  .lg-overflow-auto   { overflow: auto }

  .lg-left  { float: left }
  .lg-right { float: right }

}

/* Basscss Responsive Position */

@media (min-width: 40em) {
  .sm-relative { position: relative }
  .sm-absolute { position: absolute }
  .sm-fixed    { position: fixed }

  .sm-top-0    { top: 0 }
  .sm-right-0  { right: 0 }
  .sm-bottom-0 { bottom: 0 }
  .sm-left-0   { left: 0 }
}

@media (min-width: 52em) {
  .md-relative { position: relative }
  .md-absolute { position: absolute }
  .md-fixed    { position: fixed }

  .md-top-0    { top: 0 }
  .md-right-0  { right: 0 }
  .md-bottom-0 { bottom: 0 }
  .md-left-0   { left: 0 }
}

@media (min-width: 64em) {
  .lg-relative { position: relative }
  .lg-absolute { position: absolute }
  .lg-fixed    { position: fixed }

  .lg-top-0    { top: 0 }
  .lg-right-0  { right: 0 }
  .lg-bottom-0 { bottom: 0 }
  .lg-left-0   { left: 0 }
}

/* Basscss Responsive Typography */

@media (min-width: 40em) {
  .sm-left-align   { text-align: left }
  .sm-center       { text-align: center }
  .sm-right-align  { text-align: right }
  .sm-justify      { text-align: justify }
}

@media (min-width: 52em) {
  .md-left-align   { text-align: left }
  .md-center       { text-align: center }
  .md-right-align  { text-align: right }
  .md-justify      { text-align: justify }
}

@media (min-width: 64em) {
  .lg-left-align   { text-align: left }
  .lg-center       { text-align: center }
  .lg-right-align  { text-align: right }
  .lg-justify      { text-align: justify }
}

/* Basscss Responsive Type Scale */

@media (min-width: 40em) {
  .sm-h00 { font-size: 4rem }
  .sm-h0 { font-size: 3rem }
  .sm-h1 { font-size: 2rem }
  .sm-h2 { font-size: 1.5rem }
  .sm-h3 { font-size: 1.25rem }
  .sm-h4 { font-size: 1rem }
  .sm-h5 { font-size: .875rem }
  .sm-h6 { font-size: .75rem }
}

@media (min-width: 52em) {
  .md-h00 { font-size: 4rem }
  .md-h0 { font-size: 3rem }
  .md-h1 { font-size: 2rem }
  .md-h2 { font-size: 1.5rem }
  .md-h3 { font-size: 1.25rem }
  .md-h4 { font-size: 1rem }
  .md-h5 { font-size: .875rem }
  .md-h6 { font-size: .75rem }
}

@media (min-width: 64em) {
  .lg-h00 { font-size: 4rem }
  .lg-h0 { font-size: 3rem }
  .lg-h1 { font-size: 2rem }
  .lg-h2 { font-size: 1.5rem }
  .lg-h3 { font-size: 1.25rem }
  .lg-h4 { font-size: 1rem }
  .lg-h5 { font-size: .875rem }
  .lg-h6 { font-size: .75rem }
}

/* Basscss Colors */

/* 

   VARIABLES

   - Cool
   - Warm
   - Gray Scale

*/

.black  { color: #111111 }
.black-i  { color: #111111 !important; }

.gray   { color: #AAAAAA }

.silver { color: #DDDDDD }
.silver-i { color: #DDDDDD !important; }

.white  { color: #FFFFFF }

.aqua  { color: #7FDBFF }

.blue  { color: #0074D9 }

.navy  { color: #001F3F }

.teal  { color: #39CCCC }

.green { color: #2ECC40 }

.olive { color: #3D9970 }

.lime  { color: #01FF70 }
.hv-lime:hover { color: #01FF70 }

.yellow  { color: #FFDC00 }

.hv-yellow:hover {  color: #FFDC00  }

.orange  { color: #FF851B }

.red     { color: #FF4136 }

.fuchsia { color: #F012BE }

.purple  { color: #B10DC9 }

.maroon  { color: #85144B }

.color-inherit { color: inherit }

.muted { opacity: .5 }

/* Basscss Background Colors */

.bg-black  { background-color: #111111 }

.bg-gray   { background-color: #AAAAAA }
.bg-gray-i  { background-color: #AAAAAA !important }

.bg-silver { background-color: #DDDDDD }

.bg-white  { background-color: #FFFFFF }
.bg-white-i  { background-color: #FFFFFF !important}

.bg-aqua  { background-color: #7FDBFF }

.bg-blue  { background-color: #0074D9 }

.bg-navy  { background-color: #001F3F }

.bg-teal  { background-color: #39CCCC }

.bg-green { background-color: #2ECC40 }

.bg-olive { background-color: #3D9970 }

.bg-lime  { background-color: #01FF70 }

.bg-yellow  { background-color: #FFDC00 }

.bg-orange  { background-color: #FF851B }

.bg-red     { background-color: #FF4136 }

.bg-fuchsia { background-color: #F012BE }

.bg-purple  { background-color: #B10DC9 }

.bg-maroon  { background-color: #85144B }

.bg-tan { background-color: #a5914d }

.bluegray { color: #88a6b0;}

/* Basscss Border Colors */

.border-black  { border-color: #111111 }

.border-gray   { border-color: #AAAAAA }
.border-gray-i   { border-color: #AAAAAA  !important; }

.border-silver { border-color: #DDDDDD }
.border-silver-i { border-color: #DDDDDD  !important; }

.border-white  { border-color: #FFFFFF }

.border-aqua  { border-color: #7FDBFF }

.border-aqua-i  { border-color: #7FDBFF !important; }

.border-blue  { border-color: #0074D9 }

.border-navy  { border-color: #001F3F }

.border-teal  { border-color: #39CCCC }

.border-green { border-color: #2ECC40 }

.border-olive { border-color: #3D9970 }

.border-lime  { border-color: #01FF70 }

.border-yellow  { border-color: #FFDC00 }

.border-orange  { border-color: #FF851B }

.border-red     { border-color: #FF4136 }

.border-fuchsia { border-color: #F012BE }

.border-purple  { border-color: #B10DC9 }

.border-blue-purple { border-color: #40478f; }

.bg-blue-purple { background-color: #40478f; }

.hv-bg-blue-purple:hover { background-color: #40478f; }

.border-maroon  { border-color: #85144B }

/* Basscss Darken */

.bg-darken-1 { background-color: rgba(0, 0, 0, .0625) }

.bg-darken-2 { background-color: rgba(0, 0, 0, .125) }

.bg-darken-3 { background-color: rgba(0, 0, 0, .25) }

.bg-darken-4 { background-color: rgba(0, 0, 0, .5) }

/* Basscss Lighten */

.bg-lighten-1 { background-color: rgba(255, 255, 255, .0625) }

.bg-lighten-2 { background-color: rgba(255, 255, 255, .125) }

.bg-lighten-3 { background-color: rgba(255, 255, 255, .25) }

.bg-lighten-4 { background-color: rgba(255, 255, 255, .5) }

.bg-opaque { background-color: rgba(255, 255, 255, 0) }

/* Basscss Background Images */

.bg-cover   { background-size: cover }

.bg-contain { background-size: contain }

.bg-center  { background-position: center }

.bg-top     { background-position: top }

.bg-right   { background-position: right }

.bg-bottom  { background-position: bottom }

.bg-left    { background-position: left }

.bg-no-repeat { background-repeat: no-repeat }

.bg-repeat-x { background-repeat: repeat-x }

.bg-repeat-y { background-repeat: repeat-y }

/* Basscss All */

.all-initial { all: initial }

.all-unset { all: unset }

.all-inherit { all: inherit }

.all-revert { all: revert }

/* Basscss More */

/* More font sizes */

.fs1 { font-size: 0.1rem; }
.fs2 { font-size: 0.2rem; }
.fs3 { font-size: 0.3rem; }
.fs4 { font-size: 0.4rem; }
.fs5 { font-size: 0.5rem; }
.fs6 { font-size: 0.6rem; }
.fs7 { font-size: 0.7rem; }
.fs8 { font-size: 0.8rem; }
.fs9 { font-size: 0.9rem; }
.fs10 { font-size: 1rem; }
.fs11 { font-size: 1.1rem; }
.fs12 { font-size: 1.2rem; }
.fs13 { font-size: 1.3rem; }
.fs14 { font-size: 1.4rem; }
.fs15 { font-size: 1.5rem; }
.fs16 { font-size: 1.6rem; }
.fs17 { font-size: 1.7rem; }
.fs18 { font-size: 1.8rem; }
.fs19 { font-size: 1.9rem; }
.fs20 { font-size: 2rem; }

.fs21 { font-size: 2.1rem; }
.fs22 { font-size: 2.2rem; }
.fs23 { font-size: 2.3rem; }
.fs24 { font-size: 2.4rem; }

.fs25 { font-size: 2.5rem; }
.fs26 { font-size: 2.6rem; }
.fs27 { font-size: 2.7rem; }
.fs28 { font-size: 2.8rem; }
.fs29 { font-size: 2.9rem; }
.fs30 { font-size: 3rem; }
.fs35 { font-size: 3.5rem; }
.fs40 { font-size: 4rem; }
.fs45 { font-size: 4.5rem; }
.fs50 { font-size: 5rem; }
.fs55 { font-size: 5.5rem; }

.fs10px { font-size: 10px; }
.fs11px { font-size: 11px; }
.fs12px { font-size: 12px; }
.fs13px { font-size: 13px; }
.fs14px { font-size: 14px; }
.fs15px { font-size: 15px; }
.fs16px { font-size: 16px; }
.fs17px { font-size: 17px; }
.fs18px { font-size: 18px; }
.fs19px { font-size: 19px; }
.fs20px { font-size: 20px; }
.fs21px { font-size: 21px; }
.fs22px { font-size: 22px; }


.h1-i { font-size: 2rem !important; }


@media(max-width: 400px ) {
  .fs25-below-400px { font-size: 2.5rem; }
}

@media(max-width: 470px ) {
  .fs35-below-470px { font-size: 3.5rem; }
}

@media(max-width: 470px ) {
  .fs35-below-470px-i { font-size: 3.5rem !important; }
}

@media(max-width: 570px ) {
  .fs45-below-570px { font-size: 4.5rem; }
}

@media (max-width: 500px) {
  .fs12px-below-500px { font-size: 12px; }
}

@media (max-width: 400px) {
  .fs20px-below-400px { font-size: 20px; }
}

@media (max-width: 500px) {
  .fs20px-below-500px { font-size: 20px; }
}

@media (max-width: 50em) {
  .fs12-below-50 { font-size: 1.2rem; }
}

@media (max-width: 400px) {
  .fs12-below-400px-i { font-size: 1.2rem !important; }
}

@media (max-width: 400px) {
  .fs12-below-400px { font-size: 1.2rem; }
}


@media (max-width: 50em) {
  .fs15-below-50 { font-size: 1.5rem; }
}

@media (max-width: 580px) {
  .fs15-below-580px { font-size: 1.5rem; }
}


@media (max-width: 50em) {
  .fs15-below-50 { font-size: 1.5rem; }
}

@media (max-width: 50em) {
  .fs15-below-50 { font-size: 1.5rem; }
}

@media (max-width: 50em) {
  .fs17-below-50 { font-size: 1.7rem; }
}

@media (max-width: 50em) {
  .fs20-below-50 { font-size: 2rem; }
}

@media (max-width: 400px) {
  .fs20-below-400px { font-size: 2rem; }
}


@media (min-width: 50em) {
  .h1-above-50 { font-size: 2rem; }
}

@media (max-width: 50em) {
  .h2-below-50 { font-size: 1.5rem; }
}

/* New class set: width */

.w10 { width: 1rem; }
.w20 { width: 2rem; }
.w30 { width: 3rem; }
.w40 { width: 4rem; }
.w45 { width: 4.5rem; }
.w50 { width: 5rem; }
.w55 { width: 5.5rem; }
.w70 { width:7rem; }
.w80 { width:8rem; }
.w90 { width:9rem; }
.w100 { width:10rem; }
.w110 { width:11rem; }
.w120 { width:12rem; }
.w125 { width:12.5rem; }
.w130 { width:13rem; }
.w140 { width:14rem; }
.w150 { width:15rem; }
.w200 { width:20rem; }
.w300 { width:30rem; }
.w400 { width:40rem; }
.w500 { width:50rem; }
.w600 { width:60rem; }


/* New class set: height */

.ht01 { height: 0.1rem; }
.ht015 { height: 0.15rem; }
.ht02 { height: 0.2rem; }
.ht027 { height: 0.27rem; }
.ht03 { height: 0.3rem; }
.ht04 { height: 0.4rem; }
.ht05 { height: 0.5rem; }
.ht06 { height: 0.6rem; }
.ht07 { height: 0.7rem; }
.ht08 { height: 0.8rem; }

.ht1 { height:1rem; }
.ht2 { height:2rem; }
.ht3 { height:3rem; }
.ht4 { height:4rem; }
.ht5 { height:5rem; }
.ht6 { height:6rem; }

.ht100 { height:10rem; }
.ht110 { height:11rem; }
.ht200 { height:20rem; }
.ht300 { height:30rem; }
.ht400 { height:40rem; }
.ht500 { height:50rem; }
.ht600 { height:60rem; }


@media (min-width: 40em) {
  .ht110-above-40 { height:11rem; }
}


/*Percentage heights */
.h300p-i { height:300% !important; }
.h200p-i { height:200% !important; }
.h100p-i { height:100% !important; }
.h300p { height:300%; }
.h200p { height:200%; }
.h100p { height:100%; }
.h90p { height:90%; }
.h80p { height:80%; }
.h70p { height:70%; }

.h100vh { height: 100vh; }

/*Percentage widths */
.w300p { width:300%; }
.w300p-i { width:300% !important; }
.w200p { width:200%; }
.w200p-i { width:200% !important; }
.w100p { width:100%; }
.w100p-i { width:100% !important; }
.w90p { width:90%; }
.w80p { width:80%; }
.w70p { width:70%; }
.w60p { width:60%; }
.w50p { width:50%; }
.w40p { width:40%; }
.w30p { width:30%; }
.w20p { width:20%; }
.w10p { width:10%; }

/* New class set: min/max width and min/max height */

.mw10 { min-width: 1rem; }
.mw20 { min-width: 2rem; }
.mw30 { min-width: 3rem; }
.mw40 { min-width: 4rem; }
.mw50 { min-width: 5rem; }
.mw60 { min-width: 6rem; }
.mw70 { min-width: 7rem; }
.mw80 { min-width: 8rem; }
.mw90 { min-width: 9rem; }
.mw100 { min-width:10rem; }
.mw110 { min-width:11rem; }
.mw120 { min-width:12rem; }
.mw130 { min-width:13rem; }
.mw140 { min-width:14rem; }
.mw150 { min-width:15rem; }
.mw160 { min-width:16rem; }
.mw200 { min-width:20rem; }
.mw300 { min-width:30rem; }


.mxw10 { max-width: 1rem; }
.mxw20 { max-width: 2rem; }
.mxw25 { max-width: 2.5rem; }
.mxw30 { max-width: 3rem; }
.mxw40 { max-width: 4rem; }
.mxw50 { max-width: 5rem; }
.mxw60 { max-width: 6rem; }
.mxw70 { max-width: 7rem; }
.mxw80 { max-width: 8rem; }
.mxw90 { max-width: 9rem; }
.mxw100 { max-width:10rem; }
.mxw120 { max-width:12rem; }
.mxw140 { max-width:14rem; }

.mxw200 { max-width:20rem; }
.mxw210 { max-width:21rem; }
.mxw220 { max-width:22rem; }
.mxw230 { max-width:23rem; }
.mxw240 { max-width:24rem; }
.mxw250 { max-width:25rem; }
.mxw260 { max-width:26rem; }
.mxw270 { max-width:27rem; }
.mxw280 { max-width:28rem; }
.mxw290 { max-width:29rem; }
.mxw300 { max-width:30rem; }

.mxw300 { max-width:30rem; }

.mxw48 { max-width:48rem; }


.mxw30p { max-width: 30%; }
.mxw40p { max-width: 40%; }
.mxw50p { max-width: 50%; }
.mxw60p { max-width: 60%; }
.mxw70p { max-width: 70%; }
.mxw80p { max-width: 80%; }

.mxw395px { max-width:395px; }
.mxw450px { max-width:450px; }
.mxw750px { max-width:750px; }

@media (min-width: 80em) {
  .mxw48-above-80 { max-width:48rem; }
}

@media (min-width: 750px) {
  .mxw750px-above-750px { max-width:750px; }
}

@media (min-width: 85em) {
  .mxw800-above-85 { max-width: 80rem }
}

@media (min-width: 78em) {
  .mxw580-above-78 { max-width: 58rem }
}

@media (min-width: 80em) {
  .mxw640-above-80 { max-width: 64rem }
}

.w640 { width: 64rem }

@media (min-width: 80em) {
  .w640-above-80 { width: 64rem }
}

.w800 { width: 80rem }

@media (min-width: 85em) {
  .w800-above-85 { width: 80rem }
}


.mh10 { min-height: 1rem; }
.mh20 { min-height: 2rem; }
.mh30 { min-height: 3rem; }
.mh40 { min-height: 4rem; }
.mh50 { min-height: 5rem; }
.mh60 { min-height: 6rem; }
.mh70 { min-height: 7rem; }
.mh80 { min-height: 8rem; }

.mh130 { min-height: 13rem; }

.mh150 { min-height: 15rem; }
.mh160 { min-height: 16rem; }
.mh170 { min-height: 17rem; }
.mh180 { min-height: 18rem; }

.mh100p { min-height: 100%; }

.mxh10 { max-height: 1rem; }
.mxh20 { max-height: 2rem; }
.mxh30 { max-height: 3rem; }
.mxh40 { max-height: 4rem; }
.mxh50 { max-height: 5rem; }
.mxh60 { max-height: 6rem; }
.mxh70 { max-height: 7rem; }
.mxh80 { max-height: 8rem; }
.mxh90 { max-height: 9rem; }
.mxh100 { max-height: 10rem; }
.mxh130 { max-height: 13rem; }
.mxh140 { max-height: 14rem; }
.mxh145 { max-height: 14.5rem; }
.mxh150 { max-height: 15rem; }
.mxh160 { max-height: 16rem; }
.mxh170 { max-height: 17rem; }
.mxh180 { max-height: 18rem; }
.mxh190 { max-height: 19rem; }
.mxh200 { max-height: 20rem; }
.mxh210 { max-height: 21rem; }
.mxh220 { max-height: 22rem; }
.mxh230 { max-height: 23rem; }
.mxh250 { max-height: 25rem; }
.mxh270 { max-height: 27rem; }

/* Responsive min-width / height */
@media (max-width: 25em) {
  .mh80-below-25 { min-height: 8rem; }
}

@media (max-width: 25em) {
  .mh90-below-25 { min-height: 9rem; }
}

@media (max-width: 25em) {
  .mh150-below-25 { min-height: 15rem; }
}

@media (min-width: 40em) {
  .mh170-above-40 { min-height: 17rem; }
}

@media (max-width: 50em) {
  .mxh130-below-50 { max-height: 13rem; }
}

@media (max-width: 60em) {
  .mxh130-below-60 { max-height: 13rem; }
}

@media (max-width: 60em) {
  .mxh150-below-60 { max-height: 15rem; }
}


@media (max-width: 60em) {
  .mxh170-below-60 { max-height: 17rem; }
}


@media (min-width: 40em) {
  .mh180-above-40 { min-height: 18rem; }
}

@media (min-width: 40em) {
  .mh190-above-40 { min-height: 19rem; }
}

@media (min-width: 40em) {
  .mh210-above-40 { min-height: 21rem; }
}

@media (min-width: 60em) {
  .mh180-above-60 { min-height: 18rem; }
}


@media (min-width: 60em) {
  .w32p-above-60 { width: 32%; }
}

@media (min-width: 50em) {
  .w30p-above-50 { width: 30%; }
}

@media (min-width: 40em) {
  .w50p-above-40 { width: 50%; }
}

@media (max-width: 60em) {
  .w30p-below-60 { width: 30%; }
}

@media (max-width: 50em) {
  .w45p-below-50 { width: 45%; }
}


@media (max-width: 50em) {
  .w50p-below-50 { width: 50%; }
}

@media (max-width: 30em) {
  .w50p-below-30 { width: 50%; }
}

@media (max-width: 30em) {
  .w100p-below-30 { width: 100%; }
}

@media (max-width: 500px) {
  .w100p-below-500px { width: 100%;  } 
}

@media (max-width: 500px) {
  .w100p-below-500px-i { width: 100% !important;  } 
}

@media (max-width: 1060px) {
  .w46p-below-1060px { width: 46%; }
}

@media (min-width: 1060px) {
  .w32p-above-1060px { width: 32%; }
}



/* Responsive height and width */

@media (min-width: 40em) {
  .h30-above-40 { height: 3rem; }
}

@media (min-width: 60em) {
  .h20-above-60 { height: 2rem; }
}


/* Responsive fontsize */
@media (max-width: 40em) {
  .h2-below-40 { font-size: 1.5rem }
}
@media (max-width: 40em) {
  .h3-below-40 { font-size: 1.25rem }
}

/* More fidelity padding and margin  */

.p01  { padding: 0.1rem }

.pt01  { padding-top: 0.1rem }

.pr01  { padding-right: 0.1rem }

.pb01  { padding-bottom: 0.1rem }

.pl01  { padding-left: 0.1rem }

.py01  { padding-top: 0.1rem; padding-bottom: 0.1rem }

.px01  { padding-left: 0.1rem; padding-right: 0.1rem }


.p015  { padding: 0.15rem }

.pt015 { padding-top: 0.15rem }

.pr015 { padding-right: 0.15rem }

.pb015 { padding-bottom: 0.15rem }

.pl015 { padding-left: 0.15rem }

.py015 { padding-top: 0.15rem; padding-bottom: 0.15rem }

.px015 { padding-left: 0.15rem; padding-right: 0.15rem }




.p02  { padding: 0.2rem }

.pt02 { padding-top: 0.2rem }

.pr02 { padding-right: 0.2rem }

.pb02 { padding-bottom: 0.2rem }

.pl02 { padding-left: 0.2rem }

.py02 { padding-top: 0.2rem; padding-bottom: 0.2rem }

.px02 { padding-left: 0.2rem; padding-right: 0.2rem }

.px025 { padding-left: 0.25rem; padding-right: 0.25rem }

.pl025 { padding-left: 0.25rem; }

.pr025 { padding-right: 0.25rem }


.pt025 { padding-top: 0.25rem }

.p03  { padding: 0.3rem }

.pt03 { padding-top: 0.3rem }

.pr03 { padding-right: 0.3rem }

.pb03 { padding-bottom: 0.3rem }

.pl03 { padding-left: 0.3rem }

.py03 { padding-top: 0.3rem; padding-bottom: 0.3rem }

.px03 { padding-left: 0.3rem; padding-right: 0.3rem }


.p04  { padding: 0.4rem }

.pt04 { padding-top: 0.4rem }

.pr04 { padding-right: 0.4rem }

.pb04 { padding-bottom: 0.4rem }

.pl04 { padding-left: 0.4rem }

.py04 { padding-top: 0.4rem; padding-bottom: 0.4rem }

.px04 { padding-left: 0.4rem; padding-right: 0.4rem }


.p025  { padding: 0.25rem }

.py025 { padding-top: 0.25rem; padding-bottom: 0.25rem }

.p05  { padding: 0.5rem }

.pt05 { padding-top: 0.5rem }

.pr05 { padding-right: 0.5rem }

.pb05 { padding-bottom: 0.5rem }

.pl05 { padding-left: 0.5rem }

.py05 { padding-top: 0.5rem; padding-bottom: 0.5rem }

.px05 { padding-left: 0.5rem; padding-right: 0.5rem }

.py06 { padding-top: 0.6rem; padding-bottom: 0.6rem }

.pt06 { padding-top: 0.6rem;}

.p07  { padding: 0.7rem }

.px075 { padding-left: 0.75rem; padding-right: 0.75rem }

.pt07 { padding-top: 0.7rem }

.pt08 { padding-top: 0.8rem }

.pt09 { padding-top: 0.8rem }

.pt10 { padding-top: 0.8rem }

.pr07 { padding-right: 0.7rem }

.pb07 { padding-bottom: 0.7rem }

.pl07 { padding-left: 0.7rem }

.py07 { padding-top: 0.7rem; padding-bottom: 0.7rem }

.px07 { padding-left: 0.7rem; padding-right: 0.7rem }


.p10  { padding: 1rem }

.pt10 { padding-top: 1rem }

.pr10 { padding-right: 1rem }

.pb10 { padding-bottom: 1rem }

.pl10 { padding-left: 1rem }

.py10 { padding-top: 1rem; padding-bottom: 1rem }

.px10 { padding-left: 1rem; padding-right: 1rem }


.p11  { padding: 1.1rem }

.pt11 { padding-top: 1.1rem }

.pr11 { padding-right: 1.1rem }

.pb11 { padding-bottom: 1.1rem }

.pl11 { padding-left: 1.12rem }

.py11 { padding-top: 1.1rem; padding-bottom: 1.1rem }

.px11 { padding-left: 1.1rem; padding-right: 1.1rem }


.p12  { padding: 1.2rem }

.pt12 { padding-top: 1.2rem }

.pr12 { padding-right: 1.2rem }

.pb12 { padding-bottom: 1.2rem }

.pl12 { padding-left: 1.2rem }

.py12 { padding-top: 1.2rem; padding-bottom: 1.2rem }

.px12 { padding-left: 1.2rem; padding-right: 1.2rem }

.px13 { padding-left: 1.3rem; padding-right: 1.3rem }

.py13 { padding-top: 1.3rem; padding-bottom: 1.3rem }

.py14 { padding-top: 1.4rem; padding-bottom: 1.4rem }

.py15 { padding-top: 1.5rem; padding-bottom: 1.5rem }

.px15 { padding-left: 1.5rem; padding-right: 1.5rem }

.p15  { padding: 1.5rem }

.pt15 { padding-top: 1.5rem }

.pr15 { padding-right: 1.5rem }

.pb15 { padding-bottom: 1.5rem }

.pl15 { padding-left: 1.5rem }

.py15 { padding-top: 1.5rem; padding-bottom: 1.5rem }

.px15 { padding-left: 1.5rem; padding-right: 1.5rem }


.pb14 { padding-bottom: 1.4rem }


.p175  { padding: 1.75rem }

.pt175 { padding-top: 1.75rem }

.pr175 { padding-right: 1.75rem }

.pb175 { padding-bottom: 1.75rem }

.pl175 { padding-left: 1.75rem }

.py175 { padding-top: 1.75rem; padding-bottom: 1.75rem; }

.px175 { padding-left: 1.75rem; padding-right: 1.75rem; }


.p20  { padding: 2rem }

.pt20 { padding-top: 2rem }

.pr20 { padding-right: 2rem }

.pb20 { padding-bottom: 2rem }

.pl20 { padding-left: 2rem }

.py20 { padding-top: 2rem; padding-bottom: 2rem }

.py20-i { padding-top: 2rem !important; padding-bottom: 2rem  !important; }

.px20 { padding-left: 2rem; padding-right: 2rem }


.p25  { padding: 2.5rem }

.pt25 { padding-top: 2.5rem }

.pr25 { padding-right: 2.5rem }

.pb25 { padding-bottom: 2.5rem }

.pl25 { padding-left: 2.5rem }

.py25 { padding-top: 2.5rem; padding-bottom: 2.5rem }

.px25 { padding-left: 2.5rem; padding-right: 2.5rem }


.p30  { padding: 3rem }

.pt30 { padding-top: 3rem }

.pr30 { padding-right: 3rem }

.pb30 { padding-bottom: 3rem }

.pl30 { padding-left: 3rem }

.py30 { padding-top: 3rem; padding-bottom: 3rem }

.py30-i { padding-top: 3rem !important; padding-bottom: 3rem  !important; }

.px30 { padding-left: 3rem; padding-right: 3rem }

.p35  { padding: 3.5rem }

.pt35 { padding-top: 3.5rem  }

.pr35 { padding-right: 3.5rem  }

.pb35 { padding-bottom: 3.5rem  }

.pl35 { padding-left: 3.5rem  }

.py35 { padding-top: 3.5rem ; padding-bottom: 3.5rem  }

.px35 { padding-left: 3.5rem ; padding-right: 3.5rem  }


.p40  { padding: 4rem }

.pt40 { padding-top: 4rem }

.pr40 { padding-right: 4rem }

.pb40 { padding-bottom: 4rem }

.pl40 { padding-left: 4rem }

.py40 { padding-top: 4rem; padding-bottom: 4rem }

.px40 { padding-left: 4rem; padding-right: 4rem }

.px50 { padding-left: 5rem; padding-right: 5rem }

.pl50 { padding-left: 5rem;}

.pb60 { padding-bottom: 6rem }



@media (max-width: 40em) {
  .p0-below-40 { padding: 0rem }
}

@media (max-width: 30em) {
  .pl0-below-30 { padding: 0rem }
}

@media (min-width: 30em) {
  .pl10-above-30 { padding-left: 1rem }
}

@media (min-width: 40em) {
  .pr10-below-40 { padding-right: 1rem }
}

@media (min-width: 500px) {
  .pr10-above-500px { padding-right: 1rem }
}

@media (min-width: 30em) {
  .pr40-above-30 { padding-right: 4rem }
}

@media (min-width: 40em) {
  .pr40-above-40 { padding-right: 4rem }
}

@media (min-width: 50em) {
  .pr40-above-50 { padding-right: 4rem }
}


@media (min-width: 600px) {
  .pl15-above-600px { padding-left: 1.5rem }
}

@media (min-width: 50em) {
  .pl30-above-50 { padding-left: 3rem }
}

@media (min-width: 40em) {
  .pl40-above-40 { padding-left: 3rem }
}

@media (min-width: 70em) {
  .pl25-above-70 { padding-left: 2.5rem }
}


@media (max-width: 50em) {
  .pl20-below-50 { padding-left: 2rem }
}

@media (max-width: 50em) {
  .pl25-below-50 { padding-left: 2.5rem }
}

@media (min-width: 50em) {
  .pr25-above-50 { padding-right: 2.5rem }
}

@media (min-width: 400px) {
  .pt85px-above-400 { padding-top: 85px; }
}

@media (min-width: 765px) {
  .pt85px-above-765 { padding-top: 85px; }
}

@media (min-width: 765px) {
  .pt95px-above-765 { padding-top: 95px; }
}

@media (min-width: 860px) {
  .pt95px-above-860 { padding-top: 95px; }
}

@media (min-width: 765px) {
  .pt100px-above-765 { padding-top: 100px }
}

@media (min-width: 765px) {
  .pt100px-above-765 { padding-top: 100px }
}

@media (min-width: 765px) {
  .pt110px-above-765 { padding-top: 110px }
}

@media (min-width: 765px) {
  .pt120px-above-765 { padding-top: 120px }
}

.mt01 { margin-top: 0.1rem }

.ml01 { margin-left: 0.1rem }

.mt02 { margin-top: 0.2rem }

.ml02 { margin-left: 0.2rem }

.m03  { margin: 0.3rem }

.mt03 { margin-top: 0.3rem }

.mr03 { margin-right: 0.3rem }

.m035  { margin: 0.35rem }

.mt035 { margin-top: 0.35rem }

.mr025 { margin-right: 0.25rem }

.mr035 { margin-right: 0.35rem }

.ml03 { margin-left: 0.3rem }

.m04  { margin: 0.4rem }

.mt04 { margin-top: 0.4rem }

.mr04 { margin-right: 0.4rem }

.mb04 { margin-bottom: 0.4rem }

.ml04 { margin-left: 0.4rem }



.my04 { margin-top: 0.4rem; margin-bottom: 0.4rem }

.mx04 { margin-left: 0.4rem; margin-right: 0.4rem }

.mt025 { margin-top: 0.25rem }

.mx025 { margin-left: 0.25rem; margin-right: 0.25rem; }


.m05  { margin: 0.5rem }

.mt05 { margin-top: 0.5rem }


.mr05 { margin-right: 0.5rem }

.mb05 { margin-bottom: 0.5rem }

.ml05 { margin-left: 0.5rem }

.my05 { margin-top: 0.5rem; margin-bottom: 0.5rem }

.mx05 { margin-left: 0.5rem; margin-right: 0.5rem }


.m06  { margin: 0.6rem }

.mt06 { margin-top: 0.6rem }

.mr06 { margin-right: 0.6rem }

.mb06 { margin-bottom: 0.6rem }

.ml06 { margin-left: 0.6rem }

.my06 { margin-top: 0.6rem; margin-bottom: 0.6rem }

.mx06 { margin-left: 0.6rem; margin-right: 0.6rem }


.m07  { margin: 0.7rem }

.mt07 { margin-top: 0.7rem }

.mr07 { margin-right: 0.7rem }

.mr075 { margin-right: 0.75rem }

.mb07 { margin-bottom: 0.7rem }

.ml07 { margin-left: 0.7rem }

.my07 { margin-top: 0.7rem; margin-bottom: 0.7rem }

.mx07 { margin-left: 0.7rem; margin-right: 0.7rem }


.m08  { margin: 0.8rem }

.mt08 { margin-top: 0.8rem }

.mr08 { margin-right: 0.8rem }

.mb08 { margin-bottom: 0.8rem }

.ml08 { margin-left: 0.8rem }

.my08 { margin-top: 0.8rem; margin-bottom: 0.8rem }

.mx08 { margin-left: 0.8rem; margin-right: 0.8rem }


.m10  { margin: 1rem }

.mt10 { margin-top: 1rem }

.ml10 { margin-left: 1rem }

.my10 { margin-top: 1rem; margin-bottom: 1rem }

.mr10 { margin-right: 1rem }


.m11  { margin: 1.1rem }

.mt11 { margin-top: 1.1rem }

.ml11 { margin-left: 1.1rem }


.m12  { margin: 1.2rem }

.mt12 { margin-top: 1.2rem }

.ml12 { margin-left: 1.2rem }


.mln1 { margin-left: -1rem;  }
.mln2 { margin-left: -2rem;  }

.mrn1 { margin-right: -1rem;  }
.mrn2 { margin-right: -2rem;  }

.mxn05 { margin-left: -0.5rem; margin-right: -0.5rem;  }
.mxn1 { margin-left: -1rem; margin-right: -1rem;  }
.mxn2 { margin-left: -2rem; margin-right: -2rem;  }

.mbn1 { margin-bottom: -1rem;  }

.mtn1 { margin-top: -1rem; }
.mtn2 { margin-top: -2rem; }
.mtn3 { margin-top: -3rem; }


@media (max-width: 600px) {
  .mb20-below-600px { margin-bottom: 2rem; }
}

@media (min-width: 40em) {
  .mtn3-above-40 { margin-top: -3rem; }
}

@media (min-width: 40em) {
  .mr05-above-40 { margin-right: 0.5rem }
}

@media (min-width: 40em) {
  .mr10-above-40 { margin-right: 1rem }
}

@media (min-width: 30em) {
  .mr90-above-30 { margin-right: 9rem }
}

@media (min-width: 30em) {
  .mr500-above-30 { margin-right: 15rem }
}

@media (min-width: 30em) {
  .mr900-above-30 { margin-right: 19rem }
}

@media (min-width: 60em) {
  .mr0-above-60 { margin-right: 0rem }
}


.mb10 { margin-bottom: 1rem }


.m15  { margin: 1.5rem }

.mt15 { margin-top: 1.5rem }

.mr15 { margin-right: 1.5rem }

.mb15 { margin-bottom: 1.5rem }

.ml15 { margin-left: 1.5rem }

.my15 { margin-top: 1.5rem; margin-bottom: 1.5rem }

.mx15 { margin-left: 1.5rem; margin-right: 1.5rem }


.m17  { margin: 1.7rem }

.mt17 { margin-top: 1.7rem }

.mr17 { margin-right: 1.7rem }

.mb17 { margin-bottom: 1.7rem }

.ml17 { margin-left: 1.7rem }

.my17 { margin-top: 1.7rem; margin-bottom: 1.7rem }

.mx17 { margin-left: 1.7rem; margin-right: 1.7rem }


.m20  { margin: 2rem }

.mt20 { margin-top: 2rem }

.mr20 { margin-right: 2rem }

.mb20 { margin-bottom: 2rem }

.ml20 { margin-left: 2rem }

.my20 { margin-top: 2rem; margin-bottom: 2rem }

.mx20 { margin-left: 2rem; margin-right: 2rem }


.m22  { margin: 2.2rem }

.mt22 { margin-top: 2.2rem }

.mr22 { margin-right: 2.2rem }

.mb22 { margin-bottom: 2.2rem }

.ml22 { margin-left: 2.2rem }

.my22 { margin-top: 2.2rem; margin-bottom: 2.5rem }

.mx22 { margin-left: 2.2rem; margin-right: 2.5rem }


.m22  { margin: 2.2rem }

.mt22 { margin-top: 2.2rem }

.mr22 { margin-right: 2.2rem }

.mb22 { margin-bottom: 2.2rem }

.ml22 { margin-left: 2.2rem }

.my22 { margin-top: 2.2rem; margin-bottom: 2.2rem }

.mx22 { margin-left: 2.2rem; margin-right: 2.2rem }



.m23  { margin: 2.3rem }

.mt23 { margin-top: 2.3rem }

.mr23 { margin-right: 2.3rem }

.mb23 { margin-bottom: 2.3rem }

.ml23 { margin-left: 2.3rem }

.my23 { margin-top: 2.3rem; margin-bottom: 2.3rem }

.mx23 { margin-left: 2.3rem; margin-right: 2.3rem }




.m25  { margin: 2.5rem }

.mt25 { margin-top: 2.5rem }

.mr25 { margin-right: 2.5rem }

.mb25 { margin-bottom: 2.5rem }

.ml25 { margin-left: 2.5rem }

.my25 { margin-top: 2.5rem; margin-bottom: 2.5rem }

.mx25 { margin-left: 2.5rem; margin-right: 2.5rem }

.mt225 { margin-top: 2.25rem }

.mt26  { margin-top: 2.6rem }

.mt27  { margin-top: 2.7rem }

.mt28  { margin-top: 2.8rem }

.mt29  { margin-top: 2.9rem }

.mt30 { margin-top: 3rem }

.mr30 { margin-right: 3rem }

.mb30 { margin-bottom: 3rem }

.ml30 { margin-left: 3rem }

.my30 { margin-top: 3rem; margin-bottom: 3rem; }

.mx30 { margin-left: 3rem; margin-right: 3rem; }

.ml35 { margin-left: 3.5rem }

.m40  { margin: 4rem }

.mt40 { margin-top: 4rem }

.mr40 { margin-right: 4rem }

.mb40 { margin-bottom: 4rem }

.ml40 { margin-left: 4rem }

.my40 { margin-top: 4rem; margin-bottom: 4rem; }

.mx40 { margin-left: 4rem; margin-right: 4rem; }

.mt45 { margin-top: 4.5rem }

.mt50 { margin-top: 5rem }

.mt60 { margin-top: 6rem }

.mt70 { margin-top: 7rem }

.mt80 { margin-top: 8rem }

.mt90 { margin-top: 9rem }

.mt100 { margin-top: 10rem }



/* More borders */

.border-none {
  border: none;
}

.border-2 {
  border-style: solid;
  border-width: 2px;
}

.border-2-left {
  border-left-style: solid;
  border-left-width: 2px;
}

.border-2-right {
  border-right-style: solid;
  border-right-width: 2px;
}

.border-2-left-blue {
  border-left-style: solid;
  border-left-width: 2px;
  border-left-color: #0074d9; 
}


.border-2-left {
  border-left-style: solid;
  border-left-width: 2px;
}

.border-2-bottom {
  border-bottom-style: solid;
  border-bottom-width: 2px;
}


.border-2-top {
  border-top-style: solid;
  border-top-width: 2px;
}

.border-2-x-blue {
  border-left-style: solid;
  border-left-width: 2px;
  border-left-color: #0074d9; 
  border-right-style: solid;
  border-right-width: 2px;
  border-right-color: #0074d9; 
}

.border-2-x-transparent {
  border-left-style: solid;
  border-left-width: 2px;
  border-left-color: rgba(0,0,0,0); 
  border-right-style: solid;
  border-right-width: 2px;
  border-right-color: rgba(0,0,0,0); 
}

.hv-border-2-x-blue:hover {
  border-left-style: solid;
  border-left-width: 2px;
  border-left-color: #0074d9; 
  border-right-style: solid;
  border-right-width: 2px;
  border-right-color: #0074d9; 
}


.border-3-x-blue {
  border-left-style: solid;
  border-left-width: 3px;
  border-left-color: #0074d9; 
  border-right-style: solid;
  border-right-width: 3px;
  border-right-color: #0074d9; 
}


.border-2-right-blue {
  border-right-style: solid;
  border-right-width: 2px;
  border-right-color: #0074d9; 
}

.border-3 {
  border-style: solid;
  border-width: 3px;
}

.border-3-right {
  border-right-style: solid;
  border-right-width: 3px;
}

.border-3-left {
  border-left-style: solid;
  border-left-width: 3px;
}

.border-3-bottom {
  border-bottom-style: solid;
  border-bottom-width: 3px;
}

.border-3-top {
  border-top-style: solid;
  border-top-width: 3px;
}

.border-4 {
  border-style: solid;
  border-width: 4px;
}

.border-4-dashed {
  border-style: dashed;
  border-width: 4px;
}

.border-7-dashed {
  border-style: dashed;
  border-width: 7px;
}

.border-width-2 { border-width: 2px; }
.border-width-3 { border-width: 3px; }

/* More border colors */
.border-darkgray {
  border-color: darkgray;
}

.border-darken-01 {
  border-color: rgba(0,0,0,0.1);
}

.border-darken-02 {
  border-color: rgba(0,0,0,0.2);
}

.border-darken-03 {
  border-color: rgba(0,0,0,0.3);
}

.border-lighten-01 {
  border-color: rgba(255,255,255,0.1);
}

.border-lighten-02 {
  border-color: rgba(255,255,255,0.2);
}

.border-lighten-03 {
  border-color: rgba(255,255,255,0.3);
}


/* More fidelity borders and border styles */

.border-dotted {
  border-style: dotted;
  border-width: 1px; 
}

.border-dotted-2 {
  border-style: dotted;
  border-width: 2px; 
}

.border-top-dotted {
  border-top-style: dotted;
  border-top-width: 1px; 
}

.border-bottom-dotted {
  border-bottom-style: dotted;
  border-bottom-width: 1px; 
}

.border-left-dotted {
  border-left-style: dotted;
  border-left-width: 1px; 
}

.border-right-dotted {
  border-right-style: dotted;
  border-right-width: 1px; 
}

.border-top-silver {
  border-top-style: solid;   
  border-top-color: silver; 
  border-top-width: 1px;
}


.border-top {
  border-top-style: solid;   
  border-top-color: black; 
  border-top-width: 1px;
}

.border-bottom-silver {
  border-bottom-style: solid; 
  border-bottom-color: silver; 
  border-bottom-width: 1px;
}

.border-bottom-lightsilver { 
  border-bottom-style: solid; 
  border-bottom-color: #ececec; 
  border-bottom-width: 1px;
}

.border-right-black {
  border-right-style: solid; 
  border-right-color: black; 
  border-right-width: 1px;
}

.border-right-silver {
  border-right-style: solid; 
  border-right-color: silver; 
  border-right-width: 1px;
}

.border-left-silver {
  border-left-style: solid; 
  border-left-color: silver; 
  border-left-width: 1px;
}

.border-top-white {
  border-top-style: solid; 
  border-top-color: white; 
  border-top-width: 1px;  
}

.border-bottom-white {
  border-bottom-style: solid; 
  border-bottom-color: white; 
  border-bottom-width: 1px;  
}

.border-bottom-white-5 {
  border-bottom-style: solid; 
  border-bottom-color: rgba(256,256,256,0.5); 
  border-bottom-width: 1px;
}

.border-bottom-3-white {
  border-bottom-style: solid; 
  border-bottom-color: white; 
  border-bottom-width: 3px;
}


.border-bottom-3-silver {
  border-bottom-style: solid; 
  border-bottom-color: #DDDDDD; 
  border-bottom-width: 3px;
}


.border-bottom-3 {
  border-bottom-width: 3px;
}

.border-bottom-3-i {
  border-bottom-width: 3px !important;
}

.border-top-blue {
  border-top-style: solid; 
  border-top-color: #0074d9; 
  border-top-width: 1px;  
}

.border-bottom-blue {
  border-bottom-style: solid; 
  border-bottom-color: #0074d9; 
  border-bottom-width: 1px;  
}

.border-bottom-blue-2 {
  border-bottom-style: solid; 
  border-bottom-color: #0074d9; 
  border-bottom-width: 2px;  
}

.border-bottom-blue-3 {
  border-bottom-style: solid; 
  border-bottom-color: #0074d9; 
  border-bottom-width: 3px;  
}


.border-left-blue {
  border-left-style: solid; 
  border-left-color: #0074d9; 
  border-left-width: 1px;  
}

.border-right-blue {
  border-right-style: solid; 
  border-right-color: #0074d9; 
  border-right-width: 1px;  
}

.border-left-black {
  border-left-style: solid; 
  border-left-color: black;
  border-left-width: 1px;  
}


.border-top-gray {
  border-top-style: solid; 
  border-top-color: #AAAAAA; 
  border-top-width: 1px; 
}

.border-right-gray {
  border-right-style: solid; 
  border-right-color: #AAAAAA; 
  border-right-width: 1px; 
}

.border-right-mute {
  border-right-color: rgba(0,0,0,0);
}

.border-left-mute {
  border-left-color: rgba(0,0,0,0);
}

.border-bottom-gray {
  border-bottom-style: solid; 
  border-bottom-color: #AAAAAA; 
  border-bottom-width: 1px; 
}

.border-left-gray {
  border-left-style: solid; 
  border-left-color: #AAAAAA; 
  border-left-width: 1px; 
}


.border-bottom-lighten-2 {
  border-bottom-style: solid; 
  border-bottom-color: rgba(255,255,255,0.1);
  border-bottom-width: 1px;   
}

.border-bottom-lighten-2 {
  border-bottom-style: solid; 
  border-bottom-color: rgba(255,255,255,0.2);
  border-bottom-width: 1px;   
}

.border-bottom-lighten-3 {
  border-bottom-style: solid; 
  border-bottom-color: rgba(255,255,255,0.3);
  border-bottom-width: 1px;   
}

.border-top-lighten-3 {
  border-top-style: solid; 
  border-top-color: rgba(255,255,255,0.3);
  border-top-width: 1px;   
}

.border-bottom-black {
  border-bottom-style: solid; 
  border-bottom-color: black; 
  border-bottom-width: 1px;
}

.outline-none { outline: none; }

.outline {
  outline-style: solid; 
  outline-width: 1px;
}

.outline-2 {
  outline-style: solid; 
  outline-width: 2px;
}

.outline-3 {
  outline-style: solid; 
  outline-width: 3px;
}

.outline-4 {
  outline-style: solid; 
  outline-width: 4px;
}

.outline-5 {
  outline-style: solid; 
  outline-width: 5px;
}

.outline-gray { outline-color: gray; }
.outline-transparent { outline-color: rgba(0,0,0,0); }

.outline-silver { outline-color: #DDDDDD }

.outline-white  { outline-color: #FFFFFF }

.outline-aqua  { outline-color: #7FDBFF }

.outline-blue  { outline-color: #0074D9 }

.outline-navy  { outline-color: #001F3F }

.outline-teal  { outline-color: #39CCCC }

.outline-green { outline-color: #2ECC40 }

.outline-olive { outline-color: #3D9970 }

.outline-lime  { outline-color: #01FF70 }

.outline-yellow  { outline-color: #FFDC00 }

.outline-orange  { outline-color: #FF851B }

.outline-red     { outline-color: #FF4136 }

.outline-fuchsia { outline-color: #F012BE }

.outline-purple  { outline-color: #B10DC9 }

.outline-purple-light { outline-color: #c265f1 }

.outline-maroon  { outline-color: #85144B }
/* "shadow bold" adds bold without affecting container size */

.outline-dash, .outline-dashed { outline-style: dashed; }

.shadow-bold-white {
  text-shadow:0px 0px 1px white;
}

.hv-shadow-bold-white:hover {
  text-shadow:0px 0px 1px white;
}

/* More fidelity show and hide */
@media (max-width: 10em) {
  .hide-below-10 { display: none !important }
}

@media (max-width: 15em) {
  .hide-below-15 { display: none !important }
}

@media (max-width: 20em) {
  .hide-below-20 { display: none !important }
}

@media (max-width: 25em) {
  .hide-below-25 { display: none !important }
}
@media (max-width: 26em) {
  .hide-below-26 { display: none !important }
}

@media (max-width: 27em) {
  .hide-below-27 { display: none !important }
}

@media (max-width: 28em) {
  .hide-below-28 { display: none !important }
}

@media (max-width: 30em) {
  .hide-below-30 { display: none !important }
}

@media (max-width: 35em) {
  .hide-below-35 { display: none !important }
}

@media (max-width: 40em) {
  .hide-below-40 { display: none !important }
}

@media (max-width: 45em) {
  .hide-below-45 { display: none !important }
}

@media (max-width: 47em) {
  .hide-below-47 { display: none !important }
}

@media (max-width: 50em) {
  .hide-below-50 { display: none !important }
}

@media (max-width: 55em) {
  .hide-below-55 { display: none !important }
}

@media (max-width: 60em) {
  .hide-below-60 { display: none !important }
}

@media (max-width: 65em) {
  .hide-below-65 { display: none !important }
}

@media (max-width: 70em) {
  .hide-below-70 { display: none !important }
}


@media (max-width: 75em) {
  .hide-below-75 { display: none !important }
}

@media (max-width: 240px) {
  .hide-below-240px { display: none !important }
}

@media (max-width: 270px) {
  .hide-below-270px { display: none !important }
}

@media (max-width: 320px) {
  .hide-below-320px { display: none !important }
}

@media (max-width: 350px) {
  .hide-below-350px { display: none !important }
}

@media (max-width: 395px) {
  .hide-below-395px { display: none !important }
}

@media (max-width: 400px) {
  .hide-below-400px { display: none !important }
}


@media (max-width: 410px) {
  .hide-below-410px { display: none !important }
}

@media (max-width: 420px) {
  .hide-below-420px { display: none !important }
}

@media (max-width: 440px) {
  .hide-below-440px { display: none !important }
  .bg-black-40-below-440 { background-color: rgba(0, 0, 0, .4)  }
  .center-below-440 { text-align: center; }
  .left-0-below-440 { left: 0; }
  .w100p-below-440 { width: 100%; }
  .my10-below-440 { margin-top: 1rem; margin-bottom: 1rem; }
  .mx-auto-below-440 { margin: 0 auto; }
}

@media (max-width: 445px) {
  .hide-below-445px { display: none !important }
}

@media (max-width: 450px) {
  .center-below-440 { text-align: center; }
}

@media (max-width: 490px) {
  .hide-below-490px { display: none !important }
}

@media (max-width: 500px) {
  .hide-below-500px { display: none !important }
  .center-below-500px { text-align: center; }
}

@media (max-width: 505px) {
  .hide-below-505px { display: none !important }
}

@media (max-width: 520px) {
  .hide-below-520px { display: none !important }
}

@media (max-width: 570px) {
  .hide-below-570px { display: none !important }
}

@media (max-width: 590px) {
  .hide-below-590px { display: none !important }
}

@media (max-width: 600px) {
  .hide-below-600px { display: none !important }
}

@media (max-width: 620px) {
  .hide-below-620px { display: none !important }
}

@media (max-width: 630px) {
  .hide-below-630px { display: none !important }
}

@media (max-width: 680px) {
  .hide-below-695px { display: none !important }
}

@media (max-width: 450px) {
  .hide-below-450px { display: none !important }
}

@media (min-width: 450px) {
  .hide-above-450px { display: none !important }
}

@media (min-width: 500px) {
  .show-below-500px { display: none !important }
}

@media (max-width: 550px) {
  .hide-below-550px { display: none !important }
}

@media (min-width: 550px) {
  .hide-above-550px { display: none !important }
}

@media (min-width: 600px) {
  .show-below-600px { display: none !important }
}

@media (max-width: 650px) {
  .hide-below-650px { display: none !important }
  .center-below-650px { text-align: center; }
}

@media (min-width: 650px) {
  .hide-above-650px { display: none !important }
}

@media (max-width: 680px) {
  .hide-below-680px { display: none !important }
}

@media (min-width: 680px) {
  .show-below-680px { display: none !important }
}

@media (max-width: 745px) {
  .hide-below-745px { display: none !important }
}

@media (min-width: 745px) {
  .show-below-745px { display: none !important }
}

@media (max-width: 750px) {
  .hide-below-750px { display: none !important }
}

@media (min-width: 750px) {
  .hide-above-750px { display: none !important }
}


@media (max-width: 760px) {
  .hide-below-760px { display: none !important }
}

@media (max-width: 780px) {
  .hide-below-780px { display: none !important }
}

@media (max-width: 870px) {
  .hide-below-870px { display: none !important }
}

@media (min-width: 800px) {
  .show-below-800px { display: none !important }
}

@media (min-width: 870px) {
  .show-below-870px { display: none !important }
}

@media (max-width: 800px) {
  .hide-below-800px { display: none !important }
}

@media (max-width: 875px) {
  .hide-below-875px { display: none !important }
}

@media (max-width: 885px) {
  .hide-below-885px { display: none !important }
}

@media (min-width: 885px) {
  .show-below-885px { display: none !important }
}

@media (min-width: 927px) {
  .show-below-927px { display: none !important }
}

@media (max-width: 927px) {
  .hide-below-927px { display: none !important }
}

@media (max-width: 950px) {
  .hide-below-950px { display: none !important }
}

@media (max-width: 960px) {
  .hide-below-960px { display: none !important }
}

@media (max-width: 970px) {
  .hide-below-970px { display: none !important }
}


@media (min-width: 630px) {
  .show-below-630px { display: none !important }
}


@media (min-width: 10em) {
  .show-below-10 { display: none !important }
}

@media (min-width: 15em) {
  .show-below-15 { display: none !important }
}

@media (min-width: 20em) {
  .show-below-20 { display: none !important }
}

@media (min-width: 25em) {
  .show-below-25 { display: none !important }
}

@media (min-width: 30em) {
  .show-below-30 { display: none !important }
}

@media (min-width: 35em) {
  .show-below-35 { display: none !important }
}

@media (min-width: 40em) {
  .show-below-40 { display: none !important }
}

@media (min-width: 45em) {
  .show-below-45 { display: none !important }
}

@media (min-width: 49em) {
  .show-below-49 { display: none !important }
}

@media (min-width: 50em) {
  .show-below-50 { display: none !important }
}

@media (min-width: 55em) {
  .show-below-55 { display: none !important }
}

@media (min-width: 60em) {
  .show-below-60 { display: none !important }
}

@media (min-width: 70em) {
  .show-below-70 { display: none !important }
}

@media (min-width: 75em) {
  .show-below-75 { display: none !important }
}

@media (min-width: 590px) {
  .show-below-590px { display: none !important }
}

@media (min-width: 970px) {
  .show-below-970px { display: none !important }
}



.cursor-default { cursor: default; }

.cursor-auto { cursor: auto; }

.cursor-pointer { cursor: pointer; }

.cursor-ew-resize { cursor: ew-resize; }

.hv-cursor-ew-resize:hover { cursor: ew-resize; }

.cursor-ns-resize { cursor: ns-resize; }

.hv-cursor-ns-resize:hover { cursor: ns-resize; }

.invisible { visibility: hidden; }

.opaque { opacity: 0; }


/* Fidelity on rounded conrers */
.rounded-1 { border-radius: 0.1rem; }
.rounded-2 { border-radius: 0.2rem; }
.rounded-3 { border-radius: 0.3rem; }
.rounded-4 { border-radius: 0.4rem; }
.rounded-5 { border-radius: 0.5rem; }
.rounded-7 { border-radius: 0.7rem; }
.rounded-8 { border-radius: 0.8rem; }
.rounded-9 { border-radius: 0.9rem; }
.rounded-10 { border-radius: 1rem; }

.circle { border-radius: 50%; padding-bottom: 50%; height: 0; width: 50%; }

/* Responsive Flex toggle */

@media (min-width: 400px) {
  .flex-above-400px { display: -webkit-box; display: -ms-flexbox; display: flex }
}

@media (min-width: 450px) {
  .flex-above-450px { display: -webkit-box; display: -ms-flexbox; display: flex }
}

@media (min-width: 550px) {
  .flex-above-550px { display: -webkit-box; display: -ms-flexbox; display: flex }
}

@media (min-width: 600px) {
  .flex-above-600px { display: -webkit-box; display: -ms-flexbox; display: flex }
}

@media (min-width: 650px) {
  .flex-above-650px { display: -webkit-box; display: -ms-flexbox; display: flex }
}

@media (min-width: 980px) {
  .flex-above-980px { display: -webkit-box; display: -ms-flexbox; display: flex }
}

@media (min-width: 10em) {
  .flex-above-10 { display: -webkit-box; display: -ms-flexbox; display: flex }
}
@media (min-width: 15em) {
  .flex-above-15 { display: -webkit-box; display: -ms-flexbox; display: flex }
}
@media (min-width: 20em) {
  .flex-above-20 { display: -webkit-box; display: -ms-flexbox; display: flex }
}

@media (min-width: 25em) {
  .flex-above-25 { display: -webkit-box; display: -ms-flexbox; display: flex }
}

@media (min-width: 30em) {
  .flex-above-30 { display: -webkit-box; display: -ms-flexbox; display: flex }
}

@media (min-width: 40em) {
  .flex-above-40 { display: -webkit-box; display: -ms-flexbox; display: flex }
}

@media (min-width: 45em) {
  .flex-above-45 { display: -webkit-box; display: -ms-flexbox; display: flex }
}

@media (min-width: 50em) {
  .flex-above-50 { display: -webkit-box; display: -ms-flexbox; display: flex }
}

@media (min-width: 55em) {
  .flex-above-55 { display: -webkit-box; display: -ms-flexbox; display: flex }
}


@media (min-width: 60em) {
  .flex-above-60 { display: -webkit-box; display: -ms-flexbox; display: flex }
}


/* Responsive Padding  */

@media (max-width: 60em) {
  .px02-below-60 { padding-left: 0.2rem; padding-right: 0.2rem }
}

@media (max-width: 60em) {
  .px05-below-60 { padding-left: 0.5rem; padding-right: 0.5rem }
}


@media (min-width: 60em) {
  .px05-above-60 { padding-left: 0.5rem; padding-right: 0.5rem }
}

@media (max-width: 40em) {
  .px0-below-40 { padding-left: 0rem; padding-right: 0rem }
}

@media (max-width: 40em) {
  .px0-below-40-i { padding-left: 0rem !important; padding-right: 0rem !important; }
}

@media (max-width: 30em) {
  .px10-below-30 { padding-left: 1rem; padding-right: 1rem }
}

@media (max-width: 30em) {
  .px10-below-30-i { padding-left: 1rem !important; padding-right: 1rem !important; }
}

@media (max-width: 40em) {
  .px10-below-40-i { padding-left: 1rem !important; padding-right: 1rem !important; }
}


@media (max-width: 40em) {
  .px10-below-40 { padding-left: 1rem; padding-right: 1rem }
}

@media (max-width: 60em) {
  .px10-below-60 { padding-left: 1rem; padding-right: 1rem }
}


@media (min-width: 60em) {
  .px10-above-60 { padding-left: 1rem; padding-right: 1rem }
}

@media (min-width: 40em) {
  .pl2-above-40 { padding-left: 1rem; }
}

@media (max-width: 30em) {
  .pl2-below-30 { padding-left: 1rem; }
}

@media (max-width: 40em) {
  .pl2-below-40 { padding-left: 1rem; }
}

@media (max-width: 40em) {
  .my2-below-40 { margin-top: 1rem; margin-bottom: 1rem;  }
}

@media (min-width: 40em) {
  .pl30-above-40 { padding-left: 3rem; }
}

@media (max-width: 40em) {
  .px2-below-40 { padding-left: 1rem; padding-right: 1rem; }
}

@media (max-width: 45em) {
  .px2-below-45 { padding-left: 1rem; padding-right: 1rem; }
}

@media (min-width: 25em) {
  .px12-above-25 { padding-left: 1.2rem; padding-right: 1.2rem }
}

@media (min-width: 25em) {
  .px15-above-25 { padding-left: 1.5rem; padding-right: 1.5rem }
}
@media (min-width: 25em) {
  .px20-above-25 { padding-left: 2rem; padding-right: 2rem }
}

@media (max-width: 40em) {
  .px15-below-40 { padding-left: 2rem; padding-right: 2rem }
}

@media (max-width: 25em) {
  .px20-below-25 { padding-left: 2rem; padding-right: 2rem }
}

@media (max-width: 40em) {
  .px20-below-40 { padding-left: 2rem; padding-right: 2rem }  
}

@media (max-width: 50em) {
  .px20-below-50 { padding-left: 2rem; padding-right: 2rem }
}

@media (max-width: 60em) {
  .px20-below-60 { padding-left: 2rem; padding-right: 2rem }  
}

@media (max-width: 25em) {
  .px30-below-25 { padding-left: 3rem; padding-right: 3rem }
}

@media (max-width: 30em) {
  .px30-below-30 { padding-left: 3rem; padding-right: 3rem }  
}


@media (max-width: 40em) {
  .px30-below-40 { padding-left: 3rem; padding-right: 3rem }  
}

@media (max-width: 60em) {
  .px30-below-60 { padding-left: 3rem; padding-right: 3rem }  
}

@media (min-width: 40em) {
  .pr3-above-40 { padding-right: 2rem }
}

@media (min-width: 40em) {
  .px30-above-40 { padding-left: 3rem; padding-right: 3rem }
}

@media (min-width: 30em) {
  .px20-above-30 { padding-left: 2rem; padding-right: 2rem }
}


@media (min-width: 40em) {
  .px20-above-40 { padding-left: 2rem; padding-right: 2rem }
}

@media (min-width: 50em) {
  .px20-above-50 { padding-left: 2rem; padding-right: 2rem }
}

@media (min-width: 55em) {
  .px20-above-55 { padding-left: 2rem; padding-right: 2rem }
}

@media (min-width: 60em) {
  .px20-above-60 { padding-left: 2rem; padding-right: 2rem }
}

@media (min-width: 80em) {
  .px20-above-80 { padding-left: 2rem; padding-right: 2rem }
}

@media (min-width: 30em) {
  .px30-above-30 { padding-left: 3rem; padding-right: 3rem }
}

@media (min-width: 50em) {
  .px30-above-50 { padding-left: 3rem; padding-right: 3rem }
}

@media (min-width: 60em) {
  .px30-above-60 { padding-left: 3rem; padding-right: 3rem }
}

@media (min-width: 65em) {
  .px30-above-65 { padding-left: 3rem; padding-right: 3rem }
}

@media (min-width: 70em) {
  .px30-above-70 { padding-left: 3rem; padding-right: 3rem }
}

@media (min-width: 80em) {
  .px30-above-80 { padding-left: 3rem; padding-right: 3rem }
}

@media (min-width: 80em) {
  .px40-above-80 { padding-left: 4rem; padding-right: 4rem }
}

@media (max-width: 50em) {
  .px40-below-50 { padding-left: 4rem; padding-right: 4rem }
}

@media (min-width: 45em) {
  .py15-above-45 { padding-top: 1.5rem; padding-bottom: 1.5rem }
}

@media (min-width: 45em) {
  .py20-above-45 { padding-top: 2rem; padding-bottom: 2rem }
}

@media (max-width: 30em) {
  .py10-below-30 { padding-top: 1rem; padding-bottom: 1rem }
}

@media (max-width: 30em) {
  .pb10-below-30 { padding-bottom: 1rem }
}


@media (max-width: 30em) {
  .py20-below-30 { padding-top: 2rem; padding-bottom: 2rem }
}

@media (max-width: 50em) {
  .pl40-below-50 { padding-left: 4rem;}  
}

@media (max-width: 50em) {
  .pr40-below-50 { padding-right: 4rem;}  
}


/* Responsive Margin  */

@media (min-width: 30em) {
  .mr10-above-30 { margin-right: 1rem;  }
}

@media (min-width: 50em) {
  .mr10-above-50 { margin-right: 1rem;  }
}

@media (min-width: 25em) {
  .ml4-above-25 { margin-left: 4rem;  }
}

@media (min-width: 25em) {
  .ml4-above-25 { margin-left: 4rem;  }
}

@media (min-width: 25em) {
  .mr14-above-25 { margin-left: 4rem;  }
}

@media (min-width: 25em) {
  .ml15-above-25 { margin-left: 1.5rem;  }
}


@media (min-width: 40em) {
  .ml15-above-40 { margin-left: 1.5rem;  }
}

@media (min-width: 50em) {
  .ml15-above-50 { margin-left: 1.5rem;  }
}

@media (max-width: 30em) {
  .ml20-below-30 { margin-left: 2rem;  }
}

@media (min-width: 25em) {
  .ml20-above-25 { margin-left: 2rem;  }
}

@media (min-width: 50em) {
  .ml20-above-50 { margin-left: 2rem;  }
}

@media (min-width: 40em) {
  .mr15-above-40 { margin-right: 1.5rem;  }
}

@media (min-width: 25em) {
  .mr20-above-25 { margin-right: 2rem;  }
}

@media (min-width: 40em) {
  .mr20-above-40 { margin-right: 2rem;  }
}

@media (min-width: 50em) {
  .mr20-above-50 { margin-right: 2rem;  }
}


@media (min-width: 25em) {
  .mt05-above-25 { margin-top:0.5rem; }
}

@media (max-width: 30em) {
  .mt10-below-30 { margin-top: 1rem;  }
}

@media (max-width: 40em) {
  .mt10-below-40 { margin-top: 1rem;  }
}

@media (max-width: 40em) {
  .mt15-below-40 { margin-top: 1.5rem;  }
}

@media (max-width: 550px) {
  .mt20-below-550px { margin-top: 2rem;  }
}

@media (max-width: 980px) {
  .mt20-below-980px { margin-top: 2rem;  }
}

@media (max-width: 40em) {
  .mt20-below-40 { margin-top: 2rem;  }
}

@media (max-width: 40em) {
  .mt30-below-40 { margin-top: 3rem;  }
}

@media (max-width: 40em) {
  .mt40-below-40 { margin-top: 4rem;  }
}


@media (min-width: 40em) {
  .mt10-above-40 { margin-left: 1rem;  }
}

@media (min-width: 40em) {
  .mt15-above-40 { margin-top: 1.5rem;  }
}

@media (min-width: 40em) {
  .ml20-above-40 { margin-left: 2rem;  }
}

@media (min-width: 800px) {
  .mt20-above-800px { margin-top: 2rem;  }
}

@media (min-width: 800px) {
  .mt30-above-800px { margin-top: 3rem;  }
}

@media (max-width: 30em) {
  .ml0-below-30 { margin-left: 0rem;  }
}

@media (max-width: 30em) {
  .ml0-below-30-i { margin-left: 0rem !important;  }
}

@media (max-width: 30em) {
  .ml10-below-30-i { margin-left: 1rem !important;  }
}

@media (max-width: 40em) {
  .ml10-below-40-i { margin-left: 1rem !important;  }
}

@media (max-width: 50em) {
  .ml10-below-50-i { margin-left: 1rem !important;  }
}

@media (max-width: 60em) {
  .ml10-below-60-i { margin-left: 1rem !important;  }
}

@media (min-width: 40em) {
  .ml10-above-40 { margin-left: 1rem;  }
}

@media (min-width: 50em) {
  .ml10-above-50 { margin-left: 1rem;  }
}

@media (min-width: 50em) {
  .ml10-above-50-i { margin-left: 1rem !important;  }
}

@media (max-width: 30em) {
  .mt10-below-30 { margin-top:1rem; }
}

@media (max-width: 25em) {
  .mt15-below-25 { margin-top:1.5rem; }
}

@media (max-width: 60em) {
  .mt15-below-60 { margin-top:1.5rem; }
}

@media (max-width: 30em) {
  .mt20-below-30 { margin-top:2rem; }
}

@media (min-width: 40em) {
  .mt20-above-40 { margin-top:2rem; }
}

@media (max-width: 25em) {
  .mt25-below-25 { margin-top:2.5rem; }
}

@media (min-width: 25em) {
  .mt25-above-25 { margin-top:2.5rem; }
}

@media (min-width: 40em) {
  .mt25-above-40 { margin-top:2.5rem; }
}

@media (min-width: 25em) {
  .mt30-above-25 { margin-top:3rem; }
}

@media (max-width: 30em) {
  .mt30-below-30 { margin-top:3rem; }
}

@media (max-width: 50em) {
  .mt30-below-50 { margin-top:3rem; }
}

@media (max-width: 60em) {
  .mt30-below-60 { margin-top:3rem; }
}

@media (max-width: 45em) {
  .mt40-below-45 { margin-top:4rem; }
}

@media (max-width: 50em) {
  .mt40-below-50 { margin-top:4rem; }
}

@media (max-width: 60em) {
  .mt40-below-60 { margin-top:4rem; }
}

@media (max-width: 60em) {
  .mt50-below-60 { margin-top:5rem; }
}

@media (max-width: 40em) {
  .ml10-below-40 { margin-left: 1rem }
}

@media (max-width: 40em) {
  .mr25-below-40 { margin-right: 2.5rem }
}

@media (max-width: 50em) {
  .mr25-below-50 { margin-right: 2.5rem }
}

@media (max-width: 40em) {
  .mr0-below-40 { margin-right: 0rem }
}


@media (min-width: 25em) {
  .mt40-above-25 { margin-top:4rem; }
}

@media (max-width: 60em) {
  .mt30-below-60 { margin-top:3rem; }
}


@media (max-width: 30em) {
  .ml30-below-30 { margin-left: 3rem; }
}

@media (min-width: 550px) {
  .ml3-above-550px { margin-left: 2rem }
}


@media (min-width: 980px) {
  .ml3-above-980px { margin-left: 2rem }
}


@media (min-width: 40em) {
  .ml30-above-40 { margin-left: 3rem; }
}

@media (min-width: 50em) {
  .ml30-above-50 { margin-left: 3rem; }
}

@media (min-width: 40em) {
  .mr30-above-40 { margin-right: 3rem; }
}

@media (max-width: 270px) {
  .mr30-below-270px { margin-right: 3rem; }
}

@media (min-width: 40em) {
  .mx15-above-40 { margin-left: 1.5rem; margin-right: 1.5rem }
}


@media (min-width: 40em) {
  .mx30-above-40 { margin-left: 3rem; margin-right: 3rem }
}



@media (min-width: 40em) {
  .mx30-above-50 { margin-left: 3rem; margin-right: 3rem }
}

@media (max-width: 50em) {
  .mx30-below-50 { margin-left: 3rem; margin-right: 3rem }
}

@media (max-width: 60em) {
  .ml40-below-60 { margin-left: 4rem;}
}

@media (max-width: 50em) {
  .ml40-below-50 { margin-left: 4rem;}
}

@media (min-width: 40em) {
  .ml40-above-40 { margin-left: 4rem;}
}
@media (min-width: 40em) {
  .mr40-above-40 { margin-right: 4rem;}
}

@media (min-width: 50em) {
  .mr40-above-50 { margin-right: 4rem;}
}

@media (min-width: 40em) {
  .mx40-above-40 { margin-left: 4rem; margin-right: 4rem }
}

@media (max-width: 50em) {
  .mx15-below-50 { margin-left: 1.5rem; margin-right: 1.5rem }
}

@media (max-width: 50em) {
  .mx20-below-50 { margin-left: 2rem; margin-right: 2rem }
}

@media (max-width: 50em) {
  .mx25-below-50 { margin-left: 2.5rem; margin-right: 2.5rem }
}

@media (max-width: 50em) {
  .mx40-below-50 { margin-left: 4rem; margin-right: 4rem }
}

@media (min-width: 40em) {
  .mx50-above-40 { margin-left: 5rem; margin-right: 5rem }
}

@media (min-width: 30em) {
  .mx4-above-30 { margin-left: 4rem; margin-right: 4rem }
}

@media (min-width: 40em) {
  .mx4-above-40 { margin-left: 4rem; margin-right: 4rem }
}


/* Responsive Padding  */

@media (min-width: 25em) {
  .px20-above-25 { padding-left: 2rem; padding-right: 2rem }
}



/* Responsive Block  */
@media (max-width: 25em) {
  .block-below-25 { display: block; }
}

@media (max-width: 30em) {
  .block-below-30 { display: block; }
}

@media (max-width: 45em) {
  .block-below-45 { display: block; }
}

@media (max-width: 50em) {
  .block-below-50 { display: block; }
}

@media (min-width: 25em) {
  .py10-above-25 { padding-top: 1rem; padding-bottom: 1rem }
}

@media (max-width: 25em) {
  .py10-below-25 { padding-top: 1rem; padding-bottom: 1rem }
}


/* Responsive Text Alignment  */

@media (max-width: 240px) {
  .center-below-240px { text-align:center; }
}

@media (max-width: 270px) {
  .center-below-270px { text-align:center; }
}

@media (max-width: 310px) {
  .center-below-310px { text-align:center; }
}

@media (max-width: 320px) {
  .center-below-310px { text-align:center; }
}

@media (max-width: 25em) {
  .center-below-25 { text-align:center; }
}

@media (max-width: 30em) {
  .center-below-30 { text-align:center; }
}

@media (max-width: 40em) {
  .center-below-40 { text-align:center; }
}

@media (max-width: 50em) {
  .center-below-50 { text-align:center; }
}

@media (max-width: 60em) {
  .center-below-60 { text-align:center; }
}

@media (max-width: 600px) {
  .center-below-600px { text-align:center; }
}

@media (max-width: 100em) {
  .center-below-100 { text-align:center; }
}

@media (min-width: 25em) {
  .center-above-25 { text-align:center; }
}

@media (min-width: 25em) {
  .center-above-40 { text-align:center; }
}

/* More fidelity darken */

.bg-darken-05 { background-color: rgba(0, 0, 0, .05) }

.bg-darken-10 { background-color: rgba(0, 0, 0, .1) }

.hv-bg-darken-10:hover { background-color: rgba(0, 0, 0, .1) }

.bg-darken-15 { background-color: rgba(0, 0, 0, .15) }

.bg-darken-20 { background-color: rgba(0, 0, 0, .2) }

.hv-bg-darken-20:hover { background-color: rgba(0, 0, 0, .2) }


.bg-darken-25 { background-color: rgba(0, 0, 0, .25) }

.bg-darken-30 { background-color: rgba(0, 0, 0, .3) }

.bg-darken-35 { background-color: rgba(0, 0, 0, .35) }

.bg-darken-40 { background-color: rgba(0, 0, 0, .4) }

.bg-darken-45 { background-color: rgba(0, 0, 0, .45) }

.bg-darken-50 { background-color: rgba(0, 0, 0, .5) }

.bg-darken-55 { background-color: rgba(0, 0, 0, .55) }

.bg-darken-60 { background-color: rgba(0, 0, 0, .60) }

.bg-darken-65 { background-color: rgba(0, 0, 0, .65) }

.bg-darken-70 { background-color: rgba(0, 0, 0, .7) }

.bg-darken-75 { background-color: rgba(0, 0, 0, .75) }

.bg-darken-80 { background-color: rgba(0, 0, 0, .8) }

.bg-darken-85 { background-color: rgba(0, 0, 0, .85) }

.bg-darken-90 { background-color: rgba(0, 0, 0, .9) }

.bg-darken-95 { background-color: rgba(0, 0, 0, .95) }

.hv-bg-darken-55:hover { background-color: rgba(0, 0, 0, .55) }

.hv-bg-darken-85:hover { background-color: rgba(0, 0, 0, .85) }


/* More fidelity lighten */

.bg-lighten-05 { background-color: rgba(255, 255, 255, .05) }

.bg-lighten-10 { background-color: rgba(255, 255, 255, .1) }

.bg-lighten-15 { background-color: rgba(255, 255, 255, .15) }

.bg-lighten-20 { background-color: rgba(255, 255, 255, .2) }

.bg-lighten-25 { background-color: rgba(255, 255, 255, .25) }

.bg-lighten-30 { background-color: rgba(255, 255, 255, .3) }

.bg-lighten-35 { background-color: rgba(255, 255, 255, .35) }

.bg-lighten-40 { background-color: rgba(255, 255, 255, .4) }

.bg-lighten-45 { background-color: rgba(255, 255, 255, .45) }

.bg-lighten-50 { background-color: rgba(255, 255, 255, .5) }

.bg-lighten-55 { background-color: rgba(255, 255, 255, .55) }

.bg-lighten-60 { background-color: rgba(255, 255, 255, .6) }

.bg-lighten-65 { background-color: rgba(255, 255, 255, .65) }

.bg-lighten-70 { background-color: rgba(255, 255, 255, .7) }

.bg-lighten-75 { background-color: rgba(255, 255, 255, .75) }

.bg-lighten-80 { background-color: rgba(255, 255, 255, .8) }

.bg-lighten-85 { background-color: rgba(255, 255, 255, .85) }

.bg-lighten-90 { background-color: rgba(255, 255, 255, .9) }

.bg-lighten-95 { background-color: rgba(255, 255, 255, .95) }

.bg-white-90 { background-color: rgba(255, 255, 255, .9) }

.bg-white-80 { background-color: rgba(255, 255, 255, .8) }

.bg-white-70 { background-color: rgba(255, 255, 255, .7) }

.bg-white-60 { background-color: rgba(255, 255, 255, .6) }

.bg-white-50 { background-color: rgba(255, 255, 255, .5) }

.bg-white-40 { background-color: rgba(255, 255, 255, .4) }

.bg-white-30 { background-color: rgba(255, 255, 255, .3) }

.bg-white-20 { background-color: rgba(255, 255, 255, .2) }

.bg-white-10 { background-color: rgba(255, 255, 255, .1) }

.hv-bg-white-10:hover { background-color: rgba(255, 255, 255, .1) }

.hv-bg-white-20:hover { background-color: rgba(255, 255, 255, .2) }

.hv-bg-white-40:hover { background-color: rgba(255, 255, 255, .4) }


.bg-black-10 { background-color: rgba(0, 0, 0, .1) }
.bg-black-20 { background-color: rgba(0, 0, 0, .2) }
.bg-black-40 { background-color: rgba(0, 0, 0, .4) }
.bg-black-50 { background-color: rgba(0, 0, 0, .5) }
.bg-black-60 { background-color: rgba(0, 0, 0, .6) }
.bg-black-70 { background-color: rgba(0, 0, 0, .7) }
.bg-black-80 { background-color: rgba(0, 0, 0, .8) }

.hv-bg-black-10:hover { background-color: rgba(0, 0, 0, .1) }
.hv-bg-black-20:hover { background-color: rgba(0, 0, 0, .2) }
.hv-bg-black-40:hover { background-color: rgba(0, 0, 0, .4) }


/* More fidelity muting */

.mute-100 { opacity: 0; }

.mute-90 { opacity: .1; }

.mute-80 { opacity: .2; }

.mute-70 { opacity: .3; }

.mute-60 { opacity: .4; }

.mute-50 { opacity: .5; }

.mute-40 { opacity: .6; }

.mute-30 { opacity: .7; }

.mute-20 { opacity: .8; }

.mute-10 { opacity: .9; }

/* aliases */ 

.opacity-0 { opacity: 0; }

.opacity-1 { opacity: .1; }

.opacity-2 { opacity: .2; }

.opacity-3 { opacity: .3; }

.opacity-4 { opacity: .4; }

.opacity-5 { opacity: .5; }

.opacity-6 { opacity: .6; }

.opacity-7 { opacity: .7; }

.opacity-8 { opacity: .8; }

.opacity-9 { opacity: .9; }


.scale-70 { transform: scale(0.7) }


/* More fidelity overflow */

.overflow-hide { overflow: hidden; }

.overflow-hidden-x { overflow-x: hidden; }
.overflow-x-hide { overflow-x: hidden; }

.overflow-hidden-y { overflow-y: hidden; }
.overflow-y-hide { overflow-y: hidden; }
.overflow-y-visible { overflow-y: visible; }

.overflow-scroll-y { overflow-y: scroll; }

.overflow-scroll-x { overflow-x: scroll; }

.overflow-y-auto { overflow-y: auto; }

.overflow-x-auto { overflow-x: auto; }


.overflow-visible { overflow: visible; }

.white-space-nowrap { white-space: nowrap; }

/* More line-height */

.line-height-50 { line-height: 0.5 }

.line-height-60 { line-height: 0.6 }

.line-height-70 { line-height: 0.7 }

.line-height-80 { line-height: 0.8 }

.line-height-90 { line-height: 0.9 }

.line-height-100 { line-height: 1 }

.line-height-105 { line-height: 1.05 }

.line-height-110 { line-height: 1.1 }

.line-height-120 { line-height: 1.2 }

.line-height-130 { line-height: 1.3 }

.line-height-140 { line-height: 1.4 }

.line-height-150 { line-height: 1.5 }

.line-height-160 { line-height: 1.6 }

.line-height-170 { line-height: 1.7 }

.line-height-180 { line-height: 1.8 }

.line-height-190 { line-height: 1.9 }

.line-height-200 { line-height: 2 }


/* Responsive inline */

@media (min-width: 30em) {
  .inline-above-30 { display: inline }
}

@media (min-width: 40em) {
  .inline-above-40 { display: inline }
}

@media (min-width: 60em) {
  .inline-above-60 { display: inline }
}

/* Capitalize (no letter spacing): */
.cap { text-transform: uppercase; }


.letter-spacing-3 { letter-spacing: 3px; }

.letter-spacing-2 { letter-spacing: 2px; }

.letter-spacing-1 { letter-spacing: 1px; }

.letter-spacing-0 { letter-spacing: 0px; }

.letter-spacing-n1 { letter-spacing: -1px; }

.letter-spacing-n2 { letter-spacing: -2px; }


/* More fidelity responsive columns */



@media (min-width: 450px) {
  .col-4-above-450px { width:33.33333%; }
}

@media (min-width: 600px) {
  .col-4-above-600px { width:33.33333%; }
}

@media (min-width: 60em) {
  .col-4-above-60 { width:33.33333%; }
}

@media (min-width: 50em) {
  .col-4-above-50 { width:33.33333%; }
}

@media (min-width: 40em) {
  .col-4-above-40 { width:33.33333%; }
}

@media (min-width: 50em) {
  .col-5-above-50 { width:41.66667%; }
}

@media (min-width: 30em) {
  .col-6-above-30 { width:50%; }
}

@media (min-width: 40em) {
  .col-6-above-40 { width:50%; }
}

@media (min-width: 50em) {
  .col-6-above-50 { width:50%; }
}

@media (min-width: 30em) {
  .col-7-above-30 { width:58.33333%; }
}

@media (min-width: 40em) {
  .col-7-above-40 { width:58.33333%; }
}

@media (min-width: 50em) {
  .col-7-above-50 { width:58.33333%; }
}

@media (min-width: 60em) {
  .col-7-above-60 { width:58.33333%; }
}

@media (min-width: 450px) {
  .col-8-above-450px { width:58.33333%; }
}

@media (min-width: 600px) {
  .col-8-above-600px { width:58.33333%; }
}

@media (min-width: 650px) {
  .col-8-above-650px { width:58.33333%; }
}

@media (min-width: 50em) {
  .col-8-above-50 { width:58.33333%; }
}

@media (min-width: 55em) {
  .col-8-above-55 { width:58.33333%; }
}

@media (min-width: 60em) {
  .col-8-above-60 { width: 66.66667%; }
}

@media (max-width: 70em) {
  .col-6-below-70 { width: 50%;  }
}
  
@media (max-width: 20em) {
  .col-8-below-20 { width: 66.66667%; }
}

@media (max-width: 30em) {
  .col-8-below-30 { width: 66.66667%; }
}

@media (max-width: 40em) {
  .col-8-below-40 { width: 66.66667%; }
}

@media (max-width: 60em) {
  .col-8-below-60 { width: 66.66667%; }
}

@media (max-width: 30em) {
  .col-10-below-30 { width: 83.33333%; }
}

@media (max-width: 30em) {
  .col-12-below-30 { width:100%; }
}

@media (max-width: 40em) {
  .col-12-below-40 { width:100%; }
}

@media (max-width: 50em) {
  .col-12-below-50 { width:100%; }
}

@media (max-width: 60em) {
  .col-12-below-60 { width:100%; }
}

@media (max-width: 70em) {
  .col-12-below-70 { width:100%; }
}

@media (max-width: 80em) {
  .col-12-below-80 { width:100%; }
}

.disable-select {
  -webkit-user-select: none;  
  -moz-user-select: none;    
  -ms-user-select: none;      
  user-select: none;
}

.enable-select {   
  user-select: text;
}

.pointer-events-none {
  pointer-events: none; 
}

.pointer-events-ok {
  pointer-events:auto;
}

.hv-bg-black:hover {
  background-color: black;
}

.hv-bg-gray:hover {
  background-color: #AAAAAA; 
}


.hv-bg-white:hover {
  background-color: white;
}

/* Active (mousedown) states */

.active-bg-gray:active { background-color: gray; }
.active-bg-lightgray:active { background-color: lightgray; }


/* More colors */

.lightbrown, .hv-lightbrown:hover { color: #b99671; }

.bg-lightbrown { background-color: #b99671; }

.bg-brown { background-color: #946e46; }

.brown, .hv-brown:hover { color: #946e46; }

.chai-latte { background-color: rgba(212, 210, 198, 1) }

.bg-chai-latte { background-color: rgba(212, 210, 198, 1) }

.nerd-green { color: #50AB4E; }

.hv-nerd-green:hover { color: #50AB4E; }

.pastel-green { color: #ECFFEC;  }

.bg-pastel-green { background-color: #ECFFEC;  }

.verygreen { color: #3ad377; } 

.bg-verygreen { background-color: #3ad377; }  

.charcoal { color: rgb(39, 40, 40) }

.bg-charcoal { background-color: rgb(39, 40, 40) }

.charcoal-gray { color: #444444; }

.bg-charcoal-gray { background-color: #444444; }

.pink { color:pink; }
.bg-pink { background-color: pink; }
.hv-pink:hover { color: pink; }
.hv-border-pink:hover { border-color: pink; }
.hv-bg-pink:hover { background-color: pink; }

.pinky { color: #f9cdefff; }
.hv-pinky:hover { color: #f9cdefff; }

.hv-bold:hover { font-weight:bold; }

.hv-stroke:hover {  -webkit-text-stroke: 1px black;  }

.hv-white:hover { color:white; }

.hv-lightyellow:hover { color:#fff3bd; }

.hv-mute:hover { opacity: 0.5; }

.hv-unmute:hover { opacity: 1; }

.parent:hover .parent-hv-unmute{ opacity: 1; }

.hv-unmute-children:hover > * { opacity: 1; }

.hv-child-bg-blue:hover > div:first-of-type { background-color: #0074D9;  }

.hv-silver:hover { color: #DDDDDD; }

.hv-border-silver:hover { border-color: #DDDDDD; }

.hv-border-darkgray:hover { border-color: darkgray; }

.hv-border-darkergray:hover { border-color: #383838; }

.hv-border-darkblue:hover { border-color: darkblue; }

.hv-border-blue:hover { border-color: #0074D9;  }

.hv-border-blue-1:hover { border-color: rgba(0, 116, 217, 0.1) }

.hv-border-blue-5:hover { border-color: rgba(0, 116, 217, 0.5) }

.bg-red-mute-2 { background-color: rgba(255, 65, 54, 0.2) }

.bg-red-mute-5 { background-color: rgba(255, 65, 54, 0.5) }


.bg-pine { background-color: #00a729; }

.bg-pine-mute-9 { background-color: rgba(0, 167, 41, 0.9) }

.hv-bg-pine:hover { background-color: #00a729; }

.hv-bg-blue:hover { background-color: #0074D9; }
.hv-bg-blue-i:hover { background-color: #0074D9 !important; }

.hv-border-orange:hover { border-color:rgba(255,155,9,1); }

.hv-bg-orange:hover { background-color: rgba(255,155,9,1); }

.hv-bg-lightorange:hover { background-color: #ffba75; }
.hv-bg-lightorange-i:hover { background-color: #ffba75 !important; }

.hv-bg-lightblue:hover { background-color: lightblue; }

.hv-bg-blue-05:hover { background-color: rgba(0, 116, 217, 0.05) }

.hv-bg-blue-1:hover { background-color: rgba(0, 116, 217, 0.1) }

.hv-bg-blue-2:hover { background-color: rgba(0, 116, 217, 0.2) }

.hv-border-white:hover { border-color:rgba(255,255,255,1); }

.hv-border-4:hover { border-width: 4px; }

.hv-border-7:hover { border-width: 7px; }


.bg-blue-mute-1 { background-color: rgba(0, 116, 217, 0.1) }
.bg-blue-mute-2 { background-color: rgba(0, 116, 217, 0.2) }
.bg-blue-mute-3 { background-color: rgba(0, 116, 217, 0.3) }
.bg-blue-mute-4 { background-color: rgba(0, 116, 217, 0.4) }
.bg-blue-mute-5 { background-color: rgba(0, 116, 217, 0.5) }
.bg-blue-mute-6 { background-color: rgba(0, 116, 217, 0.6) }
.bg-blue-mute-7 { background-color: rgba(0, 116, 217, 0.7) }
.bg-blue-mute-8 { background-color: rgba(0, 116, 217, 0.8) }
.bg-blue-mute-9 { background-color: rgba(0, 116, 217, 0.9) }


.facebook-blue { color: #3c5a99; }

.bg-facebook-blue { background-color: #3c5a99; }


.white-70 { color: rgba(255,255,255,0.7) }
.hv-white-70:hover { color: rgba(255,255,255,0.7) }

.white-80 { color: rgba(255,255,255,0.8) }

.hv-white-80:hover { color: rgba(255,255,255,0.8) }

.border-white-70 { border-color: rgba(255,255,255,0.7) }

.border-white-30 { border-color: rgba(255,255,255,0.3) }


.border-darkpine { border-color: #008410; }



.bg-palered { background-color: rgba(212, 0, 0, 0.4)}

.bg-palegreen { background-color: rgba(24, 212, 0, 0.4)}

.palegreen { color: rgba(24, 212, 0, 0.4)}

.bg-purple-mute-5 { background-color: rgba(177, 13, 201, 0.5)}

.bg-purple-5 { background-color: rgba(177, 13, 201, 0.5)}

.bg-yellow-mute-8 { background-color: rgba(255, 220, 0, 0.8); }

.bg-yellow-mute-5 { background-color: rgba(255, 220, 0, 0.5); }

.bg-yellow-mute-2 { background-color: rgba(255, 220, 0, 0.2); }


.darkgray { color: darkgray; }

.bg-lightgray { background-color: lightgray; }

.bg-darkgray { background-color: darkgray; }

.bg-darker-gray { background-color:#383838; }

.lightblue, .hv-lightblue:hover { color: #79a8ca; }

.hv-lightblue-i:hover { color: #79a8ca !important; }

.very-lightblue, .hv-very-lightblue:hover { color: #9ad4ff; }

.hv-very-lightblue:hover { color: #9ad4ff !important; }

.hv-bg-very-lightblue:hover { background-color: #9ad4ff; }

.hv-black:hover { color: black; }

.hv-blue:hover { color: #0074D9; }

.hv-blue-i:hover { color: #0074D9 !important; }


.hv-aqua:hover  { color: #7FDBFF }

.hv-border-aqua:hover  { border-color: #7FDBFF }


.darkred { color: darkred; }

.no-underline { text-decoration: none; }

.hv-underline:hover { text-decoration: underline; }

.hv-show:hover { display: inline-block !important; }


.bg-darkred { background-color: darkred; }

.border-darkred { border-color: darkred; }

.bg-lightblue { background-color: lightblue; }

.hv-bg-darkblue:hover { background-color: lightblue; }


.bg-darkblue { background-color: darkblue; }

.hv-bg-darkblue:hover { background-color: darkblue; }

.border-transparent { border-color: rgba(0,0,0,0); }

.object-fit-cover {
  object-fit: cover; 
}

.z999 {
  z-index: 999 !important;
}

.z998 {
  z-index: 998 !important;
}

.z997 {
  z-index: 997 !important;
}

.zN1 {
  z-index: -1;
}

/* More tops and bottoms */

.top-1 { top: 1rem; }

.top-15 { top: 1.5rem; }

.top-2 { top: 2rem; }

.top-25 { top: 2.5rem; }

.top-3 { top: 3rem; }

.top-4 { top: 4rem; }

.top-5 { top: 5rem; }

.top-6 { top: 6rem; }

.top-7 { top: 7rem; }


.right-1 { right: 1rem; }

.right-2 { right: 2rem; }

.right-3 { right: 3rem; }

.right-4 { right: 4rem; }

.left-1 { left: 1rem; }

.left-2 { left: 2rem; }

.left-3 { left: 3rem; }

.left-4 { left: 4rem; }

@media (min-width: 60em) {
  .right-1-above-60 { right: 1rem; }
}

@media (max-width: 60em) {
  .left-4-below-60 { left: 4rem; }
}

.bottom-05 { bottom: 0.5rem; }

.bottom-1 { bottom: 1rem; }

.bottom-2 { bottom: 2rem; }

.bottom-3 { bottom: 3rem; }


.flipV {
  transform : rotate(180deg) 
}

.rotate90, .rotate-90 {  transform : rotate(90deg)  }
.rotate90n, .rotate90n {  transform : rotate(-90deg)  }


.hv-bg-silver-1:hover { background-color: rgba(221, 221, 221, .1) }

.hv-bg-silver-2:hover { background-color: rgba(221, 221, 221, .2) }

.hv-bg-silver-3:hover { background-color: rgba(221, 221, 221, .3) }

.hv-bg-silver-4:hover { background-color: rgba(221, 221, 221, .4) }

.hv-bg-silver-5:hover { background-color: rgba(221, 221, 221, .5) }

.hv-bg-silver-6:hover { background-color: rgba(221, 221, 221, .6) }

.hv-bg-silver-7:hover { background-color: rgba(221, 221, 221, .7) }

.hv-bg-silver-8:hover { background-color: rgb(227, 228, 228) }

.hv-bg-silver-9:hover { background-color: rgba(221, 221, 221, .9) }

.hv-bg-silver:hover { background-color: rgba(221, 221, 221, 1) }


.bg-silver-1 { background-color: rgba(221, 221, 221, .1) }

.bg-silver-2 { background-color: rgba(221, 221, 221, .2) }

.bg-silver-3 { background-color: rgba(221, 221, 221, .3) }

.bg-silver-4 { background-color: rgba(221, 221, 221, .4) }

.bg-silver-5 { background-color: rgba(221, 221, 221, .5) }

.bg-silver-6 { background-color: rgba(221, 221, 221, .6) }

.bg-silver-7 { background-color: rgba(221, 221, 221, .7) }

.bg-silver-8 { background-color: rgba(221, 221, 221, .8) }

.bg-silver-9 { background-color: rgba(221, 221, 221, .9) }



.bg-yellow-1 { background-color: rgba(255, 222, 0, .1) }

.bg-yellow-2 { background-color: rgba(255, 222, 0, .2) }

.bg-yellow-3 { background-color: rgba(255, 222, 0, .3) }

.bg-yellow-4 { background-color: rgba(255, 222, 0, .4) }

.bg-yellow-5 { background-color: rgba(255, 222, 0, .5) }

.bg-yellow-9 { background-color: rgba(255, 222, 0, .9) }


.bg-blue-1 { background-color: rgba(0, 116, 217, .1) }

.bg-blue-5 { background-color: rgba(0, 116, 217, .5) }

.blue-original { color: blue; }

.bg-orange-1-white { background-color: rgba(255, 222, 0, .1) }
/* TODO: get hex code for each orange color with transparency range from 10 to 10 with white bg */


.bg-orange-mute-9 { background-color: rgba(255,155,9, 0.9) }

.bg-orange-mute-8 { background-color: rgba(255,155,9, 0.8) }

.bg-orange-mute-7 { background-color: rgba(255,155,9, 0.7) }

.bg-orange-mute-6 { background-color: rgba(255,155,9, 0.6) }

.bg-orange-mute-5 { background-color: rgba(255,155,9, 0.5) }

.bg-orange-mute-2 { background-color: rgba(255,155,9, 0.2) }

.bg-orange-mute-1 { background-color: rgba(255,155,9, 0.1) }

.bg-orange-mute-05 { background-color: rgba(255,155,9, 0.05) }

.bg-green-1 { background-color: rgba(24, 212, 0, 0.1)}

.bg-green-2 { background-color: rgba(24, 212, 0, 0.2)}

.bg-green-3 { background-color: rgba(24, 212, 0, 0.3)}

.bg-green-4 { background-color: rgba(24, 212, 0, 0.4)}

.bg-green-5 { background-color: rgba(24, 212, 0, 0.5)}

.bg-green-6 { background-color: rgba(24, 212, 0, 0.6)}

.hv-bg-green:hover { background-color: #2ECC40; }

.item-square {
  list-style-type: square;
}

.black-5 { 
  color: rgba(0,0,0,0.5)
}

.gray-i { 
  color: gray !important;
}


.border-black-i { 
  border-color: rgba(0,0,0,1) !important; 
}

.border-black-1 { 
  border-color: rgba(0,0,0,0.1)
}

.border-black-2 { 
  border-color: rgba(0,0,0,0.2)
}

.border-black-3 { 
  border-color: rgba(0,0,0,0.3)
}

.border-black-3-i { 
  border-color: rgba(0,0,0,0.3) !important; 
}

.border-black-4 { 
  border-color: rgba(0,0,0,0.4)
}

.border-black-5 { 
  border-color: rgba(0,0,0,0.5)
}

.border-black-6 { 
  border-color: rgba(0,0,0,0.6)
}

.border-black-7 { 
  border-color: rgba(0,0,0,0.7)
}

.border-black-8 { 
  border-color: rgba(0,0,0,0.8)
}

.border-black-9 { 
  border-color: rgba(0,0,0,0.9)
}


.border-opaque { 
  border-color: rgba(0,0,0,0.0)
}

.border-orange-1 { 
  border-color: rgba(0,0,0,0.1)
}

.border-orange-2 { 
  border-color: rgba(0,0,0,0.2)
}

.border-orange {
  border-color:orange;
}


.white-i { color:white !important; }

.bold-i { font-weight: bold !important; }

.orange-i { color: orange !important; }



.font-weight-300 { font-weight: 300;  }
.font-weight-400 { font-weight: 400;  }

.font-weight-600 { font-weight: 600;  }


.svg-path-fill-orange > path { fill:orange; }
.svg-path-stroke-orange > path { stroke:orange; }


/* Animations */
.animate-opacity {
  transition: opacity 0.5s ease-in-out;
}

.animate-opacity-top-250 {
  transition: opacity 0.25s ease-in-out, top 0.25s ease-in-out; ;
}

.animate-transform { transition: transform 0.5s ease-in-out; }

.animate-transform-025s { transition: transform 0.25s ease-in-out; }

.animate-left { transition: left 0.5s ease-in-out;  }

.animate-left-ease-out-cubic { transition: left 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);  }

.animate-left-ease-out-cubic-0-25 { transition: left 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);  }

.animate-top { transition: top 0.5s ease-in-out;  }

.animate-top-250 { transition: top 0.25s ease-in-out;  }

.animate-margin-top-250 { transition: margin-top 0.25s ease-in-out;  }

.animate-background-color { transition: background-color 0.5s; }

.animate-background-color-0-15s-ease-in-out { transition: background-color 0.15s ease-in-out; }

.parent:hover .parent-hv-background-opaque { background-color: rgba(0,0,0,0) ; }


.font-default { font-family:sans-serif !important; }

.font-mono {  font-family: Consolas, Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace, serif;}

.font-open-sans { font-family: 'Open Sans', sans-serif}



.lightgreen { color: lightgreen; } 



.light-yellow { color: #fffcde; } 
.hv-light-yellow:hover { color: #fffcde; } 

.bg-yellow-highlight { background-color: #fcee87; }

.bg-yellow-pale { background-color:rgba(255,225,0,0.2); }

.bg-yellow-note { background-color: #ffffab; }

.bg-darkgray { background-color: #2a2a2a; }

.clear-left { clear:left; }

.height-auto { height: auto;  }


.min-1024 {
  min-width: 1024px;
}

.min-1200 { min-width: 1200px; }



.font-weight-400 { font-weight: 400;  }
.font-weight-500 { font-weight: 500;  }
.font-weight-600 { font-weight: 600;  }
.font-weight-700 { font-weight: 700;  }
.font-weight-800 { font-weight: 800;  }
.font-weight-900 { font-weight: 900;  }

.font-weight-400-i { font-weight: 400;  }
.font-weight-500-i { font-weight: 500;  }
.font-weight-600-i { font-weight: 600;  }
.font-weight-700-i { font-weight: 700;  }
.font-weight-800-i { font-weight: 800;  }
.font-weight-900-i { font-weight: 900;  }

.h1-i { font-size: 2rem !important; }

.border-bottom-3-i {
  border-bottom-width: 3px !important;
}

.gray-i {
  color: gray !important;
}


.line-through { text-decoration:line-through; }

.left-35p {
  left: 35%;
}

@media (max-width: 400px) {
  .fs10-below-400px {
    font-size:1rem;
  }
}

@media (max-width: 400px) {
  .fs11-below-400px {
    font-size:1.1rem;
  }
}

.fs16px { font-size:16px; }

@media (max-width: 400px) {
  .fs16px-below-400px {
    font-size:16px;
  }
}

@media (max-width: 400px) {
  .fs18px-below-400px {
    font-size:18px;
  }
}

@media (max-width: 500px) {
  .fs18px-below-500px {
    font-size:18px;
  }
}

@media (max-width: 400px) {
  .fs22px-below-400px {
    font-size:22px;
  }
}

@media (max-width: 500px) {
  .h4-below-500px {
    font-size:1rem;
  }
}

@media (max-width: 400px) {
  .h4-below-400px {
    font-size:1rem;
  }
}

@media (max-width: 500px) {
  .left-26p-below-500px {
    left: 26%;
  }
}

/* ### Google Fonts ### 
Requires Google font included in page ex:  
<link href="https://fonts.googleapis.com/css?family=Raleway:600" rel="stylesheet">
*/

.font-Play { font-family: 'Play', sans-serif; }
.font-Montserrat { font-family: 'Montserrat', sans-serif; }
.font-Raleway { font-family: 'Raleway', sans-serif; }
.font-Merriweather { font-family: 'Merriweather', serif; }
.font-Roboto { font-family: 'Roboto', sans-serif; }
.font-Poppins { font-family: 'Poppins', sans-serif; }
.font-Comfortaa { font-family: 'Comfortaa', cursive; }
.font-M-PLUS-1p { font-family: 'M PLUS 1p', sans-serif; }
.font-Josefin-Sans { font-family: 'Josefin Sans', sans-serif; }

/* family=Josefin+Sans:400,700 */
.font-Josefin { font-family: 'Josefin Sans', sans-serif; }


/* Filters */

.grayscale { 
  filter: grayscale(1);
  -webkit-filter: grayscale(1);    
}

.grayscale-25 { 
  filter: grayscale(0.25);
  -webkit-filter: grayscale(0.25);    
}

.grayscale-50 { 
  filter: grayscale(0.5);
  -webkit-filter: grayscale(0.5);    
}

.grayscale-75, .hv-grayscale-75:hover { 
  filter: grayscale(0.75);
  -webkit-filter: grayscale(0.75);    
}

.grayscale-reset, .hv-grayscale-reset:hover {
	 filter: grayscale(0);
  -webkit-filter: grayscale(0);
}

.hv-unmute-sibling:hover + * {
	opacity: 1;
} 

.hv-unmute-50-sibling:hover + * {
	opacity: 0.5;
} 

.hv-blue-sibling:hover + * {
  color: #0074D9; 
}

.hv-border-blue-5-sibling:hover + * {
  border-color: rgba(0, 116, 217, 0.5); 
}


.blur-01 { filter: blur(0.1rem) }
.blur-02 { filter: blur(0.2rem) }
.blur-05 { filter: blur(0.5rem) }
.blur-10 { filter: blur(1rem) }

.blur-bg-02 { 
  -webkit-backdrop-filter: blur(0.2rem); 
  backdrop-filter: blur(0.2rem) 
}


.square-0 { width: 0; height: 0; }

.svg-container svg { height: auto;  width: 100%; }