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

.box-shadow { box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.16) }

.text-shadow { text-shadow: 2px 2px 2px rgba(0,0,0,.2) }

.bw-2 { border-width: 2px }
.bw-3 { border-width: 3px }
.bw-5 { border-width: 5px }
.bw-10 { border-width: 10px }

.child-m0 > * { margin: 0 }

.capitalize { text-transform: capitalize }

.cursor-pointer { cursor: pointer }

.flex-justify-around { justify-content: space-around }
.flex-justify-center { justify-content: center }
.flex-justify-end { justify-content: flex-end }
.flex-justify-start { justify-content: flex-start }

.font-lato { font-family: 'Lato', sans-serif }

.fs-18 { font-size: 18px }

.height-100-vh { height: 100vh }
.height-100-p { height: 100% }

.last-element-no-border:last-of-type { border: none }
.last-element-no-margin:last-of-type { margin: 0 }
.last-element-no-padding-bottom:last-of-type { padding-bottom: 0 }

.last-element-child-pb-10:last-of-type .child { padding-bottom: 10px }

.list-style-disc { list-style: disc }
.list-style-square { list-style: square }

.lh-normal { line-height: normal }
.lh-18 { line-height: 18px }
.lh-30 { line-height: 30px }

.ls-2 { letter-spacing: 2px }

.mx1 { margin-left: .5rem; margin-right: .5rem; }
.mx2 { margin-left: 1rem; margin-right: 1rem; }
.mx3 { margin-left: 2rem; margin-right: 2rem; }
.mx4 { margin-left: 4rem; margin-right: 4rem; }

.mt-10 { margin-top: 10px }

.mh-100vh { min-height: 100vh }

.black { font-weight: 900 }
.light { font-weight: 300 }
.medium { font-weight: 500 }
.semi-bold { font-weight: 600 }

.hidden { display: none }

.hover-child-opacity-100:hover .child { opacity: 1 }

.horizontal-center { left: 50% }
.vertical-center { top: 50% }

.mw-800 { max-width: 800px }

.opacity-0 { opacity: 0 }
.opacity-25 { opacity: .25 }
.opacity-50 { opacity: .5 }
.opacity-60 { opacity: .6 }

.overflow-x-hidden { overflow-x: hidden }

.overflow-y-auto { overflow-y: auto }

.pt0 { padding-top: 0 }
.pt1 { padding-top: .5rem }
.pt2 { padding-top: 1rem }
.pt3 { padding-top: 2rem }
.pt4 { padding-top: 4rem }

.pb0 { padding-bottom: 0 }
.pb1 { padding-bottom: .5rem }
.pb2 { padding-bottom: 1rem }
.pb3 { padding-bottom: 2rem }
.pb4 { padding-bottom: 4rem }

.pr0 { padding-right: 0 }
.pr1 { padding-right: .5rem }
.pr2 { padding-right: 1rem }
.pr3 { padding-right: 2rem }
.pr4 { padding-right: 4rem }

.pl0 { padding-left: 0 }
.pl1 { padding-left: .5rem }
.pl2 { padding-left: 1rem }
.pl3 { padding-left: 2rem }
.pl4 { padding-left: 4rem }

.rounded-5 { border-radius: 5px }
.rounded-10 { border-radius: 10px }

.bottom-100p { bottom: 100% }
.left-100p { left: 100% }
.right-100p { right: 100% }
.top-100p { top: 100% }

.left-50p { left: 50% }
.top-50p { top: 50% }

.sticky { position: sticky }

.text-upper { text-transform: uppercase }

.transform-horizontal-center { transform: translateX(-50%) }
.transform-vertical-center { transform: translateY(-50%) }
.transform-center { transform: translate(-50%, -50%) }

.underline { text-decoration: underline }

.width-20p { width: 20% }

.z1 { z-index: 1 }
.z2 { z-index: 2 }
.z3 { z-index: 3 }
.z4 { z-index: 4 }
.z5 { z-index: 5 }
.z6 { z-index: 6 }
.z7 { z-index: 7 }
.z8 { z-index: 8 }

@media (max-width: 1450px) {

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

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

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

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

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

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

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

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

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

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

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

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

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

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

}


@media (max-width: 1024px) {

  .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%;
  }

  .lg-flex-reverse { flex-direction: row-reverse }
  .lg-flex-column-reverse { flex-direction: column-reverse }
}

