/*

T h e   B r u t a l i s t

         ▒▓▐ ▒▓▐     ▒▓▓▓▓▓▐
         ▒▓▐ ▒▓▐     ▒▓▐ ▒▓▐
▒▓▐  ▒▓▐ ▒▓▓▓▓▓▐     ▒▓▐ ▒▓▐
 ▒▓▐▒▓▐      ▒▓▐     ▒▓▐ ▒▓▐
  ▒▓▓▐       ▒▓▐ ▒▓▐ ▒▓▓▓▓▓▐

CSS Framework by Ivailo Borisov / thedezine.com
Release date 19.12.2024

Licensed under GNU General Public License v3.0. No visible credit or explicit linking to https://thedezine.com is required, but will be highly appreciated.

*/

/* --- Usage guidelines and orientation help --- */

/*

Specific breakpoints, their designations, and where corresponding definitions are within this file:

# no suffix     valid for all resolutions
# suffix "lg"   valid for ≤1440px   line 3253
# suffix "md"   valid for ≤1200px   line 5191
# suffix "sm"   valid for ≤992px    line 7130
# suffix "xm"   valid for ≤640px    line 9056

*/

/* --- End usage guidelines and orientation help --- */

/* --- Global reset --- */

/*

STRONGLY RECOMMENDED! Comment the section, if you handle this differently.

*/

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}

body {
    line-height: 1;
}

