/*! normalize.css v3.0.3 | github.com/necolas/normalize.css */
html { font-family: sans-serif; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; }
body { margin: 0; }
article, aside, details, figcaption, figure, footer, header, main, menu, nav, section, summary { display: block; }
audio, canvas, progress, video { display: inline-block; vertical-align: baseline; }
audio:not([controls]) { display: none; height: 0; }
[hidden], template { display: none; }
a { background-color: transparent; }
a:active, a:hover { outline: 0; }
abbr[title] { border-bottom: none; text-decoration: underline; text-decoration: underline dotted; }
b, strong { font-weight: inherit; }
b, strong { font-weight: bolder; }
dfn { font-style: italic; }
h1 { font-size: 2em; margin: 0.67em 0; }
mark { background-color: #ff0; color: #000; }
small { font-size: 80%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }
img { border: 0; }
svg:not(:root) { overflow: hidden; }
figure { margin: 1em 40px; }
hr { box-sizing: content-box; height: 0; overflow: visible; }
pre { overflow: auto; }
code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; }
button, input, optgroup, select, textarea { font: inherit; margin: 0; }
button { overflow: visible; }
button, select { text-transform: none; }
button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; cursor: pointer; }
button[disabled], html input[disabled] { cursor: default; }
button::-moz-focus-inner, input::-moz-focus-inner { border: 0;  padding: 0; }
button:-moz-focusring, input:-moz-focusring { outline: 1px dotted ButtonText; }
input { line-height: normal; }
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; padding: 0; width: auto; }
input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto; }
input[type="search"] { -webkit-appearance: textfield; }
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; }
legend { border: 0; padding: 0; }
textarea { overflow: auto; }
optgroup { font-weight: bold; }


/* BASE */
img { max-width: 100%; height: auto; }
button:focus { outline: none; }
html { box-sizing: border-box; margin: 0; padding: 0; }
*, *:before, *:after { box-sizing: inherit; }
a { cursor: pointer; }

/* misc */
.b { font-weight: bold !important; }
.n { font-weight: normal !important; }
.i { font-style: italic !important; }
.tdu { text-decoration: underline !important; }
.tdn { text-decoration: none !important; }
.ttu { text-transform: uppercase !important; }
.ttl { text-transform: lowercase !important; }
.ttn { text-transform: none !important; }

.usn { user-select: none; -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; }
.ust { user-select: text; -moz-user-select: text; -webkit-user-select: text; -ms-user-select: text; }
.usa { user-select: all; -moz-user-select: all; -webkit-user-select: all; -ms-user-select: all; }

