/* variables */
:root {
	--green: #00BB31;
	--blue: #0871A0;
	--orange: #E9510F;
	--red: #e00;
}

/*! 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; }
blockquote { margin-left: 0; padding-left: 20px; border-left: 4px solid #eee; }
blockquote b { display: block; }
iframe { border: none; }


/* 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; }
.empty:empty { margin: 0 !important; }

.g  { color: #999 !important; }
.d  { color: #333 !important; }
.bl { color: #000 !important; }
.gr { color: #2A2 !important; }
.r  { color: #E00 !important; }
.w  { color: #fff !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-lightgrey { outline-color: #e5e5e5; }
.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; } 
.vab { vertical-align: baseline; } 

/* 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; }
.t5 { top: 5px; }
.r5 { right: 5px; }
.b5 { bottom: 5px; }
.l5 { left: 5px; }
.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; }
.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; }
.ml200 { margin-left: 200px !important; }
.ml220 { margin-left: 220px !important; }

/* padding */
.p0 { padding: 0 !important; }
.pt0 { padding-top: 0 !important; }
.pr0 { padding-right: 0 !important; }
.pb0 { padding-bottom: 0 !important; }
.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; }

/* display */
.dn { display: none; }
.db { display: block; }
.di { display: inline; }
.dib { display: inline-block; }
.dni { display: none !important; }
.dbi { display: block !important; }
.dii { display: inline !important; }
.dibi { display: inline-block !important; }
.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; }
.w150 { width: 150px; }
.w180 { width: 180px; }
.w200 { width: 200px; }
.w220 { width: 220px; }
.w250 { width: 250px; }
.w270 { width: 270px; }
.w280 { width: 280px; }
.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; }
.w820 { width: 820px; }
.w850 { width: 850px; }
.w900 { width: 900px; }
.w950 { width: 950px; }
.w1000 { width: 1000px; }
.w1100 { width: 1100px; }
.w1200 { width: 1200px; }

/* 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_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_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_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 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; } */ /* @TODO: SPR PO CO TO BYŁO? */
.flex-column { flex-direction: column; }
.flex-row { flex-direction: row !important; }
.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; }

.fcv { display: flex; justify-content: center; flex-direction: column; height: 100%; }

/* grid */
.grid { display: grid; }
.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); }
.grid-7 { grid-template-columns: repeat(7, 1fr); }
.grid-8 { grid-template-columns: repeat(8, 1fr); }
.grid-9 { grid-template-columns: repeat(9, 1fr); }

.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; }


.gap-0 { grid-gap: 0; }
.gap-5 { grid-gap: 5px; }
.gap-10 { grid-gap: 10px; }
.gap-20 { grid-gap: 20px; }
.gap-30 { grid-gap: 30px; }
.gap-40 { grid-gap: 40px; }
.gap-50 { grid-gap: 50px; }
.gap-60 { grid-gap: 60px; }
.gap-70 { grid-gap: 70px; }
.gap-80 { grid-gap: 80px; }
.gap-90 { grid-gap: 90px; }
.gap-100 { grid-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; }

.ww { word-wrap: break-word; }      
.ofc { object-fit: cover; width: 100%; }
.ofcon { object-fit: contain; width: 100%; }

/* tables */
table { width: 100%; border-collapse: collapse; }
table.zebra tr:nth-child(even) { background-color: #fff; }
table.zebra tr:nth-child(odd) { background-color: #f4f4f4; }
table.zebra td { padding: 4px 8px; vertical-align: top; }

/* 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%; }

/* flashdata */
.flashdata:not(:empty) { color: #fff; padding: 10px 15px; margin-bottom: 25px; }
.flashdata.msg { background-color: var(--blue); }
.flashdata.err { background-color: var(--red); }
.flashdata.warn { background-color: var(--orange); }
.flashdata p { margin: 0 0 10px; }
.flashdata p:last-of-type { margin-bottom: 0; }
.flashdata a { color: #fff; }