@media (max-width: 640px) {

  .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 (max-width: 1024px) {
  .lg-flex { display: flex }
}

@media (max-width: 640px) {
  .sm-flex { display: flex }
}

@media (max-width: 1024px) {
  .lg-show { display: block }
}

@media (max-width: 640px) {
  .sm-show { display: block }
}

@media (max-width: 1024px) {
  .lg-hide { display: none }
}

@media (max-width: 640px) {
  .sm-hide { display: none }
}

@media (max-width: 1450px) {
  .x-lg-h1 { font-size: 2rem }
  .x-lg-h2 { font-size: 1.5rem }
  .x-lg-h3 { font-size: 1.25rem }
  .x-lg-h4 { font-size: 1rem }
  .x-lg-h5 { font-size: .875rem }
  .x-lg-h6 { font-size: .75rem }

  .x-lg-lh-normal { line-height: normal }

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

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

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

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

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

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

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

  .x-lg-p1  { padding: .5rem }
  .x-lg-py1 { padding-top: .5rem; padding-bottom: .5rem }
  .x-lg-px1 { padding-left: .5rem; padding-right: .5rem }

  .x-lg-p2  { padding: 1rem }
  .x-lg-py2 { padding-top: 1rem; padding-bottom: 1rem }
  .x-lg-px2 { padding-left: 1rem; padding-right: 1rem }

  .x-lg-p3  { padding: 2rem }
  .x-lg-py3 { padding-top: 2rem; padding-bottom: 2rem }
  .x-lg-px3 { padding-left: 2rem; padding-right: 2rem }

  .x-lg-p4  { padding: 4rem }
  .x-lg-py4 { padding-top: 4rem; padding-bottom: 4rem }
  .x-lg-px4 { padding-left: 4rem; padding-right: 4rem }

  .x-lg-pt0 { padding-top: 0 }
  .x-lg-pt1 { padding-top: .5rem }
  .x-lg-pt2 { padding-top: 1rem }
  .x-lg-pt3 { padding-top: 2rem }
  .x-lg-pt4 { padding-top: 4rem }

  .x-lg-pb0 { padding-bottom: 0 }
  .x-lg-pb1 { padding-bottom: .5rem }
  .x-lg-pb2 { padding-bottom: 1rem }
  .x-lg-pb3 { padding-bottom: 2rem }
  .x-lg-pb4 { padding-bottom: 4rem }

  .x-lg-pr0 { padding-right: 0 }
  .x-lg-pr1 { padding-right: .5rem }
  .x-lg-pr2 { padding-right: 1rem }
  .x-lg-pr3 { padding-right: 2rem }
  .x-lg-pr4 { padding-right: 4rem }

  .x-lg-pl0 { padding-left: 0 }
  .x-lg-pl1 { padding-left: .5rem }
  .x-lg-pl2 { padding-left: 1rem }
  .x-lg-pl3 { padding-left: 2rem }
  .x-lg-pl4 { padding-left: 4rem }
}

@media (max-width: 1024px) {
  .lg-block { display: block }

  .lg-flex-justify-center { justify-content: center }

  .lg-lh-normal { line-height: normal }

  .lg-h4 { font-size: 1rem; }

  .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 }

  .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-m1  { margin: .5rem }
  .lg-mt1 { margin-top: .5rem }
  .lg-mr1 { margin-right: .5rem }
  .lg-mb1 { margin-bottom: .5rem }
  .lg-ml1 { margin-left: .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-m3  { margin: 2rem }
  .lg-mt3 { margin-top: 2rem }
  .lg-mr3 { margin-right: 2rem }
  .lg-mb3 { margin-bottom: 2rem }
  .lg-ml3 { margin-left: 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-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-mx-auto { margin-left: auto; margin-right: auto; }

  .lg-center { text-align: center }
  .lg-right-align { text-align: right }

  .lg-p0 { padding: 0 }

  .lg-pb0 { padding-bottom: 0 }

  .lg-pt0 { padding-top: 0 }

  .lg-border-none { border: none }
  .lg-border-bottom-none { border-bottom: none }
  .lg-border-top-none { border-top: none }

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

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

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

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

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

  .lg-flex-justify-start { justify-content: flex-start }

  .lg-flex-wrap { flex-wrap: wrap }

  .lg-float-none { float: none }

  .lg-left-align { text-align: left }

  .lg-mh0 { min-height: 0 }

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

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

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

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

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

  .lg-pt0 { padding-top: 0 }
  .lg-pt1 { padding-top: .5rem }
  .lg-pt2 { padding-top: 1rem }
  .lg-pt3 { padding-top: 2rem }
  .lg-pt4 { padding-top: 4rem }

  .lg-pb0 { padding-bottom: 0 }
  .lg-pb1 { padding-bottom: .5rem }
  .lg-pb2 { padding-bottom: 1rem }
  .lg-pb3 { padding-bottom: 2rem }
  .lg-pb4 { padding-bottom: 4rem }

  .lg-pr0 { padding-right: 0 }
  .lg-pr1 { padding-right: .5rem }
  .lg-pr2 { padding-right: 1rem }
  .lg-pr3 { padding-right: 2rem }
  .lg-pr4 { padding-right: 4rem }

  .lg-pl0 { padding-left: 0 }
  .lg-pl1 { padding-left: .5rem }
  .lg-pl2 { padding-left: 1rem }
  .lg-pl3 { padding-left: 2rem }
  .lg-pl4 { padding-left: 4rem }

  .lg-static { position: static }

  .lg-width-auto { width: auto }
}


@media (max-width: 640px) {
  .sm-absolute { position: absolute }

  .sm-bg-none { background: none }

  .sm-bg-contain { background-size: contain }

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

  .sm-border-none { border: none }
  .sm-border-right-none { border-right: none }

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

  .sm-bottom-auto { bottom: auto }

  .sm-center { text-align: center }

  .sm-flex-initial { align-items: initial }

  .sm-flex-auto { flex: 1 1 auto }

  .sm-flex-center { align-items: center }
  .sm-flex-start { align-items: start }

  .sm-flex-column { flex-direction: column }

  .sm-flex-justify-center { justify-content: center }
  .sm-flex-justify-end { justify-content: flex-end }
  .sm-flex-justify-start { justify-content: flex-start }

  .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 }

  .sm-lh-normal { line-height: normal }

  .sm-h-auto { height: auto }

  .sm-mh-auto { min-height: auto }

  .sm-mw-none { min-width: 0 }

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

  .sm-left-align { text-align: left }
  .sm-right-align { text-align: right }

  .sm-left-0 { left: 0 }

  .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-m1  { margin: .5rem }
  .sm-mt1 { margin-top: .5rem }
  .sm-mr1 { margin-right: .5rem }
  .sm-mb1 { margin-bottom: .5rem }
  .sm-ml1 { margin-left: .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-m3  { margin: 2rem }
  .sm-mt3 { margin-top: 2rem }
  .sm-mr3 { margin-right: 2rem }
  .sm-mb3 { margin-bottom: 2rem }
  .sm-ml3 { margin-left: 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-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-mx-auto { margin-left: auto; margin-right: auto; }

  .sm-o-100 { opacity: 100 }

  .sm-overflow-visible { overflow: visible }
  .sm-overflow-y-auto { overflow-y: auto }

  .sm-pb0 { padding-bottom: 0 }
  .sm-pb1 { padding-bottom: .5rem }
  .sm-pb2 { padding-bottom: 1rem }
  .sm-pb3 { padding-bottom: 2rem }
  .sm-pb4 { padding-bottom: 4rem }

  .sm-pl0 { padding-left: 0 }
  .sm-pl1 { padding-left: .5rem }
  .sm-pl2 { padding-left: 1rem }
  .sm-pl3 { padding-left: 2rem }
  .sm-pl4 { padding-left: 4rem }

  .sm-pr0 { padding-right: 0 }
  .sm-pr1 { padding-right: .5rem }
  .sm-pr2 { padding-right: 1rem }
  .sm-pr3 { padding-right: 2rem }
  .sm-pr4 { padding-right: 4rem }

  .sm-pt1 { padding-top: .5rem }
  .sm-pt2 { padding-top: 1rem }
  .sm-pt3 { padding-top: 2rem }
  .sm-pt4 { padding-top: 4rem }

  .sm-p0 { padding: 0 }

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

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

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

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

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

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

  .sm-pt-77 { padding-top: 77px }

  .sm-rounded { border-radius: 5px }

  .sm-rounded-none { border-radius: 0 }

  .sm-rounded-bottom-left { border-bottom-left-radius: 5px }
  .sm-rounded-bottom-right { border-bottom-right-radius: 5px }
  .sm-rounded-top-left { border-top-left-radius: 5px }
  .sm-rounded-top-right { border-top-right-radius: 5px }

  .sm-relative { position: relative }

  .sm-static { position: static }

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

  .sm-top-100p { top: 100% }

  .sm-transform-none { transform: none }

  .sm-visibility-visible { visibility: visible }

  .sm-white-space-normal { white-space: normal }
}
