/*
    Fonts
    -------------------------------------- */

@font-face {
  font-family: 'TS';
  src: url('fonts/True-SansRoundedNov22-Regular.otf') format('woff');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'TS';
  src: url('fonts/True-SansRoundedNov22-RegularItalic.otf') format('woff');
  font-weight: normal;
  font-style: italic;
}

@font-face {
  font-family: 'CMono';
  src: url('fonts/CenturySchoolbookBT-Monospace.otf') format('woff');
  font-weight: normal;
  font-style: normal;
}

/*
    ROOT
    -------------------------------------- */

:root {
  --blue: rgb(50,90,245);
  --grey: rgb(120,120,120);
  --lheight: 1.25;
  --background: 'grey';
  --foreground: 'grey';
}

/*
    MAIN CSS
    -------------------------------------- */

html {
  font-family: 'TS', Helvetica, Arial, sans-serif;
  font-weight: normal;
  font-size: 16px;
  line-height: var(--lheight);
  color: #000;
  background-color: rgba(255,255,255,1);
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

a {
	color: inherit;
}

article, header, main, section, body {
    display: block;
}

button {
  letter-spacing: inherit;
}

button:focus {
  outline: none;
}

::selection {
  background: rgba(0,0,0,.99);
  color: rgba(255,255,255,.99);
}


/*
    Scrollbar
    -------------------------------------- */

/*
::-webkit-scrollbar {
  padding-top: 2rem;
  width: 1rem;
}

::-webkit-scrollbar-thumb {
  border: 1px #fff solid;
  border-radius: 1rem;
} */

/*
    Typography
    -------------------------------------- */

.fs0-7 {font-size:0.7rem}
.fs1 {font-size:1rem}
.fs1-1 {font-size:1.1rem}
.fs1-3 {font-size:1.3rem}
.fs1-5 {font-size:1.5rem}

.fs1-8 {font-size:1.8rem}
.fs2-4 {font-size:2.4rem}
.fs3 {font-size:3rem}
.fs3-4 {font-size:3.4rem}
.fs4-8 {font-size:4.8rem}
.fs6 {font-size:6rem}
.fs6-4 {font-size:6.4rem}

.ls-5 {letter-spacing:-0.05}
.ls-4 {letter-spacing:-0.04}
.ls-3 {letter-spacing:-0.03}
.ls-2 {letter-spacing:-0.02}
.ls-1 {letter-spacing:-0.01}
.ls0 {letter-spacing:0}
.ls1 {letter-spacing:.01rem}
.ls2 {letter-spacing:.02rem}
.ls3 {letter-spacing:.03rem}
.ls4 {letter-spacing:.04rem}
.ls5 {letter-spacing:.05rem}
.ls7 {letter-spacing:.07rem}
.ls10 {letter-spacing:.1rem}

.lh0 {line-height:0}
.lh1_2 {line-height:.5}
.lh1 {line-height:1}
.lh1-5 {line-height:1.5}

.fsn {font-style:normal}
.fsi {font-style:italic}

.fwn {font-weight:normal}
.fwb {font-weight:bold}

.tal {text-align:left}
.tac {text-align:center}
.tar {text-align:right}
.taj {text-align:justify}

.toi {text-overflow:initial}
.toc {text-overflow:clip}
.toe {text-overflow:ellipsis}

.tdu {text-decoration:underline}
.tdo {text-decoration:overline}
.tdlt {text-decoration:line-through}
.tdn {text-decoration:none}

.ttu {text-transform:uppercase}
.ttl {text-transform:lowercase}
.ttc {text-transform:capitalize}
.ttn {text-transform:none}

.vabl {vertical-align:baseline}
.vat {vertical-align:top}
.vam {vertical-align:middle}
.vab {vertical-align:bottom}

.wsn {white-space:normal}
.wsnw {white-space:nowrap}
.wsp {white-space:pre}
.wsi {white-space:inherit}

.fv-sc {
  font-variant: small-caps;
  letter-spacing: .03rem;
}


/*
    Resets
    -------------------------------------- */

ul, li {
  list-style-type: none;
}

ul, p {
  padding-bottom: calc(1em * var(--lheight));
}

P:last-child {
  padding-bottom: 0;
}

h1, h2, h3, h4, h5, h6 {
  font-size: inherit;
  font-weight: inherit;
}

sup {
  top: -0.25em;
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
  background: inherit;
}

button, input, select, textarea {
    background-color: transparent;
    border-style: none;
    color: inherit;
}
button, select {
    text-transform: none;
}

[type=reset], [type=submit], button, html [type=button] {
    -webkit-appearance: button;
}
button {
    overflow: visible;
}
button, input, optgroup, select, textarea {
    font: inherit;
}
[role=button], [type=button], [type=reset], [type=submit], button {
    cursor: pointer;
}

/*
    Column Structure
    -------------------------------------- */

.cl1 {width: calc((1/12) * 100%);}
.cl2 {width: calc((2/12) * 100%);}
.cl3 {width: calc((3/12) * 100%);}
.cl4 {width: calc((4/12) * 100%);}
.cl5 {width: calc((5/12) * 100%);}
.cl6 {width: calc((6/12) * 100%);}
.cl7 {width: calc((7/12) * 100%);}
.cl8 {width: calc((8/12) * 100%);}
.cl9 {width: calc((9/12) * 100%);}
.cl10 {width: calc((10/12) * 100%);}
.cl11 {width: calc((11/12) * 100%);}
.cl12 {width: calc((12/12) * 100%);}

/*
    Viewport
    -------------------------------------- */

.vw50 {width: 50vw;}
.vw100 {width: 100vw;}

.vh25 {height:25vh;}
.vh50 {height:50vh;}
.vh75 {height:75vh;}
.vh100 {height:100vh;}

/*
    Flex Rules
    -------------------------------------- */
.x {display:flex}
.xac {align-items:center}
.xab {align-items:baseline}
.xas {align-items:stretch}
.xafs {align-items:flex-start}
.xafe {align-items:flex-end}
.xass {align-self: stretch; }
.xasc {align-self: center; }
.xasfs {align-self: flex-start; }
.xasfe { align-self: flex-end; }
.xdr {flex-direction:row}
.xdrr {flex-direction:row-reverse}
.xdc {flex-direction:column}
.xdcr {flex-direction:column-reverse}
.xjc {justify-content:center}
.xjb {justify-content:space-between}
.xja {justify-content:space-around}
.xjs {justify-content:flex-start}
.xje {justify-content:flex-end}
.xw {flex-wrap:wrap}
.xwr {flex-wrap:wrap-reverse}
.xwn {flex-wrap:nowrap}
.xi {flex:initial}
.xx {flex:1}
.xa {flex:auto}
.xn {flex:none}
.xo0 {order:0}
.xo1 {order:1}
.xo2 {order:2}
.xo3 {order:3}
.xo4 {order:4}
.xot {order:-1}
.xob {order:99}

/*
    Margin Rules
    -------------------------------------- */
.m0 {margin:calc(0 * var(--lheight))}
.m1_2 {margin:calc(.5em * var(--lheight))}
.m1 {margin:calc(1em * var(--lheight))}
.m2 {margin:calc(2em * var(--lheight))}
.m3 {margin:calc(3em * var(--lheight))}
.m4 {margin:calc(4em * var(--lheight))}

.mt0 {margin-top:calc(0 * var(--lheight))}
.mt1_2 {margin-top:calc(.5em * var(--lheight))}
.mt1 {margin-top:calc(1em * var(--lheight))}
.mt2 {margin-top:calc(2em * var(--lheight))}
.mt3 {margin-top:calc(3em * var(--lheight))}
.mt4 {margin-top:calc(4em * var(--lheight))}

.mr0 {margin-right:calc(0 * var(--lheight))}
.mr1_2 {margin-right:calc(.5em * var(--lheight))}
.mr1 {margin-right:calc(1em * var(--lheight))}
.mr2 {margin-right:calc(2em * var(--lheight))}
.mr3 {margin-right:calc(3em * var(--lheight))}
.mr4 {margin-right:calc(4em * var(--lheight))}

.mb0 {margin-bottom:calc(0 * var(--lheight))}
.mb1 {margin-bottom:calc(1em * var(--lheight))}
.mb1_2 {margin-bottom:calc(.5em * var(--lheight))}
.mb2 {margin-bottom:calc(2em * var(--lheight))}
.mb3 {margin-bottom:calc(3em * var(--lheight))}
.mb4 {margin-bottom:calc(4em * var(--lheight))}

.ml0 {margin-left:calc(0 * var(--lheight))}
.ml1_2 {margin-left:calc(.5em * var(--lheight))}
.ml1 {margin-left:calc(1em * var(--lheight))}
.ml2 {margin-left:calc(2em * var(--lheight))}
.ml3 {margin-left:calc(3em * var(--lheight))}
.ml4 {margin-left:calc(4em * var(--lheight))}

.mx0 {margin-left:calc(0 * var(--lheight));margin-right:calc(0 * var(--lheight))}
.mx1 {margin-left:calc(1em * var(--lheight));margin-right:calc(1em * var(--lheight))}
.mx2 {margin-left:calc(2em * var(--lheight));margin-right:calc(2em * var(--lheight))}
.mx3 {margin-left:calc(3em * var(--lheight));margin-right:calc(3em * var(--lheight))}
.mx4 {margin-left:calc(4em * var(--lheight));margin-right:calc(4em * var(--lheight))}

.my0 {margin-top:calc(0 * var(--lheight));margin-bottom:calc(0 * var(--lheight))}
.my1 {margin-top:calc(1em * var(--lheight));margin-bottom:calc(1em * var(--lheight))}
.my2 {margin-top:calc(2em * var(--lheight));margin-bottom:calc(2em * var(--lheight))}
.my3 {margin-top:calc(3em * var(--lheight));margin-bottom:calc(3em * var(--lheight))}
.my4 {margin-top:calc(4em * var(--lheight));margin-bottom:calc(4em * var(--lheight))}


/*
    Padding Rules
    -------------------------------------- */
.p0 {padding:calc(0 * var(--lheight))}
.p1_2 {padding:calc(.5em * var(--lheight))}
.p1 {padding:calc(1em * var(--lheight))}
.p2 {padding:calc(2em * var(--lheight))}
.p3 {padding:calc(3em * var(--lheight))}
.p4 {padding:calc(4em * var(--lheight))}
.p5 {padding:calc(5em * var(--lheight))}

.pt0 {padding-top:calc(0 * var(--lheight))}
.pt1_2 {padding-top:calc(.5em * var(--lheight))}
.pt1 {padding-top:calc(1em * var(--lheight))}
.pt2 {padding-top:calc(2em * var(--lheight))}
.pt3 {padding-top:calc(3em * var(--lheight))}
.pt4 {padding-top:calc(4em * var(--lheight))}
.pt5 {padding-top:calc(5em * var(--lheight))}

.pr0 {padding-right:calc(0 * var(--lheight))}
.pr1_2 {padding-right:calc(.5em * var(--lheight))}
.pr1 {padding-right:calc(1em * var(--lheight))}
.pr2 {padding-right:calc(2em * var(--lheight))}
.pr3 {padding-right:calc(3em * var(--lheight))}
.pr4 {padding-right:calc(4em * var(--lheight))}
.pr5 {padding-right:calc(5em * var(--lheight))}

.pb0 {padding-bottom:calc(0 * var(--lheight))}
.pb1_2 {padding-bottom:calc(.5em * var(--lheight))}
.pb1 {padding-bottom:calc(1em * var(--lheight))}
.pb2 {padding-bottom:calc(2em * var(--lheight))}
.pb3 {padding-bottom:calc(3em * var(--lheight))}
.pb4 {padding-bottom:calc(4em * var(--lheight))}
.pb5 {padding-bottom:calc(5em * var(--lheight))}

.pl0 {padding-left:calc(0 * var(--lheight))}
.pl1_2 {padding-left:calc(.5em * var(--lheight))}
.pl1 {padding-left:calc(1em * var(--lheight))}
.pl2 {padding-left:calc(2em * var(--lheight))}
.pl3 {padding-left:calc(3em * var(--lheight))}
.pl4 {padding-left:calc(4em * var(--lheight))}
.pl5 {padding-left:calc(5em * var(--lheight))}

.px0 {padding-left:calc(0 * var(--lheight));padding-right:calc(0 * var(--lheight))}
.px1_2 {padding-left:calc(.5em * var(--lheight));padding-right:calc(.5em * var(--lheight))}
.px1 {padding-left:calc(1em * var(--lheight));padding-right:calc(1em * var(--lheight))}
.px2 {padding-left:calc(2em * var(--lheight));padding-right:calc(2em * var(--lheight))}
.px3 {padding-left:calc(3em * var(--lheight));padding-right:calc(3em * var(--lheight))}
.px4 {padding-left:calc(4em * var(--lheight));padding-right:calc(4em * var(--lheight))}
.px5 {padding-left:calc(5em * var(--lheight));padding-right:calc(5em * var(--lheight))}

.py0 {padding-top:calc(0 * var(--lheight));padding-bottom:calc(0 * var(--lheight))}
.py1_2 {padding-top:calc(.5em * var(--lheight));padding-bottom:calc(.5em * var(--lheight))}
.py1 {padding-top:calc(1em * var(--lheight));padding-bottom:calc(1em * var(--lheight))}
.py2 {padding-top:calc(2em * var(--lheight));padding-bottom:calc(2em * var(--lheight))}
.py3 {padding-top:calc(3em * var(--lheight));padding-bottom:calc(3em * var(--lheight))}
.py4 {padding-top:calc(4em * var(--lheight));padding-bottom:calc(4em * var(--lheight))}
.py5 {padding-top:calc(5em * var(--lheight));padding-bottom:calc(5em * var(--lheight))}

/*
    Border Rules
    -------------------------------------- */

.b1w {border: 1px solid white}
.b1g {border: 1px solid #ccc}
.b1b {border: 1px solid black}
.b1t {border: 1px solid transparent}

.bb1w {border-bottom: 1px solid white}
.bb1g {border-bottom: 1px solid #ccc}
.bb1b {border-bottom: 1px solid black}
.bb1t {border-bottom: 1px solid transparent}

.bt1w {border-top: 1px solid white}
.bt1g {border-top: 1px solid #ccc}
.bt1b {border-top: 1px solid black}

.bl1w {border-left: 1px solid white;}
.bl1g {border-left: 1px solid #ccc;}
.bl1b {border-left: 1px solid black;}
.bl1t {border-left: 1px solid transparent;}

.br1w {border-right: 1px solid white}
.br1g {border-right: 1px solid #ccc}
.br1b {border-right: 1px solid black}
.br1t {border-right: 1px solid transparent}

.bx1w {border-left: 1px solid white; border-right: 1px solid white}
.bx1g {border-left: 1px solid #ccc; border-right: 1px solid #ccc}
.bx1b {border-left: 1px solid black; border-right: 1px solid black}
.bx1t {border-left: 1px solid transparent; border-right: 1px solid transparent}

.by1w {border-top: 1px solid white; border-bottom: 1px solid white}
.by1g {border-top: 1px solid #ccc; border-bottom: 1px solid #ccc}
.by1b {border-top: 1px solid black; border-bottom: 1px solid black}
.by1t {border-top: 1px solid transparent; border-bottom: 1px solid transparent}


/*
    Positioning
    -------------------------------------- */

.psa {position:absolute}
.psr {position:relative}
.psf {position:fixed}
.pss {position:static}

.t0 {top:0}
.r0 {right:0}
.b0 {bottom:0}
.l0 {left:0}

.z0 {z-index:0}
.z1 {z-index:1}
.z2 {z-index:2}
.z3 {z-index:3}
.z4 {z-index:4}

.oh {overflow:hidden}
.os {overflow:scroll}
.ov {overflow:visible}
.oxh {overflow-x:hidden}
.oxs {overflow-x:scroll}
.oxv {overflow-x:visible}
.oyh {overflow-y:hidden}
.oys {overflow-y:scroll; -webkit-overflow-scrolling: touch}
.oyv {overflow-y:visible}

/*
    Opacity
    -------------------------------------- */

.op0 {opacity:0}
.op25 {opacity:0.25}
.op50 {opacity:0.5}
.op75 {opacity:0.75}
.op100 {opacity:1}