ol,
ul {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: "";
    content: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

/* --- End global reset --- */

/* --- Global definitons --- */

/* Smooth scroll */

html {
    scroll-behavior: smooth;
}

/* --- End global definitons --- */

/* --- (In)visibility, blockiness, fluidity, flex --- */

.hide {
    display: none;
}

.noshow {
    visibility: hidden;
}

.block {
    display: block;
}

.iblock {
    display: inline-block;
}

.inline {
    display: inline;
}

.grid {
    display: grid;
}

.flex {
    display: flex;
}

.blockrst {
    display: inherit;
}

/* Apply this class to images, to make them responsive */

.fluid {
    max-height: 100%;
    max-width: 100%;
    height: auto;
    width: auto;
}

/* Flex alignments and adjustments */

.fai-fs {
    align-items: flex-start;
}

.fai-fe {
    align-items: flex-end;
}

.fai-c {
    align-items: center;
}

.fai-s {
    align-items: stretch;
}

.fai-b {
    align-items: baseline;
}

.fjc-fs {
    justify-content: flex-start;
}

.fjc-fe {
    justify-content: flex-end;
}

.fjc-c {
    justify-content: center;
}

.fjc-sa {
    justify-content: space-around;
}

.fjc-sb {
    justify-content: space-between;
}

.fjc-se {
    justify-content: space-evenly;
}

.fd-r {
    flex-direction: row;
}

.fd-rr {
    flex-direction: row-reverse;
}

.fd-c {
    flex-direction: column;
}

.fd-cr {
    flex-direction: column-reverse;
}

.f-w {
    flex-wrap: wrap;
}

.f-nw {
    flex-wrap: nowrap;
}

/* --- Positioning, floating --- */

.pos-rst {
    position: inherit;
}

.pos-a {
    position: absolute;
}

.pos-f {
    position: fixed;
}

.pos-r {
    position: relative;
}

.pos-s {
    position: sticky;
}

.pos-t0 {
    top: 0;
}

.pos-b0 {
    bottom: 0;
}

.pos-l0 {
    left: 0;
}

.pos-r0 {
    right: 0;
}

.vam {
    vertical-align: middle;
}

.vat {
    vertical-align: top;
}

.vab {
    vertical-align: bottom;
}

.varst {
    vertical-align: baseline;
}

/* Next three definitions shall be used in conjunction with pos-r, pos-a or pos-f, which determine scope of their effect */

.vertcenter {
    top: 50%;
    transform: translateY(-50%);
}

.horcenter {
    left: 50%;
    transform: translateX(-50%);
}

.centerpoint {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.fl-l {
    float: left;
}

.fl-r {
    float: right;
}

.fl-clr {
    float: none;
}

.fl-ctr {
    margin-left: auto;
    margin-right: auto;
}

.clear {
    clear: both;
}

/* --- Margins --- */

.ma {
    margin: auto;
}

.m0 {
    margin: 0;
}

.m5 {
    margin: 5px;
}

.m10 {
    margin: 10px;
}

.m15 {
    margin: 15px;
}

.m20 {
    margin: 20px;
}

.m25 {
    margin: 25px;
}

.m30 {
    margin: 30px;
}

.m40 {
    margin: 40px;
}

.m50 {
    margin: 50px;
}

.m60 {
    margin: 60px;
}

.m70 {
    margin: 70px;
}

.m80 {
    margin: 80px;
}

.m90 {
    margin: 90px;
}

.m100 {
    margin: 100px;
}

.m150 {
    margin: 150px;
}

.m200 {
    margin: 200px;
}

.m250 {
    margin: 250px;
}

.m300 {
    margin: 300px;
}

.m350 {
    margin: 350px;
}

.m400 {
    margin: 400px;
}

.m450 {
    margin: 450px;
}

.m500 {
    margin: 500px;
}

.mx0 {
    margin-left: 0;
    margin-right: 0;
}

.mx5 {
    margin-left: 5px;
    margin-right: 5px;
}

.mx10 {
    margin-left: 10px;
    margin-right: 10px;
}

.mx15 {
    margin-left: 15px;
    margin-right: 15px;
}

.mx20 {
    margin-left: 20px;
    margin-right: 20px;
}

.mx25 {
    margin-left: 25px;
    margin-right: 25px;
}

.mx30 {
    margin-left: 30px;
    margin-right: 30px;
}

.mx40 {
    margin-left: 40px;
    margin-right: 40px;
}

.mx50 {
    margin-left: 50px;
    margin-right: 50px;
}

.mx60 {
    margin-left: 60px;
    margin-right: 60px;
}

.mx70 {
    margin-left: 70px;
    margin-right: 70px;
}

.mx80 {
    margin-left: 80px;
    margin-right: 80px;
}

.mx90 {
    margin-left: 90px;
    margin-right: 90px;
}

.mx100 {
    margin-left: 100px;
    margin-right: 100px;
}

.mx150 {
    margin-left: 150px;
    margin-right: 150px;
}

.mx200 {
    margin-left: 200px;
    margin-right: 200px;
}

.mx250 {
    margin-left: 250px;
    margin-right: 250px;
}

.mx300 {
    margin-left: 300px;
    margin-right: 300px;
}

.mx350 {
    margin-left: 350px;
    margin-right: 350px;
}

.mx400 {
    margin-left: 400px;
    margin-right: 400px;
}

.mx450 {
    margin-left: 450px;
    margin-right: 450px;
}

.mx500 {
    margin-left: 500px;
    margin-right: 500px;
}

.my0 {
    margin-top: 0;
    margin-bottom: 0;
}

.my5 {
    margin-top: 5px;
    margin-bottom: 5px;
}

.my10 {
    margin-top: 10px;
    margin-bottom: 10px;
}

.my15 {
    margin-top: 15px;
    margin-bottom: 15px;
}

.my20 {
    margin-top: 20px;
    margin-bottom: 20px;
}

.my25 {
    margin-top: 25px;
    margin-bottom: 25px;
}

.my30 {
    margin-top: 30px;
    margin-bottom: 30px;
}

.my40 {
    margin-top: 40px;
    margin-bottom: 40px;
}

.my50 {
    margin-top: 50px;
    margin-bottom: 50px;
}

.my60 {
    margin-top: 60px;
    margin-bottom: 60px;
}

.my70 {
    margin-top: 70px;
    margin-bottom: 70px;
}

.my80 {
    margin-top: 80px;
    margin-bottom: 80px;
}

.my90 {
    margin-top: 90px;
    margin-bottom: 90px;
}

.my100 {
    margin-top: 100px;
    margin-bottom: 100px;
}

.my150 {
    margin-top: 150px;
    margin-bottom: 150px;
}

.my200 {
    margin-top: 200px;
    margin-bottom: 200px;
}

.my250 {
    margin-top: 250px;
    margin-bottom: 250px;
}

.my300 {
    margin-top: 300px;
    margin-bottom: 300px;
}

.my350 {
    margin-top: 350px;
    margin-bottom: 350px;
}

.my400 {
    margin-top: 400px;
    margin-bottom: 400px;
}

.my450 {
    margin-top: 450px;
    margin-bottom: 450px;
}

.my500 {
    margin-top: 500px;
    margin-bottom: 500px;
}

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

.ml40 {
    margin-left: 40px;
}

.ml50 {
    margin-left: 50px;
}

.ml60 {
    margin-left: 60px;
}

.ml70 {
    margin-left: 70px;
}

.ml80 {
    margin-left: 80px;
}

.ml90 {
    margin-left: 90px;
}

.ml100 {
    margin-left: 100px;
}

.ml150 {
    margin-left: 150px;
}

.ml200 {
    margin-left: 200px;
}

.ml250 {
    margin-left: 250px;
}

.ml300 {
    margin-left: 300px;
}

.ml350 {
    margin-left: 350px;
}

.ml400 {
    margin-left: 400px;
}

.ml450 {
    margin-left: 450px;
}

.ml500 {
    margin-left: 500px;
}

.ml10p {
    margin-left: 10%;
}

.ml20p {
    margin-left: 20%;
}

.ml30p {
    margin-left: 30%;
}

.ml40p {
    margin-left: 40%;
}

.ml50p {
    margin-left: 50%;
}

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

.mr40 {
    margin-right: 40px;
}

.mr50 {
    margin-right: 50px;
}

.mr60 {
    margin-right: 60px;
}

.mr70 {
    margin-right: 70px;
}

.mr80 {
    margin-right: 80px;
}

.mr90 {
    margin-right: 90px;
}

.mr100 {
    margin-right: 100px;
}

.mr150 {
    margin-right: 150px;
}

.mr200 {
    margin-right: 200px;
}

.mr250 {
    margin-right: 250px;
}

.mr300 {
    margin-right: 300px;
}

.mr350 {
    margin-right: 350px;
}

.mr400 {
    margin-right: 400px;
}

.mr450 {
    margin-right: 450px;
}

.mr500 {
    margin-right: 500px;
}

.mr10p {
    margin-right: 10%;
}

.mr20p {
    margin-right: 20%;
}

.mr30p {
    margin-right: 30%;
}

.mr40p {
    margin-right: 40%;
}

.mr50p {
    margin-right: 50%;
}

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

.mt40 {
    margin-top: 40px;
}

.mt50 {
    margin-top: 50px;
}

.mt60 {
    margin-top: 60px;
}

.mt70 {
    margin-top: 70px;
}

.mt80 {
    margin-top: 80px;
}

.mt90 {
    margin-top: 90px;
}

.mt100 {
    margin-top: 100px;
}

.mt120 {
    margin-top: 120px;
}

.mt150 {
    margin-top: 150px;
}

.mt180 {
    margin-top: 180px;
}

.mt200 {
    margin-top: 200px;
}

.mt220 {
    margin-top: 220px;
}

.mt250 {
    margin-top: 250px;
}

.mt280 {
    margin-top: 280px;
}

.mt300 {
    margin-top: 300px;
}

.mt350 {
    margin-top: 350px;
}

.mt400 {
    margin-top: 400px;
}

.mt450 {
    margin-top: 450px;
}

.mt500 {
    margin-top: 500px;
}

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

.mb40 {
    margin-bottom: 40px;
}

.mb50 {
    margin-bottom: 50px;
}

.mb60 {
    margin-bottom: 60px;
}

.mb70 {
    margin-bottom: 70px;
}

.mb80 {
    margin-bottom: 80px;
}

.mb90 {
    margin-bottom: 90px;
}

.mb100 {
    margin-bottom: 100px;
}

.mb120 {
    margin-bottom: 120px;
}

.mb150 {
    margin-bottom: 150px;
}

.mb180 {
    margin-bottom: 180px;
}

.mb200 {
    margin-bottom: 200px;
}

.mb220 {
    margin-bottom: 220px;
}

.mb250 {
    margin-bottom: 250px;
}

.mb280 {
    margin-bottom: 280px;
}

.mb300 {
    margin-bottom: 300px;
}

.mb350 {
    margin-bottom: 350px;
}

.mb400 {
    margin-bottom: 400px;
}

.mb450 {
    margin-bottom: 450px;
}

.mb500 {
    margin-bottom: 500px;
}

/* --- Paddings --- */

.p0 {
    padding: 0;
}

.p5 {
    padding: 5px;
}

.p10 {
    padding: 10px;
}

.p15 {
    padding: 15px;
}

.p20 {
    padding: 20px;
}

.p25 {
    padding: 25px;
}

.p30 {
    padding: 30px;
}

.p40 {
    padding: 40px;
}

.p50 {
    padding: 50px;
}

.p60 {
    padding: 60px;
}

.p70 {
    padding: 70px;
}

.p80 {
    padding: 80px;
}

.p90 {
    padding: 90px;
}

.p100 {
    padding: 100px;
}

.p150 {
    padding: 150px;
}

.p200 {
    padding: 200px;
}

.p250 {
    padding: 250px;
}

.p300 {
    padding: 300px;
}

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

.px5 {
    padding-left: 5px;
    padding-right: 5px;
}

.px10 {
    padding-left: 10px;
    padding-right: 10px;
}

.px15 {
    padding-left: 15px;
    padding-right: 15px;
}

.px20 {
    padding-left: 20px;
    padding-right: 20px;
}

.px25 {
    padding-left: 25px;
    padding-right: 25px;
}

.px30 {
    padding-left: 30px;
    padding-right: 30px;
}

.px40 {
    padding-left: 40px;
    padding-right: 40px;
}

.px50 {
    padding-left: 50px;
    padding-right: 50px;
}

.px60 {
    padding-left: 60px;
    padding-right: 60px;
}

.px70 {
    padding-left: 70px;
    padding-right: 70px;
}

.px80 {
    padding-left: 80px;
    padding-right: 80px;
}

.px90 {
    padding-left: 90px;
    padding-right: 90px;
}

.px100 {
    padding-left: 100px;
    padding-right: 100px;
}

.px150 {
    padding-left: 150px;
    padding-right: 150px;
}

.px200 {
    padding-left: 200px;
    padding-right: 200px;
}

.px250 {
    padding-left: 250px;
    padding-right: 250px;
}

.px300 {
    padding-left: 300px;
    padding-right: 300px;
}

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

.py5 {
    padding-top: 5px;
    padding-bottom: 5px;
}

.py10 {
    padding-top: 10px;
    padding-bottom: 10px;
}

.py15 {
    padding-top: 15px;
    padding-bottom: 15px;
}

.py20 {
    padding-top: 20px;
    padding-bottom: 20px;
}

.py25 {
    padding-top: 25px;
    padding-bottom: 25px;
}

.py30 {
    padding-top: 30px;
    padding-bottom: 30px;
}

.py40 {
    padding-top: 40px;
    padding-bottom: 40px;
}

.py50 {
    padding-top: 50px;
    padding-bottom: 50px;
}

.py60 {
    padding-top: 60px;
    padding-bottom: 60px;
}

.py70 {
    padding-top: 70px;
    padding-bottom: 70px;
}

.py80 {
    padding-top: 80px;
    padding-bottom: 80px;
}

.py90 {
    padding-top: 90px;
    padding-bottom: 90px;
}

.py100 {
    padding-top: 100px;
    padding-bottom: 100px;
}

.py150 {
    padding-top: 150px;
    padding-bottom: 150px;
}

.py200 {
    padding-top: 200px;
    padding-bottom: 200px;
}

.py250 {
    padding-top: 250px;
    padding-bottom: 250px;
}

.py300 {
    padding-top: 300px;
    padding-bottom: 300px;
}

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

.pl40 {
    padding-left: 40px;
}

.pl50 {
    padding-left: 50px;
}

.pl60 {
    padding-left: 60px;
}

.pl70 {
    padding-left: 70px;
}

.pl80 {
    padding-left: 80px;
}

.pl90 {
    padding-left: 90px;
}

.pl100 {
    padding-left: 100px;
}

.pl200 {
    padding-left: 200px;
}

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

.pr40 {
    padding-right: 40px;
}

.pr50 {
    padding-right: 50px;
}

.pr60 {
    padding-right: 60px;
}

.pr70 {
    padding-right: 70px;
}

.pr80 {
    padding-right: 80px;
}

.pr90 {
    padding-right: 90px;
}

.pr100 {
    padding-right: 100px;
}

.pr200 {
    padding-right: 200px;
}

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

.pt40 {
    padding-top: 40px;
}

.pt50 {
    padding-top: 50px;
}

.pt60 {
    padding-top: 60px;
}

.pt70 {
    padding-top: 70px;
}

.pt80 {
    padding-top: 80px;
}

.pt90 {
    padding-top: 90px;
}

.pt100 {
    padding-top: 100px;
}

.pt200 {
    padding-top: 200px;
}

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

.pb40 {
    padding-bottom: 40px;
}

.pb50 {
    padding-bottom: 50px;
}

.pb60 {
    padding-bottom: 60px;
}

.pb70 {
    padding-bottom: 70px;
}

.pb80 {
    padding-bottom: 80px;
}

.pb90 {
    padding-bottom: 90px;
}

.pb100 {
    padding-bottom: 100px;
}

.pb200 {
    padding-bottom: 200px;
}

/* --- Width --- */

.wa {
    width: auto;
}

.w50 {
    width: 50px;
}

.w100 {
    width: 100px;
}

.w150 {
    width: 150px;
}

.w200 {
    width: 200px;
}

.w250 {
    width: 250px;
}

.w300 {
    width: 300px;
}

.w400 {
    width: 400px;
}

.w500 {
    width: 500px;
}

.w600 {
    width: 600px;
}

.w700 {
    width: 700px;
}

.w800 {
    width: 800px;
}

.w900 {
    width: 900px;
}

.w960 {
    width: 960px;
}

.w1100 {
    width: 1100px;
}

.w5p {
    width: 5%;
}

.w10p {
    width: 10%;
}

.w12p {
    width: 12.5%;
}

.w15p {
    width: 15%;
}

.w17p {
    width: 16.666%;
}

.w20p {
    width: 20%;
}

.w25p {
    width: 25%;
}

.w30p {
    width: 30%;
}

.w33p {
    width: 33.333%;
}

.w35p {
    width: 35%;
}

.w40p {
    width: 40%;
}

.w45p {
    width: 45%;
}

.w50p {
    width: 50%;
}

.w55p {
    width: 55%;
}

.w60p {
    width: 60%;
}

.w65p {
    width: 65%;
}

.w66p {
    width: 66.66%;
}

.w70p {
    width: 70%;
}

.w75p {
    width: 75%;
}

.w80p {
    width: 80%;
}

.w85p {
    width: 85%;
}

.w90p {
    width: 90%;
}

.w95p {
    width: 95%;
}

.w100p {
    width: 100%;
}

.mw-rst {
    min-width: unset;
}

.mw100 {
    min-width: 100px;
}

.mw150 {
    min-width: 150px;
}

.mw200 {
    min-width: 200px;
}

.mw250 {
    min-width: 250px;
}

.mw300 {
    min-width: 300px;
}

.mw400 {
    min-width: 400px;
}

.mw500 {
    min-width: 500px;
}

.mw600 {
    min-width: 600px;
}

.mw700 {
    min-width: 700px;
}

.mw800 {
    min-width: 800px;
}

.mw900 {
    min-width: 900px;
}

.mw960 {
    min-width: 960px;
}

.mw1100 {
    min-width: 1100px;
}

.mw10p {
    min-width: 10%;
}

.mw20p {
    min-width: 20%;
}

.mw30p {
    min-width: 30%;
}

.mw40p {
    min-width: 40%;
}

.mw50p {
    min-width: 50%;
}

.mw60p {
    min-width: 60%;
}

.mw70p {
    min-width: 70%;
}

.mw80p {
    min-width: 80%;
}

.mw90p {
    min-width: 90%;
}

.mw100p {
    min-width: 100%;
}

.mxw-rst {
    max-width: unset;
}

.mxw100 {
    max-width: 100px;
}

.mxw150 {
    max-width: 150px;
}

.mxw200 {
    max-width: 200px;
}

.mxw250 {
    max-width: 250px;
}

.mxw300 {
    max-width: 300px;
}

.mxw400 {
    max-width: 400px;
}

.mxw500 {
    max-width: 500px;
}

.mxw600 {
    max-width: 600px;
}

.mxw700 {
    max-width: 700px;
}

.mxw800 {
    max-width: 800px;
}

.mxw900 {
    max-width: 900px;
}

.mxw960 {
    max-width: 960px;
}

.mxw1100 {
    max-width: 1100px;
}

.mxw1200 {
    max-width: 1200px;
}

.mxw1400 {
    max-width: 1400px;
}

.mxw1600 {
    max-width: 1600px;
}

.mxw1800 {
    max-width: 1800px;
}

.mxw2000 {
    max-width: 2000px;
}

.mxw2200 {
    max-width: 2400px;
}

.mxw2400 {
    max-width: 2400px;
}

.mxw2500 {
    max-width: 2500px;
}

.mxw2560 {
    max-width: 2560px;
}

.mxw5p {
    max-width: 5%;
}

.mxw10p {
    max-width: 10%;
}

.mxw12p {
    max-width: 12.5%;
}

.mxw15p {
    max-width: 15%;
}

.mxw17p {
    max-width: 16.666%;
}

.mxw20p {
    max-width: 20%;
}

.mxw25p {
    max-width: 25%;
}

.mxw30p {
    max-width: 30%;
}

.mxw33p {
    max-width: 33.333%;
}

.mxw35p {
    max-width: 35%;
}

.mxw40p {
    max-width: 40%;
}

.mxw45p {
    max-width: 45%;
}

.mxw50p {
    max-width: 50%;
}

.mxw55p {
    max-width: 55%;
}

.mxw60p {
    max-width: 60%;
}

.mxw65p {
    max-width: 65%;
}

.mxw66p {
    max-width: 66.66%;
}

.mxw70p {
    max-width: 70%;
}

.mxw75p {
    max-width: 75%;
}

.mxw80p {
    max-width: 80%;
}

.mxw85p {
    max-width: 85%;
}

.mxw90p {
    max-width: 90%;
}

.mxw95p {
    max-width: 95%;
}

.mxw100p {
    max-width: 100%;
}

/* --- Heights --- */

.ha {
    height: auto;
}

.h10 {
    height: 10px;
}

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

.h150 {
    height: 150px;
}

.h200 {
    height: 200px;
}

.h250 {
    height: 250px;
}

.h300 {
    height: 300px;
}

.h400 {
    height: 400px;
}

.h500 {
    height: 500px;
}

.h600 {
    height: 600px;
}

.h700 {
    height: 600px;
}

.h800 {
    height: 600px;
}

.h900 {
    height: 600px;
}

.h1000 {
    height: 600px;
}

.h10p {
    height: 10%;
}

.h20p {
    height: 20%;
}

.h30p {
    height: 30%;
}

.h40p {
    height: 40%;
}

.h50p {
    height: 50%;
}

.h60p {
    height: 60%;
}

.h70p {
    height: 70%;
}

.h80p {
    height: 80%;
}

.h90p {
    height: 90%;
}

.h100p {
    height: 100%;
}

.mh50 {
    min-height: 50px;
}

.mh100 {
    min-height: 100px;
}

.mh150 {
    min-height: 150px;
}

.mh200 {
    min-height: 200px;
}

.mh250 {
    min-height: 250px;
}

.mh300 {
    min-height: 300px;
}

.mh10p {
    min-height: 10%;
}

.mh20p {
    min-height: 20%;
}

.mh30p {
    min-height: 30%;
}

.mh40p {
    min-height: 40%;
}

.mh50p {
    min-height: 50%;
}

.mh60p {
    min-height: 60%;
}

.mh70p {
    min-height: 70%;
}

.mh80p {
    min-height: 80%;
}

.mh90p {
    min-height: 90%;
}

.mh100p {
    min-height: 100%;
}

.mxhrst {
    max-height: none;
}

.mxh50 {
    max-height: 50px;
}

.mxh100 {
    max-height: 100px;
}

.mxh150 {
    max-height: 150px;
}

.mxh200 {
    max-height: 200px;
}

.mxh250 {
    max-height: 250px;
}

.mxh300 {
    max-height: 300px;
}

.mxh400 {
    max-height: 400px;
}

.mxh500 {
    max-height: 500px;
}

.mxh600 {
    max-height: 600px;
}

.mxh700 {
    max-height: 700px;
}

.mxh800 {
    max-height: 800px;
}

.mxh900 {
    max-height: 900px;
}

.mxh1000 {
    max-height: 1000px;
}

/* --- Grid --- */

.grid1col {
    grid-template-columns: repeat(1, 1fr);
}

.grid2col {
    grid-template-columns: repeat(2, 1fr);
}

.grid3col {
    grid-template-columns: repeat(3, 1fr);
}

.grid4col {
    grid-template-columns: repeat(4, 1fr);
}

.grid5col {
    grid-template-columns: repeat(5, 1fr);
}

.grid6col {
    grid-template-columns: repeat(6, 1fr);
}

.grid7col {
    grid-template-columns: repeat(7, 1fr);
}

.grid8col {
    grid-template-columns: repeat(8, 1fr);
}

.grid9col {
    grid-template-columns: repeat(9, 1fr);
}

.grid10col {
    grid-template-columns: repeat(10, 1fr);
}

.grid11col {
    grid-template-columns: repeat(11, 1fr);
}

.grid12col {
    grid-template-columns: repeat(12, 1fr);
}

.gridgap10 {
    grid-gap: 10px;
}

.gridgap20 {
    grid-gap: 20px;
}

.gridgap30 {
    grid-gap: 30px;
}

.gridgap40 {
    grid-gap: 40px;
}

.gridgap50 {
    grid-gap: 50px;
}

.gridgap60 {
    grid-gap: 60px;
}

.gridgap70 {
    grid-gap: 70px;
}

.gridgap80 {
    grid-gap: 80px;
}

.gridgap90 {
    grid-gap: 90px;
}

.gridgap100 {
    grid-gap: 100px;
}

.gridgap150 {
    grid-gap: 150px;
}

.gridgap200 {
    grid-gap: 200px;
}

.gridgap250 {
    grid-gap: 250px;
}

.gridgap300 {
    grid-gap: 300px;
}

.gridgap1p {
    grid-gap: 1%;
}

.gridgap2p {
    grid-gap: 2%;
}

.gridgap3p {
    grid-gap: 3%;
}

.gridgap4p {
    grid-gap: 4%;
}

.gridgap5p {
    grid-gap: 5%;
}

.gridgap10p {
    grid-gap: 10%;
}

.gridcolgap1p {
    column-gap: 1%;
}

.gridcolgap2p {
    column-gap: 2%;
}

.gridcolgap3p {
    column-gap: 3%;
}

.gridcolgap4p {
    column-gap: 4%;
}

.gridcolgap5p {
    column-gap: 5%;
}

.gridcolgap10p {
    column-gap: 10%;
}

.gridrowgap1p {
    row-gap: 1%;
}

.gridrowgap2p {
    row-gap: 2%;
}

.gridrowgap3p {
    row-gap: 3%;
}

.gridrowgap4p {
    row-gap: 4%;
}

.gridrowgap5p {
    row-gap: 5%;
}

.gridrowgap10p {
    row-gap: 10%;
}

/* --- Text Modifiers --- */

.ffs {
    font-family: serif;
}

.ffss {
    font-family: sans-serif;
}

.ffm {
    font-family: monospace;
}

.caps {
    text-transform: uppercase;
}

.nocaps {
    text-transform: lowercase;
}

.fs0 {
    font-size: 0;
}

.lgtxt {
    font-size: 120%;
}

.xlgtxt {
    font-size: 200%;
}

.smtxt {
    font-size: 75%;
}

.xsmtxt {
    font-size: 50%;
}

.thin {
    font-weight: 100;
}

.light {
    font-weight: 300;
}

.regular {
    font-weight: 400;
}

.semibold {
    font-weight: 500;
}

.bold {
    font-weight: 700;
}

.italic {
    font-style: italic;
}

.normal {
    font-style: normal;
}

.default {
    font-weight: 400;
    font-style: normal;
    text-transform: none;
}

.nowrap {
    white-space: nowrap;
}

.forcewrap {
    word-wrap: break-word;
}

.notlist {
    list-style: none;
}

.forcelist {
    display: list-item;
    list-style: disc;
    list-style-position: inside;
}

.lhn {
    line-height: normal;
}

.lh100p {
    line-height: 100%;
}

.lh120p {
    line-height: 120%;
}

.lh150p {
    line-height: 150%;
}

.lh200p {
    line-height: 200%;
}

/* --- Box model --- */

.forcebox {
    box-sizing: border-box !important;
}

.tidy {
    overflow: hidden;
}

.autoscroll {
    overflow: auto;
}

.forcescroll {
    overflow: scroll;
}

.scrollx {
    overflow-x: scroll;
}

.scrolly {
    overflow-y: scroll;
}

/* --- Lines --- */

.ln-clr {
    height: 1px;
    display: block;
    clear: both;
}

.ln-blk {
    border-bottom: 1px solid #000;
}

.ln-wht {
    border-bottom: 1px solid #fff;
}

.ln-gry {
    border-bottom: 1px solid #999;
}

.ln-err {
    border-bottom: 1px solid #c00;
}

/* --- Borders --- */

.flat {
    outline: none;
}

.br5 {
    border-radius: 5px;
}

.br10 {
    border-radius: 10px;
}

.br50 {
    border-radius: 50px;
}

.br100 {
    border-radius: 100px;
}

.bd-none {
    border: 0px none;
}

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

.bd-dbl {
    border-width: 3px;
    border-style: double;
}

.bd-fat {
    border-width: 5px;
    border-style: solid;
}

.bd-xfat {
    border-width: 10px;
    border-style: solid;
}

.bd-dot {
    border-width: 1px;
    border-style: dotted;
}

.bd-dsh {
    border-width: 1px;
    border-style: dashed;
}

.bd-blk {
    border-color: #000;
}

.bd-wht {
    border-color: #fff;
}

.bd-gry {
    border-color: #999;
}

/* --- Colors --- */

.cl-blk {
    color: #000;
}

.cl-wht {
    color: #fff;
}

.cl-lgr {
    color: #ccc;
}

.cl-gry {
    color: #777;
}

.cl-err {
    color: #c00;
}

.cl-tsp {
    color: transparent;
}

.bg-blk {
    background: #000;
}

.bg-wht {
    background: #fff;
}

.bg-lgr {
    background: #eee;
}

.bg-gry {
    background: #999;
}

.bg-err {
    background: #990000;
}

.bg-tsp {
    background: transparent;
}

.bg-5pb {
    background: rgba(0, 0, 0, 0.05);
}

.bg-10pb {
    background: rgba(0, 0, 0, 0.1);
}

.bg-25pb {
    background: rgba(0, 0, 0, 0.25);
}

.bg-50pb {
    background: rgba(0, 0, 0, 0.5);
}

.bg-75pb {
    background: rgba(0, 0, 0, 0.75);
}

.bg-90pb {
    background: rgba(0, 0, 0, 0.9);
}

.bg-5pw {
    background: rgba(255, 255, 255, 0.05);
}

.bg-10pw {
    background: rgba(255, 255, 255, 0.1);
}

.bg-25pw {
    background: rgba(255, 255, 255, 0.25);
}

.bg-50pw {
    background: rgba(255, 255, 255, 0.5);
}

.bg-75pw {
    background: rgba(255, 255, 255, 0.75);
}

.bg-90pw {
    background: rgba(255, 255, 255, 0.9);
}

/* --- Forced Text Alignment --- */

.ltxt {
    text-align: left !important;
}

.rtxt {
    text-align: right !important;
}

.ctxt {
    text-align: center !important;
}

.jtxt {
    text-align: justify !important;
}

/* --- Layers --- */

.z0 {
    z-index: 0;
}

.z1 {
    z-index: 1;
}

.z2 {
    z-index: 2;
}

.z3 {
    z-index: 3;
}

.z4 {
    z-index: 4;
}

.z5 {
    z-index: 5;
}

.z10 {
    z-index: 10;
}

.z100 {
    z-index: 100;
}

.z1000 {
    z-index: 1000;
}

.z10000 {
    z-index: 10000;
}

.z99999 {
    z-index: 99999;
}

/* --- Transformations --- */

.rot2 {
    transform: rotate(2deg);
}

.rot5 {
    transform: rotate(5deg);
}

.rot10 {
    transform: rotate(10deg);
}

.rot30 {
    transform: rotate(30deg);
}

.rot45 {
    transform: rotate(45deg);
}

.rot90 {
    transform: rotate(90deg);
}

.rot-2 {
    transform: rotate(-2deg);
}

.rot-5 {
    transform: rotate(-5deg);
}

.rot-10 {
    transform: rotate(-10deg);
}

.rot-30 {
    transform: rotate(-30deg);
}

.rot-45 {
    transform: rotate(-45deg);
}

.rot-90 {
    transform: rotate(-90deg);
}

/* --- Mouse --- */

.cu-help {
    cursor: help;
}

.cu-link {
    cursor: pointer;
}

.cu-def {
    cursor: default;
}

.cu-none {
    cursor: none;
}

/* --- Form Fields Focus Color Change --- */

.f-grey:focus {
    background: #eee;
}

.f-yellow:focus {
    background: #feffcf;
}

.f-cyan:focus {
    background: #cff0ff;
}

.f-green:focus {
    background: #cfffe4;
}

.f-orange:focus {
    background: #ffeacf;
}

.f-purple:focus {
    background: #e6cfff;
}

.f-pink:focus {
    background: #ffcff7;
}

/* --- Animation --- */

.ani-01s {
    transition: all 0.1s ease;
}

.ani-02s {
    transition: all 0.2s ease;
}

.ani-03s {
    transition: all 0.3s ease;
}

.ani-05s {
    transition: all 0.5s ease;
}

.ani-1s {
    transition: all 1s ease;
}

.ani-2s {
    transition: all 2s ease;
}

.ani-3s {
    transition: all 3s ease;
}

@keyframes blink {
    50% {
        opacity: 0;
    }
}

.blink {
    animation: blink 1s step-start 0s infinite;
}

/* --- FX --- */

.tglw {
    text-shadow: 0 0 5px #fff;
}

.tshd {
    text-shadow: 0 2px 1px rgba(0, 0, 0, 0.3);
}

.bglw {
    box-shadow: 0 0 10px 3px rgba(255, 255, 255, 0.7);
}

.bshd {
    box-shadow: 0 5px 5px rgba(0, 0, 0, 0.2);
}

/* --- Overlay and loaders --- */

.overlay {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    box-sizing: border-box;
    overflow: hidden;
    z-index: 5000;
    background: rgba(235, 235, 235, 0.9);

    &.dark {
        background: rgba(20, 20, 20, 0.9);
    }
}

.loader {
    --white-100: rgba(255, 255, 255, 1);
    --white-20: rgba(255, 255, 255, 0.2);
    --white-0: rgba(255, 255, 255, 0);
    --nearwhite-100: rgba(225, 225, 225, 1);
    --nearwhite-0: rgba(225, 225, 225, 0);
    --nearblack-100: rgba(15, 15, 15, 1);
    --nearblack-20: rgba(15, 15, 15, 0.2);
    --nearblack-0: rgba(15, 15, 15, 0);
    --skeleton-main-color: rgba(155, 155, 155, 0.5);
    --skeleton-shine-color: rgba(225, 225, 225, 0.5);

    box-sizing: border-box;

    &.toploader {
        z-index: 5001;

        &.centerpoint {
            position: fixed !important;
        }
    }

    &.centerpoint {
        position: absolute;
    }

    &.spinner {
        width: 48px;
        max-width: 72px;
        height: 48px;
        max-height: 72px;

        &:before,
        &:after {
            box-sizing: border-box;
            position: absolute;
            width: 48px;
            height: 48px;
            inset: 0;
            padding: 4px;
            content: "";
            border-radius: 100%;
            mask: linear-gradient(var(--nearblack-100) 0 0) content-box,
                linear-gradient(var(--nearblack-100) 0 0);
            mask-composite: exclude;
        }

        &.small {
            width: 24px;
            height: 24px;

            &:before,
            &:after {
                width: 24px;
                height: 24px;
                padding: 3px;
            }
        }

        &.large {
            width: 72px;
            height: 72px;

            &:before,
            &:after {
                width: 72px;
                height: 72px;
                padding: 6px;
            }
        }

        &:before {
            background: linear-gradient(
                90deg,
                var(--white-20) 0,
                var(--white-0) 80%
            );
            animation: spin 2.5s ease-out infinite;
        }

        &:after {
            background: linear-gradient(
                180deg,
                var(--white-100) 0,
                var(--white-0) 25%
            );
            animation: spin 1.25s linear infinite;
        }

        &.dark {
            &:before {
                background: linear-gradient(
                    90deg,
                    var(--nearblack-20) 0,
                    var(--nearblack-0) 80%
                );
            }

            &:after {
                background: linear-gradient(
                    180deg,
                    var(--nearblack-100) 0,
                    var(--nearblack-0) 25%
                );
            }
        }

        &.minimal {
            &:before {
                background: none;
                box-sizing: border-box;
                width: 48px;
                height: 48px;
                border: 4px var(--white-20) solid;
                border-top: 4px var(--white-100) solid;
                border-radius: 50%;
                animation: spin 1.25s linear infinite;
            }

            &:after {
                display: none;
            }

            &.dark {
                &:before {
                    border: 4px var(--nearblack-20) solid;
                    border-top: 4px var(--nearblack-100) solid;
                }
            }

            &.small {
                &:before {
                    width: 24px;
                    height: 24px;
                    border-width: 2px;
                }
            }

            &.large {
                &:before {
                    width: 72px;
                    height: 72px;
                    border-width: 6px;
                }
            }
        }
    }

    &.fetcher {
        width: 48px;
        height: 48px;
        background-image: linear-gradient(
                90deg,
                var(--nearwhite-0) calc(1 * 100% / 8) 0,
                var(--nearwhite-100) calc(3 * 100% / 8) 20%,
                var(--nearwhite-0) 0
            ),
            linear-gradient(
                90deg,
                var(--nearwhite-0) calc(2 * 100% / 8) 0,
                var(--nearwhite-100) calc(4 * 100% / 8) 20%,
                var(--nearwhite-0) 0
            ),
            linear-gradient(
                90deg,
                var(--nearwhite-0) calc(3 * 100% / 8) 0,
                var(--nearwhite-100) calc(5 * 100% / 8) 20%,
                var(--nearwhite-0) 0
            ),
            linear-gradient(
                90deg,
                var(--nearwhite-0) calc(4 * 100% / 8) 0,
                var(--nearwhite-100) calc(6 * 100% / 8) 20%,
                var(--nearwhite-0) 0
            );
        background-size: 400% 6px;
        background-repeat: no-repeat;
        animation: load 1.25s linear infinite;

        &.small {
            width: 24px;
            height: 24px;
            background-size: 400% 3px;
        }

        &.large {
            width: 72px;
            height: 72px;
            background-size: 400% 10px;
        }

        &.dark {
            background-image: linear-gradient(
                    90deg,
                    var(--nearblack-0) calc(1 * 100% / 8) 0,
                    var(--nearblack-100) calc(3 * 100% / 8) 20%,
                    var(--nearblack-0) 0
                ),
                linear-gradient(
                    90deg,
                    var(--nearblack-0) calc(2 * 100% / 8) 0,
                    var(--nearblack-100) calc(4 * 100% / 8) 20%,
                    var(--nearblack-0) 0
                ),
                linear-gradient(
                    90deg,
                    var(--nearblack-0) calc(3 * 100% / 8) 0,
                    var(--nearblack-100) calc(5 * 100% / 8) 20%,
                    var(--nearblack-0) 0
                ),
                linear-gradient(
                    90deg,
                    var(--nearblack-0) calc(4 * 100% / 8) 0,
                    var(--nearblack-100) calc(6 * 100% / 8) 20%,
                    var(--nearblack-0) 0
                );
        }

        &.minimal {
            background-image: linear-gradient(
                    90deg,
                    var(--nearwhite-100) calc(3 * 100% / 8) 0%,
                    var(--nearwhite-0) 0
                ),
                linear-gradient(
                    90deg,
                    var(--nearwhite-100) calc(4 * 100% / 8) 0%,
                    var(--nearwhite-0) 0
                ),
                linear-gradient(
                    90deg,
                    var(--nearwhite-100) calc(5 * 100% / 8) 0%,
                    var(--nearwhite-0) 0
                ),
                linear-gradient(
                    90deg,
                    var(--nearwhite-100) calc(6 * 100% / 8) 0%,
                    var(--nearwhite-0) 0
                );

            &.dark {
                background-image: linear-gradient(
                        90deg,
                        var(--nearblack-100) calc(3 * 100% / 8) 0%,
                        var(--nearblack-0) 0
                    ),
                    linear-gradient(
                        90deg,
                        var(--nearblack-100) calc(4 * 100% / 8) 0%,
                        var(--nearblack-0) 0
                    ),
                    linear-gradient(
                        90deg,
                        var(--nearblack-100) calc(5 * 100% / 8) 0%,
                        var(--nearblack-0) 0
                    ),
                    linear-gradient(
                        90deg,
                        var(--nearblack-100) calc(6 * 100% / 8) 0%,
                        var(--nearblack-0) 0
                    );
            }
        }
    }

    &.skeleton:empty {
        width: 200px;
        height: 48px;
        background-image: linear-gradient(
                var(--skeleton-main-color) 8px,
                transparent 0
            ),
            linear-gradient(var(--skeleton-main-color) 8px, transparent 0),
            linear-gradient(var(--skeleton-main-color) 14px, transparent 0);
        background-repeat: repeat-y;
        background-size: 65% 100px, 100% 100px, 45% 100px;
        background-position: left 0 top 140px, left 0 top 123px,
            left 0 top 100px;

        &:before {
            content: "";
            position: absolute;
            width: 200px;
            height: 48px;
            mask-image: linear-gradient(
                100deg,
                var(--white-0) 10%,
                var(--white-100) 50%,
                var(--white-0) 90%
            );
            mask-repeat: repeat-y;
            mask-size: 48px 48px;
            mask-position: -50% 0;
            background-image: linear-gradient(
                    var(--skeleton-shine-color) 8px,
                    transparent 0
                ),
                linear-gradient(var(--skeleton-shine-color) 8px, transparent 0),
                linear-gradient(var(--skeleton-shine-color) 14px, transparent 0);
            background-repeat: repeat-y;
            background-size: 65% 100px, 100% 100px, 45% 100px;
            background-position: left 0 top 140px, left 0 top 123px,
                left 0 top 100px;
            animation: shimmer 1.25s ease infinite;
        }
    }
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

@keyframes load {
    0% {
        background-position: 100% 100%, 100% 67%, 100% 34%, 100% 0;
    }

    100% {
        background-position: 0 100%, 0 67%, 0 34%, 0 0%;
    }
}

@keyframes shimmer {
    to {
        mask-position: 200% 0;
    }
}

/* --- Scrollbar hack for mobile devices --- */

@media only screen and (hover: none) and (pointer: coarse) {
    ::-webkit-scrollbar {
        -webkit-appearance: none;
        width: 6px;
    }

    ::-webkit-scrollbar-thumb {
        background-color: #c0c0c0;
        border: 1px solid #fff;
    }

    ::-webkit-scrollbar-track {
        background-color: #fff;
    }
}

/* --- End scroll hack for Mobile Devices --- */

/* --- Intermediary Breakpoint --- */

@media screen and (max-width: 1440px) {
    /* --- (In)visibility, blockiness, fluidity, flex --- */

    .hidelg {
        display: none;
    }

    .noshowlg {
        visibility: hidden;
    }

    .blocklg {
        display: block;
    }

    .iblocklg {
        display: inline-block;
    }

    .inlinelg {
        display: inline;
    }

    .gridlg {
        display: grid;
    }

    .flexlg {
        display: flex;
    }

    .blockrstlg {
        display: inherit;
    }

    /* Flex alignments and adjustments */

    .fai-fslg {
        align-items: flex-start;
    }

    .fai-felg {
        align-items: flex-end;
    }

    .fai-clg {
        align-items: center;
    }

    .fai-slg {
        align-items: stretch;
    }

    .fai-blg {
        align-items: baseline;
    }

    .fjc-fslg {
        justify-content: flex-start;
    }

    .fjc-felg {
        justify-content: flex-end;
    }

    .fjc-clg {
        justify-content: center;
    }

    .fjc-salg {
        justify-content: space-around;
    }

    .fjc-sblg {
        justify-content: space-between;
    }

    .fjc-selg {
        justify-content: space-evenly;
    }

    .fd-rlg {
        flex-direction: row;
    }

    .fd-rrlg {
        flex-direction: row-reverse;
    }

    .fd-clg {
        flex-direction: column;
    }

    .fd-crlg {
        flex-direction: column-reverse;
    }

    .f-wlg {
        flex-wrap: wrap;
    }

    .f-nwlg {
        flex-wrap: nowrap;
    }

    /* --- Margins --- */

    .malg {
        margin: auto;
    }

    .m0lg {
        margin: 0;
    }

    .m5lg {
        margin: 5px;
    }

    .m10lg {
        margin: 10px;
    }

    .m15lg {
        margin: 15px;
    }

    .m20lg {
        margin: 20px;
    }

    .m25lg {
        margin: 25px;
    }

    .m30lg {
        margin: 30px;
    }

    .m40lg {
        margin: 40px;
    }

    .m50lg {
        margin: 50px;
    }

    .m60lg {
        margin: 60px;
    }

    .m70lg {
        margin: 70px;
    }

    .m80lg {
        margin: 80px;
    }

    .m90lg {
        margin: 90px;
    }

    .m100lg {
        margin: 100px;
    }

    .m150lg {
        margin: 150px;
    }

    .m200lg {
        margin: 200px;
    }

    .m250lg {
        margin: 250px;
    }

    .m300lg {
        margin: 300px;
    }

    .m350lg {
        margin: 350px;
    }

    .m400lg {
        margin: 400px;
    }

    .m450lg {
        margin: 450px;
    }

    .m500lg {
        margin: 500px;
    }

    .ml0lg {
        margin-left: 0;
    }

    .ml5lg {
        margin-left: 5px;
    }

    .ml10lg {
        margin-left: 10px;
    }

    .ml15lg {
        margin-left: 15px;
    }

    .ml20lg {
        margin-left: 20px;
    }

    .ml25lg {
        margin-left: 25px;
    }

    .ml30lg {
        margin-left: 30px;
    }

    .ml40lg {
        margin-left: 40px;
    }

    .ml50lg {
        margin-left: 50px;
    }

    .ml60lg {
        margin-left: 60px;
    }

    .ml70lg {
        margin-left: 70px;
    }

    .ml80lg {
        margin-left: 80px;
    }

    .ml90lg {
        margin-left: 90px;
    }

    .ml100lg {
        margin-left: 100px;
    }

    .ml150lg {
        margin-left: 150px;
    }

    .ml200lg {
        margin-left: 200px;
    }

    .ml250lg {
        margin-left: 250px;
    }

    .ml300lg {
        margin-left: 300px;
    }

    .ml350lg {
        margin-left: 350px;
    }

    .ml400lg {
        margin-left: 400px;
    }

    .ml450lg {
        margin-left: 450px;
    }

    .ml500lg {
        margin-left: 500px;
    }

    .ml10plg {
        margin-left: 10%;
    }

    .ml20plg {
        margin-left: 20%;
    }

    .ml30plg {
        margin-left: 30%;
    }

    .ml40plg {
        margin-left: 40%;
    }

    .ml50plg {
        margin-left: 50%;
    }

    .mr0lg {
        margin-right: 0;
    }

    .mr5lg {
        margin-right: 5px;
    }

    .mr10lg {
        margin-right: 10px;
    }

    .mr15lg {
        margin-right: 15px;
    }

    .mr20lg {
        margin-right: 20px;
    }

    .mr25lg {
        margin-right: 25px;
    }

    .mr30lg {
        margin-right: 30px;
    }

    .mr40lg {
        margin-right: 40px;
    }

    .mr50lg {
        margin-right: 50px;
    }

    .mr60lg {
        margin-right: 60px;
    }

    .mr70lg {
        margin-right: 70px;
    }

    .mr80lg {
        margin-right: 80px;
    }

    .mr90lg {
        margin-right: 90px;
    }

    .mr100lg {
        margin-right: 100px;
    }

    .mr150lg {
        margin-right: 150px;
    }

    .mr200lg {
        margin-right: 200px;
    }

    .mr250lg {
        margin-right: 250px;
    }

    .mr300lg {
        margin-right: 300px;
    }

    .mr350lg {
        margin-right: 350px;
    }

    .mr400lg {
        margin-right: 400px;
    }

    .mr450lg {
        margin-right: 450px;
    }

    .mr500lg {
        margin-right: 500px;
    }

    .mr10plg {
        margin-right: 10%;
    }

    .mr20plg {
        margin-right: 20%;
    }

    .mr30plg {
        margin-right: 30%;
    }

    .mr40plg {
        margin-right: 40%;
    }

    .mr50plg {
        margin-right: 50%;
    }

    .mt0lg {
        margin-top: 0;
    }

    .mt5lg {
        margin-top: 5px;
    }

    .mt10lg {
        margin-top: 10px;
    }

    .mt15lg {
        margin-top: 15px;
    }

    .mt20lg {
        margin-top: 20px;
    }

    .mt25lg {
        margin-top: 25px;
    }

    .mt30lg {
        margin-top: 30px;
    }

    .mt40lg {
        margin-top: 40px;
    }

    .mt50lg {
        margin-top: 50px;
    }

    .mt60lg {
        margin-top: 60px;
    }

    .mt70lg {
        margin-top: 70px;
    }

    .mt80lg {
        margin-top: 80px;
    }

    .mt90lg {
        margin-top: 90px;
    }

    .mt100lg {
        margin-top: 100px;
    }

    .mt120lg {
        margin-top: 120px;
    }

    .mt150lg {
        margin-top: 150px;
    }

    .mt180lg {
        margin-top: 180px;
    }

    .mt200lg {
        margin-top: 200px;
    }

    .mt220lg {
        margin-top: 220px;
    }

    .mt250lg {
        margin-top: 250px;
    }

    .mt280lg {
        margin-top: 280px;
    }

    .mt300lg {
        margin-top: 300px;
    }

    .mt350lg {
        margin-top: 350px;
    }

    .mt400lg {
        margin-top: 400px;
    }

    .mt450lg {
        margin-top: 450px;
    }

    .mt500lg {
        margin-top: 500px;
    }

    .mb0lg {
        margin-bottom: 0;
    }

    .mb5lg {
        margin-bottom: 5px;
    }

    .mb10lg {
        margin-bottom: 10px;
    }

    .mb15lg {
        margin-bottom: 15px;
    }

    .mb20lg {
        margin-bottom: 20px;
    }

    .mb25lg {
        margin-bottom: 25px;
    }

    .mb30lg {
        margin-bottom: 30px;
    }

    .mb40lg {
        margin-bottom: 40px;
    }

    .mb50lg {
        margin-bottom: 50px;
    }

    .mb60lg {
        margin-bottom: 60px;
    }

    .mb70lg {
        margin-bottom: 70px;
    }

    .mb80lg {
        margin-bottom: 80px;
    }

    .mb90lg {
        margin-bottom: 90px;
    }

    .mb100lg {
        margin-bottom: 100px;
    }

    .mb120lg {
        margin-bottom: 120px;
    }

    .mb150lg {
        margin-bottom: 150px;
    }

    .mb180lg {
        margin-bottom: 180px;
    }

    .mb200lg {
        margin-bottom: 200px;
    }

    .mb220lg {
        margin-bottom: 220px;
    }

    .mb250lg {
        margin-bottom: 250px;
    }

    .mb280lg {
        margin-bottom: 280px;
    }

    .mb300lg {
        margin-bottom: 300px;
    }

    .mb350lg {
        margin-bottom: 350px;
    }

    .mb400lg {
        margin-bottom: 400px;
    }

    .mb450lg {
        margin-bottom: 450px;
    }

    .mb500lg {
        margin-bottom: 500px;
    }

    /* --- Paddings --- */

    .p0lg {
        padding: 0;
    }

    .p5lg {
        padding: 5px;
    }

    .p10lg {
        padding: 10px;
    }

    .p15lg {
        padding: 15px;
    }

    .p20lg {
        padding: 20px;
    }

    .p25lg {
        padding: 25px;
    }

    .p30lg {
        padding: 30px;
    }

    .p40lg {
        padding: 40px;
    }

    .p50lg {
        padding: 50px;
    }

    .p60lg {
        padding: 60px;
    }

    .p70lg {
        padding: 70px;
    }

    .p80lg {
        padding: 80px;
    }

    .p90lg {
        padding: 90px;
    }

    .p100lg {
        padding: 100px;
    }

    .p150lg {
        padding: 150px;
    }

    .p200lg {
        padding: 200px;
    }

    .p250lg {
        padding: 250px;
    }

    .p300lg {
        padding: 300px;
    }

    .pl0lg {
        padding-left: 0;
    }

    .pl5lg {
        padding-left: 5px;
    }

    .pl10lg {
        padding-left: 10px;
    }

    .pl15lg {
        padding-left: 15px;
    }

    .pl20lg {
        padding-left: 20px;
    }

    .pl25lg {
        padding-left: 25px;
    }

    .pl30lg {
        padding-left: 30px;
    }

    .pl40lg {
        padding-left: 40px;
    }

    .pl50lg {
        padding-left: 50px;
    }

    .pl60lg {
        padding-left: 60px;
    }

    .pl70lg {
        padding-left: 70px;
    }

    .pl80lg {
        padding-left: 80px;
    }

    .pl90lg {
        padding-left: 90px;
    }

    .pl100lg {
        padding-left: 100px;
    }

    .pl200lg {
        padding-left: 200px;
    }

    .pr0lg {
        padding-right: 0;
    }

    .pr5lg {
        padding-right: 5px;
    }

    .pr10lg {
        padding-right: 10px;
    }

    .pr15lg {
        padding-right: 15px;
    }

    .pr20lg {
        padding-right: 20px;
    }

    .pr25lg {
        padding-right: 25px;
    }

    .pr30lg {
        padding-right: 30px;
    }

    .pr40lg {
        padding-right: 40px;
    }

    .pr50lg {
        padding-right: 50px;
    }

    .pr60lg {
        padding-right: 60px;
    }

    .pr70lg {
        padding-right: 70px;
    }

    .pr80lg {
        padding-right: 80px;
    }

    .pr90lg {
        padding-right: 90px;
    }

    .pr100lg {
        padding-right: 100px;
    }

    .pr200lg {
        padding-right: 200px;
    }

    .pt0lg {
        padding-top: 0;
    }

    .pt5lg {
        padding-top: 5px;
    }

    .pt10lg {
        padding-top: 10px;
    }

    .pt15lg {
        padding-top: 15px;
    }

    .pt20lg {
        padding-top: 20px;
    }

    .pt25lg {
        padding-top: 25px;
    }

    .pt30lg {
        padding-top: 30px;
    }

    .pt40lg {
        padding-top: 40px;
    }

    .pt50lg {
        padding-top: 50px;
    }

    .pt60lg {
        padding-top: 60px;
    }

    .pt70lg {
        padding-top: 70px;
    }

    .pt80lg {
        padding-top: 80px;
    }

    .pt90lg {
        padding-top: 90px;
    }

    .pt100lg {
        padding-top: 100px;
    }

    .pt200lg {
        padding-top: 200px;
    }

    .pb0lg {
        padding-bottom: 0;
    }

    .pb5lg {
        padding-bottom: 5px;
    }

    .pb10lg {
        padding-bottom: 10px;
    }

    .pb15lg {
        padding-bottom: 15px;
    }

    .pb20lg {
        padding-bottom: 20px;
    }

    .pb25lg {
        padding-bottom: 25px;
    }

    .pb30lg {
        padding-bottom: 30px;
    }

    .pb40lg {
        padding-bottom: 40px;
    }

    .pb50lg {
        padding-bottom: 50px;
    }

    .pb60lg {
        padding-bottom: 60px;
    }

    .pb70lg {
        padding-bottom: 70px;
    }

    .pb80lg {
        padding-bottom: 80px;
    }

    .pb90lg {
        padding-bottom: 90px;
    }

    .pb100lg {
        padding-bottom: 100px;
    }

    .pb200lg {
        padding-bottom: 200px;
    }

    /* --- Width --- */

    .walg {
        width: auto;
    }

    .w50lg {
        width: 50px;
    }

    .w100lg {
        width: 100px;
    }

    .w150lg {
        width: 150px;
    }

    .w200lg {
        width: 200px;
    }

    .w250lg {
        width: 250px;
    }

    .w300lg {
        width: 300px;
    }

    .w400lg {
        width: 400px;
    }

    .w500lg {
        width: 500px;
    }

    .w600lg {
        width: 600px;
    }

    .w700lg {
        width: 700px;
    }

    .w800lg {
        width: 800px;
    }

    .w900lg {
        width: 900px;
    }

    .w960lg {
        width: 960px;
    }

    .mxw1100lg {
        max-width: 1100px;
    }

    .mxw1200lg {
        max-width: 1200px;
    }

    .w5plg {
        width: 5%;
    }

    .w10plg {
        width: 10%;
    }

    .w12plg {
        width: 12.5%;
    }

    .w15plg {
        width: 15%;
    }

    .w17plg {
        width: 16.666%;
    }

    .w20plg {
        width: 20%;
    }

    .w25plg {
        width: 25%;
    }

    .w30plg {
        width: 30%;
    }

    .w33plg {
        width: 33.333%;
    }

    .w35plg {
        width: 35%;
    }

    .w40plg {
        width: 40%;
    }

    .w45plg {
        width: 45%;
    }

    .w50plg {
        width: 50%;
    }

    .w55plg {
        width: 55%;
    }

    .w60plg {
        width: 60%;
    }

    .w65plg {
        width: 65%;
    }

    .w66plg {
        width: 66.66%;
    }

    .w70plg {
        width: 70%;
    }

    .w75plg {
        width: 75%;
    }

    .w80plg {
        width: 80%;
    }

    .w85plg {
        width: 85%;
    }

    .w90plg {
        width: 90%;
    }

    .w95plg {
        width: 95%;
    }

    .w100plg {
        width: 100%;
    }

    .mw-rstlg {
        min-width: unset;
    }

    .mw100lg {
        min-width: 100px;
    }

    .mw150lg {
        min-width: 150px;
    }

    .mw200lg {
        min-width: 200px;
    }

    .mw250lg {
        min-width: 250px;
    }

    .mw300lg {
        min-width: 300px;
    }

    .mw400lg {
        min-width: 400px;
    }

    .mw500lg {
        min-width: 500px;
    }

    .mw600lg {
        min-width: 600px;
    }

    .mw700lg {
        min-width: 700px;
    }

    .mw800lg {
        min-width: 800px;
    }

    .mw900lg {
        min-width: 900px;
    }

    .mw960lg {
        min-width: 960px;
    }

    .mw10plg {
        min-width: 10%;
    }

    .mw20plg {
        min-width: 20%;
    }

    .mw30plg {
        min-width: 30%;
    }

    .mw40plg {
        min-width: 40%;
    }

    .mw50plg {
        min-width: 50%;
    }

    .mw60plg {
        min-width: 60%;
    }

    .mw70plg {
        min-width: 70%;
    }

    .mw80plg {
        min-width: 80%;
    }

    .mw90plg {
        min-width: 90%;
    }

    .mw100plg {
        min-width: 100%;
    }

    .mxw-rstlg {
        max-width: unset;
    }

    .mxw100lg {
        max-width: 100px;
    }

    .mxw150lg {
        max-width: 150px;
    }

    .mxw200lg {
        max-width: 200px;
    }

    .mxw250lg {
        max-width: 250px;
    }

    .mxw300lg {
        max-width: 300px;
    }

    .mxw400lg {
        max-width: 400px;
    }

    .mxw500lg {
        max-width: 500px;
    }

    .mxw600lg {
        max-width: 600px;
    }

    .mxw700lg {
        max-width: 700px;
    }

    .mxw800lg {
        max-width: 800px;
    }

    .mxw900lg {
        max-width: 900px;
    }

    .mxw960lg {
        max-width: 960px;
    }

    .mxw5plg {
        max-width: 5%;
    }

    .mxw10plg {
        max-width: 10%;
    }

    .mxw12plg {
        max-width: 12.5%;
    }

    .mxw15plg {
        max-width: 15%;
    }

    .mxw17plg {
        max-width: 16.666%;
    }

    .mxw20plg {
        max-width: 20%;
    }

    .mxw25plg {
        max-width: 25%;
    }

    .mxw30plg {
        max-width: 30%;
    }

    .mxw33plg {
        max-width: 33.333%;
    }

    .mxw35plg {
        max-width: 35%;
    }

    .mxw40plg {
        max-width: 40%;
    }

    .mxw45plg {
        max-width: 45%;
    }

    .mxw50plg {
        max-width: 50%;
    }

    .mxw55plg {
        max-width: 55%;
    }

    .mxw60plg {
        max-width: 60%;
    }

    .mxw65plg {
        max-width: 65%;
    }

    .mxw66plg {
        max-width: 66.66%;
    }

    .mxw70plg {
        max-width: 70%;
    }

    .mxw75plg {
        max-width: 75%;
    }

    .mxw80plg {
        max-width: 80%;
    }

    .mxw85plg {
        max-width: 85%;
    }

    .mxw90plg {
        max-width: 90%;
    }

    .mxw95plg {
        max-width: 95%;
    }

    .mxw100plg {
        max-width: 100%;
    }

    /* --- Heights --- */

    .halg {
        height: auto;
    }

    .h10lg {
        height: 10px;
    }

    .h20lg {
        height: 20px;
    }

    .h30lg {
        height: 30px;
    }

    .h40lg {
        height: 40px;
    }

    .h50lg {
        height: 50px;
    }

    .h60lg {
        height: 60px;
    }

    .h70lg {
        height: 70px;
    }

    .h80lg {
        height: 80px;
    }

    .h90lg {
        height: 90px;
    }

    .h100lg {
        height: 100px;
    }

    .h150lg {
        height: 150px;
    }

    .h200lg {
        height: 200px;
    }

    .h250lg {
        height: 250px;
    }

    .h300lg {
        height: 300px;
    }

    .h400lg {
        height: 400px;
    }

    .h500lg {
        height: 500px;
    }

    .h600lg {
        height: 600px;
    }

    .h700lg {
        height: 600px;
    }

    .h800lg {
        height: 600px;
    }

    .h900lg {
        height: 600px;
    }

    .h1000lg {
        height: 600px;
    }

    .h10plg {
        height: 10%;
    }

    .h20plg {
        height: 20%;
    }

    .h30plg {
        height: 30%;
    }

    .h40plg {
        height: 40%;
    }

    .h50plg {
        height: 50%;
    }

    .h60plg {
        height: 60%;
    }

    .h70plg {
        height: 70%;
    }

    .h80plg {
        height: 80%;
    }

    .h90plg {
        height: 90%;
    }

    .h100plg {
        height: 100%;
    }

    .mh50lg {
        min-height: 50px;
    }

    .mh100lg {
        min-height: 100px;
    }

    .mh150lg {
        min-height: 150px;
    }

    .mh200lg {
        min-height: 200px;
    }

    .mh250lg {
        min-height: 250px;
    }

    .mh300lg {
        min-height: 300px;
    }

    .mh10plg {
        min-height: 10%;
    }

    .mh20plg {
        min-height: 20%;
    }

    .mh30plg {
        min-height: 30%;
    }

    .mh40plg {
        min-height: 40%;
    }

    .mh50plg {
        min-height: 50%;
    }

    .mh60plg {
        min-height: 60%;
    }

    .mh70plg {
        min-height: 70%;
    }

    .mh80plg {
        min-height: 80%;
    }

    .mh90plg {
        min-height: 90%;
    }

    .mh100plg {
        min-height: 100%;
    }

    .mxhrstlg {
        max-height: none;
    }

    .mxh50lg {
        max-height: 50px;
    }

    .mxh100lg {
        max-height: 100px;
    }

    .mxh150lg {
        max-height: 150px;
    }

    .mxh200lg {
        max-height: 200px;
    }

    .mxh250lg {
        max-height: 250px;
    }

    .mxh300lg {
        max-height: 300px;
    }

    .mxh400lg {
        max-height: 400px;
    }

    .mxh500lg {
        max-height: 500px;
    }

    .mxh600lg {
        max-height: 600px;
    }

    .mxh700lg {
        max-height: 700px;
    }

    .mxh800lg {
        max-height: 800px;
    }

    .mxh900lg {
        max-height: 900px;
    }

    .mxh1000lg {
        max-height: 1000px;
    }

    /* --- Positioning, floating --- */

    .pos-rstlg {
        position: inherit;
    }

    .pos-alg {
        position: absolute;
    }

    .pos-flg {
        position: fixed;
    }

    .pos-rlg {
        position: relative;
    }

    .pos-slg {
        position: sticky;
    }

    .pos-t0lg {
        top: 0;
    }

    .pos-b0lg {
        bottom: 0;
    }

    .pos-l0lg {
        left: 0;
    }

    .pos-r0lg {
        right: 0;
    }

    .vamlg {
        vertical-align: middle;
    }

    .vatlg {
        vertical-align: top;
    }

    .vablg {
        vertical-align: bottom;
    }

    .varstlg {
        vertical-align: baseline;
    }

    /* Next three definitions shall be used in conjunction with pos-r, pos-a or pos-f, which determine scope of their effect */

    .vertcenterlg {
        top: 50%;
        transform: translateY(-50%);
    }

    .horcenterlg {
        left: 50%;
        transform: translateX(-50%);
    }

    .centerpointlg {
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    .fl-llg {
        float: left;
    }

    .fl-rlg {
        float: right;
    }

    .fl-clrlg {
        float: none;
    }

    .fl-ctrlg {
        margin-left: auto;
        margin-right: auto;
    }

    .clearlg {
        clear: both;
    }

    /* --- Grid --- */

    .grid1collg {
        grid-template-columns: repeat(1, 1fr);
    }

    .grid2collg {
        grid-template-columns: repeat(2, 1fr);
    }

    .grid3collg {
        grid-template-columns: repeat(3, 1fr);
    }

    .grid4collg {
        grid-template-columns: repeat(4, 1fr);
    }

    .grid5collg {
        grid-template-columns: repeat(5, 1fr);
    }

    .grid6collg {
        grid-template-columns: repeat(6, 1fr);
    }

    .grid7collg {
        grid-template-columns: repeat(7, 1fr);
    }

    .grid8collg {
        grid-template-columns: repeat(8, 1fr);
    }

    .grid9collg {
        grid-template-columns: repeat(9, 1fr);
    }

    .grid10collg {
        grid-template-columns: repeat(10, 1fr);
    }

    .grid11collg {
        grid-template-columns: repeat(11, 1fr);
    }

    .grid12collg {
        grid-template-columns: repeat(12, 1fr);
    }

    .gridgap10lg {
        grid-gap: 10px;
    }

    .gridgap20lg {
        grid-gap: 20px;
    }

    .gridgap30lg {
        grid-gap: 30px;
    }

    .gridgap40lg {
        grid-gap: 40px;
    }

    .gridgap50lg {
        grid-gap: 50px;
    }

    .gridgap60lg {
        grid-gap: 60px;
    }

    .gridgap70lg {
        grid-gap: 70px;
    }

    .gridgap80lg {
        grid-gap: 80px;
    }

    .gridgap90lg {
        grid-gap: 90px;
    }

    .gridgap100lg {
        grid-gap: 100px;
    }

    .gridgap150lg {
        grid-gap: 150px;
    }

    .gridgap200lg {
        grid-gap: 200px;
    }

    .gridgap250lg {
        grid-gap: 250px;
    }

    .gridgap300lg {
        grid-gap: 300px;
    }

    .gridgap1plg {
        grid-gap: 1%;
    }

    .gridgap2plg {
        grid-gap: 2%;
    }

    .gridgap3plg {
        grid-gap: 3%;
    }

    .gridgap4plg {
        grid-gap: 4%;
    }

    .gridgap5plg {
        grid-gap: 5%;
    }

    .gridgap10plg {
        grid-gap: 10%;
    }

    .gridcolgap1plg {
        column-gap: 1%;
    }

    .gridcolgap2plg {
        column-gap: 2%;
    }

    .gridcolgap3plg {
        column-gap: 3%;
    }

    .gridcolgap4plg {
        column-gap: 4%;
    }

    .gridcolgap5plg {
        column-gap: 5%;
    }

    .gridcolgap10plg {
        column-gap: 10%;
    }

    .gridrowgap1plg {
        row-gap: 1%;
    }

    .gridrowgap2plg {
        row-gap: 2%;
    }

    .gridrowgap3plg {
        row-gap: 3%;
    }

    .gridrowgap4plg {
        row-gap: 4%;
    }

    .gridrowgap5plg {
        row-gap: 5%;
    }

    .gridrowgap10plg {
        row-gap: 10%;
    }

    /* --- Text Modifiers --- */

    .lgtxtlg {
        font-size: 120%;
    }

    .xlgtxtlg {
        font-size: 200%;
    }

    .smtxtlg {
        font-size: 75%;
    }

    .xsmtxtlg {
        font-size: 50%;
    }

    /* --- Forced Text Alignment --- */

    .ltxtlg {
        text-align: left !important;
    }

    .rtxtlg {
        text-align: right !important;
    }

    .ctxtlg {
        text-align: center !important;
    }

    .jtxtlg {
        text-align: justify !important;
    }

    /* --- Box model --- */

    .forceboxlg {
        box-sizing: border-box !important;
    }

    .tidylg {
        overflow: hidden;
    }

    .autoscrolllg {
        overflow: auto;
    }

    .forcescrolllg {
        overflow: scroll;
    }

    .scrollxlg {
        overflow-x: scroll;
    }

    .scrollylg {
        overflow-y: scroll;
    }
}

/* --- Breakpoints for Mobile Devices --- */

@media screen and (max-width: 1200px) {
    /* --- (In)visibility, blockiness, fluidity, flex --- */

    .hidemd {
        display: none;
    }

    .noshowmd {
        visibility: hidden;
    }

    .blockmd {
        display: block;
    }

    .iblockmd {
        display: inline-block;
    }

    .inlinemd {
        display: inline;
    }

    .gridmd {
        display: grid;
    }

    .flexmd {
        display: flex;
    }

    .blockrstmd {
        display: inherit;
    }

    /* Flex alignments and adjustments */

    .fai-fsmd {
        align-items: flex-start;
    }

    .fai-femd {
        align-items: flex-end;
    }

    .fai-cmd {
        align-items: center;
    }

    .fai-smd {
        align-items: stretch;
    }

    .fai-bmd {
        align-items: baseline;
    }

    .fjc-fsmd {
        justify-content: flex-start;
    }

    .fjc-femd {
        justify-content: flex-end;
    }

    .fjc-cmd {
        justify-content: center;
    }

    .fjc-samd {
        justify-content: space-around;
    }

    .fjc-sbmd {
        justify-content: space-between;
    }

    .fjc-semd {
        justify-content: space-evenly;
    }

    .fd-rmd {
        flex-direction: row;
    }

    .fd-rrmd {
        flex-direction: row-reverse;
    }

    .fd-cmd {
        flex-direction: column;
    }

    .fd-crmd {
        flex-direction: column-reverse;
    }

    .f-wmd {
        flex-wrap: wrap;
    }

    .f-nwmd {
        flex-wrap: nowrap;
    }

    /* --- Margins --- */

    .mamd {
        margin: auto;
    }

    .m0md {
        margin: 0;
    }

    .m5md {
        margin: 5px;
    }

    .m10md {
        margin: 10px;
    }

    .m15md {
        margin: 15px;
    }

    .m20md {
        margin: 20px;
    }

    .m25md {
        margin: 25px;
    }

    .m30md {
        margin: 30px;
    }

    .m40md {
        margin: 40px;
    }

    .m50md {
        margin: 50px;
    }

    .m60md {
        margin: 60px;
    }

    .m70md {
        margin: 70px;
    }

    .m80md {
        margin: 80px;
    }

    .m90md {
        margin: 90px;
    }

    .m100md {
        margin: 100px;
    }

    .m150md {
        margin: 150px;
    }

    .m200md {
        margin: 200px;
    }

    .m250md {
        margin: 250px;
    }

    .m300md {
        margin: 300px;
    }

    .m350md {
        margin: 350px;
    }

    .m400md {
        margin: 400px;
    }

    .m450md {
        margin: 450px;
    }

    .m500md {
        margin: 500px;
    }

    .ml0md {
        margin-left: 0;
    }

    .ml5md {
        margin-left: 5px;
    }

    .ml10md {
        margin-left: 10px;
    }

    .ml15md {
        margin-left: 15px;
    }

    .ml20md {
        margin-left: 20px;
    }

    .ml25md {
        margin-left: 25px;
    }

    .ml30md {
        margin-left: 30px;
    }

    .ml40md {
        margin-left: 40px;
    }

    .ml50md {
        margin-left: 50px;
    }

    .ml60md {
        margin-left: 60px;
    }

    .ml70md {
        margin-left: 70px;
    }

    .ml80md {
        margin-left: 80px;
    }

    .ml90md {
        margin-left: 90px;
    }

    .ml100md {
        margin-left: 100px;
    }

    .ml150md {
        margin-left: 150px;
    }

    .ml200md {
        margin-left: 200px;
    }

    .ml250md {
        margin-left: 250px;
    }

    .ml300md {
        margin-left: 300px;
    }

    .ml350md {
        margin-left: 350px;
    }

    .ml400md {
        margin-left: 400px;
    }

    .ml450md {
        margin-left: 450px;
    }

    .ml500md {
        margin-left: 500px;
    }

    .ml10pmd {
        margin-left: 10%;
    }

    .ml20pmd {
        margin-left: 20%;
    }

    .ml30pmd {
        margin-left: 30%;
    }

    .ml40pmd {
        margin-left: 40%;
    }

    .ml50pmd {
        margin-left: 50%;
    }

    .mr0md {
        margin-right: 0;
    }

    .mr5md {
        margin-right: 5px;
    }

    .mr10md {
        margin-right: 10px;
    }

    .mr15md {
        margin-right: 15px;
    }

    .mr20md {
        margin-right: 20px;
    }

    .mr25md {
        margin-right: 25px;
    }

    .mr30md {
        margin-right: 30px;
    }

    .mr40md {
        margin-right: 40px;
    }

    .mr50md {
        margin-right: 50px;
    }

    .mr60md {
        margin-right: 60px;
    }

    .mr70md {
        margin-right: 70px;
    }

    .mr80md {
        margin-right: 80px;
    }

    .mr90md {
        margin-right: 90px;
    }

    .mr100md {
        margin-right: 100px;
    }

    .mr150md {
        margin-right: 150px;
    }

    .mr200md {
        margin-right: 200px;
    }

    .mr250md {
        margin-right: 250px;
    }

    .mr300md {
        margin-right: 300px;
    }

    .mr350md {
        margin-right: 350px;
    }

    .mr400md {
        margin-right: 400px;
    }

    .mr450md {
        margin-right: 450px;
    }

    .mr500md {
        margin-right: 500px;
    }

    .mr10pmd {
        margin-right: 10%;
    }

    .mr20pmd {
        margin-right: 20%;
    }

    .mr30pmd {
        margin-right: 30%;
    }

    .mr40pmd {
        margin-right: 40%;
    }

    .mr50pmd {
        margin-right: 50%;
    }

    .mt0md {
        margin-top: 0;
    }

    .mt5md {
        margin-top: 5px;
    }

    .mt10md {
        margin-top: 10px;
    }

    .mt15md {
        margin-top: 15px;
    }

    .mt20md {
        margin-top: 20px;
    }

    .mt25md {
        margin-top: 25px;
    }

    .mt30md {
        margin-top: 30px;
    }

    .mt40md {
        margin-top: 40px;
    }

    .mt50md {
        margin-top: 50px;
    }

    .mt60md {
        margin-top: 60px;
    }

    .mt70md {
        margin-top: 70px;
    }

    .mt80md {
        margin-top: 80px;
    }

    .mt90md {
        margin-top: 90px;
    }

    .mt100md {
        margin-top: 100px;
    }

    .mt120md {
        margin-top: 120px;
    }

    .mt150md {
        margin-top: 150px;
    }

    .mt180md {
        margin-top: 180px;
    }

    .mt200md {
        margin-top: 200px;
    }

    .mt220md {
        margin-top: 220px;
    }

    .mt250md {
        margin-top: 250px;
    }

    .mt280md {
        margin-top: 280px;
    }

    .mt300md {
        margin-top: 300px;
    }

    .mt350md {
        margin-top: 350px;
    }

    .mt400md {
        margin-top: 400px;
    }

    .mt450md {
        margin-top: 450px;
    }

    .mt500md {
        margin-top: 500px;
    }

    .mb0md {
        margin-bottom: 0;
    }

    .mb5md {
        margin-bottom: 5px;
    }

    .mb10md {
        margin-bottom: 10px;
    }

    .mb15md {
        margin-bottom: 15px;
    }

    .mb20md {
        margin-bottom: 20px;
    }

    .mb25md {
        margin-bottom: 25px;
    }

    .mb30md {
        margin-bottom: 30px;
    }

    .mb40md {
        margin-bottom: 40px;
    }

    .mb50md {
        margin-bottom: 50px;
    }

    .mb60md {
        margin-bottom: 60px;
    }

    .mb70md {
        margin-bottom: 70px;
    }

    .mb80md {
        margin-bottom: 80px;
    }

    .mb90md {
        margin-bottom: 90px;
    }

    .mb100md {
        margin-bottom: 100px;
    }

    .mb120md {
        margin-bottom: 120px;
    }

    .mb150md {
        margin-bottom: 150px;
    }

    .mb180md {
        margin-bottom: 180px;
    }

    .mb200md {
        margin-bottom: 200px;
    }

    .mb220md {
        margin-bottom: 220px;
    }

    .mb250md {
        margin-bottom: 250px;
    }

    .mb280md {
        margin-bottom: 280px;
    }

    .mb300md {
        margin-bottom: 300px;
    }

    .mb350md {
        margin-bottom: 350px;
    }

    .mb400md {
        margin-bottom: 400px;
    }

    .mb450md {
        margin-bottom: 450px;
    }

    .mb500md {
        margin-bottom: 500px;
    }

    /* --- Paddings --- */

    .p0md {
        padding: 0;
    }

    .p5md {
        padding: 5px;
    }

    .p10md {
        padding: 10px;
    }

    .p15md {
        padding: 15px;
    }

    .p20md {
        padding: 20px;
    }

    .p25md {
        padding: 25px;
    }

    .p30md {
        padding: 30px;
    }

    .p40md {
        padding: 40px;
    }

    .p50md {
        padding: 50px;
    }

    .p60md {
        padding: 60px;
    }

    .p70md {
        padding: 70px;
    }

    .p80md {
        padding: 80px;
    }

    .p90md {
        padding: 90px;
    }

    .p100md {
        padding: 100px;
    }

    .p150md {
        padding: 150px;
    }

    .p200md {
        padding: 200px;
    }

    .p250md {
        padding: 250px;
    }

    .p300md {
        padding: 300px;
    }

    .pl0md {
        padding-left: 0;
    }

    .pl5md {
        padding-left: 5px;
    }

    .pl10md {
        padding-left: 10px;
    }

    .pl15md {
        padding-left: 15px;
    }

    .pl20md {
        padding-left: 20px;
    }

    .pl25md {
        padding-left: 25px;
    }

    .pl30md {
        padding-left: 30px;
    }

    .pl40md {
        padding-left: 40px;
    }

    .pl50md {
        padding-left: 50px;
    }

    .pl60md {
        padding-left: 60px;
    }

    .pl70md {
        padding-left: 70px;
    }

    .pl80md {
        padding-left: 80px;
    }

    .pl90md {
        padding-left: 90px;
    }

    .pl100md {
        padding-left: 100px;
    }

    .pl200md {
        padding-left: 200px;
    }

    .pr0md {
        padding-right: 0;
    }

    .pr5md {
        padding-right: 5px;
    }

    .pr10md {
        padding-right: 10px;
    }

    .pr15md {
        padding-right: 15px;
    }

    .pr20md {
        padding-right: 20px;
    }

    .pr25md {
        padding-right: 25px;
    }

    .pr30md {
        padding-right: 30px;
    }

    .pr40md {
        padding-right: 40px;
    }

    .pr50md {
        padding-right: 50px;
    }

    .pr60md {
        padding-right: 60px;
    }

    .pr70md {
        padding-right: 70px;
    }

    .pr80md {
        padding-right: 80px;
    }

    .pr90md {
        padding-right: 90px;
    }

    .pr100md {
        padding-right: 100px;
    }

    .pr200md {
        padding-right: 200px;
    }

    .pt0md {
        padding-top: 0;
    }

    .pt5md {
        padding-top: 5px;
    }

    .pt10md {
        padding-top: 10px;
    }

    .pt15md {
        padding-top: 15px;
    }

    .pt20md {
        padding-top: 20px;
    }

    .pt25md {
        padding-top: 25px;
    }

    .pt30md {
        padding-top: 30px;
    }

    .pt40md {
        padding-top: 40px;
    }

    .pt50md {
        padding-top: 50px;
    }

    .pt60md {
        padding-top: 60px;
    }

    .pt70md {
        padding-top: 70px;
    }

    .pt80md {
        padding-top: 80px;
    }

    .pt90md {
        padding-top: 90px;
    }

    .pt100md {
        padding-top: 100px;
    }

    .pt200md {
        padding-top: 200px;
    }

    .pb0md {
        padding-bottom: 0;
    }

    .pb5md {
        padding-bottom: 5px;
    }

    .pb10md {
        padding-bottom: 10px;
    }

    .pb15md {
        padding-bottom: 15px;
    }

    .pb20md {
        padding-bottom: 20px;
    }

    .pb25md {
        padding-bottom: 25px;
    }

    .pb30md {
        padding-bottom: 30px;
    }

    .pb40md {
        padding-bottom: 40px;
    }

    .pb50md {
        padding-bottom: 50px;
    }

    .pb60md {
        padding-bottom: 60px;
    }

    .pb70md {
        padding-bottom: 70px;
    }

    .pb80md {
        padding-bottom: 80px;
    }

    .pb90md {
        padding-bottom: 90px;
    }

    .pb100md {
        padding-bottom: 100px;
    }

    .pb200md {
        padding-bottom: 200px;
    }

    /* --- Width --- */

    .wamd {
        width: auto;
    }

    .w50md {
        width: 50px;
    }

    .w100md {
        width: 100px;
    }

    .w150md {
        width: 150px;
    }

    .w200md {
        width: 200px;
    }

    .w250md {
        width: 250px;
    }

    .w300md {
        width: 300px;
    }

    .w400md {
        width: 400px;
    }

    .w500md {
        width: 500px;
    }

    .w600md {
        width: 600px;
    }

    .w700md {
        width: 700px;
    }

    .w800md {
        width: 800px;
    }

    .w900md {
        width: 900px;
    }

    .w960md {
        width: 960px;
    }

    .w1100md {
        width: 1100px;
    }

    .w5pmd {
        width: 5%;
    }

    .w10pmd {
        width: 10%;
    }

    .w12pmd {
        width: 12.5%;
    }

    .w15pmd {
        width: 15%;
    }

    .w17pmd {
        width: 16.666%;
    }

    .w20pmd {
        width: 20%;
    }

    .w25pmd {
        width: 25%;
    }

    .w30pmd {
        width: 30%;
    }

    .w33pmd {
        width: 33.333%;
    }

    .w35pmd {
        width: 35%;
    }

    .w40pmd {
        width: 40%;
    }

    .w45pmd {
        width: 45%;
    }

    .w50pmd {
        width: 50%;
    }

    .w55pmd {
        width: 55%;
    }

    .w60pmd {
        width: 60%;
    }

    .w65pmd {
        width: 65%;
    }

    .w66pmd {
        width: 66.66%;
    }

    .w70pmd {
        width: 70%;
    }

    .w75pmd {
        width: 75%;
    }

    .w80pmd {
        width: 80%;
    }

    .w85pmd {
        width: 85%;
    }

    .w90pmd {
        width: 90%;
    }

    .w95pmd {
        width: 95%;
    }

    .w100pmd {
        width: 100%;
    }

    .mw-rstmd {
        min-width: unset;
    }

    .mw100md {
        min-width: 100px;
    }

    .mw150md {
        min-width: 150px;
    }

    .mw200md {
        min-width: 200px;
    }

    .mw250md {
        min-width: 250px;
    }

    .mw300md {
        min-width: 300px;
    }

    .mw400md {
        min-width: 400px;
    }

    .mw500md {
        min-width: 500px;
    }

    .mw600md {
        min-width: 600px;
    }

    .mw700md {
        min-width: 700px;
    }

    .mw800md {
        min-width: 800px;
    }

    .mw900md {
        min-width: 900px;
    }

    .mw960md {
        min-width: 960px;
    }

    .mw1100md {
        min-width: 1100px;
    }

    .mw10pmd {
        min-width: 10%;
    }

    .mw20pmd {
        min-width: 20%;
    }

    .mw30pmd {
        min-width: 30%;
    }

    .mw40pmd {
        min-width: 40%;
    }

    .mw50pmd {
        min-width: 50%;
    }

    .mw60pmd {
        min-width: 60%;
    }

    .mw70pmd {
        min-width: 70%;
    }

    .mw80pmd {
        min-width: 80%;
    }

    .mw90pmd {
        min-width: 90%;
    }

    .mw100pmd {
        min-width: 100%;
    }

    .mxw-rstmd {
        max-width: unset;
    }

    .mxw100md {
        max-width: 100px;
    }

    .mxw150md {
        max-width: 150px;
    }

    .mxw200md {
        max-width: 200px;
    }

    .mxw250md {
        max-width: 250px;
    }

    .mxw300md {
        max-width: 300px;
    }

    .mxw400md {
        max-width: 400px;
    }

    .mxw500md {
        max-width: 500px;
    }

    .mxw600md {
        max-width: 600px;
    }

    .mxw700md {
        max-width: 700px;
    }

    .mxw800md {
        max-width: 800px;
    }

    .mxw900md {
        max-width: 900px;
    }

    .mxw960md {
        max-width: 960px;
    }

    .mxw1100md {
        max-width: 1100px;
    }

    .mxw5pmd {
        max-width: 5%;
    }

    .mxw10pmd {
        max-width: 10%;
    }

    .mxw12pmd {
        max-width: 12.5%;
    }

    .mxw15pmd {
        max-width: 15%;
    }

    .mxw17pmd {
        max-width: 16.666%;
    }

    .mxw20pmd {
        max-width: 20%;
    }

    .mxw25pmd {
        max-width: 25%;
    }

    .mxw30pmd {
        max-width: 30%;
    }

    .mxw33pmd {
        max-width: 33.333%;
    }

    .mxw35pmd {
        max-width: 35%;
    }

    .mxw40pmd {
        max-width: 40%;
    }

    .mxw45pmd {
        max-width: 45%;
    }

    .mxw50pmd {
        max-width: 50%;
    }

    .mxw55pmd {
        max-width: 55%;
    }

    .mxw60pmd {
        max-width: 60%;
    }

    .mxw65pmd {
        max-width: 65%;
    }

    .mxw66pmd {
        max-width: 66.66%;
    }

    .mxw70pmd {
        max-width: 70%;
    }

    .mxw75pmd {
        max-width: 75%;
    }

    .mxw80pmd {
        max-width: 80%;
    }

    .mxw85pmd {
        max-width: 85%;
    }

    .mxw90pmd {
        max-width: 90%;
    }

    .mxw95pmd {
        max-width: 95%;
    }

    .mxw100pmd {
        max-width: 100%;
    }

    /* --- Heights --- */

    .hamd {
        height: auto;
    }

    .h10md {
        height: 10px;
    }

    .h20md {
        height: 20px;
    }

    .h30md {
        height: 30px;
    }

    .h40md {
        height: 40px;
    }

    .h50md {
        height: 50px;
    }

    .h60md {
        height: 60px;
    }

    .h70md {
        height: 70px;
    }

    .h80md {
        height: 80px;
    }

    .h90md {
        height: 90px;
    }

    .h100md {
        height: 100px;
    }

    .h150md {
        height: 150px;
    }

    .h200md {
        height: 200px;
    }

    .h250md {
        height: 250px;
    }

    .h300md {
        height: 300px;
    }

    .h400md {
        height: 400px;
    }

    .h500md {
        height: 500px;
    }

    .h600md {
        height: 600px;
    }

    .h700md {
        height: 600px;
    }

    .h800md {
        height: 600px;
    }

    .h900md {
        height: 600px;
    }

    .h1000md {
        height: 600px;
    }

    .h10pmd {
        height: 10%;
    }

    .h20pmd {
        height: 20%;
    }

    .h30pmd {
        height: 30%;
    }

    .h40pmd {
        height: 40%;
    }

    .h50pmd {
        height: 50%;
    }

    .h60pmd {
        height: 60%;
    }

    .h70pmd {
        height: 70%;
    }

    .h80pmd {
        height: 80%;
    }

    .h90pmd {
        height: 90%;
    }

    .h100pmd {
        height: 100%;
    }

    .mh50md {
        min-height: 50px;
    }

    .mh100md {
        min-height: 100px;
    }

    .mh150md {
        min-height: 150px;
    }

    .mh200md {
        min-height: 200px;
    }

    .mh250md {
        min-height: 250px;
    }

    .mh300md {
        min-height: 300px;
    }

    .mh10pmd {
        min-height: 10%;
    }

    .mh20pmd {
        min-height: 20%;
    }

    .mh30pmd {
        min-height: 30%;
    }

    .mh40pmd {
        min-height: 40%;
    }

    .mh50pmd {
        min-height: 50%;
    }

    .mh60pmd {
        min-height: 60%;
    }

    .mh70pmd {
        min-height: 70%;
    }

    .mh80pmd {
        min-height: 80%;
    }

    .mh90pmd {
        min-height: 90%;
    }

    .mh100pmd {
        min-height: 100%;
    }

    .mxhrstmd {
        max-height: none;
    }

    .mxh50md {
        max-height: 50px;
    }

    .mxh100md {
        max-height: 100px;
    }

    .mxh150md {
        max-height: 150px;
    }

    .mxh200md {
        max-height: 200px;
    }

    .mxh250md {
        max-height: 250px;
    }

    .mxh300md {
        max-height: 300px;
    }

    .mxh400md {
        max-height: 400px;
    }

    .mxh500md {
        max-height: 500px;
    }

    .mxh600md {
        max-height: 600px;
    }

    .mxh700md {
        max-height: 700px;
    }

    .mxh800md {
        max-height: 800px;
    }

    .mxh900md {
        max-height: 900px;
    }

    .mxh1000md {
        max-height: 1000px;
    }

    /* --- Positioning, floating --- */

    .pos-rstmd {
        position: inherit;
    }

    .pos-amd {
        position: absolute;
    }

    .pos-fmd {
        position: fixed;
    }

    .pos-rmd {
        position: relative;
    }

    .pos-smd {
        position: sticky;
    }

    .pos-t0md {
        top: 0;
    }

    .pos-b0md {
        bottom: 0;
    }

    .pos-l0md {
        left: 0;
    }

    .pos-r0md {
        right: 0;
    }

    .vammd {
        vertical-align: middle;
    }

    .vatmd {
        vertical-align: top;
    }

    .vabmd {
        vertical-align: bottom;
    }

    .varstmd {
        vertical-align: baseline;
    }

    /* Next three definitions shall be used in conjunction with pos-r, pos-a or pos-f, which determine scope of their effect */

    .vertcentermd {
        top: 50%;
        transform: translateY(-50%);
    }

    .horcentermd {
        left: 50%;
        transform: translateX(-50%);
    }

    .centerpointmd {
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    .fl-lmd {
        float: left;
    }

    .fl-rmd {
        float: right;
    }

    .fl-clrmd {
        float: none;
    }

    .fl-ctrmd {
        margin-left: auto;
        margin-right: auto;
    }

    .clearmd {
        clear: both;
    }

    /* --- Grid --- */

    .grid1colmd {
        grid-template-columns: repeat(1, 1fr);
    }

    .grid2colmd {
        grid-template-columns: repeat(2, 1fr);
    }

    .grid3colmd {
        grid-template-columns: repeat(3, 1fr);
    }

    .grid4colmd {
        grid-template-columns: repeat(4, 1fr);
    }

    .grid5colmd {
        grid-template-columns: repeat(5, 1fr);
    }

    .grid6colmd {
        grid-template-columns: repeat(6, 1fr);
    }

    .grid7colmd {
        grid-template-columns: repeat(7, 1fr);
    }

    .grid8colmd {
        grid-template-columns: repeat(8, 1fr);
    }

    .grid9colmd {
        grid-template-columns: repeat(9, 1fr);
    }

    .grid10colmd {
        grid-template-columns: repeat(10, 1fr);
    }

    .grid11colmd {
        grid-template-columns: repeat(11, 1fr);
    }

    .grid12colmd {
        grid-template-columns: repeat(12, 1fr);
    }

    .gridgap10md {
        grid-gap: 10px;
    }

    .gridgap20md {
        grid-gap: 20px;
    }

    .gridgap30md {
        grid-gap: 30px;
    }

    .gridgap40md {
        grid-gap: 40px;
    }

    .gridgap50md {
        grid-gap: 50px;
    }

    .gridgap60md {
        grid-gap: 60px;
    }

    .gridgap70md {
        grid-gap: 70px;
    }

    .gridgap80md {
        grid-gap: 80px;
    }

    .gridgap90md {
        grid-gap: 90px;
    }

    .gridgap100md {
        grid-gap: 100px;
    }

    .gridgap150md {
        grid-gap: 150px;
    }

    .gridgap200md {
        grid-gap: 200px;
    }

    .gridgap250md {
        grid-gap: 250px;
    }

    .gridgap300md {
        grid-gap: 300px;
    }

    .gridgap1pmd {
        grid-gap: 1%;
    }

    .gridgap2pmd {
        grid-gap: 2%;
    }

    .gridgap3pmd {
        grid-gap: 3%;
    }

    .gridgap4pmd {
        grid-gap: 4%;
    }

    .gridgap5pmd {
        grid-gap: 5%;
    }

    .gridgap10pmd {
        grid-gap: 10%;
    }

    .gridcolgap1pmd {
        column-gap: 1%;
    }

    .gridcolgap2pmd {
        column-gap: 2%;
    }

    .gridcolgap3pmd {
        column-gap: 3%;
    }

    .gridcolgap4pmd {
        column-gap: 4%;
    }

    .gridcolgap5pmd {
        column-gap: 5%;
    }

    .gridcolgap10pmd {
        column-gap: 10%;
    }

    .gridrowgap1pmd {
        row-gap: 1%;
    }

    .gridrowgap2pmd {
        row-gap: 2%;
    }

    .gridrowgap3pmd {
        row-gap: 3%;
    }

    .gridrowgap4pmd {
        row-gap: 4%;
    }

    .gridrowgap5pmd {
        row-gap: 5%;
    }

    .gridrowgap10pmd {
        row-gap: 10%;
    }

    /* --- Text Modifiers --- */

    .lgtxtmd {
        font-size: 120%;
    }

    .xlgtxtmd {
        font-size: 200%;
    }

    .smtxtmd {
        font-size: 75%;
    }

    .xsmtxtmd {
        font-size: 50%;
    }

    /* --- Forced Text Alignment --- */

    .ltxtmd {
        text-align: left !important;
    }

    .rtxtmd {
        text-align: right !important;
    }

    .ctxtmd {
        text-align: center !important;
    }

    .jtxtmd {
        text-align: justify !important;
    }

    /* --- Box model --- */

    .forceboxmd {
        box-sizing: border-box !important;
    }

    .tidymd {
        overflow: hidden;
    }

    .autoscrollmd {
        overflow: auto;
    }

    .forcescrollmd {
        overflow: scroll;
    }

    .scrollxmd {
        overflow-x: scroll;
    }

    .scrollymd {
        overflow-y: scroll;
    }
}

@media screen and (max-width: 992px) {
    /* --- (In)visibility, blockiness, fluidity, flex --- */

    .hidesm {
        display: none;
    }

    .noshowsm {
        visibility: hidden;
    }

    .blocksm {
        display: block;
    }

    .iblocksm {
        display: inline-block;
    }

    .inlinesm {
        display: inline;
    }

    .gridsm {
        display: grid;
    }

    .flexsm {
        display: flex;
    }

    .blockrstsm {
        display: inherit;
    }

    /* Flex alignments and adjustments */

    .fai-fssm {
        align-items: flex-start;
    }

    .fai-fesm {
        align-items: flex-end;
    }

    .fai-csm {
        align-items: center;
    }

    .fai-ssm {
        align-items: stretch;
    }

    .fai-bsm {
        align-items: baseline;
    }

    .fjc-fssm {
        justify-content: flex-start;
    }

    .fjc-fesm {
        justify-content: flex-end;
    }

    .fjc-csm {
        justify-content: center;
    }

    .fjc-sasm {
        justify-content: space-around;
    }

    .fjc-sbsm {
        justify-content: space-between;
    }

    .fjc-sesm {
        justify-content: space-evenly;
    }

    .fd-rsm {
        flex-direction: row;
    }

    .fd-rrsm {
        flex-direction: row-reverse;
    }

    .fd-csm {
        flex-direction: column;
    }

    .fd-crsm {
        flex-direction: column-reverse;
    }

    .f-wsm {
        flex-wrap: wrap;
    }

    .f-nwsm {
        flex-wrap: nowrap;
    }

    /* --- Margins --- */

    .masm {
        margin: auto;
    }

    .m0sm {
        margin: 0;
    }

    .m5sm {
        margin: 5px;
    }

    .m10sm {
        margin: 10px;
    }

    .m15sm {
        margin: 15px;
    }

    .m20sm {
        margin: 20px;
    }

    .m25sm {
        margin: 25px;
    }

    .m30sm {
        margin: 30px;
    }

    .m40sm {
        margin: 40px;
    }

    .m50sm {
        margin: 50px;
    }

    .m60sm {
        margin: 60px;
    }

    .m70sm {
        margin: 70px;
    }

    .m80sm {
        margin: 80px;
    }

    .m90sm {
        margin: 90px;
    }

    .m100sm {
        margin: 100px;
    }

    .m150sm {
        margin: 150px;
    }

    .m200sm {
        margin: 200px;
    }

    .m250sm {
        margin: 250px;
    }

    .m300sm {
        margin: 300px;
    }

    .m350sm {
        margin: 350px;
    }

    .m400sm {
        margin: 400px;
    }

    .m450sm {
        margin: 450px;
    }

    .m500sm {
        margin: 500px;
    }

    .ml0sm {
        margin-left: 0;
    }

    .ml5sm {
        margin-left: 5px;
    }

    .ml10sm {
        margin-left: 10px;
    }

    .ml15sm {
        margin-left: 15px;
    }

    .ml20sm {
        margin-left: 20px;
    }

    .ml25sm {
        margin-left: 25px;
    }

    .ml30sm {
        margin-left: 30px;
    }

    .ml40sm {
        margin-left: 40px;
    }

    .ml50sm {
        margin-left: 50px;
    }

    .ml60sm {
        margin-left: 60px;
    }

    .ml70sm {
        margin-left: 70px;
    }

    .ml80sm {
        margin-left: 80px;
    }

    .ml90sm {
        margin-left: 90px;
    }

    .ml100sm {
        margin-left: 100px;
    }

    .ml150sm {
        margin-left: 150px;
    }

    .ml200sm {
        margin-left: 200px;
    }

    .ml250sm {
        margin-left: 250px;
    }

    .ml300sm {
        margin-left: 300px;
    }

    .ml350sm {
        margin-left: 350px;
    }

    .ml400sm {
        margin-left: 400px;
    }

    .ml450sm {
        margin-left: 450px;
    }

    .ml500sm {
        margin-left: 500px;
    }

    .ml10psm {
        margin-left: 10%;
    }

    .ml20psm {
        margin-left: 20%;
    }

    .ml30psm {
        margin-left: 30%;
    }

    .ml40psm {
        margin-left: 40%;
    }

    .ml50psm {
        margin-left: 50%;
    }

    .mr0sm {
        margin-right: 0;
    }

    .mr5sm {
        margin-right: 5px;
    }

    .mr10sm {
        margin-right: 10px;
    }

    .mr15sm {
        margin-right: 15px;
    }

    .mr20sm {
        margin-right: 20px;
    }

    .mr25sm {
        margin-right: 25px;
    }

    .mr30sm {
        margin-right: 30px;
    }

    .mr40sm {
        margin-right: 40px;
    }

    .mr50sm {
        margin-right: 50px;
    }

    .mr60sm {
        margin-right: 60px;
    }

    .mr70sm {
        margin-right: 70px;
    }

    .mr80sm {
        margin-right: 80px;
    }

    .mr90sm {
        margin-right: 90px;
    }

    .mr100sm {
        margin-right: 100px;
    }

    .mr150sm {
        margin-right: 150px;
    }

    .mr200sm {
        margin-right: 200px;
    }

    .mr250sm {
        margin-right: 250px;
    }

    .mr300sm {
        margin-right: 300px;
    }

    .mr350sm {
        margin-right: 350px;
    }

    .mr400sm {
        margin-right: 400px;
    }

    .mr450sm {
        margin-right: 450px;
    }

    .mr500sm {
        margin-right: 500px;
    }

    .mr10psm {
        margin-right: 10%;
    }

    .mr20psm {
        margin-right: 20%;
    }

    .mr30psm {
        margin-right: 30%;
    }

    .mr40psm {
        margin-right: 40%;
    }

    .mr50psm {
        margin-right: 50%;
    }

    .mt0sm {
        margin-top: 0;
    }

    .mt5sm {
        margin-top: 5px;
    }

    .mt10sm {
        margin-top: 10px;
    }

    .mt15sm {
        margin-top: 15px;
    }

    .mt20sm {
        margin-top: 20px;
    }

    .mt25sm {
        margin-top: 25px;
    }

    .mt30sm {
        margin-top: 30px;
    }

    .mt40sm {
        margin-top: 40px;
    }

    .mt50sm {
        margin-top: 50px;
    }

    .mt60sm {
        margin-top: 60px;
    }

    .mt70sm {
        margin-top: 70px;
    }

    .mt80sm {
        margin-top: 80px;
    }

    .mt90sm {
        margin-top: 90px;
    }

    .mt100sm {
        margin-top: 100px;
    }

    .mt120sm {
        margin-top: 120px;
    }

    .mt150sm {
        margin-top: 150px;
    }

    .mt180sm {
        margin-top: 180px;
    }

    .mt200sm {
        margin-top: 200px;
    }

    .mt220sm {
        margin-top: 220px;
    }

    .mt250sm {
        margin-top: 250px;
    }

    .mt280sm {
        margin-top: 280px;
    }

    .mt300sm {
        margin-top: 300px;
    }

    .mt350sm {
        margin-top: 350px;
    }

    .mt400sm {
        margin-top: 400px;
    }

    .mt450sm {
        margin-top: 450px;
    }

    .mt500sm {
        margin-top: 500px;
    }

    .mb0sm {
        margin-bottom: 0;
    }

    .mb5sm {
        margin-bottom: 5px;
    }

    .mb10sm {
        margin-bottom: 10px;
    }

    .mb15sm {
        margin-bottom: 15px;
    }

    .mb20sm {
        margin-bottom: 20px;
    }

    .mb25sm {
        margin-bottom: 25px;
    }

    .mb30sm {
        margin-bottom: 30px;
    }

    .mb40sm {
        margin-bottom: 40px;
    }

    .mb50sm {
        margin-bottom: 50px;
    }

    .mb60sm {
        margin-bottom: 60px;
    }

    .mb70sm {
        margin-bottom: 70px;
    }

    .mb80sm {
        margin-bottom: 80px;
    }

    .mb90sm {
        margin-bottom: 90px;
    }

    .mb100sm {
        margin-bottom: 100px;
    }

    .mb120sm {
        margin-bottom: 120px;
    }

    .mb150sm {
        margin-bottom: 150px;
    }

    .mb180sm {
        margin-bottom: 180px;
    }

    .mb200sm {
        margin-bottom: 200px;
    }

    .mb220sm {
        margin-bottom: 220px;
    }

    .mb250sm {
        margin-bottom: 250px;
    }

    .mb280sm {
        margin-bottom: 280px;
    }

    .mb300sm {
        margin-bottom: 300px;
    }

    .mb350sm {
        margin-bottom: 350px;
    }

    .mb400sm {
        margin-bottom: 400px;
    }

    .mb450sm {
        margin-bottom: 450px;
    }

    .mb500sm {
        margin-bottom: 500px;
    }

    /* --- Paddings --- */

    .p0sm {
        padding: 0;
    }

    .p5sm {
        padding: 5px;
    }

    .p10sm {
        padding: 10px;
    }

    .p15sm {
        padding: 15px;
    }

    .p20sm {
        padding: 20px;
    }

    .p25sm {
        padding: 25px;
    }

    .p30sm {
        padding: 30px;
    }

    .p40sm {
        padding: 40px;
    }

    .p50sm {
        padding: 50px;
    }

    .p60sm {
        padding: 60px;
    }

    .p70sm {
        padding: 70px;
    }

    .p80sm {
        padding: 80px;
    }

    .p90sm {
        padding: 90px;
    }

    .p100sm {
        padding: 100px;
    }

    .p150sm {
        padding: 150px;
    }

    .p200sm {
        padding: 200px;
    }

    .p250sm {
        padding: 250px;
    }

    .p300sm {
        padding: 300px;
    }

    .pl0sm {
        padding-left: 0;
    }

    .pl5sm {
        padding-left: 5px;
    }

    .pl10sm {
        padding-left: 10px;
    }

    .pl15sm {
        padding-left: 15px;
    }

    .pl20sm {
        padding-left: 20px;
    }

    .pl25sm {
        padding-left: 25px;
    }

    .pl30sm {
        padding-left: 30px;
    }

    .pl40sm {
        padding-left: 40px;
    }

    .pl50sm {
        padding-left: 50px;
    }

    .pl60sm {
        padding-left: 60px;
    }

    .pl70sm {
        padding-left: 70px;
    }

    .pl80sm {
        padding-left: 80px;
    }

    .pl90sm {
        padding-left: 90px;
    }

    .pl100sm {
        padding-left: 100px;
    }

    .pl200sm {
        padding-left: 200px;
    }

    .pr0sm {
        padding-right: 0;
    }

    .pr5sm {
        padding-right: 5px;
    }

    .pr10sm {
        padding-right: 10px;
    }

    .pr15sm {
        padding-right: 15px;
    }

    .pr20sm {
        padding-right: 20px;
    }

    .pr25sm {
        padding-right: 25px;
    }

    .pr30sm {
        padding-right: 30px;
    }

    .pr40sm {
        padding-right: 40px;
    }

    .pr50sm {
        padding-right: 50px;
    }

    .pr60sm {
        padding-right: 60px;
    }

    .pr70sm {
        padding-right: 70px;
    }

    .pr80sm {
        padding-right: 80px;
    }

    .pr90sm {
        padding-right: 90px;
    }

    .pr100sm {
        padding-right: 100px;
    }

    .pr200sm {
        padding-right: 200px;
    }

    .pt0sm {
        padding-top: 0;
    }

    .pt5sm {
        padding-top: 5px;
    }

    .pt10sm {
        padding-top: 10px;
    }

    .pt15sm {
        padding-top: 15px;
    }

    .pt20sm {
        padding-top: 20px;
    }

    .pt25sm {
        padding-top: 25px;
    }

    .pt30sm {
        padding-top: 30px;
    }

    .pt40sm {
        padding-top: 40px;
    }

    .pt50sm {
        padding-top: 50px;
    }

    .pt60sm {
        padding-top: 60px;
    }

    .pt70sm {
        padding-top: 70px;
    }

    .pt80sm {
        padding-top: 80px;
    }

    .pt90sm {
        padding-top: 90px;
    }

    .pt100sm {
        padding-top: 100px;
    }

    .pt200sm {
        padding-top: 200px;
    }

    .pb0sm {
        padding-bottom: 0;
    }

    .pb5sm {
        padding-bottom: 5px;
    }

    .pb10sm {
        padding-bottom: 10px;
    }

    .pb15sm {
        padding-bottom: 15px;
    }

    .pb20sm {
        padding-bottom: 20px;
    }

    .pb25sm {
        padding-bottom: 25px;
    }

    .pb30sm {
        padding-bottom: 30px;
    }

    .pb40sm {
        padding-bottom: 40px;
    }

    .pb50sm {
        padding-bottom: 50px;
    }

    .pb60sm {
        padding-bottom: 60px;
    }

    .pb70sm {
        padding-bottom: 70px;
    }

    .pb80sm {
        padding-bottom: 80px;
    }

    .pb90sm {
        padding-bottom: 90px;
    }

    .pb100sm {
        padding-bottom: 100px;
    }

    .pb200sm {
        padding-bottom: 200px;
    }

    /* --- Width --- */

    .wasm {
        width: auto;
    }

    .w50sm {
        width: 50px;
    }

    .w100sm {
        width: 100px;
    }

    .w150sm {
        width: 150px;
    }

    .w200sm {
        width: 200px;
    }

    .w250sm {
        width: 250px;
    }

    .w300sm {
        width: 300px;
    }

    .w400sm {
        width: 400px;
    }

    .w500sm {
        width: 500px;
    }

    .w600sm {
        width: 600px;
    }

    .w700sm {
        width: 700px;
    }

    .w800sm {
        width: 800px;
    }

    .w900sm {
        width: 900px;
    }

    .w960sm {
        width: 960px;
    }

    .w5psm {
        width: 5%;
    }

    .w10psm {
        width: 10%;
    }

    .w12psm {
        width: 12.5%;
    }

    .w15psm {
        width: 15%;
    }

    .w17psm {
        width: 16.666%;
    }

    .w20psm {
        width: 20%;
    }

    .w25psm {
        width: 25%;
    }

    .w30psm {
        width: 30%;
    }

    .w33psm {
        width: 33.333%;
    }

    .w35psm {
        width: 35%;
    }

    .w40psm {
        width: 40%;
    }

    .w45psm {
        width: 45%;
    }

    .w50psm {
        width: 50%;
    }

    .w55psm {
        width: 55%;
    }

    .w60psm {
        width: 60%;
    }

    .w65psm {
        width: 65%;
    }

    .w66psm {
        width: 66.66%;
    }

    .w70psm {
        width: 70%;
    }

    .w75psm {
        width: 75%;
    }

    .w80psm {
        width: 80%;
    }

    .w85psm {
        width: 85%;
    }

    .w90psm {
        width: 90%;
    }

    .w95psm {
        width: 95%;
    }

    .w100psm {
        width: 100%;
    }

    .mw-rstsm {
        min-width: unset;
    }

    .mw100sm {
        min-width: 100px;
    }

    .mw150sm {
        min-width: 150px;
    }

    .mw200sm {
        min-width: 200px;
    }

    .mw250sm {
        min-width: 250px;
    }

    .mw300sm {
        min-width: 300px;
    }

    .mw400sm {
        min-width: 400px;
    }

    .mw500sm {
        min-width: 500px;
    }

    .mw600sm {
        min-width: 600px;
    }

    .mw700sm {
        min-width: 700px;
    }

    .mw800sm {
        min-width: 800px;
    }

    .mw900sm {
        min-width: 900px;
    }

    .mw960sm {
        min-width: 960px;
    }

    .mw10psm {
        min-width: 10%;
    }

    .mw20psm {
        min-width: 20%;
    }

    .mw30psm {
        min-width: 30%;
    }

    .mw40psm {
        min-width: 40%;
    }

    .mw50psm {
        min-width: 50%;
    }

    .mw60psm {
        min-width: 60%;
    }

    .mw70psm {
        min-width: 70%;
    }

    .mw80psm {
        min-width: 80%;
    }

    .mw90psm {
        min-width: 90%;
    }

    .mw100psm {
        min-width: 100%;
    }

    .mxw-rstsm {
        max-width: unset;
    }

    .mxw100sm {
        max-width: 100px;
    }

    .mxw150sm {
        max-width: 150px;
    }

    .mxw200sm {
        max-width: 200px;
    }

    .mxw250sm {
        max-width: 250px;
    }

    .mxw300sm {
        max-width: 300px;
    }

    .mxw400sm {
        max-width: 400px;
    }

    .mxw500sm {
        max-width: 500px;
    }

    .mxw600sm {
        max-width: 600px;
    }

    .mxw700sm {
        max-width: 700px;
    }

    .mxw800sm {
        max-width: 800px;
    }

    .mxw900sm {
        max-width: 900px;
    }

    .mxw960sm {
        max-width: 960px;
    }

    .mxw5psm {
        max-width: 5%;
    }

    .mxw10psm {
        max-width: 10%;
    }

    .mxw12psm {
        max-width: 12.5%;
    }

    .mxw15psm {
        max-width: 15%;
    }

    .mxw17psm {
        max-width: 16.666%;
    }

    .mxw20psm {
        max-width: 20%;
    }

    .mxw25psm {
        max-width: 25%;
    }

    .mxw30psm {
        max-width: 30%;
    }

    .mxw33psm {
        max-width: 33.333%;
    }

    .mxw35psm {
        max-width: 35%;
    }

    .mxw40psm {
        max-width: 40%;
    }

    .mxw45psm {
        max-width: 45%;
    }

    .mxw50psm {
        max-width: 50%;
    }

    .mxw55psm {
        max-width: 55%;
    }

    .mxw60psm {
        max-width: 60%;
    }

    .mxw65psm {
        max-width: 65%;
    }

    .mxw66psm {
        max-width: 66.66%;
    }

    .mxw70psm {
        max-width: 70%;
    }

    .mxw75psm {
        max-width: 75%;
    }

    .mxw80psm {
        max-width: 80%;
    }

    .mxw85psm {
        max-width: 85%;
    }

    .mxw90psm {
        max-width: 90%;
    }

    .mxw95psm {
        max-width: 95%;
    }

    .mxw100psm {
        max-width: 100%;
    }

    /* --- Heights --- */

    .hasm {
        height: auto;
    }

    .h10sm {
        height: 10px;
    }

    .h20sm {
        height: 20px;
    }

    .h30sm {
        height: 30px;
    }

    .h40sm {
        height: 40px;
    }

    .h50sm {
        height: 50px;
    }

    .h60sm {
        height: 60px;
    }

    .h70sm {
        height: 70px;
    }

    .h80sm {
        height: 80px;
    }

    .h90sm {
        height: 90px;
    }

    .h100sm {
        height: 100px;
    }

    .h150sm {
        height: 150px;
    }

    .h200sm {
        height: 200px;
    }

    .h250sm {
        height: 250px;
    }

    .h300sm {
        height: 300px;
    }

    .h400sm {
        height: 400px;
    }

    .h500sm {
        height: 500px;
    }

    .h600sm {
        height: 600px;
    }

    .h700sm {
        height: 600px;
    }

    .h800sm {
        height: 600px;
    }

    .h900sm {
        height: 600px;
    }

    .h1000sm {
        height: 600px;
    }

    .h10psm {
        height: 10%;
    }

    .h20psm {
        height: 20%;
    }

    .h30psm {
        height: 30%;
    }

    .h40psm {
        height: 40%;
    }

    .h50psm {
        height: 50%;
    }

    .h60psm {
        height: 60%;
    }

    .h70psm {
        height: 70%;
    }

    .h80psm {
        height: 80%;
    }

    .h90psm {
        height: 90%;
    }

    .h100psm {
        height: 100%;
    }

    .mh50sm {
        min-height: 50px;
    }

    .mh100sm {
        min-height: 100px;
    }

    .mh150sm {
        min-height: 150px;
    }

    .mh200sm {
        min-height: 200px;
    }

    .mh250sm {
        min-height: 250px;
    }

    .mh300sm {
        min-height: 300px;
    }

    .mh10psm {
        min-height: 10%;
    }

    .mh20psm {
        min-height: 20%;
    }

    .mh30psm {
        min-height: 30%;
    }

    .mh40psm {
        min-height: 40%;
    }

    .mh50psm {
        min-height: 50%;
    }

    .mh60psm {
        min-height: 60%;
    }

    .mh70psm {
        min-height: 70%;
    }

    .mh80psm {
        min-height: 80%;
    }

    .mh90psm {
        min-height: 90%;
    }

    .mh100psm {
        min-height: 100%;
    }

    .mxhrstsm {
        max-height: none;
    }

    .mxh50sm {
        max-height: 50px;
    }

    .mxh100sm {
        max-height: 100px;
    }

    .mxh150sm {
        max-height: 150px;
    }

    .mxh200sm {
        max-height: 200px;
    }

    .mxh250sm {
        max-height: 250px;
    }

    .mxh300sm {
        max-height: 300px;
    }

    .mxh400sm {
        max-height: 400px;
    }

    .mxh500sm {
        max-height: 500px;
    }

    .mxh600sm {
        max-height: 600px;
    }

    .mxh700sm {
        max-height: 700px;
    }

    .mxh800sm {
        max-height: 800px;
    }

    .mxh900sm {
        max-height: 900px;
    }

    .mxh1000sm {
        max-height: 1000px;
    }

    /* --- Positioning, floating --- */

    .pos-rstsm {
        position: inherit;
    }

    .pos-asm {
        position: absolute;
    }

    .pos-fsm {
        position: fixed;
    }

    .pos-rsm {
        position: relative;
    }

    .pos-ssm {
        position: sticky;
    }

    .pos-t0sm {
        top: 0;
    }

    .pos-b0sm {
        bottom: 0;
    }

    .pos-l0sm {
        left: 0;
    }

    .pos-r0sm {
        right: 0;
    }

    .vamsm {
        vertical-align: middle;
    }

    .vatsm {
        vertical-align: top;
    }

    .vabsm {
        vertical-align: bottom;
    }

    .varstsm {
        vertical-align: baseline;
    }

    /* Next three definitions shall be used in conjunction with pos-r, pos-a or pos-f, which determine scope of their effect */

    .vertcentersm {
        top: 50%;
        transform: translateY(-50%);
    }

    .horcentersm {
        left: 50%;
        transform: translateX(-50%);
    }

    .centerpointsm {
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    .fl-lsm {
        float: left;
    }

    .fl-rsm {
        float: right;
    }

    .fl-clrsm {
        float: none;
    }

    .fl-ctrsm {
        margin-left: auto;
        margin-right: auto;
    }

    .clearsm {
        clear: both;
    }

    /* --- Grid --- */

    .grid1colsm {
        grid-template-columns: repeat(1, 1fr);
    }

    .grid2colsm {
        grid-template-columns: repeat(2, 1fr);
    }

    .grid3colsm {
        grid-template-columns: repeat(3, 1fr);
    }

    .grid4colsm {
        grid-template-columns: repeat(4, 1fr);
    }

    .grid5colsm {
        grid-template-columns: repeat(5, 1fr);
    }

    .grid6colsm {
        grid-template-columns: repeat(6, 1fr);
    }

    .grid7colsm {
        grid-template-columns: repeat(7, 1fr);
    }

    .grid8colsm {
        grid-template-columns: repeat(8, 1fr);
    }

    .grid9colsm {
        grid-template-columns: repeat(9, 1fr);
    }

    .grid10colsm {
        grid-template-columns: repeat(10, 1fr);
    }

    .grid11colsm {
        grid-template-columns: repeat(11, 1fr);
    }

    .grid12colsm {
        grid-template-columns: repeat(12, 1fr);
    }

    .gridgap10sm {
        grid-gap: 10px;
    }

    .gridgap20sm {
        grid-gap: 20px;
    }

    .gridgap30sm {
        grid-gap: 30px;
    }

    .gridgap40sm {
        grid-gap: 40px;
    }

    .gridgap50sm {
        grid-gap: 50px;
    }

    .gridgap60sm {
        grid-gap: 60px;
    }

    .gridgap70sm {
        grid-gap: 70px;
    }

    .gridgap80sm {
        grid-gap: 80px;
    }

    .gridgap90sm {
        grid-gap: 90px;
    }

    .gridgap100sm {
        grid-gap: 100px;
    }

    .gridgap150sm {
        grid-gap: 150px;
    }

    .gridgap200sm {
        grid-gap: 200px;
    }

    .gridgap250sm {
        grid-gap: 250px;
    }

    .gridgap300sm {
        grid-gap: 300px;
    }

    .gridgap1psm {
        grid-gap: 1%;
    }

    .gridgap2psm {
        grid-gap: 2%;
    }

    .gridgap3psm {
        grid-gap: 3%;
    }

    .gridgap4psm {
        grid-gap: 4%;
    }

    .gridgap5psm {
        grid-gap: 5%;
    }

    .gridgap10psm {
        grid-gap: 10%;
    }

    .gridcolgap1psm {
        column-gap: 1%;
    }

    .gridcolgap2psm {
        column-gap: 2%;
    }

    .gridcolgap3psm {
        column-gap: 3%;
    }

    .gridcolgap4psm {
        column-gap: 4%;
    }

    .gridcolgap5psm {
        column-gap: 5%;
    }

    .gridcolgap10psm {
        column-gap: 10%;
    }

    .gridrowgap1psm {
        row-gap: 1%;
    }

    .gridrowgap2psm {
        row-gap: 2%;
    }

    .gridrowgap3psm {
        row-gap: 3%;
    }

    .gridrowgap4psm {
        row-gap: 4%;
    }

    .gridrowgap5psm {
        row-gap: 5%;
    }

    .gridrowgap10psm {
        row-gap: 10%;
    }

    /* --- Text Modifiers --- */

    .lgtxtsm {
        font-size: 120%;
    }

    .xlgtxtsm {
        font-size: 200%;
    }

    .smtxtsm {
        font-size: 75%;
    }

    .xsmtxtsm {
        font-size: 50%;
    }

    /* --- Forced Text Alignment --- */

    .ltxtsm {
        text-align: left !important;
    }

    .rtxtsm {
        text-align: right !important;
    }

    .ctxtsm {
        text-align: center !important;
    }

    .jtxtsm {
        text-align: justify !important;
    }

    /* --- Box model --- */

    .forceboxsm {
        box-sizing: border-box !important;
    }

    .tidysm {
        overflow: hidden;
    }

    .autoscrollsm {
        overflow: auto;
    }

    .forcescrollsm {
        overflow: scroll;
    }

    .scrollxsm {
        overflow-x: scroll;
    }

    .scrollysm {
        overflow-y: scroll;
    }
}

@media screen and (max-width: 640px) {
    /* --- (In)visibility, blockiness, fluidity, flex --- */

    .hidexm {
        display: none;
    }

    .noshowxm {
        visibility: hidden;
    }

    .blockxm {
        display: block;
    }

    .iblockxm {
        display: inline-block;
    }

    .inlinexm {
        display: inline;
    }

    .gridxm {
        display: grid;
    }

    .flexxm {
        display: flex;
    }

    .blockrstxm {
        display: inherit;
    }

    /* Flex alignments and adjustments */

    .fai-fsxm {
        align-items: flex-start;
    }

    .fai-fexm {
        align-items: flex-end;
    }

    .fai-cxm {
        align-items: center;
    }

    .fai-sxm {
        align-items: stretch;
    }

    .fai-bxm {
        align-items: baseline;
    }

    .fjc-fsxm {
        justify-content: flex-start;
    }

    .fjc-fexm {
        justify-content: flex-end;
    }

    .fjc-cxm {
        justify-content: center;
    }

    .fjc-saxm {
        justify-content: space-around;
    }

    .fjc-sbxm {
        justify-content: space-between;
    }

    .fjc-sexm {
        justify-content: space-evenly;
    }

    .fd-rxm {
        flex-direction: row;
    }

    .fd-rrxm {
        flex-direction: row-reverse;
    }

    .fd-cxm {
        flex-direction: column;
    }

    .fd-crxm {
        flex-direction: column-reverse;
    }

    .f-wxm {
        flex-wrap: wrap;
    }

    .f-nwxm {
        flex-wrap: nowrap;
    }

    /* --- Margins --- */

    .maxm {
        margin: auto;
    }

    .m0xm {
        margin: 0;
    }

    .m5xm {
        margin: 5px;
    }

    .m10xm {
        margin: 10px;
    }

    .m15xm {
        margin: 15px;
    }

    .m20xm {
        margin: 20px;
    }

    .m25xm {
        margin: 25px;
    }

    .m30xm {
        margin: 30px;
    }

    .m40xm {
        margin: 40px;
    }

    .m50xm {
        margin: 50px;
    }

    .m60xm {
        margin: 60px;
    }

    .m70xm {
        margin: 70px;
    }

    .m80xm {
        margin: 80px;
    }

    .m90xm {
        margin: 90px;
    }

    .m100xm {
        margin: 100px;
    }

    .m150xm {
        margin: 150px;
    }

    .m200xm {
        margin: 200px;
    }

    .m250xm {
        margin: 250px;
    }

    .m300xm {
        margin: 300px;
    }

    .m350xm {
        margin: 350px;
    }

    .m400xm {
        margin: 400px;
    }

    .m450xm {
        margin: 450px;
    }

    .m500xm {
        margin: 500px;
    }

    .ml0xm {
        margin-left: 0;
    }

    .ml5xm {
        margin-left: 5px;
    }

    .ml10xm {
        margin-left: 10px;
    }

    .ml15xm {
        margin-left: 15px;
    }

    .ml20xm {
        margin-left: 20px;
    }

    .ml25xm {
        margin-left: 25px;
    }

    .ml30xm {
        margin-left: 30px;
    }

    .ml40xm {
        margin-left: 40px;
    }

    .ml50xm {
        margin-left: 50px;
    }

    .ml60xm {
        margin-left: 60px;
    }

    .ml70xm {
        margin-left: 70px;
    }

    .ml80xm {
        margin-left: 80px;
    }

    .ml90xm {
        margin-left: 90px;
    }

    .ml100xm {
        margin-left: 100px;
    }

    .ml150xm {
        margin-left: 150px;
    }

    .ml200xm {
        margin-left: 200px;
    }

    .ml250xm {
        margin-left: 250px;
    }

    .ml300xm {
        margin-left: 300px;
    }

    .ml350xm {
        margin-left: 350px;
    }

    .ml400xm {
        margin-left: 400px;
    }

    .ml450xm {
        margin-left: 450px;
    }

    .ml500xm {
        margin-left: 500px;
    }

    .ml10pxm {
        margin-left: 10%;
    }

    .ml20pxm {
        margin-left: 20%;
    }

    .ml30pxm {
        margin-left: 30%;
    }

    .ml40pxm {
        margin-left: 40%;
    }

    .ml50pxm {
        margin-left: 50%;
    }

    .mr0xm {
        margin-right: 0;
    }

    .mr5xm {
        margin-right: 5px;
    }

    .mr10xm {
        margin-right: 10px;
    }

    .mr15xm {
        margin-right: 15px;
    }

    .mr20xm {
        margin-right: 20px;
    }

    .mr25xm {
        margin-right: 25px;
    }

    .mr30xm {
        margin-right: 30px;
    }

    .mr40xm {
        margin-right: 40px;
    }

    .mr50xm {
        margin-right: 50px;
    }

    .mr60xm {
        margin-right: 60px;
    }

    .mr70xm {
        margin-right: 70px;
    }

    .mr80xm {
        margin-right: 80px;
    }

    .mr90xm {
        margin-right: 90px;
    }

    .mr100xm {
        margin-right: 100px;
    }

    .mr150xm {
        margin-right: 150px;
    }

    .mr200xm {
        margin-right: 200px;
    }

    .mr250xm {
        margin-right: 250px;
    }

    .mr300xm {
        margin-right: 300px;
    }

    .mr350xm {
        margin-right: 350px;
    }

    .mr400xm {
        margin-right: 400px;
    }

    .mr450xm {
        margin-right: 450px;
    }

    .mr500xm {
        margin-right: 500px;
    }

    .mr10pxm {
        margin-right: 10%;
    }

    .mr20pxm {
        margin-right: 20%;
    }

    .mr30pxm {
        margin-right: 30%;
    }

    .mr40pxm {
        margin-right: 40%;
    }

    .mr50pxm {
        margin-right: 50%;
    }

    .mt0xm {
        margin-top: 0;
    }

    .mt5xm {
        margin-top: 5px;
    }

    .mt10xm {
        margin-top: 10px;
    }

    .mt15xm {
        margin-top: 15px;
    }

    .mt20xm {
        margin-top: 20px;
    }

    .mt25xm {
        margin-top: 25px;
    }

    .mt30xm {
        margin-top: 30px;
    }

    .mt40xm {
        margin-top: 40px;
    }

    .mt50xm {
        margin-top: 50px;
    }

    .mt60xm {
        margin-top: 60px;
    }

    .mt70xm {
        margin-top: 70px;
    }

    .mt80xm {
        margin-top: 80px;
    }

    .mt90xm {
        margin-top: 90px;
    }

    .mt100xm {
        margin-top: 100px;
    }

    .mt120xm {
        margin-top: 120px;
    }

    .mt150xm {
        margin-top: 150px;
    }

    .mt180xm {
        margin-top: 180px;
    }

    .mt200xm {
        margin-top: 200px;
    }

    .mt220xm {
        margin-top: 220px;
    }

    .mt250xm {
        margin-top: 250px;
    }

    .mt280xm {
        margin-top: 280px;
    }

    .mt300xm {
        margin-top: 300px;
    }

    .mt350xm {
        margin-top: 350px;
    }

    .mt400xm {
        margin-top: 400px;
    }

    .mt450xm {
        margin-top: 450px;
    }

    .mt500xm {
        margin-top: 500px;
    }

    .mb0xm {
        margin-bottom: 0;
    }

    .mb5xm {
        margin-bottom: 5px;
    }

    .mb10xm {
        margin-bottom: 10px;
    }

    .mb15xm {
        margin-bottom: 15px;
    }

    .mb20xm {
        margin-bottom: 20px;
    }

    .mb25xm {
        margin-bottom: 25px;
    }

    .mb30xm {
        margin-bottom: 30px;
    }

    .mb40xm {
        margin-bottom: 40px;
    }

    .mb50xm {
        margin-bottom: 50px;
    }

    .mb60xm {
        margin-bottom: 60px;
    }

    .mb70xm {
        margin-bottom: 70px;
    }

    .mb80xm {
        margin-bottom: 80px;
    }

    .mb90xm {
        margin-bottom: 90px;
    }

    .mb100xm {
        margin-bottom: 100px;
    }

    .mb120xm {
        margin-bottom: 120px;
    }

    .mb150xm {
        margin-bottom: 150px;
    }

    .mb180xm {
        margin-bottom: 180px;
    }

    .mb200xm {
        margin-bottom: 200px;
    }

    .mb220xm {
        margin-bottom: 220px;
    }

    .mb250xm {
        margin-bottom: 250px;
    }

    .mb280xm {
        margin-bottom: 280px;
    }

    .mb300xm {
        margin-bottom: 300px;
    }

    .mb350xm {
        margin-bottom: 350px;
    }

    .mb400xm {
        margin-bottom: 400px;
    }

    .mb450xm {
        margin-bottom: 450px;
    }

    .mb500xm {
        margin-bottom: 500px;
    }

    /* --- Paddings --- */

    .p0xm {
        padding: 0;
    }

    .p5xm {
        padding: 5px;
    }

    .p10xm {
        padding: 10px;
    }

    .p15xm {
        padding: 15px;
    }

    .p20xm {
        padding: 20px;
    }

    .p25xm {
        padding: 25px;
    }

    .p30xm {
        padding: 30px;
    }

    .p40xm {
        padding: 40px;
    }

    .p50xm {
        padding: 50px;
    }

    .p60xm {
        padding: 60px;
    }

    .p70xm {
        padding: 70px;
    }

    .p80xm {
        padding: 80px;
    }

    .p90xm {
        padding: 90px;
    }

    .p100xm {
        padding: 100px;
    }

    .p150xm {
        padding: 150px;
    }

    .p200xm {
        padding: 200px;
    }

    .p250xm {
        padding: 250px;
    }

    .p300xm {
        padding: 300px;
    }

    .pl0xm {
        padding-left: 0;
    }

    .pl5xm {
        padding-left: 5px;
    }

    .pl10xm {
        padding-left: 10px;
    }

    .pl15xm {
        padding-left: 15px;
    }

    .pl20xm {
        padding-left: 20px;
    }

    .pl25xm {
        padding-left: 25px;
    }

    .pl30xm {
        padding-left: 30px;
    }

    .pl40xm {
        padding-left: 40px;
    }

    .pl50xm {
        padding-left: 50px;
    }

    .pl60xm {
        padding-left: 60px;
    }

    .pl70xm {
        padding-left: 70px;
    }

    .pl80xm {
        padding-left: 80px;
    }

    .pl90xm {
        padding-left: 90px;
    }

    .pl100xm {
        padding-left: 100px;
    }

    .pl200xm {
        padding-left: 200px;
    }

    .pr0xm {
        padding-right: 0;
    }

    .pr5xm {
        padding-right: 5px;
    }

    .pr10xm {
        padding-right: 10px;
    }

    .pr15xm {
        padding-right: 15px;
    }

    .pr20xm {
        padding-right: 20px;
    }

    .pr25xm {
        padding-right: 25px;
    }

    .pr30xm {
        padding-right: 30px;
    }

    .pr40xm {
        padding-right: 40px;
    }

    .pr50xm {
        padding-right: 50px;
    }

    .pr60xm {
        padding-right: 60px;
    }

    .pr70xm {
        padding-right: 70px;
    }

    .pr80xm {
        padding-right: 80px;
    }

    .pr90xm {
        padding-right: 90px;
    }

    .pr100xm {
        padding-right: 100px;
    }

    .pr200xm {
        padding-right: 200px;
    }

    .pt0xm {
        padding-top: 0;
    }

    .pt5xm {
        padding-top: 5px;
    }

    .pt10xm {
        padding-top: 10px;
    }

    .pt15xm {
        padding-top: 15px;
    }

    .pt20xm {
        padding-top: 20px;
    }

    .pt25xm {
        padding-top: 25px;
    }

    .pt30xm {
        padding-top: 30px;
    }

    .pt40xm {
        padding-top: 40px;
    }

    .pt50xm {
        padding-top: 50px;
    }

    .pt60xm {
        padding-top: 60px;
    }

    .pt70xm {
        padding-top: 70px;
    }

    .pt80xm {
        padding-top: 80px;
    }

    .pt90xm {
        padding-top: 90px;
    }

    .pt100xm {
        padding-top: 100px;
    }

    .pt200xm {
        padding-top: 200px;
    }

    .pb0xm {
        padding-bottom: 0;
    }

    .pb5xm {
        padding-bottom: 5px;
    }

    .pb10xm {
        padding-bottom: 10px;
    }

    .pb15xm {
        padding-bottom: 15px;
    }

    .pb20xm {
        padding-bottom: 20px;
    }

    .pb25xm {
        padding-bottom: 25px;
    }

    .pb30xm {
        padding-bottom: 30px;
    }

    .pb40xm {
        padding-bottom: 40px;
    }

    .pb50xm {
        padding-bottom: 50px;
    }

    .pb60xm {
        padding-bottom: 60px;
    }

    .pb70xm {
        padding-bottom: 70px;
    }

    .pb80xm {
        padding-bottom: 80px;
    }

    .pb90xm {
        padding-bottom: 90px;
    }

    .pb100xm {
        padding-bottom: 100px;
    }

    .pb200xm {
        padding-bottom: 200px;
    }

    /* --- Width --- */

    .waxm {
        width: auto;
    }

    .w50xm {
        width: 50px;
    }

    .w100xm {
        width: 100px;
    }

    .w150xm {
        width: 150px;
    }

    .w200xm {
        width: 200px;
    }

    .w250xm {
        width: 250px;
    }

    .w300xm {
        width: 300px;
    }

    .w400xm {
        width: 400px;
    }

    .w500xm {
        width: 500px;
    }

    .w600xm {
        width: 600px;
    }

    .w5pxm {
        width: 5%;
    }

    .w10pxm {
        width: 10%;
    }

    .w12pxm {
        width: 12.5%;
    }

    .w15pxm {
        width: 15%;
    }

    .w17pxm {
        width: 16.666%;
    }

    .w20pxm {
        width: 20%;
    }

    .w25pxm {
        width: 25%;
    }

    .w30pxm {
        width: 30%;
    }

    .w33pxm {
        width: 33.333%;
    }

    .w35pxm {
        width: 35%;
    }

    .w40pxm {
        width: 40%;
    }

    .w45pxm {
        width: 45%;
    }

    .w50pxm {
        width: 50%;
    }

    .w55pxm {
        width: 55%;
    }

    .w60pxm {
        width: 60%;
    }

    .w65pxm {
        width: 65%;
    }

    .w66pxm {
        width: 66.66%;
    }

    .w70pxm {
        width: 70%;
    }

    .w75pxm {
        width: 75%;
    }

    .w80pxm {
        width: 80%;
    }

    .w85pxm {
        width: 85%;
    }

    .w90pxm {
        width: 90%;
    }

    .w95pxm {
        width: 95%;
    }

    .w100pxm {
        width: 100%;
    }

    .mw-rstxm {
        min-width: unset;
    }

    .mw100xm {
        min-width: 100px;
    }

    .mw150xm {
        min-width: 150px;
    }

    .mw200xm {
        min-width: 200px;
    }

    .mw250xm {
        min-width: 250px;
    }

    .mw300xm {
        min-width: 300px;
    }

    .mw400xm {
        min-width: 400px;
    }

    .mw500xm {
        min-width: 500px;
    }

    .mw600xm {
        min-width: 600px;
    }

    .mw10pxm {
        min-width: 10%;
    }

    .mw20pxm {
        min-width: 20%;
    }

    .mw30pxm {
        min-width: 30%;
    }

    .mw40pxm {
        min-width: 40%;
    }

    .mw50pxm {
        min-width: 50%;
    }

    .mw60pxm {
        min-width: 60%;
    }

    .mw70pxm {
        min-width: 70%;
    }

    .mw80pxm {
        min-width: 80%;
    }

    .mw90pxm {
        min-width: 90%;
    }

    .mw100pxm {
        min-width: 100%;
    }

    .mxw-rstxm {
        min-width: unset;
    }

    .mxw100xm {
        max-width: 100px;
    }

    .mxw150xm {
        max-width: 150px;
    }

    .mxw200xm {
        max-width: 200px;
    }

    .mxw250xm {
        max-width: 250px;
    }

    .mxw300xm {
        max-width: 300px;
    }

    .mxw400xm {
        max-width: 400px;
    }

    .mxw500xm {
        max-width: 500px;
    }

    .mxw600xm {
        max-width: 600px;
    }

    .mxw5pxm {
        max-width: 5%;
    }

    .mxw10pxm {
        max-width: 10%;
    }

    .mxw12pxm {
        max-width: 12.5%;
    }

    .mxw15pxm {
        max-width: 15%;
    }

    .mxw17pxm {
        max-width: 16.666%;
    }

    .mxw20pxm {
        max-width: 20%;
    }

    .mxw25pxm {
        max-width: 25%;
    }

    .mxw30pxm {
        max-width: 30%;
    }

    .mxw33pxm {
        max-width: 33.333%;
    }

    .mxw35pxm {
        max-width: 35%;
    }

    .mxw40pxm {
        max-width: 40%;
    }

    .mxw45pxm {
        max-width: 45%;
    }

    .mxw50pxm {
        max-width: 50%;
    }

    .mxw55pxm {
        max-width: 55%;
    }

    .mxw60pxm {
        max-width: 60%;
    }

    .mxw65pxm {
        max-width: 65%;
    }

    .mxw66pxm {
        max-width: 66.66%;
    }

    .mxw70pxm {
        max-width: 70%;
    }

    .mxw75pxm {
        max-width: 75%;
    }

    .mxw80pxm {
        max-width: 80%;
    }

    .mxw85pxm {
        max-width: 85%;
    }

    .mxw90pxm {
        max-width: 90%;
    }

    .mxw95pxm {
        max-width: 95%;
    }

    .mxw100pxm {
        max-width: 100%;
    }

    /* --- Heights --- */

    .haxm {
        height: auto;
    }

    .h10xm {
        height: 10px;
    }

    .h20xm {
        height: 20px;
    }

    .h30xm {
        height: 30px;
    }

    .h40xm {
        height: 40px;
    }

    .h50xm {
        height: 50px;
    }

    .h60xm {
        height: 60px;
    }

    .h70xm {
        height: 70px;
    }

    .h80xm {
        height: 80px;
    }

    .h90xm {
        height: 90px;
    }

    .h100xm {
        height: 100px;
    }

    .h150xm {
        height: 150px;
    }

    .h200xm {
        height: 200px;
    }

    .h250xm {
        height: 250px;
    }

    .h300xm {
        height: 300px;
    }

    .h400xm {
        height: 400px;
    }

    .h500xm {
        height: 500px;
    }

    .h600xm {
        height: 600px;
    }

    .h700xm {
        height: 600px;
    }

    .h800xm {
        height: 600px;
    }

    .h900xm {
        height: 600px;
    }

    .h1000xm {
        height: 600px;
    }

    .h10pxm {
        height: 10%;
    }

    .h20pxm {
        height: 20%;
    }

    .h30pxm {
        height: 30%;
    }

    .h40pxm {
        height: 40%;
    }

    .h50pxm {
        height: 50%;
    }

    .h60pxm {
        height: 60%;
    }

    .h70pxm {
        height: 70%;
    }

    .h80pxm {
        height: 80%;
    }

    .h90pxm {
        height: 90%;
    }

    .h100pxm {
        height: 100%;
    }

    .mh50xm {
        min-height: 50px;
    }

    .mh100xm {
        min-height: 100px;
    }

    .mh150xm {
        min-height: 150px;
    }

    .mh200xm {
        min-height: 200px;
    }

    .mh250xm {
        min-height: 250px;
    }

    .mh300xm {
        min-height: 300px;
    }

    .mh10pxm {
        min-height: 10%;
    }

    .mh20pxm {
        min-height: 20%;
    }

    .mh30pxm {
        min-height: 30%;
    }

    .mh40pxm {
        min-height: 40%;
    }

    .mh50pxm {
        min-height: 50%;
    }

    .mh60pxm {
        min-height: 60%;
    }

    .mh70pxm {
        min-height: 70%;
    }

    .mh80pxm {
        min-height: 80%;
    }

    .mh90pxm {
        min-height: 90%;
    }

    .mh100pxm {
        min-height: 100%;
    }

    .mxhrstxm {
        max-height: none;
    }

    .mxh50xm {
        max-height: 50px;
    }

    .mxh100xm {
        max-height: 100px;
    }

    .mxh150xm {
        max-height: 150px;
    }

    .mxh200xm {
        max-height: 200px;
    }

    .mxh250xm {
        max-height: 250px;
    }

    .mxh300xm {
        max-height: 300px;
    }

    .mxh400xm {
        max-height: 400px;
    }

    .mxh500xm {
        max-height: 500px;
    }

    .mxh600xm {
        max-height: 600px;
    }

    .mxh700xm {
        max-height: 700px;
    }

    .mxh800xm {
        max-height: 800px;
    }

    .mxh900xm {
        max-height: 900px;
    }

    .mxh1000xm {
        max-height: 1000px;
    }

    /* --- Positioning, floating --- */

    .pos-rstxm {
        position: inherit;
    }

    .pos-axm {
        position: absolute;
    }

    .pos-fxm {
        position: fixed;
    }

    .pos-rxm {
        position: relative;
    }

    .pos-sxm {
        position: sticky;
    }

    .pos-t0xm {
        top: 0;
    }

    .pos-b0xm {
        bottom: 0;
    }

    .pos-l0xm {
        left: 0;
    }

    .pos-r0xm {
        right: 0;
    }

    .vamxm {
        vertical-align: middle;
    }

    .vatxm {
        vertical-align: top;
    }

    .vabxm {
        vertical-align: bottom;
    }

    .varstxm {
        vertical-align: baseline;
    }

    /* Next three definitions shall be used in conjunction with pos-r, pos-a or pos-f, which determine scope of their effect */

    .vertcenterxm {
        top: 50%;
        transform: translateY(-50%);
    }

    .horcenterxm {
        left: 50%;
        transform: translateX(-50%);
    }

    .centerpointxm {
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    .fl-lxm {
        float: left;
    }

    .fl-rxm {
        float: right;
    }

    .fl-clrxm {
        float: none;
    }

    .fl-ctrxm {
        margin-left: auto;
        margin-right: auto;
    }

    .clearxm {
        clear: both;
    }

    /* --- Grid --- */

    .grid1colxm {
        grid-template-columns: repeat(1, 1fr);
    }

    .grid2colxm {
        grid-template-columns: repeat(2, 1fr);
    }

    .grid3colxm {
        grid-template-columns: repeat(3, 1fr);
    }

    .grid4colxm {
        grid-template-columns: repeat(4, 1fr);
    }

    .grid5colxm {
        grid-template-columns: repeat(5, 1fr);
    }

    .grid6colxm {
        grid-template-columns: repeat(6, 1fr);
    }

    .grid7colxm {
        grid-template-columns: repeat(7, 1fr);
    }

    .grid8colxm {
        grid-template-columns: repeat(8, 1fr);
    }

    .grid9colxm {
        grid-template-columns: repeat(9, 1fr);
    }

    .grid10colxm {
        grid-template-columns: repeat(10, 1fr);
    }

    .grid11colxm {
        grid-template-columns: repeat(11, 1fr);
    }

    .grid12colxm {
        grid-template-columns: repeat(12, 1fr);
    }

    .gridgap10xm {
        grid-gap: 10px;
    }

    .gridgap20xm {
        grid-gap: 20px;
    }

    .gridgap30xm {
        grid-gap: 30px;
    }

    .gridgap40xm {
        grid-gap: 40px;
    }

    .gridgap50xm {
        grid-gap: 50px;
    }

    .gridgap60xm {
        grid-gap: 60px;
    }

    .gridgap70xm {
        grid-gap: 70px;
    }

    .gridgap80xm {
        grid-gap: 80px;
    }

    .gridgap90xm {
        grid-gap: 90px;
    }

    .gridgap100xm {
        grid-gap: 100px;
    }

    .gridgap150xm {
        grid-gap: 150px;
    }

    .gridgap200xm {
        grid-gap: 200px;
    }

    .gridgap250xm {
        grid-gap: 250px;
    }

    .gridgap300xm {
        grid-gap: 300px;
    }

    .gridgap1pxm {
        grid-gap: 1%;
    }

    .gridgap2pxm {
        grid-gap: 2%;
    }

    .gridgap3pxm {
        grid-gap: 3%;
    }

    .gridgap4pxm {
        grid-gap: 4%;
    }

    .gridgap5pxm {
        grid-gap: 5%;
    }

    .gridgap10pxm {
        grid-gap: 10%;
    }

    .gridcolgap1pxm {
        column-gap: 1%;
    }

    .gridcolgap2pxm {
        column-gap: 2%;
    }

    .gridcolgap3pxm {
        column-gap: 3%;
    }

    .gridcolgap4pxm {
        column-gap: 4%;
    }

    .gridcolgap5pxm {
        column-gap: 5%;
    }

    .gridcolgap10pxm {
        column-gap: 10%;
    }

    .gridrowgap1pxm {
        row-gap: 1%;
    }

    .gridrowgap2pxm {
        row-gap: 2%;
    }

    .gridrowgap3pxm {
        row-gap: 3%;
    }

    .gridrowgap4pxm {
        row-gap: 4%;
    }

    .gridrowgap5pxm {
        row-gap: 5%;
    }

    .gridrowgap10pxm {
        row-gap: 10%;
    }

    /* --- Text Modifiers --- */

    .lgtxtxm {
        font-size: 120%;
    }

    .xlgtxtxm {
        font-size: 200%;
    }

    .smtxtxm {
        font-size: 75%;
    }

    .xsmtxtxm {
        font-size: 50%;
    }

    /* --- Forced Text Alignment --- */

    .ltxtxm {
        text-align: left !important;
    }

    .rtxtxm {
        text-align: right !important;
    }

    .ctxtxm {
        text-align: center !important;
    }

    .jtxtxm {
        text-align: justify !important;
    }

    /* --- Box model --- */

    .forceboxxm {
        box-sizing: border-box !important;
    }

    .tidyxm {
        overflow: hidden;
    }

    .autoscrollxm {
        overflow: auto;
    }

    .forcescrollxm {
        overflow: scroll;
    }

    .scrollxxm {
        overflow-x: scroll;
    }

    .scrollyxm {
        overflow-y: scroll;
    }
}
