/* Normalize v8 */
html { -webkit-text-size-adjust: 100%; }
h1 { font-size: 2em; margin: 0.67em 0; }
hr { height: 0; overflow: visible; }
pre { font-family: monospace, monospace; font-size: 1em; }
a { background-color: transparent; }
abbr[title] { border-bottom: none; text-decoration: underline; text-decoration: underline dotted; }
b, strong { font-weight: bolder; }
code, kbd, samp { font-family: monospace, monospace; font-size: 1em; }
small { font-size: 80%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sub { bottom: -0.25em; }
sup { top: -0.5em; }
img { border-style: none; }
button, input, optgroup, select, textarea { font-family: inherit; font-size: 100%; line-height: 1.7; margin: 0; }
button, input { overflow: visible; }
button, select { text-transform: none; }
button, [type='button'], [type='reset'], [type='submit'] { -webkit-appearance: button; }
button::-moz-focus-inner, [type='button']::-moz-focus-inner, [type='reset']::-moz-focus-inner, [type='submit']::-moz-focus-inner { border-style: none; padding: 0; }
button:-moz-focusring, [type='button']:-moz-focusring, [type='reset']:-moz-focusring, [type='submit']:-moz-focusring { outline: 1px dotted ButtonText; }
fieldset { padding: 0.35em 0.75em 0.625em; }
legend { color: inherit; display: table; max-width: 100%; padding: 0; white-space: normal; }
progress { vertical-align: baseline; }
textarea { overflow: auto; }
[type='checkbox'], [type='radio'] { box-sizing: border-box; padding: 0; }
[type='number']::-webkit-inner-spin-button, [type='number']::-webkit-outer-spin-button { height: auto; }
[type='search'] { -webkit-appearance: textfield; outline-offset: -2px; }
[type='search']::-webkit-search-decoration { -webkit-appearance: none; }
::-webkit-file-upload-button { -webkit-appearance: button; font: inherit; }
summary { display: list-item; }
template { display: none; }
[hidden] { display: none; }

/* Base */
html, body { margin: 0; padding: 0; }
article, details, menu, figcaption, figure, aside, footer, header, nav, section { display: block; }
ol[class], ul[class] { list-style: none; margin: 0; padding: 0; }
blockquote, q { quotes: none; }
table { border-collapse: collapse; border-spacing: 0; width: 100%; }
img { max-width: 100%; height: auto; display: block; }
button:focus, input:focus { outline: none; }
*, *:before, *:after { box-sizing: border-box; }
a { cursor: pointer; }
iframe { border: none; }
* { scrollbar-width: thin; } /* firefox and (probably) chrome > 90 */
*::-webkit-scrollbar { width: 6px; background-color: #fff; } /* chrome < 90 */
*::-webkit-scrollbar-thumb { background: #eee; } /* chrome < 90 */

/*
	Utility classes
*/

.ma { margin: auto; }
.m0 { margin: 0; }
.m5 { margin: 5px; }
.m10 { margin: 10px; }
.m15 { margin: 15px; }
.m20 { margin: 20px; }
.m25 { margin: 25px; }
.m30 { margin: 30px; }
.m35 { margin: 35px; }
.m40 { margin: 40px; }
.m45 { margin: 45px; }
.m50 { margin: 50px; }
.m70 { margin: 70px; }
.m100 { margin: 100px; }
.m150 { margin: 150px; }

.mta { margin-top: auto; }
.mt0 { margin-top: 0; }
.mt5 { margin-top: 5px; }
.mt10 { margin-top: 10px; }
.mt15 { margin-top: 15px; }
.mt20 { margin-top: 20px; }
.mt25 { margin-top: 25px; }
.mt30 { margin-top: 30px; }
.mt35 { margin-top: 35px; }
.mt40 { margin-top: 40px; }
.mt45 { margin-top: 45px; }
.mt50 { margin-top: 50px; }
.mt70 { margin-top: 70px; }
.mt100 { margin-top: 100px; }
.mt150 { margin-top: 150px; }

.mbauto { margin-bottom: auto; }
.mb0 { margin-bottom: 0; }
.mb5 { margin-bottom: 5px; }
.mb10 { margin-bottom: 10px; }
.mb15 { margin-bottom: 15px; }
.mb20 { margin-bottom: 20px; }
.mb25 { margin-bottom: 25px; }
.mb30 { margin-bottom: 30px; }
.mb35 { margin-bottom: 35px; }
.mb40 { margin-bottom: 40px; }
.mb45 { margin-bottom: 45px; }
.mb50 { margin-bottom: 50px; }
.mb70 { margin-bottom: 70px; }
.mb100 { margin-bottom: 100px; }
.mb150 { margin-bottom: 150px; }

.mrauto { margin-right: auto; }
.mr0 { margin-right: 0; }
.mr5 { margin-right: 5px; }
.mr10 { margin-right: 10px; }
.mr15 { margin-right: 15px; }
.mr20 { margin-right: 20px; }
.mr25 { margin-right: 25px; }
.mr30 { margin-right: 30px; }
.mr35 { margin-right: 35px; }
.mr40 { margin-right: 40px; }
.mr45 { margin-right: 45px; }
.mr50 { margin-right: 50px; }
.mr70 { margin-right: 70px; }
.mr100 { margin-right: 100px; }
.mr150 { margin-right: 150px; }

.mlauto { margin-left: auto; }
.ml0 { margin-left: 0; }
.ml5 { margin-left: 5px; }
.ml10 { margin-left: 10px; }
.ml15 { margin-left: 15px; }
.ml20 { margin-left: 20px; }
.ml25 { margin-left: 25px; }
.ml30 { margin-left: 30px; }
.ml35 { margin-left: 35px; }
.ml40 { margin-left: 40px; }
.ml45 { margin-left: 45px; }
.ml50 { margin-left: 50px; }
.ml70 { margin-left: 70px; }
.ml100 { margin-left: 100px; }
.ml150 { margin-left: 150px; }

.pauto { padding: auto; }
.p0 { padding: 0; }
.p5 { padding: 5px; }
.p10 { padding: 10px; }
.p15 { padding: 15px; }
.p20 { padding: 20px; }
.p25 { padding: 25px; }
.p30 { padding: 30px; }
.p35 { padding: 35px; }
.p40 { padding: 40px; }
.p45 { padding: 45px; }
.p50 { padding: 50px; }
.p70 { padding: 70px; }
.p100 { padding: 100px; }
.p150 { padding: 150px; }

.ptauto { padding-top: auto; }
.pt0 { padding-top: 0; }
.pt5 { padding-top: 5px; }
.pt10 { padding-top: 10px; }
.pt15 { padding-top: 15px; }
.pt20 { padding-top: 20px; }
.pt25 { padding-top: 25px; }
.pt30 { padding-top: 30px; }
.pt35 { padding-top: 35px; }
.pt40 { padding-top: 40px; }
.pt45 { padding-top: 45px; }
.pt50 { padding-top: 50px; }
.pt70 { padding-top: 70px; }
.pt100 { padding-top: 100px; }
.pt150 { padding-top: 150px; }

.pbauto { padding-bottom: auto; }
.pb0 { padding-bottom: 0; }
.pb5 { padding-bottom: 5px; }
.pb10 { padding-bottom: 10px; }
.pb15 { padding-bottom: 15px; }
.pb20 { padding-bottom: 20px; }
.pb25 { padding-bottom: 25px; }
.pb30 { padding-bottom: 30px; }
.pb35 { padding-bottom: 35px; }
.pb40 { padding-bottom: 40px; }
.pb45 { padding-bottom: 45px; }
.pb50 { padding-bottom: 50px; }
.pb70 { padding-bottom: 70px; }
.pb100 { padding-bottom: 100px; }
.pb150 { padding-bottom: 150px; }

.prauto { padding-right: auto; }
.pr0 { padding-right: 0; }
.pr5 { padding-right: 5px; }
.pr10 { padding-right: 10px; }
.pr15 { padding-right: 15px; }
.pr20 { padding-right: 20px; }
.pr25 { padding-right: 25px; }
.pr30 { padding-right: 30px; }
.pr35 { padding-right: 35px; }
.pr40 { padding-right: 40px; }
.pr45 { padding-right: 45px; }
.pr50 { padding-right: 50px; }
.pr70 { padding-right: 70px; }
.pr100 { padding-right: 100px; }
.pr150 { padding-right: 150px; }

.plauto { padding-left: auto; }
.pl0 { padding-left: 0; }
.pl5 { padding-left: 5px; }
.pl10 { padding-left: 10px; }
.pl15 { padding-left: 15px; }
.pl20 { padding-left: 20px; }
.pl25 { padding-left: 25px; }
.pl30 { padding-left: 30px; }
.pl35 { padding-left: 35px; }
.pl40 { padding-left: 40px; }
.pl45 { padding-left: 45px; }
.pl50 { padding-left: 50px; }
.pl70 { padding-left: 70px; }
.pl100 { padding-left: 100px; }
.pl150 { padding-left: 150px; }

/* display */
.dn { display: none; }
.db { display: block; }
.di { display: inline; }
.dib { display: inline-block; }
.vv { visibility: visible; }
.vh { visibility: hidden; }

/* Centering */
.center { display: flex; justify-content: center; align-items: center; }
.center-x { display: flex; justify-content: center; }
.center-y { display: flex; align-items: center; }
.grid-center { display: grid; justify-content: center; align-items: center; }
.grid-center-x { display: grid; justify-content: center; }
.grid-center-y { display: grid; align-items: center; }
.abs-center { top: 50%; left: 50%; transform: translate(-50%, -50%); }
.abs-center-x { left: 50%; transform: translateX(-50%); }
.abs-center-y { top: 50%; transform: translateY(-50%); }

/* position */
[class^="abs"] { position: absolute; }
.abs { position: absolute; }
.rel { position: relative; }
.fixed { position: fixed; }
.sticky { position: sticky; }

.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; }

.t0 { top: 0; }
.r0 { right: 0; }
.b0 { bottom: 0; }
.l0 { left: 0; }
.t1 { top: 1px; }
.r1 { right: 1px; }
.b1 { bottom: 1px; }
.l1 { left: 1px; }
.t5 { top: 5px; }
.r5 { right: 5px; }
.b5 { bottom: 5px; }
.l5 { left: 5px; }
.t10 { top: 10px; }
.r10 { right: 10px; }
.b10 { bottom: 10px; }
.l10 { left: 10px; }
.t15 { top: 15px; }
.r15 { right: 15px; }
.b15 { bottom: 15px; }
.l15 { left: 15px; }
.t20 { top: 20px; }
.r20 { right: 20px; }
.b20 { bottom: 20px; }
.l5 { left: 25px; }
.t25 { top: 25px; }
.r25 { right: 25px; }
.b25 { bottom: 25px; }
.l30 { left: 20px; }
.t30 { top: 30px; }
.r30 { right: 30px; }
.b30 { bottom: 30px; }
.l30 { left: 30px; }
.t40 { top: 40px; }
.r40 { right: 40px; }
.b40 { bottom: 40px; }
.l40 { left: 40px; }
.t50 { top: 50px; }
.r50 { right: 50px; }
.b50 { bottom: 50px; }
.l50 { left: 50px; }

/* flex */
.flex { display: flex; }
.inline-flex { display: inline-flex; }
.flex-row { flex-direction: row; }
.flex-column { flex-direction: column; }
.flex-wrap { flex-wrap: wrap; }
.flex-nowrap { flex-wrap: nowrap; }
.flex-grow { flex-grow: 1; }
.shrink0 { flex-shrink: 0; }
.shrink1 { flex-shrink: 1; }


/* Grid */
.grid { --repeat: auto-fit; display: grid; grid-template-columns: repeat(var(--repeat), minmax(0, 1fr)); }
.grid-1 { --repeat: 1 }
.grid-2 { --repeat: 2 }
.grid-3 { --repeat: 3 }
.grid-4 { --repeat: 4 }
.grid-5 { --repeat: 5 }
.grid-6 { --repeat: 6 }
.grid-1-2 { grid-template-columns: 1fr 2fr; }
.grid-1-3 { grid-template-columns: 1fr 3fr; }
.grid-1-4 { grid-template-columns: 1fr 4fr; }
.grid-2-1 { grid-template-columns: 2fr 1fr; }
.grid-3-1 { grid-template-columns: 3fr 1fr; }
.grid-4-1 { grid-template-columns: 4fr 1fr; }
.grid-2-3 { grid-template-columns: 2fr 3fr; }
.grid-3-2 { grid-template-columns: 3fr 2fr; }
.grid-span-columns { grid-column: 1 / -1; }

/* Gap */
.gap-0 { gap: 0; }
.gap-5 { gap: 5px; }
.gap-10 { gap: 10px; }
.gap-15 { gap: 15px; }
.gap-20 { gap: 20px; }
.gap-25 { gap: 25px; }
.gap-30 { gap: 30px; }
.gap-35 { gap: 35px; }
.gap-40 { gap: 40px; }
.gap-45 { gap: 45px; }
.gap-50 { gap: 50px; }

/* Content placement */
.jc-s { justify-content: start; }
.jc-c { justify-content: center; }
.jc-e { justify-content: end; }
.jc-stretch { justify-content: stretch; }
.jc-fs { justify-content: flex-start; }
.jc-fe { justify-content: flex-end; }
.jc-sb { justify-content: space-between; }
.jc-sa { justify-content: space-around; }

.ji-s { justify-items: start; }
.ji-c { justify-items: center; }
.ji-e { justify-items: end; }
.ji-stretch { justify-items: stretch; }
.ji-fs { justify-items: flex-start; }
.ji-fe { justify-items: flex-end; }
.ji-sb { justify-items: space-between; }
.ji-sa { justify-items: space-around; }

.js-s { justify-self: start; }
.js-c { justify-self: center; }
.js-e { justify-self: end; }
.js-b { justify-self: baseline; }
.js-stretch { justify-self: stretch; }
.js-fs { justify-self: flex-start; }
.js-fe { justify-self: flex-end; }
.js-sb { justify-self: space-between; }
.js-sa { justify-self: space-around; }

.ac-s { align-content: start; }
.ac-c { align-content: center; }
.ac-e { align-content: end; }
.ac-stretch { align-content: stretch; }
.ac-fs { align-content: flex-start; }
.ac-fe { align-content: flex-end; }
.ac-sb { align-content: space-between; }
.ac-sa { align-content: space-around; }

.ai-s { align-items: start; }
.ai-c { align-items: center; }
.ai-e { align-items: end; }
.ai-stretch { align-items: stretch; }
.ai-fs { align-items: flex-start; }
.ai-fe { align-items: flex-end; }
.ai-sb { align-items: space-between; }
.ai-sa { align-items: space-around; }

.as-s { align-self: start; }
.as-c { align-self: center; }
.as-e { align-self: end; }
.as-b { align-self: baseline; }
.as-stretch { align-self: stretch; }
.as-fs { align-self: flex-start; }
.as-fe { align-self: flex-end; }
.as-sb { align-self: space-between; }
.as-sa { align-self: space-around; }

/* Typography */
.b { font-weight: bold; }
.n { font-weight: normal; }
.i { font-style: italic; }
.tdu { text-decoration: underline; }
.tdn { text-decoration: none; }
.ttu { text-transform: uppercase; }
.ttl { text-transform: lowercase; }
.ttn { text-transform: none; }

.tal { text-align: left; }
.tac { text-align: center; }
.tar { text-align: right; }
.taj { text-align: justify; }

.fs10 { font-size: 10px; }
.fs11 { font-size: 11px; }
.fs12 { font-size: 12px; }
.fs13 { font-size: 13px; }
.fs14 { font-size: 14px; }
.fs15 { font-size: 15px; }
.fs16 { font-size: 16px; }
.fs17 { font-size: 17px; }
.fs18 { font-size: 18px; }
.fs19 { font-size: 19px; }
.fs20 { font-size: 20px; }
.fs21 { font-size: 21px; }
.fs22 { font-size: 22px; }
.fs23 { font-size: 23px; }
.fs24 { font-size: 24px; }
.fs25 { font-size: 25px; }
.fs30 { font-size: 30px; }
.fs35 { font-size: 35px; }
.fs40 { font-size: 40px; }
.fs45 { font-size: 45px; }
.fs50 { font-size: 50px; }

/* overflow */
.oa { overflow: auto; }
.oh { overflow: hidden; }
.os { overflow: scroll; }
.oxa { overflow-x: auto; }
.oya { overflow-y: auto; }
.oxh { overflow-x: hidden; }
.oyh { overflow-y: hidden; }
.oxs { overflow-x: scroll; }
.oys { overflow-y: scroll; }

/* Cursors */
.cp { cursor: pointer; }
.cd { cursor: default; }

/* Transforms */
.rotate-90 { transform: rotate(90deg); }
.rotate-180 { transform: rotate(180deg); }
.rotate-270 { transform: rotate(270deg); }
.rotate-360 { transform: rotate(360deg); }

.opacity-0 { opacity: 0; }
.opacity-10 { opacity: 0.1; }
.opacity-20 { opacity: 0.2; }
.opacity-30 { opacity: 0.3; }
.opacity-40 { opacity: 0.4; }
.opacity-50 { opacity: 0.5; }
.opacity-60 { opacity: 0.6; }
.opacity-70 { opacity: 0.7; }
.opacity-80 { opacity: 0.8; }
.opacity-90 { opacity: 0.9; }
.opacity-100 { opacity: 1; }


/* Misc */
.bn { border: none; }
.usn { user-select: none; -moz-user-select: none; -webkit-user-select: none; }
.empty:empty { margin: 0; }
.lsn { list-style: none; }
.ellipsis { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nowrap { white-space: nowrap; }
.gpu { -webkit-backface-visibility: hidden; backface-visibility: hidden; }

.g  { color: #999; }
.bl { color: #000; }
.gr { color: #2A2; }
.r  { color: #E00; }
.w  { color: #fff; }

.clamp { display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden;}
.clamp-1 { -webkit-line-clamp: 1; }
.clamp-2 { -webkit-line-clamp: 2; }
.clamp-3 { -webkit-line-clamp: 3; }
.clamp-4 { -webkit-line-clamp: 4; }

/* width */
.wa { width: auto !important; }
.wf { width: 100%; }
.wfit { width: fit-content; }
.w10 { width: 10px; }
.w15 { width: 15px; }
.w20 { width: 20px; }
.w30 { width: 30px; }
.w40 { width: 40px; }
.w50 { width: 50px; }
.w60 { width: 60px; }
.w70 { width: 70px; }
.w80 { width: 80px; }
.w90 { width: 90px; }
.w100 { width: 100px; }
.w110 { width: 110px; }
.w120 { width: 120px; }
.w150 { width: 150px; }
.w180 { width: 180px; }
.w200 { width: 200px; }
.w250 { width: 250px; }
.w300 { width: 300px; }
.w350 { width: 350px; }
.w400 { width: 400px; }
.w450 { width: 450px; }
.w500 { width: 500px; }
.w550 { width: 550px; }
.w600 { width: 600px; }
.w650 { width: 650px; }
.w700 { width: 700px; }
.w750 { width: 750px; }
.w800 { width: 800px; }
.w850 { width: 850px; }
.w900 { width: 900px; }
.w950 { width: 950px; }
.w1000 { width: 1000px; }

/* height */
.ha { height: auto !important; }
.hf { height: 100%; }
.h10 { height: 10px; }
.h15 { height: 15px; }
.h20 { height: 20px; }
.h30 { height: 30px; }
.h40 { height: 40px; }
.h50 { height: 50px; }
.h60 { height: 60px; }
.h70 { height: 70px; }
.h80 { height: 80px; }
.h90 { height: 90px; }
.h100 { height: 100px; }
.h200 { height: 200px; }
.h250 { height: 250px; }
.h300 { height: 300px; }
.h350 { height: 350px; }
.h400 { height: 400px; }
.h450 { height: 450px; }
.h500 { height: 500px; }
.h550 { height: 550px; }
.h600 { height: 600px; }
.h660 { height: 660px; }
.h700 { height: 700px; }
.h750 { height: 750px; }
.h800 { height: 800px; }

/* viewport height */
.vh40 { height: 40vh; }
.vh50 { height: 50vh; }
.vh60 { height: 60vh; }
.vh70 { height: 70vh; }
.vh80 { height: 80vh; }
.vh90 { height: 90vh; }
.vh100 { height: 100vh; }

/* max vieport height*/
.max-vh40 { max-height: 40vh; }
.max-vh50 { max-height: 50vh; }
.max-vh60 { max-height: 60vh; }
.max-vh70 { max-height: 70vh; }
.max-vh80 { max-height: 80vh; }
.max-vh90 { max-height: 90vh; }
.max-vh100 { max-height: 100vh; }

/* max width ???????? */
.max-w50 { max-width: 50px; }
.max-w60 { max-width: 60px; }
.max-w70 { max-width: 70px; }
.max-w80 { max-width: 80px; }
.max-w90 { max-width: 90px; }
.max-w100 { max-width: 100px; }
.max-w120 { max-width: 120px; }
.max-w150 { max-width: 150px; }
.max-w180 { max-width: 180px; }
.max-w200 { max-width: 200px; }
.max-w220 { max-width: 220px; }
.max-w250 { max-width: 250px; }
.max-w300 { max-width: 300px; }
.max-w350 { max-width: 350px; }
.max-w400 { max-width: 400px; }
.max-w450 { max-width: 450px; }
.max-w500 { max-width: 500px; }
.max-w550 { max-width: 550px; }
.max-w600 { max-width: 600px; }
.max-w650 { max-width: 650px; }
.max-w700 { max-width: 700px; }

/* min-width */
.min-w50 { min-width: 50px; }
.min-w60 { min-width: 60px; }
.min-w70 { min-width: 70px; }
.min-w80 { min-width: 80px; }
.min-w90 { min-width: 90px; }
.min-w100 { min-width: 100px; }
.min-w120 { min-width: 120px; }
.min-w150 { min-width: 150px; }
.min-w180 { min-width: 180px; }
.min-w200 { min-width: 200px; }
.min-w220 { min-width: 220px; }
.min-w250 { min-width: 250px; }
.min-w300 { min-width: 300px; }
.min-w350 { min-width: 350px; }
.min-w400 { min-width: 400px; }
.min-w450 { min-width: 450px; }
.min-w500 { min-width: 500px; }
.min-w550 { min-width: 550px; }
.min-w600 { min-width: 600px; }
.min-w650 { min-width: 650px; }
.min-w700 { min-width: 700px; }

/* Delete in the future */
/* Video rwd */
.video { position: relative; padding-bottom: 56.25%; padding-top: 30px; height: 0; overflow: hidden; }
.video iframe, .video object, .video embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

.pen { pointer-events: none; }