.g  { color: #999 !important; }
.d  { color: #333 !important; }
.bl { color: #000 !important; }
.gr { color: #2A2 !important; }
.r  { color: #E00 !important; }
.w  { color: #fff !important; }
.ccc  { color: #ccc !important; }
.ddd  { color: #ddd !important; }
.eee  { color: #eee !important; }

.hl { background-color: #ff8; }
.cp { cursor: pointer; }
.cd { cursor: default; }

.circle { border-radius: 50%; }
.outline { outline: 1px solid red; }
.outline.green { outline-color: green; }
.outline.blue { outline-color: blue; }
.outline.grey { outline-color: grey; }
.lsn { list-style: none; }
.ellipsis { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nowrap { white-space: nowrap; }

/* font size*/
.fs10 { font-size: 10px !important; }
.fs11 { font-size: 11px !important; }
.fs12 { font-size: 12px !important; }
.fs13 { font-size: 13px !important; }
.fs14 { font-size: 14px !important; }
.fs15 { font-size: 15px !important; }
.fs16 { font-size: 16px !important; }
.fs17 { font-size: 17px !important; }
.fs18 { font-size: 18px !important; }
.fs19 { font-size: 19px !important; }
.fs20 { font-size: 20px !important; }
.fs21 { font-size: 21px !important; }
.fs22 { font-size: 22px !important; }
.fs23 { font-size: 23px !important; }
.fs24 { font-size: 24px !important; }
.fs25 { font-size: 25px !important; }

/* align */
.tal { text-align: left !important; }
.tac { text-align: center !important; }
.tar { text-align: right !important; }
.taj { text-align: justify !important; }

.vam { vertical-align: middle !important; }
.vab { vertical-align: baseline !important; }

/* position */
.abs { position: absolute; }
.rel { position: relative; }
.fixed { position: fixed !important; }
.z1 { z-index: 1; }
.z2 { z-index: 2; }
.z3 { z-index: 3; }
.z4 { z-index: 4; }
.z5 { z-index: 5; }

.t0 { top: 0; }
.r0 { right: 0; }
.b0 { bottom: 0; }
.l0 { left: 0; }
.t10 { top: 10px; }
.r10 { right: 10px; }
.b10 { bottom: 10px; }
.l10 { left: 10px; }
.t20 { top: 20px; }
.r20 { right: 20px; }
.b20 { bottom: 20px; }
.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; }

/* margin */
.ma { margin: auto !important; }
.mla { margin-left: auto; }
.mra { margin-right: auto; }
.m0 { margin: 0 !important; }
.mt0 { margin-top: 0 !important; }
.mr0 { margin-right: 0 !important; }
.mb0 { margin-bottom: 0 !important; }
.ml0 { margin-left: 0 !important; }
.mt5 { margin-top: 5px !important; }
.mr5 { margin-right: 5px !important; }
.mb5 { margin-bottom: 5px !important; }
.ml5 { margin-left: 5px !important; }
.mt10 { margin-top: 10px !important; }
.mr10 { margin-right: 10px !important; }
.mb10 { margin-bottom: 10px !important; }
.ml10 { margin-left: 10px !important; }
.mt15 { margin-top: 15px !important; }
.mr15 { margin-right: 15px !important; }
.mb15 { margin-bottom: 15px !important; }
.ml15 { margin-left: 15px !important; }
.mt20 { margin-top: 20px !important; }
.mr20 { margin-right: 20px !important; }
.mb20 { margin-bottom: 20px !important; }
.ml20 { margin-left: 20px !important; }
.mt30 { margin-top: 30px !important; }
.mr30 { margin-right: 30px !important; }
.mb30 { margin-bottom: 30px !important; }
.ml30 { margin-left: 30px !important; }
.mt40 { margin-top: 40px !important; }
.mr40 { margin-right: 40px !important; }
.mb40 { margin-bottom: 40px !important; }
.ml40 { margin-left: 40px !important; }
.mt50 { margin-top: 50px !important; }
.mr50 { margin-right: 50px !important; }
.mb50 { margin-bottom: 50px !important; }
.ml50 { margin-left: 50px !important; }
.mt60 { margin-top: 60px !important; }
.mr60 { margin-right: 60px !important; }
.mb60 { margin-bottom: 60px !important; }
.ml60 { margin-left: 60px !important; }
.mt70 { margin-top: 70px !important; }
.mr70 { margin-right: 70px !important; }
.mb70 { margin-bottom: 70px !important; }
.ml70 { margin-left: 70px !important; }
.mt80 { margin-top: 80px !important; }
.mr80 { margin-right: 80px !important; }
.mb80 { margin-bottom: 80px !important; }
.ml80 { margin-left: 80px !important; }
.mt90 { margin-top: 90px !important; }
.mr90 { margin-right: 90px !important; }
.mb90 { margin-bottom: 90px !important; }
.ml90 { margin-left: 90px !important; }
.mt100 { margin-top: 100px !important; }
.mr100 { margin-right: 100px !important; }
.mb100 { margin-bottom: 100px !important; }
.ml100 { margin-left: 100px !important; }

/* padding */
.p0 { padding: 0; }
.pt0 { padding-top: 0; }
.pr0 { padding-right: 0; }
.pb0 { padding-bottom: 0; }
.pl0 { padding-left: 0; }
.p5 { padding: 5px; }
.pt5 { padding-top: 5px; }
.pr5 { padding-right: 5px; }
.pb5 { padding-bottom: 5px; }
.pl5 { padding-left: 5px; }
.p10 { padding: 10px; }
.pt10 { padding-top: 10px; }
.pr10 { padding-right: 10px; }
.pb10 { padding-bottom: 10px; }
.pl10 { padding-left: 10px; }
.p20 { padding: 20px; }
.p30 { padding: 30px; }

.pl1 { padding-left: 1px !important; }
.pl2 { padding-left: 2px !important; }
.pl3 { padding-left: 3px !important; }
.pl4 { padding-left: 4px !important; }

/* display */
.dn { display: none; }
.dni { display: none !important; }
.db { display: block; }
.di { display: inline; }
.dib { display: inline-block; }
.dthg { display: table-header-group; }
.vv { visibility: visible; }
.vh { visibility: hidden; }

/* width */
.fit { max-width: 100%; }
.wa { width: auto !important; }
.wf { width: 100% !important; }
.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; }
.w130 { width: 130px; }
.w140 { width: 140px; }
.w150 { width: 150px; }
.w180 { width: 180px; }
.w200 { width: 200px; }
.w220 { width: 220px; }
.w250 { width: 250px; }
.w270 { width: 270px; }
.w280 { width: 280px; }
.w300 { width: 300px; }
.w320 { width: 320px; }
.w350 { width: 350px; }
.w400 { width: 400px; }
.w420 { width: 420px; }
.w450 { width: 450px; }
.w500 { width: 500px; }
.w520 { width: 520px; }
.w550 { width: 550px; }
.w600 { width: 600px; }
.w620 { width: 620px; }
.w650 { width: 650px; }
.w700 { width: 700px; }
.w720 { width: 720px; }
.w750 { width: 750px; }
.w800 { width: 800px; }
.w820 { width: 820px; }
.w850 { width: 850px; }
.w900 { width: 900px; }
.w920 { width: 920px; }
.w950 { width: 950px; }
.w1000 { width: 1000px; }
.w1100 { width: 1100px; }
.w1200 { width: 1200px; }

.w10p { width: 10%; }
.w20p { width: 20%; }
.w30p { width: 30%; }
.w40p { width: 40%; }
.w50p { width: 50%; }
.w60p { width: 60%; }
.w70p { width: 70%; }
.w80p { width: 80%; }
.w90p { width: 90%; }

/* height */
.ha { height: auto !important; }
.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; }
.h850 { height: 850px; }
.h900 { height: 900px; }

/* viewport height */
.vh40 { height: 40vh; }
.vh50 { height: 50vh; }
.vh60 { height: 60vh; }
.vh70 { height: 70vh; }
.vh80 { height: 80vh; }
.vh90 { height: 90vh; }
.vh100 { height: 100vh; }

/* min width */
.min_w20 { min-width: 20px; }
.min_w30 { min-width: 30px; }
.min_w40 { min-width: 40px; }
.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; }

/* max width */
.max_w20 { max-width: 20px; }
.max_w30 { max-width: 30px; }
.max_w40 { max-width: 40px; }
.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 height */
.min_h0 { min-height: 0 !important; }
.min_h10 { min-height: 10px; }
.min_h20 { min-height: 20px; }
.min_h30 { min-height: 30px; }
.min_h40 { min-height: 40px; }
.min_h50 { min-height: 50px; }
.min_h60 { min-height: 60px; }
.min_h70 { min-height: 70px; }
.min_h80 { min-height: 80px; }
.min_h90 { min-height: 90px; }
.min_h100 { min-height: 100px; }
.min_h120 { min-height: 120px; }
.min_h150 { min-height: 150px; }
.min_h200 { min-height: 200px; }
.min_h220 { min-height: 220px; }
.min_h250 { min-height: 250px; }
.min_h300 { min-height: 300px; }
.min_h350 { min-height: 350px; }
.min_h400 { min-height: 400px; }
.min_h450 { min-height: 450px; }
.min_h500 { min-height: 500px; }
.min_h550 { min-height: 550px; }
.min_h600 { min-height: 600px; }
.min_h650 { min-height: 650px; }
.min_h700 { min-height: 700px; }

/* max height */
.max_h100 { max-height: 100px; }
.max_h150 { max-height: 150px; }
.max_h200 { max-height: 200px; }
.max_h250 { max-height: 250px; }
.max_h300 { max-height: 300px; }

/* 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; }

/* floats */
.fl { float: left; }
.fr { float: right; }
.fn { float: none !important; }
.fc { clear: both !important; display: block; height: 1; font-size: 1px; }
.fcl { clear: left; }
.fcr { clear: right; }
.cf:before, .cf:after { content: " ";  display: table; }
.cf:after { clear: both; }

/* flex */
.flex { display: flex; }
.flex > div { flex: 1; }
.flex-column { flex-direction: column; }
.flex-wrap{ flex-wrap: wrap; }
.flex-nowrap{ flex-wrap: nowrap; }

.items-start { align-items: flex-start !important; }
.items-end { align-items: flex-end !important; }
.items-center { align-items: center !important; }
.items-baseline { align-items: baseline !important; }
.items-stretch { align-items: stretch !important; }

.self-start { align-self: flex-start; }
.self-end { align-self: flex-end; }
.self-center { align-self: center; }
.self-baseline { align-self: baseline; }
.self-stretch { align-self: stretch; }

.justify-start { justify-content: flex-start !important; }
.justify-end { justify-content: flex-end !important; }
.justify-center { justify-content: center !important; }
.justify-between { justify-content: space-between !important; }
.justify-around { justify-content: space-around !important; }

.content-start { align-content: flex-start; }
.content-end { align-content: flex-end; }
.content-center { align-content: center; }
.content-between { align-content: space-between; }
.content-around { align-content: space-around; }
.content-stretch { align-content: stretch; }
.flex-auto { flex: 1 1 auto; min-width: 0; min-height: 0; }
.flex-none { flex: none; }

.flex-grow { flex-grow: 1; }
.flex-shrink { flex-shrink: 1; }

.fcv { display: flex; justify-content: center; flex-direction: column; height: 100%; }

/* grid */
.grid { display: grid; grid-gap: 20px; }
.grid-1 { grid-template-columns: repeat(1, 1fr); }
.grid-2 { grid-template-columns: repeat(2, 1fr); }
.grid-3 { grid-template-columns: repeat(3, 1fr); }
.grid-4 { grid-template-columns: repeat(4, 1fr); }
.grid-5 { grid-template-columns: repeat(5, 1fr); }
.grid-6 { grid-template-columns: repeat(6, 1fr); }

/* gaps */
.gap-5 { gap: 5px; }
.gap-10 { gap: 10px; }
.gap-20 { gap: 20px; }
.gap-30 { gap: 30px; }
.gap-40 { gap: 40px; }
.gap-50 { gap: 50px; }
.gap-60 { gap: 60px; }
.gap-70 { gap: 70px; }
.gap-80 { gap: 80px; }
.gap-90 { gap: 90px; }
.gap-100 { gap: 100px; }


/* 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; }

.wb { word-break: break-all; }
.ww { word-wrap: break-word; } /* same as below - legacy name */
.ow { overflow-wrap: break-word }  /* same as above - new name */

/* tables */
table { width: 100%; border-collapse: collapse; }

/* textarea */
textarea.resize-none { resize: none; }
textarea.resize-horizontal { resize: horizontal; }
textarea.resize-vertical { resize: vertical; }