/*

The Brutalist CSS Framework

by Ivailo Borisov / thedezine.com

v3.5 / 5.11.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.

*/




/* --- Bootstrap 4 Grid Reset --- */

/*

Uncomment definitions below if you would like to get rid of default Bootstrap grid margins and paddings and reset them to zero. Uncomment selectively to target just wrappers, rows and columns. Please note, this will only work with Bootstrap 4! Please also note, you can not apply framework paddings and margins directly to Bootstrap grid elements if reset is applied and you will need to create additional sub-containers.

*/


/*
.container, .container-fluid {
	margin-left: 0px;
	margin-right: 0px;
	padding-left: 0px;
	padding-right: 0px;
}
*/

/*
.row {
	margin-left: 0px;
	margin-right: 0px;
	padding-left: 0px;
	padding-right: 0px;
}
*/

/*
.col-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xl-1,
.col-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xl-2,
.col-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xl-3,
.col-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xl-4,
.col-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xl-5,
.col-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xl-6,
.col-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xl-7,
.col-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xl-8,
.col-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xl-9,
.col-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xl-10,
.col-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xl-11,
.col-12, .col-sm-12, .col-md-12, .col-lg-12, .col-xl-12 {
	margin-left: 0px;
	margin-right: 0px;
	padding-left: 0px;
	padding-right: 0px;
}
*/

/* --- End Bootstrap 4 Grid Reset --- */


/* --- 100% Vertical Stretch --- */

/*

Uncomment following definition to force-stretch your wrapper to 100% browser height. Please note, you need to have a div with ID wrapper wrapping your content for this to work; Otherwise, replace #wrapper with your wrapping div ID.

*/

/*
html, body, #wrapper {
    height: 100%;
}
*/

/* --- End 100% Vertical Stretch --- */


/* --- Global Reset --- */

/*

Uncomment following definitions to reset everything to default values. STRONGLY RECOMMENDED!

*/

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 --- */


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

.hide {
    display: none;
}

.noshow {
    visibility: hidden;
}

.block {
    display: block;
}

.iblock {
    display: inline-block;
}

.inline {
    display: inline;
}

.grid {
    display: grid;
}

.blockrst {
    display: inherit;
}

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


/* --- Positioning --- */

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

.vertmid {
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}


/* --- 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;
}

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

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


/* --- Special Adjustment Margins and Paddings --- */

/*

Please note, for these to work _at all_, you need to apply h100p class or height: 100% to _both_ your body and html tag amd there is no guarantee they will actually work under all circumstances, so don't get too wild with them.

*/

.ml50p {
    margin-left: 50%;
}

.ml50p-10 {
    margin-left: calc(50% - 10px);
}

.ml50p-20 {
    margin-left: calc(50% - 20px);
}

.ml50p-30 {
    margin-left: calc(50% - 30px);
}

.ml50p-40 {
    margin-left: calc(50% - 40px);
}

.ml50p-50 {
    margin-left: calc(50% - 50px);
}

.ml50p-60 {
    margin-left: calc(50% - 60px);
}

.ml50p-70 {
    margin-left: calc(50% - 70px);
}

.ml50p-80 {
    margin-left: calc(50% - 80px);
}

.ml50p-90 {
    margin-left: calc(50% - 90px);
}

.ml50p-100 {
    margin-left: calc(50% - 100px);
}

.ml50p-120 {
    margin-left: calc(50% - 120px);
}

.ml50p-150 {
    margin-left: calc(50% - 150px);
}

.ml50p-180 {
    margin-left: calc(50% - 180px);
}

.ml50p-200 {
    margin-left: calc(50% - 200px);
}

.ml50p-220 {
    margin-left: calc(50% - 220px);
}

.ml50p-250 {
    margin-left: calc(50% - 250px);
}

.ml50p-280 {
    margin-left: calc(50% - 280px);
}

.ml50p-300 {
    margin-left: calc(50% - 300px);
}

.mt50p {
    margin-top: 50%;
}

.mt50p-10 {
    margin-top: calc(50% - 10px);
}

.mt50p-20 {
    margin-top: calc(50% - 20px);
}

.mt50p-30 {
    margin-top: calc(50% - 30px);
}

.mt50p-40 {
    margin-top: calc(50% - 40px);
}

.mt50p-50 {
    margin-top: calc(50% - 50px);
}

.mt50p-60 {
    margin-top: calc(50% - 60px);
}

.mt50p-70 {
    margin-top: calc(50% - 70px);
}

.mt50p-80 {
    margin-top: calc(50% - 80px);
}

.mt50p-90 {
    margin-top: calc(50% - 90px);
}

.mt50p-100 {
    margin-top: calc(50% - 100px);
}

.mt50p-120 {
    margin-top: calc(50% - 120px);
}

.mt50p-150 {
    margin-top: calc(50% - 150px);
}

.mt50p-180 {
    margin-top: calc(50% - 180px);
}

.mt50p-200 {
    margin-top: calc(50% - 200px);
}

.mt50p-220 {
    margin-top: calc(50% - 220px);
}

.mt50p-250 {
    margin-top: calc(50% - 250px);
}

.mt50p-280 {
    margin-top: calc(50% - 280px);
}

.mt50p-300 {
    margin-top: calc(50% - 300px);
}

.pl50p-10 {
    padding-left: calc(50% - 10px);
}

.pl50p-20 {
    padding-left: calc(50% - 20px);
}

.pl50p-30 {
    padding-left: calc(50% - 30px);
}

.pl50p-40 {
    padding-left: calc(50% - 40px);
}

.pl50p-50 {
    padding-left: calc(50% - 50px);
}

.pl50p-60 {
    padding-left: calc(50% - 60px);
}

.pl50p-70 {
    padding-left: calc(50% - 70px);
}

.pl50p-80 {
    padding-left: calc(50% - 80px);
}

.pl50p-90 {
    padding-left: calc(50% - 90px);
}

.pl50p-100 {
    padding-left: calc(50% - 100px);
}

.pl50p-120 {
    padding-left: calc(50% - 120px);
}

.pl50p-150 {
    padding-left: calc(50% - 150px);
}

.pl50p-180 {
    padding-left: calc(50% - 180px);
}

.pl50p-200 {
    padding-left: calc(50% - 200px);
}

.pl50p-220 {
    padding-left: calc(50% - 220px);
}

.pl50p-250 {
    padding-left: calc(50% - 250px);
}

.pl50p-280 {
    padding-left: calc(50% - 280px);
}

.pl50p-300 {
    padding-left: calc(50% - 300px);
}

.pt50p-10 {
    padding-top: calc(50% - 10px);
}

.pt50p-20 {
    padding-top: calc(50% - 20px);
}

.pt50p-30 {
    padding-top: calc(50% - 30px);
}

.pt50p-40 {
    padding-top: calc(50% - 40px);
}

.pt50p-50 {
    padding-top: calc(50% - 50px);
}

.pt50p-60 {
    padding-top: calc(50% - 60px);
}

.pt50p-70 {
    padding-top: calc(50% - 70px);
}

.pt50p-80 {
    padding-top: calc(50% - 80px);
}

.pt50p-90 {
    padding-top: calc(50% - 90px);
}

.pt50p-100 {
    padding-top: calc(50% - 100px);
}

.pt50p-120 {
    padding-top: calc(50% - 120px);
}

.pt50p-150 {
    padding-top: calc(50% - 150px);
}

.pt50p-180 {
    padding-top: calc(50% - 180px);
}

.pt50p-200 {
    padding-top: calc(50% - 200px);
}

.pt50p-220 {
    padding-top: calc(50% - 220px);
}

.pt50p-250 {
    padding-top: calc(50% - 250px);
}

.pt50p-280 {
    padding-top: calc(50% - 280px);
}

.pt50p-300 {
    padding-top: calc(50% - 300px);
}


/* --- 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;
}


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

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

.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;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
}

.br10 {
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
}

.br50 {
    border-radius: 50px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
}

.br100 {
    border-radius: 100px;
    -webkit-border-radius: 100px;
    -moz-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,.05);
}

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

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

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

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

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

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

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

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

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

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

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


/* --- Floats --- */

.clear {
    clear: both;
}

.fl-l {
    float: left;
}

.fl-r {
    float: right;
}

.fl-clr {
    float: none;
}

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


/* --- 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 {
    -ms-transform: rotate(2deg);
    -webkit-transform: rotate(2deg);
    transform: rotate(2deg);
}

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

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

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

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

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

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

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

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

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

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

.rot-90 {
    -ms-transform: rotate(-90deg);
    -webkit-transform: rotate(-90deg);
    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 .1s ease;
}

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

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

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

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

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

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


/* --- FX --- */

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

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

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

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


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

@media screen and (max-width: 1440px) {

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

    .hidel {
        display: none;
    }

    .noshowl {
        visibility: hidden;
    }

    .blockl {
        display: block;
    }

    .iblockl {
        display: inline-block;
    }
    
    .inlinel {
        display: inline;
    }
    
    .gridl {
        display: grid;
    }

    .blockrstl {
        display: inherit;
    }

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


/* --- Margins --- */

    .mal {
        margin: auto;
    }

    .m0l {
        margin: 0;
    }

    .m5l {
        margin: 5px;
    }
    
    .m10l {
        margin: 10px;
    }
    
    .m15l {
        margin: 15px;
    }

    .m20l {
        margin: 20px;
    }
    
    .m25l {
        margin: 25px;
    }

    .m30l {
        margin: 30px;
    }

    .m40l {
        margin: 40px;
    }

    .m50l {
        margin: 50px;
    }

    .m60l {
        margin: 60px;
    }

    .m70l {
        margin: 70px;
    }

    .m80l {
        margin: 80px;
    }

    .m90l {
        margin: 90px;
    }

    .m100l {
        margin: 100px;
    }

    .m150l {
        margin: 150px;
    }

    .m200l {
        margin: 200px;
    }

    .m250l {
        margin: 250px;
    }

    .m300l {
        margin: 300px;
    }
    
    .m350l {
        margin: 350px;
    }
    
    .m400l {
        margin: 400px;
    }
    
    .m450l {
        margin: 450px;
    }
    
    .m500l {
        margin: 500px;
    }

    .ml0l {
        margin-left: 0;
    }

    .ml5l {
        margin-left: 5px;
    }
    
    .ml10l {
        margin-left: 10px;
    }
    
    .ml15l {
        margin-left: 15px;
    }

    .ml20l {
        margin-left: 20px;
    }
    
    .ml25l {
        margin-left: 25px;
    }

    .ml30l {
        margin-left: 30px;
    }

    .ml40l {
        margin-left: 40px;
    }

    .ml50l {
        margin-left: 50px;
    }

    .ml60l {
        margin-left: 60px;
    }

    .ml70l {
        margin-left: 70px;
    }

    .ml80l {
        margin-left: 80px;
    }

    .ml90l {
        margin-left: 90px;
    }

    .ml100l {
        margin-left: 100px;
    }

    .ml150l {
        margin-left: 150px;
    }

    .ml200l {
        margin-left: 200px;
    }

    .ml250l {
        margin-left: 250px;
    }

    .ml300l {
        margin-left: 300px;
    }
    
    .ml350l {
        margin-left: 350px;
    }
    
    .ml400l {
        margin-left: 400px;
    }
    
    .ml450l {
        margin-left: 450px;
    }
    
    .ml500l {
        margin-left: 500px;
    }

    .ml10pl {
        margin-left: 10%;
    }

    .ml20pl {
        margin-left: 20%;
    }

    .ml30pl {
        margin-left: 30%;
    }

    .ml40pl {
        margin-left: 40%;
    }

    .ml50pl {
        margin-left: 50%;
    }

    .mr0l {
        margin-right: 0;
    }

    .mr5l {
        margin-right: 5px;
    }
    
    .mr10l {
        margin-right: 10px;
    }
    
    .mr15l {
        margin-right: 15px;
    }

    .mr20l {
        margin-right: 20px;
    }
    
    .mr25l {
        margin-right: 25px;
    }

    .mr30l {
        margin-right: 30px;
    }

    .mr40l {
        margin-right: 40px;
    }

    .mr50l {
        margin-right: 50px;
    }

    .mr60l {
        margin-right: 60px;
    }

    .mr70l {
        margin-right: 70px;
    }

    .mr80l {
        margin-right: 80px;
    }

    .mr90l {
        margin-right: 90px;
    }

    .mr100l {
        margin-right: 100px;
    }

    .mr150l {
        margin-right: 150px;
    }

    .mr200l {
        margin-right: 200px;
    }

    .mr250l {
        margin-right: 250px;
    }

    .mr300l {
        margin-right: 300px;
    }
    
    .mr350l {
        margin-right: 350px;
    }
    
    .mr400l {
        margin-right: 400px;
    }
    
    .mr450l {
        margin-right: 450px;
    }
    
    .mr500l {
        margin-right: 500px;
    }

    .mr10pl {
        margin-right: 10%;
    }

    .mr20pl {
        margin-right: 20%;
    }

    .mr30pl {
        margin-right: 30%;
    }

    .mr40pl {
        margin-right: 40%;
    }

    .mr50pl {
        margin-right: 50%;
    }

    .mt0l {
        margin-top: 0;
    }

    .mt5l {
        margin-top: 5px;
    }
    
    .mt10l {
        margin-top: 10px;
    }
    
    .mt15l {
        margin-top: 15px;
    }

    .mt20l {
        margin-top: 20px;
    }
    
    .mt25l {
        margin-top: 25px;
    }

    .mt30l {
        margin-top: 30px;
    }

    .mt40l {
        margin-top: 40px;
    }

    .mt50l {
        margin-top: 50px;
    }

    .mt60l {
        margin-top: 60px;
    }

    .mt70l {
        margin-top: 70px;
    }

    .mt80l {
        margin-top: 80px;
    }

    .mt90l {
        margin-top: 90px;
    }

    .mt100l {
        margin-top: 100px;
    }
    
    .mt120l {
        margin-top: 120px;
    }

    .mt150l {
        margin-top: 150px;
    }
    
    .mt180l {
        margin-top: 180px;
    }

    .mt200l {
        margin-top: 200px;
    }
    
    .mt220l {
        margin-top: 220px;
    }

    .mt250l {
        margin-top: 250px;
    }
    
    .mt280l {
        margin-top: 280px;
    }

    .mt300l {
        margin-top: 300px;
    }
    
    .mt350l {
        margin-top: 350px;
    }
    
    .mt400l {
        margin-top: 400px;
    }
    
    .mt450l {
        margin-top: 450px;
    }
    
    .mt500l {
        margin-top: 500px;
    }

    .mb0l {
        margin-bottom: 0;
    }

    .mb5l {
        margin-bottom: 5px;
    }
    
    .mb10l {
        margin-bottom: 10px;
    }
    
    .mb15l {
        margin-bottom: 15px;
    }

    .mb20l {
        margin-bottom: 20px;
    }
    
    .mb25l {
        margin-bottom: 25px;
    }

    .mb30l {
        margin-bottom: 30px;
    }

    .mb40l {
        margin-bottom: 40px;
    }

    .mb50l {
        margin-bottom: 50px;
    }

    .mb60l {
        margin-bottom: 60px;
    }

    .mb70l {
        margin-bottom: 70px;
    }

    .mb80l {
        margin-bottom: 80px;
    }

    .mb90l {
        margin-bottom: 90px;
    }

    .mb100l {
        margin-bottom: 100px;
    }
    
    .mb120l {
        margin-bottom: 120px;
    }

    .mb150l {
        margin-bottom: 150px;
    }
    
    .mb180l {
        margin-bottom: 180px;
    }

    .mb200l {
        margin-bottom: 200px;
    }
    
    .mb220l {
        margin-bottom: 220px;
    }

    .mb250l {
        margin-bottom: 250px;
    }
    
    .mb280l {
        margin-bottom: 280px;
    }

    .mb300l {
        margin-bottom: 300px;
    }
    
    .mb350l {
        margin-bottom: 350px;
    }
    
    .mb400l {
        margin-bottom: 400px;
    }
    
    .mb450l {
        margin-bottom: 450px;
    }
    
    .mb500l {
        margin-bottom: 500px;
    }


/* --- Paddings --- */

    .p0l {
        padding: 0;
    }

    .p5l {
        padding: 5px;
    }
    
    .p10l {
        padding: 10px;
    }
    
    .p15l {
        padding: 15px;
    }    

    .p20l {
        padding: 20px;
    }
    
    .p25l {
        padding: 25px;
    }

    .p30l {
        padding: 30px;
    }

    .p40l {
        padding: 40px;
    }

    .p50l {
        padding: 50px;
    }

    .p60l {
        padding: 60px;
    }

    .p70l {
        padding: 70px;
    }

    .p80l {
        padding: 80px;
    }

    .p90l {
        padding: 90px;
    }

    .p100l {
        padding: 100px;
    }

    .p150l {
        padding: 150px;
    }

    .p200l {
        padding: 200px;
    }

    .p250l {
        padding: 250px;
    }

    .p300l {
        padding: 300px;
    }

    .pl0l {
        padding-left: 0;
    }

    .pl5l {
        padding-left: 5px;
    }
    
    .pl10l {
        padding-left: 10px;
    }
    
    .pl15l {
        padding-left: 15px;
    }

    .pl20l {
        padding-left: 20px;
    }
    
    .pl25l {
        padding-left: 25px;
    }

    .pl30l {
        padding-left: 30px;
    }

    .pl40l {
        padding-left: 40px;
    }

    .pl50l {
        padding-left: 50px;
    }

    .pl60l {
        padding-left: 60px;
    }

    .pl70l {
        padding-left: 70px;
    }

    .pl80l {
        padding-left: 80px;
    }

    .pl90l {
        padding-left: 90px;
    }

    .pl100l {
        padding-left: 100px;
    }
    
    .pl200l {
        padding-left: 200px;
    }

    .pr0l {
        padding-right: 0;
    }

    .pr5l {
        padding-right: 5px;
    }
    
    .pr10l {
        padding-right: 10px;
    }
    
    .pr15l {
        padding-right: 15px;
    }

    .pr20l {
        padding-right: 20px;
    }
    
    .pr25l {
        padding-right: 25px;
    }

    .pr30l {
        padding-right: 30px;
    }

    .pr40l {
        padding-right: 40px;
    }

    .pr50l {
        padding-right: 50px;
    }

    .pr60l {
        padding-right: 60px;
    }

    .pr70l {
        padding-right: 70px;
    }

    .pr80l {
        padding-right: 80px;
    }

    .pr90l {
        padding-right: 90px;
    }

    .pr100l {
        padding-right: 100px;
    }
    
    .pr200l {
        padding-right: 200px;
    }

    .pt0l {
        padding-top: 0;
    }

    .pt5l {
        padding-top: 5px;
    }
    
    .pt10l {
        padding-top: 10px;
    }
    
    .pt15l {
        padding-top: 15px;
    }

    .pt20l {
        padding-top: 20px;
    }
    
    .pt25l {
        padding-top: 25px;
    }

    .pt30l {
        padding-top: 30px;
    }

    .pt40l {
        padding-top: 40px;
    }

    .pt50l {
        padding-top: 50px;
    }

    .pt60l {
        padding-top: 60px;
    }

    .pt70l {
        padding-top: 70px;
    }

    .pt80l {
        padding-top: 80px;
    }

    .pt90l {
        padding-top: 90px;
    }

    .pt100l {
        padding-top: 100px;
    }
    
    .pt200l {
        padding-top: 200px;
    }

    .pb0l {
        padding-bottom: 0;
    }

    .pb5l {
        padding-bottom: 5px;
    }
    
    .pb10l {
        padding-bottom: 10px;
    }
    
    .pb15l {
        padding-bottom: 15px;
    }

    .pb20l {
        padding-bottom: 20px;
    }
    
    .pb25l {
        padding-bottom: 25px;
    }

    .pb30l {
        padding-bottom: 30px;
    }

    .pb40l {
        padding-bottom: 40px;
    }

    .pb50l {
        padding-bottom: 50px;
    }

    .pb60l {
        padding-bottom: 60px;
    }

    .pb70l {
        padding-bottom: 70px;
    }

    .pb80l {
        padding-bottom: 80px;
    }

    .pb90l {
        padding-bottom: 90px;
    }

    .pb100l {
        padding-bottom: 100px;
    }

    .pb200l {
        padding-bottom: 200px;
    }


/* --- Special Adjustment Margins and Paddings --- */

/*

Please note, for these to work _at all_, you need to apply h100p class or height: 100% to _both_ your body and html tag amd there is no guarantee they will actually work under all circumstances, so don't get too wild with them.

*/
    
    .ml50pl {
        margin-left: 50%;
    }

    .ml50p-10l {
        margin-left: calc(50% - 10px);
    }

    .ml50p-20l {
        margin-left: calc(50% - 20px);
    }

    .ml50p-30l {
        margin-left: calc(50% - 30px);
    }

    .ml50p-40l {
        margin-left: calc(50% - 40px);
    }

    .ml50p-50l {
        margin-left: calc(50% - 50px);
    }

    .ml50p-60l {
        margin-left: calc(50% - 60px);
    }

    .ml50p-70l {
        margin-left: calc(50% - 70px);
    }

    .ml50p-80l {
        margin-left: calc(50% - 80px);
    }

    .ml50p-90l {
        margin-left: calc(50% - 90px);
    }

    .ml50p-100l {
        margin-left: calc(50% - 100px);
    }

    .ml50p-120l {
        margin-left: calc(50% - 120px);
    }

    .ml50p-150l {
        margin-left: calc(50% - 150px);
    }

    .ml50p-180l {
        margin-left: calc(50% - 180px);
    }

    .ml50p-200l {
        margin-left: calc(50% - 200px);
    }

    .ml50p-220l {
        margin-left: calc(50% - 220px);
    }

    .ml50p-250l {
        margin-left: calc(50% - 250px);
    }

    .ml50p-280l {
        margin-left: calc(50% - 280px);
    }

    .ml50p-300l {
        margin-left: calc(50% - 300px);
    }
    
    .mt50pl {
        margin-top: 50%;
    }

    .mt50p-10l {
        margin-top: calc(50% - 10px);
    }

    .mt50p-20l {
        margin-top: calc(50% - 20px);
    }

    .mt50p-30l {
        margin-top: calc(50% - 30px);
    }

    .mt50p-40l {
        margin-top: calc(50% - 40px);
    }

    .mt50p-50l {
        margin-top: calc(50% - 50px);
    }

    .mt50p-60l {
        margin-top: calc(50% - 60px);
    }

    .mt50p-70l {
        margin-top: calc(50% - 70px);
    }

    .mt50p-80l {
        margin-top: calc(50% - 80px);
    }

    .mt50p-90l {
        margin-top: calc(50% - 90px);
    }

    .mt50p-100l {
        margin-top: calc(50% - 100px);
    }

    .mt50p-120l {
        margin-top: calc(50% - 120px);
    }

    .mt50p-150l {
        margin-top: calc(50% - 150px);
    }

    .mt50p-180l {
        margin-top: calc(50% - 180px);
    }

    .mt50p-200l {
        margin-top: calc(50% - 200px);
    }

    .mt50p-220l {
        margin-top: calc(50% - 220px);
    }

    .mt50p-250l {
        margin-top: calc(50% - 250px);
    }

    .mt50p-280l {
        margin-top: calc(50% - 280px);
    }

    .mt50p-300l {
        margin-top: calc(50% - 300px);
    }

    .pl50p-10l {
        padding-left: calc(50% - 10px);
    }

    .pl50p-20l {
        padding-left: calc(50% - 20px);
    }

    .pl50p-30l {
        padding-left: calc(50% - 30px);
    }

    .pl50p-40l {
        padding-left: calc(50% - 40px);
    }

    .pl50p-50l {
        padding-left: calc(50% - 50px);
    }

    .pl50p-60l {
        padding-left: calc(50% - 60px);
    }

    .pl50p-70l {
        padding-left: calc(50% - 70px);
    }

    .pl50p-80l {
        padding-left: calc(50% - 80px);
    }

    .pl50p-90l {
        padding-left: calc(50% - 90px);
    }

    .pl50p-100l {
        padding-left: calc(50% - 100px);
    }

    .pl50p-120l {
        padding-left: calc(50% - 120px);
    }

    .pl50p-150l {
        padding-left: calc(50% - 150px);
    }

    .pl50p-180l {
        padding-left: calc(50% - 180px);
    }

    .pl50p-200l {
        padding-left: calc(50% - 200px);
    }

    .pl50p-220l {
        padding-left: calc(50% - 220px);
    }

    .pl50p-250l {
        padding-left: calc(50% - 250px);
    }

    .pl50p-280l {
        padding-left: calc(50% - 280px);
    }

    .pl50p-300l {
        padding-left: calc(50% - 300px);
    }

    .pt50p-10l {
        padding-top: calc(50% - 10px);
    }

    .pt50p-20l {
        padding-top: calc(50% - 20px);
    }

    .pt50p-30l {
        padding-top: calc(50% - 30px);
    }

    .pt50p-40l {
        padding-top: calc(50% - 40px);
    }

    .pt50p-50l {
        padding-top: calc(50% - 50px);
    }

    .pt50p-60l {
        padding-top: calc(50% - 60px);
    }

    .pt50p-70l {
        padding-top: calc(50% - 70px);
    }

    .pt50p-80l {
        padding-top: calc(50% - 80px);
    }

    .pt50p-90l {
        padding-top: calc(50% - 90px);
    }

    .pt50p-100l {
        padding-top: calc(50% - 100px);
    }

    .pt50p-120l {
        padding-top: calc(50% - 120px);
    }

    .pt50p-150l {
        padding-top: calc(50% - 150px);
    }

    .pt50p-180l {
        padding-top: calc(50% - 180px);
    }

    .pt50p-200l {
        padding-top: calc(50% - 200px);
    }

    .pt50p-220l {
        padding-top: calc(50% - 220px);
    }

    .pt50p-250l {
        padding-top: calc(50% - 250px);
    }

    .pt50p-280l {
        padding-top: calc(50% - 280px);
    }

    .pt50p-300l {
        padding-top: calc(50% - 300px);
    }


/* --- Width --- */
    
    .wal {
        width: auto;
    }

    .w50l {
        width: 50px;
    }
    
    .w100l {
        width: 100px;
    }
    
    .w150l {
        width: 150px;
    }

    .w200l {
        width: 200px;
    }
    
    .w250l {
        width: 250px;
    }

    .w300l {
        width: 300px;
    }

    .w400l {
        width: 400px;
    }

    .w500l {
        width: 500px;
    }
    
    .w600l {
        width: 600px;
    }
    
    .w700l {
        width: 700px;
    }
    
    .w800l {
        width: 800px;
    }
    
    .w900l {
        width: 900px;
    }
    
    .w960l {
        width: 960px;
    }

    .w5pl {
        width: 5%;
    }
    
    .w10pl {
        width: 10%;
    }
    
    .w12pl {
        width: 12.5%;
    }
    
    .w15pl {
        width: 15%;
    }
    
    .w17pl {
        width: 16.666%;
    }

    .w20pl {
        width: 20%;
    }

    .w25pl {
        width: 25%;
    }

    .w30pl {
        width: 30%;
    }

    .w33pl {
        width: 33.333%;
    }
    
    .w35pl {
        width: 35%;
    }

    .w40pl {
        width: 40%;
    }
    
    .w45pl {
        width: 45%;
    }

    .w50pl {
        width: 50%;
    }
    
    .w55pl {
        width: 55%;
    }

    .w60pl {
        width: 60%;
    }
    
    .w65pl {
        width: 65%;
    }

    .w66pl {
        width: 66.66%;
    }

    .w70pl {
        width: 70%;
    }

    .w75pl {
        width: 75%;
    }

    .w80pl {
        width: 80%;
    }
    
    .w85pl {
        width: 85%;
    }

    .w90pl {
        width: 90%;
    }
    
    .w95pl {
        width: 95%;
    }

    .w100pl {
        width: 100%;
    }

    .mw-rstl {
        min-width: unset;
    }
    
    .mw100l {
        min-width: 100px;
    }
    
    .mw150l {
        min-width: 150px;
    }

    .mw200l {
        min-width: 200px;
    }
    
    .mw250l {
        min-width: 250px;
    }

    .mw300l {
        min-width: 300px;
    }

    .mw400l {
        min-width: 400px;
    }

    .mw500l {
        min-width: 500px;
    }
    
    .mw600l {
        min-width: 600px;
    }
    
    .mw700l {
        min-width: 700px;
    }
    
    .mw800l {
        min-width: 800px;
    }
    
    .mw900l {
        min-width: 900px;
    }
    
    .mw960l {
        min-width: 960px;
    }

    .mw10pl {
        min-width: 10%;
    }

    .mw20pl {
        min-width: 20%;
    }

    .mw30pl {
        min-width: 30%;
    }

    .mw40pl {
        min-width: 40%;
    }

    .mw50pl {
        min-width: 50%;
    }

    .mw60pl {
        min-width: 60%;
    }

    .mw70pl {
        min-width: 70%;
    }

    .mw80pl {
        min-width: 80%;
    }

    .mw90pl {
        min-width: 90%;
    }

    .mw100pl {
        min-width: 100%;
    }

    .mxw-rstm {
        max-width: unset;
    }
    
    .mxw100l {
        max-width: 100px;
    }
    
    .mxw150l {
        max-width: 150px;
    }

    .mxw200l {
        max-width: 200px;
    }
    
    .mxw250l {
        max-width: 250px;
    }

    .mxw300l {
        max-width: 300px;
    }

    .mxw400l {
        max-width: 400px;
    }

    .mxw500l {
        max-width: 500px;
    }
    
    .mxw600l {
        max-width: 600px;
    }
    
    .mxw700l {
        max-width: 700px;
    }
    
    .mxw800l {
        max-width: 800px;
    }
    
    .mxw900l {
        max-width: 900px;
    }
    
    .mxw960l {
        max-width: 960px;
    }

    .mxw5pl {
        max-width: 5%;
    }
    
    .mxw10pl {
        max-width: 10%;
    }
    
    .mxw12pl {
        max-width: 12.5%;
    }
    
    .mxw15pl {
        max-width: 15%;
    }
    
    .mxw17pl {
        max-width: 16.666%;
    }

    .mxw20pl {
        max-width: 20%;
    }

    .mxw25pl {
        max-width: 25%;
    }

    .mxw30pl {
        max-width: 30%;
    }

    .mxw33pl {
        max-width: 33.333%;
    }
    
    .mxw35pl {
        max-width: 35%;
    }

    .mxw40pl {
        max-width: 40%;
    }
    
    .mxw45pl {
        max-width: 45%;
    }

    .mxw50pl {
        max-width: 50%;
    }
    
    .mxw55pl {
        max-width: 55%;
    }

    .mxw60pl {
        max-width: 60%;
    }
    
    .mxw65pl {
        max-width: 65%;
    }

    .mxw66pl {
        max-width: 66.66%;
    }

    .mxw70pl {
        max-width: 70%;
    }

    .mxw75pl {
        max-width: 75%;
    }

    .mxw80pl {
        max-width: 80%;
    }
    
    .mxw85pl {
        max-width: 85%;
    }

    .mxw90pl {
        max-width: 90%;
    }
    
    .mxw95pl {
        max-width: 95%;
    }

    .mxw100pl {
        max-width: 100%;
    }


/* --- Heights --- */

    .hal {
        height: auto;
    }

    .h10l {
        height: 10px;
    }

    .h20l {
        height: 20px;
    }

    .h30l {
        height: 30px;
    }

    .h40l {
        height: 40px;
    }

    .h50l {
        height: 50px;
    }

    .h60l {
        height: 60px;
    }

    .h70l {
        height: 70px;
    }

    .h80l {
        height: 80px;
    }

    .h90l {
        height: 90px;
    }

    .h100l {
        height: 100px;
    }

    .h150l {
        height: 150px;
    }

    .h200l {
        height: 200px;
    }

    .h250l {
        height: 250px;
    }

    .h300l {
        height: 300px;
    }

    .h400l {
        height: 400px;
    }

    .h500l {
        height: 500px;
    }

    .h600l {
        height: 600px;
    }
    
    .h700l {
        height: 600px;
    }
    
    .h800l {
        height: 600px;
    }
    
    .h900l {
        height: 600px;
    }
    
    .h1000l {
        height: 600px;
    }

    .h10pl {
        height: 10%;
    }

    .h20pl {
        height: 20%;
    }

    .h30pl {
        height: 30%;
    }

    .h40pl {
        height: 40%;
    }

    .h50pl {
        height: 50%;
    }

    .h60pl {
        height: 60%;
    }

    .h70pl {
        height: 70%;
    }

    .h80pl {
        height: 80%;
    }

    .h90pl {
        height: 90%;
    }

    .h100pl {
        height: 100%;
    }

    .mh50l {
        min-height: 50px;
    }

    .mh100l {
        min-height: 100px;
    }

    .mh150l {
        min-height: 150px;
    }

    .mh200l {
        min-height: 200px;
    }

    .mh250l {
        min-height: 250px;
    }

    .mh300l {
        min-height: 300px;
    }

    .mh10pl {
        min-height: 10%;
    }

    .mh20pl {
        min-height: 20%;
    }

    .mh30pl {
        min-height: 30%;
    }

    .mh40pl {
        min-height: 40%;
    }

    .mh50pl {
        min-height: 50%;
    }

    .mh60pl {
        min-height: 60%;
    }

    .mh70pl {
        min-height: 70%;
    }

    .mh80pl {
        min-height: 80%;
    }

    .mh90pl {
        min-height: 90%;
    }

    .mh100pl {
        min-height: 100%;
    }
    
    .mxhrstl {
        max-height: none;
    }
    
    .mxh50l {
        max-height: 50px;
    }

    .mxh100l {
        max-height: 100px;
    }

    .mxh150l {
        max-height: 150px;
    }

    .mxh200l {
        max-height: 200px;
    }

    .mxh250l {
        max-height: 250px;
    }

    .mxh300l {
        max-height: 300px;
    }

    .mxh400l {
        max-height: 400px;
    }

    .mxh500l {
        max-height: 500px;
    }

    .mxh600l {
        max-height: 600px;
    }

    .mxh700l {
        max-height: 700px;
    }

    .mxh800l {
        max-height: 800px;
    }

    .mxh900l {
        max-height: 900px;
    }

    .mxh1000l {
        max-height: 1000px;
    }


/* --- Positioning --- */

    .pos-rstl {
        position: inherit;
    }
    
    .pos-al {
        position: absolute;
    }

    .pos-fl {
        position: fixed;
    }

    .pos-rl {
        position: relative;
    }
    
    .pos-sl {
        position: sticky;
    }


/* --- Floats --- */

    .clearl {
        clear: both;
    }

    .fl-ll {
        float: left;
    }

    .fl-rl {
        float: right;
    }

    .fl-clrl {
        float: none;
    }
    
    .fl-ctrl {
        margin-left: auto;
        margin-right: auto;
    }

    
/* --- Grid --- */

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

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

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

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

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

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

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

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

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

    .gridgap10l {
        grid-gap: 10px;
    }

    .gridgap20l {
        grid-gap: 20px;
    }

    .gridgap30l {
        grid-gap: 30px;
    }

    .gridgap40l {
        grid-gap: 40px;
    }

    .gridgap50l {
        grid-gap: 50px;
    }

    .gridgap60l {
        grid-gap: 60px;
    }

    .gridgap70l {
        grid-gap: 70px;
    }

    .gridgap80l {
        grid-gap: 80px;
    }

    .gridgap90l {
        grid-gap: 90px;
    }

    .gridgap100l {
        grid-gap: 100px;
    }

    .gridgap150l {
        grid-gap: 150px;
    }

    .gridgap200l {
        grid-gap: 200px;
    }

    .gridgap250l {
        grid-gap: 250px;
    }

    .gridgap300l {
        grid-gap: 300px;
    }

    .gridgap1pl {
        grid-gap: 1%;
    }

    .gridgap2pl {
        grid-gap: 2%;
    }

    .gridgap3pl {
        grid-gap: 3%;
    }
    
    .gridgap4pl {
        grid-gap: 4%;
    }

    .gridgap5pl {
        grid-gap: 5%;
    }

    .gridgap10pl {
        grid-gap: 10%;
    }

    .gridcolgap1pl {
        column-gap: 1%;
    }

    .gridcolgap2pl {
        column-gap: 2%;
    }

    .gridcolgap3pl {
        column-gap: 3%;
    }
    
    .gridcolgap4pl {
        column-gap: 4%;
    }

    .gridcolgap5pl {
        column-gap: 5%;
    }

    .gridcolgap10pl {
        column-gap: 10%;
    }

    .gridrowgap1pl {
        row-gap: 1%;
    }

    .gridrowgap2pl {
        row-gap: 2%;
    }

    .gridrowgap3pl {
        row-gap: 3%;
    }
    
    .gridrowgap4pl {
        row-gap: 4%;
    }

    .gridrowgap5pl {
        row-gap: 5%;
    }

    .gridrowgap10pl {
        row-gap: 10%;
    }    
    

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

    .lgtxtl {
        font-size: 120%;
    }

    .xlgtxtl {
        font-size: 200%;
    }

    .smtxtl {
        font-size: 75%;
    }

    .xsmtxtl {
        font-size: 50%;
    }
    
    
/* --- Forced Text Alignment --- */
    
    .ltxtl {
        text-align: left !important;
    }
    
    .rtxtl {
        text-align: right !important;
    }
    
    .ctxtl {
        text-align: center !important;
    }
    
    .jtxtl {
        text-align: justify !important;
    }

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

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

    .tidyl {
        overflow: hidden;
    }
    
    .autoscrolll {
        overflow: auto;
    }
    
    .forcescrolll {
        overflow: scroll;
    }

    .scrollxl {
        overflow-x: scroll;
    }

    .scrollyl {
        overflow-y: scroll;
    }

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

@media screen and (max-width: 1200px) {

/* These are mostly regular definitions with an "m" suffix added */
    
/* --- (In)visibility, blockiness, fluidity --- */

    .hidem {
        display: none;
    }

    .noshowm {
        visibility: hidden;
    }

    .blockm {
        display: block;
    }

    .iblockm {
        display: inline-block;
    }
    
    .inlinem {
        display: inline;
    }
    
    .gridm {
        display: grid;
    }

    .blockrstm {
        display: inherit;
    }

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

/* --- Margins --- */
    
    .mam {
        margin: auto;
    }

    .m0m {
        margin: 0;
    }

    .m5m {
        margin: 5px;
    }
    
    .m10m {
        margin: 10px;
    }
    
    .m15m {
        margin: 15px;
    }

    .m20m {
        margin: 20px;
    }
    
    .m25m {
        margin: 25px;
    }

    .m30m {
        margin: 30px;
    }

    .m40m {
        margin: 40px;
    }

    .m50m {
        margin: 50px;
    }

    .m60m {
        margin: 60px;
    }

    .m70m {
        margin: 70px;
    }

    .m80m {
        margin: 80px;
    }

    .m90m {
        margin: 90px;
    }

    .m100m {
        margin: 100px;
    }

    .m150m {
        margin: 150px;
    }

    .m200m {
        margin: 200px;
    }

    .m250m {
        margin: 250px;
    }

    .m300m {
        margin: 300px;
    }
    
    .m350m {
        margin: 350px;
    }
    
    .m400m {
        margin: 400px;
    }
    
    .m450m {
        margin: 450px;
    }
    
    .m500m {
        margin: 500px;
    }
    
    .ml0m {
        margin-left: 0;
    }
    
    .ml5m {
        margin-left: 5px;
    }

    .ml10m {
        margin-left: 10px;
    }
    
    .ml15m {
        margin-left: 15px;
    }

    .ml20m {
        margin-left: 20px;
    }
    
    .ml25m {
        margin-left: 25px;
    }

    .ml30m {
        margin-left: 30px;
    }

    .ml40m {
        margin-left: 40px;
    }

    .ml50m {
        margin-left: 50px;
    }

    .ml60m {
        margin-left: 60px;
    }

    .ml70m {
        margin-left: 70px;
    }

    .ml80m {
        margin-left: 80px;
    }

    .ml90m {
        margin-left: 90px;
    }

    .ml100m {
        margin-left: 100px;
    }

    .ml150m {
        margin-left: 150px;
    }

    .ml200m {
        margin-left: 200px;
    }

    .ml250m {
        margin-left: 250px;
    }

    .ml300m {
        margin-left: 300px;
    }
    
    .ml350m {
        margin-left: 350px;
    }
    
    .ml400m {
        margin-left: 400px;
    }
    
    .ml450m {
        margin-left: 450px;
    }
    
    .ml500m {
        margin-left: 500px;
    }

    .ml10pm {
        margin-left: 10%;
    }

    .ml20pm {
        margin-left: 20%;
    }

    .ml30pm {
        margin-left: 30%;
    }

    .ml40pm {
        margin-left: 40%;
    }

    .ml50pm {
        margin-left: 50%;
    }

    .mr0m {
        margin-right: 0;
    }
    
    .mr5m {
        margin-right: 5px;
    }

    .mr10m {
        margin-right: 10px;
    }
    
    .mr15m {
        margin-right: 15px;
    }

    .mr20m {
        margin-right: 20px;
    }
    
    .mr25m {
        margin-right: 25px;
    }

    .mr30m {
        margin-right: 30px;
    }

    .mr40m {
        margin-right: 40px;
    }

    .mr50m {
        margin-right: 50px;
    }

    .mr60m {
        margin-right: 60px;
    }

    .mr70m {
        margin-right: 70px;
    }

    .mr80m {
        margin-right: 80px;
    }

    .mr90m {
        margin-right: 90px;
    }

    .mr100m {
        margin-right: 100px;
    }

    .mr150m {
        margin-right: 150px;
    }

    .mr200m {
        margin-right: 200px;
    }

    .mr250m {
        margin-right: 250px;
    }

    .mr300m {
        margin-right: 300px;
    }
    
    .mr350m {
        margin-right: 350px;
    }
    
    .mr400m {
        margin-right: 400px;
    }
    
    .mr450m {
        margin-right: 450px;
    }
    
    .mr500m {
        margin-right: 500px;
    }

    .mr10pm {
        margin-right: 10%;
    }

    .mr20pm {
        margin-right: 20%;
    }

    .mr30pm {
        margin-right: 30%;
    }

    .mr40pm {
        margin-right: 40%;
    }

    .mr50pm {
        margin-right: 50%;
    }

    .mt0m {
        margin-top: 0;
    }

    .mt5m {
        margin-top: 5px;
    }
    
    .mt10m {
        margin-top: 10px;
    }
    
    .mt15m {
        margin-top: 15px;
    }

    .mt20m {
        margin-top: 20px;
    }
    
    .mt25m {
        margin-top: 25px;
    }

    .mt30m {
        margin-top: 30px;
    }

    .mt40m {
        margin-top: 40px;
    }

    .mt50m {
        margin-top: 50px;
    }

    .mt60m {
        margin-top: 60px;
    }

    .mt70m {
        margin-top: 70px;
    }

    .mt80m {
        margin-top: 80px;
    }

    .mt90m {
        margin-top: 90px;
    }

    .mt100m {
        margin-top: 100px;
    }
    
    .mt120m {
        margin-top: 120px;
    }

    .mt150m {
        margin-top: 150px;
    }
    
    .mt180m {
        margin-top: 180px;
    }

    .mt200m {
        margin-top: 200px;
    }
    
    .mt220m {
        margin-top: 220px;
    }

    .mt250m {
        margin-top: 250px;
    }
    
    .mt280m {
        margin-top: 280px;
    }

    .mt300m {
        margin-top: 300px;
    }
    
    .mt350m {
        margin-top: 350px;
    }
    
    .mt400m {
        margin-top: 400px;
    }
    
    .mt450m {
        margin-top: 450px;
    }
    
    .mt500m {
        margin-top: 500px;
    }

    .mb0m {
        margin-bottom: 0;
    }

    .mb5m {
        margin-bottom: 5px;
    }
    
    .mb10m {
        margin-bottom: 10px;
    }
    
    .mb15m {
        margin-bottom: 15px;
    }

    .mb20m {
        margin-bottom: 20px;
    }
    
    .mb25m {
        margin-bottom: 25px;
    }

    .mb30m {
        margin-bottom: 30px;
    }

    .mb40m {
        margin-bottom: 40px;
    }

    .mb50m {
        margin-bottom: 50px;
    }

    .mb60m {
        margin-bottom: 60px;
    }

    .mb70m {
        margin-bottom: 70px;
    }

    .mb80m {
        margin-bottom: 80px;
    }

    .mb90m {
        margin-bottom: 90px;
    }

    .mb100m {
        margin-bottom: 100px;
    }
    
    .mb120m {
        margin-bottom: 120px;
    }

    .mb150m {
        margin-bottom: 150px;
    }
    
    .mb180m {
        margin-bottom: 180px;
    }

    .mb200m {
        margin-bottom: 200px;
    }
    
    .mb220m {
        margin-bottom: 220px;
    }

    .mb250m {
        margin-bottom: 250px;
    }
    
    .mb280m {
        margin-bottom: 280px;
    }

    .mb300m {
        margin-bottom: 300px;
    }
    
    .mb350m {
        margin-bottom: 350px;
    }
    
    .mb400m {
        margin-bottom: 400px;
    }
    
    .mb450m {
        margin-bottom: 450px;
    }
    
    .mb500m {
        margin-bottom: 500px;
    }


/* --- Paddings --- */

    .p0m {
        padding: 0;
    }

    .p5m {
        padding: 5px;
    }
    
    .p10m {
        padding: 10px;
    }
    
    .p15m {
        padding: 15px;
    }

    .p20m {
        padding: 20px;
    }
    
    .p25m {
        padding: 25px;
    }

    .p30m {
        padding: 30px;
    }

    .p40m {
        padding: 40px;
    }

    .p50m {
        padding: 50px;
    }

    .p60m {
        padding: 60px;
    }

    .p70m {
        padding: 70px;
    }

    .p80m {
        padding: 80px;
    }

    .p90m {
        padding: 90px;
    }

    .p100m {
        padding: 100px;
    }

    .p150m {
        padding: 150px;
    }

    .p200m {
        padding: 200px;
    }

    .p250m {
        padding: 250px;
    }

    .p300m {
        padding: 300px;
    }

    .pl0m {
        padding-left: 0;
    }

    .pl5m {
        padding-left: 5px;
    }
    
    .pl10m {
        padding-left: 10px;
    }
    
    .pl15m {
        padding-left: 15px;
    }

    .pl20m {
        padding-left: 20px;
    }
    
    .pl25m {
        padding-left: 25px;
    }

    .pl30m {
        padding-left: 30px;
    }

    .pl40m {
        padding-left: 40px;
    }

    .pl50m {
        padding-left: 50px;
    }

    .pl60m {
        padding-left: 60px;
    }

    .pl70m {
        padding-left: 70px;
    }

    .pl80m {
        padding-left: 80px;
    }

    .pl90m {
        padding-left: 90px;
    }

    .pl100m {
        padding-left: 100px;
    }
    
    .pl200m {
        padding-left: 200px;
    }

    .pr0m {
        padding-right: 0;
    }

    .pr5m {
        padding-right: 5px;
    }
    
    .pr10m {
        padding-right: 10px;
    }
    
    .pr15m {
        padding-right: 15px;
    }

    .pr20m {
        padding-right: 20px;
    }
    
    .pr25m {
        padding-right: 25px;
    }

    .pr30m {
        padding-right: 30px;
    }

    .pr40m {
        padding-right: 40px;
    }

    .pr50m {
        padding-right: 50px;
    }

    .pr60m {
        padding-right: 60px;
    }

    .pr70m {
        padding-right: 70px;
    }

    .pr80m {
        padding-right: 80px;
    }

    .pr90m {
        padding-right: 90px;
    }

    .pr100m {
        padding-right: 100px;
    }
    
    .pr200m {
        padding-right: 200px;
    }

    .pt0m {
        padding-top: 0;
    }

    .pt5m {
        padding-top: 5px;
    }
    
    .pt10m {
        padding-top: 10px;
    }
    
    .pt15m {
        padding-top: 15px;
    }

    .pt20m {
        padding-top: 20px;
    }
    
    .pt25m {
        padding-top: 25px;
    }

    .pt30m {
        padding-top: 30px;
    }

    .pt40m {
        padding-top: 40px;
    }

    .pt50m {
        padding-top: 50px;
    }

    .pt60m {
        padding-top: 60px;
    }

    .pt70m {
        padding-top: 70px;
    }

    .pt80m {
        padding-top: 80px;
    }

    .pt90m {
        padding-top: 90px;
    }

    .pt100m {
        padding-top: 100px;
    }
    
    .pt200m {
        padding-top: 200px;
    }

    .pb0m {
        padding-bottom: 0;
    }
    
    .pb5m {
        padding-bottom: 5px;
    }

    .pb10m {
        padding-bottom: 10px;
    }
    
    .pb15m {
        padding-bottom: 15px;
    }

    .pb20m {
        padding-bottom: 20px;
    }
    
    .pb25m {
        padding-bottom: 25px;
    }

    .pb30m {
        padding-bottom: 30px;
    }

    .pb40m {
        padding-bottom: 40px;
    }

    .pb50m {
        padding-bottom: 50px;
    }

    .pb60m {
        padding-bottom: 60px;
    }

    .pb70m {
        padding-bottom: 70px;
    }

    .pb80m {
        padding-bottom: 80px;
    }

    .pb90m {
        padding-bottom: 90px;
    }

    .pb100m {
        padding-bottom: 100px;
    }
    
    .pb200m {
        padding-bottom: 200px;
    }


/* --- Special Adjustment Margins and Paddings --- */

/*

Please note, for these to work _at all_, you need to apply h100p class or height: 100% to _both_ your body and html tag amd there is no guarantee they will actually work under all circumstances, so don't get too wild with them.

*/
    
    .ml50pm {
        margin-left: 50%;
    }

    .ml50p-10m {
        margin-left: calc(50% - 10px);
    }

    .ml50p-20m {
        margin-left: calc(50% - 20px);
    }

    .ml50p-30m {
        margin-left: calc(50% - 30px);
    }

    .ml50p-40m {
        margin-left: calc(50% - 40px);
    }

    .ml50p-50m {
        margin-left: calc(50% - 50px);
    }

    .ml50p-60m {
        margin-left: calc(50% - 60px);
    }

    .ml50p-70m {
        margin-left: calc(50% - 70px);
    }

    .ml50p-80m {
        margin-left: calc(50% - 80px);
    }

    .ml50p-90m {
        margin-left: calc(50% - 90px);
    }

    .ml50p-100m {
        margin-left: calc(50% - 100px);
    }

    .ml50p-120m {
        margin-left: calc(50% - 120px);
    }

    .ml50p-150m {
        margin-left: calc(50% - 150px);
    }

    .ml50p-180m {
        margin-left: calc(50% - 180px);
    }

    .ml50p-200m {
        margin-left: calc(50% - 200px);
    }

    .ml50p-220m {
        margin-left: calc(50% - 220px);
    }

    .ml50p-250m {
        margin-left: calc(50% - 250px);
    }

    .ml50p-280m {
        margin-left: calc(50% - 280px);
    }

    .ml50p-300m {
        margin-left: calc(50% - 300px);
    }
    
    .mt50pm {
        margin-top: 50%;
    }

    .mt50p-10m {
        margin-top: calc(50% - 10px);
    }

    .mt50p-20m {
        margin-top: calc(50% - 20px);
    }

    .mt50p-30m {
        margin-top: calc(50% - 30px);
    }

    .mt50p-40m {
        margin-top: calc(50% - 40px);
    }

    .mt50p-50m {
        margin-top: calc(50% - 50px);
    }

    .mt50p-60m {
        margin-top: calc(50% - 60px);
    }

    .mt50p-70m {
        margin-top: calc(50% - 70px);
    }

    .mt50p-80m {
        margin-top: calc(50% - 80px);
    }

    .mt50p-90m {
        margin-top: calc(50% - 90px);
    }

    .mt50p-100m {
        margin-top: calc(50% - 100px);
    }

    .mt50p-120m {
        margin-top: calc(50% - 120px);
    }

    .mt50p-150m {
        margin-top: calc(50% - 150px);
    }

    .mt50p-180m {
        margin-top: calc(50% - 180px);
    }

    .mt50p-200m {
        margin-top: calc(50% - 200px);
    }

    .mt50p-220m {
        margin-top: calc(50% - 220px);
    }

    .mt50p-250m {
        margin-top: calc(50% - 250px);
    }

    .mt50p-280m {
        margin-top: calc(50% - 280px);
    }

    .mt50p-300m {
        margin-top: calc(50% - 300px);
    }

    .pl50p-10m {
        padding-left: calc(50% - 10px);
    }

    .pl50p-20m {
        padding-left: calc(50% - 20px);
    }

    .pl50p-30m {
        padding-left: calc(50% - 30px);
    }

    .pl50p-40m {
        padding-left: calc(50% - 40px);
    }

    .pl50p-50m {
        padding-left: calc(50% - 50px);
    }

    .pl50p-60m {
        padding-left: calc(50% - 60px);
    }

    .pl50p-70m {
        padding-left: calc(50% - 70px);
    }

    .pl50p-80m {
        padding-left: calc(50% - 80px);
    }

    .pl50p-90m {
        padding-left: calc(50% - 90px);
    }

    .pl50p-100m {
        padding-left: calc(50% - 100px);
    }

    .pl50p-120m {
        padding-left: calc(50% - 120px);
    }

    .pl50p-150m {
        padding-left: calc(50% - 150px);
    }

    .pl50p-180m {
        padding-left: calc(50% - 180px);
    }

    .pl50p-200m {
        padding-left: calc(50% - 200px);
    }

    .pl50p-220m {
        padding-left: calc(50% - 220px);
    }

    .pl50p-250m {
        padding-left: calc(50% - 250px);
    }

    .pl50p-280m {
        padding-left: calc(50% - 280px);
    }

    .pl50p-300m {
        padding-left: calc(50% - 300px);
    }

    .pt50p-10m {
        padding-top: calc(50% - 10px);
    }

    .pt50p-20m {
        padding-top: calc(50% - 20px);
    }

    .pt50p-30m {
        padding-top: calc(50% - 30px);
    }

    .pt50p-40m {
        padding-top: calc(50% - 40px);
    }

    .pt50p-50m {
        padding-top: calc(50% - 50px);
    }

    .pt50p-60m {
        padding-top: calc(50% - 60px);
    }

    .pt50p-70m {
        padding-top: calc(50% - 70px);
    }

    .pt50p-80m {
        padding-top: calc(50% - 80px);
    }

    .pt50p-90m {
        padding-top: calc(50% - 90px);
    }

    .pt50p-100m {
        padding-top: calc(50% - 100px);
    }

    .pt50p-120m {
        padding-top: calc(50% - 120px);
    }

    .pt50p-150m {
        padding-top: calc(50% - 150px);
    }

    .pt50p-180m {
        padding-top: calc(50% - 180px);
    }

    .pt50p-200m {
        padding-top: calc(50% - 200px);
    }

    .pt50p-220m {
        padding-top: calc(50% - 220px);
    }

    .pt50p-250m {
        padding-top: calc(50% - 250px);
    }

    .pt50p-280m {
        padding-top: calc(50% - 280px);
    }

    .pt50p-300m {
        padding-top: calc(50% - 300px);
    }


/* --- Width --- */
    
    .wam {
        width: auto;
    }
    
    .w50m {
        width: 50px;
    }
    
    .w100m {
        width: 100px;
    }
    
    .w150m {
        width: 150px;
    }

    .w200m {
        width: 200px;
    }
    
    .w250m {
        width: 250px;
    }

    .w300m {
        width: 300px;
    }

    .w400m {
        width: 400px;
    }

    .w500m {
        width: 500px;
    }

    .w600m {
        width: 600px;
    }
    
    .w700m {
        width: 700px;
    }

    .w800m {
        width: 800px;
    }
    
    .w900m {
        width: 900px;
    }

    .w960m {
        width: 960px;
    }

    .w1100m {
        width: 1100px;
    }

    .w5pm {
        width: 5%;
    }
    
    .w10pm {
        width: 10%;
    }
    
    .w12pm {
        width: 12.5%;
    }
    
    .w15pm {
        width: 15%;
    }
    
    .w17pm {
        width: 16.666%;
    }

    .w20pm {
        width: 20%;
    }
    
    .w25pm {
        width: 25%;
    }

    .w30pm {
        width: 30%;
    }

    .w33pm {
        width: 33.333%;
    }
    
    .w35pm {
        width: 35%;
    }

    .w40pm {
        width: 40%;
    }
    
    .w45pm {
        width: 45%;
    }

    .w50pm {
        width: 50%;
    }
    
    .w55pm {
        width: 55%;
    }

    .w60pm {
        width: 60%;
    }
    
    .w65pm {
        width: 65%;
    }

    .w66pm {
        width: 66.66%;
    }

    .w70pm {
        width: 70%;
    }

    .w75pm {
        width: 75%;
    }

    .w80pm {
        width: 80%;
    }
    
    .w85pm {
        width: 85%;
    }

    .w90pm {
        width: 90%;
    }
    
    .w95pm {
        width: 95%;
    }

    .w100pm {
        width: 100%;
    }

    .mw-rstm {
        min-width: unset;
    }
    
    .mw100m {
        min-width: 100px;
    }
    
    .mw150m {
        min-width: 150px;
    }

    .mw200m {
        min-width: 200px;
    }
    
    .mw250m {
        min-width: 250px;
    }

    .mw300m {
        min-width: 300px;
    }

    .mw400m {
        min-width: 400px;
    }

    .mw500m {
        min-width: 500px;
    }

    .mw600m {
        min-width: 600px;
    }
    
    .mw700m {
        min-width: 700px;
    }

    .mw800m {
        min-width: 800px;
    }
    
    .mw900m {
        min-width: 900px;
    }
    
    .mw960m {
        min-width: 960px;
    }
    
    .mw1100m {
        min-width: 1100px;
    }

    .mw10pm {
        min-width: 10%;
    }

    .mw20pm {
        min-width: 20%;
    }

    .mw30pm {
        min-width: 30%;
    }

    .mw40pm {
        min-width: 40%;
    }

    .mw50pm {
        min-width: 50%;
    }

    .mw60pm {
        min-width: 60%;
    }

    .mw70pm {
        min-width: 70%;
    }

    .mw80pm {
        min-width: 80%;
    }

    .mw90pm {
        min-width: 90%;
    }

    .mw100pm {
        min-width: 100%;
    }

    .mxw-rstm {
        max-width: unset;
    }
    
    .mxw100m {
        max-width: 100px;
    }
    
    .mxw150m {
        max-width: 150px;
    }

    .mxw200m {
        max-width: 200px;
    }
    
    .mxw250m {
        max-width: 250px;
    }

    .mxw300m {
        max-width: 300px;
    }

    .mxw400m {
        max-width: 400px;
    }

    .mxw500m {
        max-width: 500px;
    }

    .mxw600m {
        max-width: 600px;
    }
    
    .mxw700m {
        max-width: 700px;
    }

    .mxw800m {
        max-width: 800px;
    }
    
    .mxw900m {
        max-width: 900px;
    }
    
    .mxw960m {
        max-width: 960px;
    }
    
    .mxw1100m {
        max-width: 1100px;
    }

    .mxw5pm {
        max-width: 5%;
    }
    
    .mxw10pm {
        max-width: 10%;
    }
    
    .mxw12pm {
        max-width: 12.5%;
    }
    
    .mxw15pm {
        max-width: 15%;
    }
    
    .mxw17pm {
        max-width: 16.666%;
    }

    .mxw20pm {
        max-width: 20%;
    }

    .mxw25pm {
        max-width: 25%;
    }

    .mxw30pm {
        max-width: 30%;
    }

    .mxw33pm {
        max-width: 33.333%;
    }
    
    .mxw35pm {
        max-width: 35%;
    }

    .mxw40pm {
        max-width: 40%;
    }
    
    .mxw45pm {
        max-width: 45%;
    }

    .mxw50pm {
        max-width: 50%;
    }
    
    .mxw55pm {
        max-width: 55%;
    }

    .mxw60pm {
        max-width: 60%;
    }
    
    .mxw65pm {
        max-width: 65%;
    }

    .mxw66pm {
        max-width: 66.66%;
    }

    .mxw70pm {
        max-width: 70%;
    }

    .mxw75pm {
        max-width: 75%;
    }

    .mxw80pm {
        max-width: 80%;
    }
    
    .mxw85pm {
        max-width: 85%;
    }

    .mxw90pm {
        max-width: 90%;
    }
    
    .mxw95pm {
        max-width: 95%;
    }

    .mxw100pm {
        max-width: 100%;
    }


/* --- Heights --- */

    .ham {
        height: auto;
    }

    .h10m {
        height: 10px;
    }

    .h20m {
        height: 20px;
    }

    .h30m {
        height: 30px;
    }

    .h40m {
        height: 40px;
    }

    .h50m {
        height: 50px;
    }

    .h60m {
        height: 60px;
    }

    .h70m {
        height: 70px;
    }

    .h80m {
        height: 80px;
    }

    .h90m {
        height: 90px;
    }

    .h100m {
        height: 100px;
    }

    .h150m {
        height: 150px;
    }

    .h200m {
        height: 200px;
    }

    .h250m {
        height: 250px;
    }

    .h300m {
        height: 300px;
    }

    .h400m {
        height: 400px;
    }

    .h500m {
        height: 500px;
    }

    .h600m {
        height: 600px;
    }
    
    .h700m {
        height: 600px;
    }
    
    .h800m {
        height: 600px;
    }
    
    .h900m {
        height: 600px;
    }
    
    .h1000m {
        height: 600px;
    }

    .h10pm {
        height: 10%;
    }

    .h20pm {
        height: 20%;
    }

    .h30pm {
        height: 30%;
    }

    .h40pm {
        height: 40%;
    }

    .h50pm {
        height: 50%;
    }

    .h60pm {
        height: 60%;
    }

    .h70pm {
        height: 70%;
    }

    .h80pm {
        height: 80%;
    }

    .h90pm {
        height: 90%;
    }

    .h100pm {
        height: 100%;
    }

    .mh50m {
        min-height: 50px;
    }

    .mh100m {
        min-height: 100px;
    }

    .mh150m {
        min-height: 150px;
    }

    .mh200m {
        min-height: 200px;
    }

    .mh250m {
        min-height: 250px;
    }

    .mh300m {
        min-height: 300px;
    }

    .mh10pm {
        min-height: 10%;
    }

    .mh20pm {
        min-height: 20%;
    }

    .mh30pm {
        min-height: 30%;
    }

    .mh40pm {
        min-height: 40%;
    }

    .mh50pm {
        min-height: 50%;
    }

    .mh60pm {
        min-height: 60%;
    }

    .mh70pm {
        min-height: 70%;
    }

    .mh80pm {
        min-height: 80%;
    }

    .mh90pm {
        min-height: 90%;
    }

    .mh100pm {
        min-height: 100%;
    }
    
    .mxhrstm {
        max-height: none;
    }
    
    .mxh50m {
        max-height: 50px;
    }

    .mxh100m {
        max-height: 100px;
    }

    .mxh150m {
        max-height: 150px;
    }

    .mxh200m {
        max-height: 200px;
    }

    .mxh250m {
        max-height: 250px;
    }

    .mxh300m {
        max-height: 300px;
    }

    .mxh400m {
        max-height: 400px;
    }

    .mxh500m {
        max-height: 500px;
    }

    .mxh600m {
        max-height: 600px;
    }

    .mxh700m {
        max-height: 700px;
    }

    .mxh800m {
        max-height: 800px;
    }

    .mxh900m {
        max-height: 900px;
    }

    .mxh1000m {
        max-height: 1000px;
    }


/* --- Positioning --- */
    
    .pos-rstm {
        position: inherit;
    }

    .pos-am {
        position: absolute;
    }

    .pos-fm {
        position: fixed;
    }

    .pos-rm {
        position: relative;
    }
    
    .pos-sm {
        position: sticky;
    }


/* --- Floats --- */

    .clearm {
        clear: both;
    }

    .fl-lm {
        float: left;
    }

    .fl-rm {
        float: right;
    }

    .fl-clrm {
        float: none;
    }

    .fl-ctrm {
        margin-left: auto;
        margin-right: auto;
    }
    
    
/* --- Grid --- */

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

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

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

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

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

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

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

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

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

    .gridgap10m {
        grid-gap: 10px;
    }

    .gridgap20m {
        grid-gap: 20px;
    }

    .gridgap30m {
        grid-gap: 30px;
    }

    .gridgap40m {
        grid-gap: 40px;
    }

    .gridgap50m {
        grid-gap: 50px;
    }

    .gridgap60m {
        grid-gap: 60px;
    }

    .gridgap70m {
        grid-gap: 70px;
    }

    .gridgap80m {
        grid-gap: 80px;
    }

    .gridgap90m {
        grid-gap: 90px;
    }

    .gridgap100m {
        grid-gap: 100px;
    }

    .gridgap150m {
        grid-gap: 150px;
    }

    .gridgap200m {
        grid-gap: 200px;
    }

    .gridgap250m {
        grid-gap: 250px;
    }

    .gridgap300m {
        grid-gap: 300px;
    }

    .gridgap1pm {
        grid-gap: 1%;
    }

    .gridgap2pm {
        grid-gap: 2%;
    }

    .gridgap3pm {
        grid-gap: 3%;
    }
    
    .gridgap4pm {
        grid-gap: 4%;
    }

    .gridgap5pm {
        grid-gap: 5%;
    }

    .gridgap10pm {
        grid-gap: 10%;
    }

    .gridcolgap1pm {
        column-gap: 1%;
    }

    .gridcolgap2pm {
        column-gap: 2%;
    }

    .gridcolgap3pm {
        column-gap: 3%;
    }
    
    .gridcolgap4pm {
        column-gap: 4%;
    }

    .gridcolgap5pm {
        column-gap: 5%;
    }

    .gridcolgap10pm {
        column-gap: 10%;
    }

    .gridrowgap1pm {
        row-gap: 1%;
    }

    .gridrowgap2pm {
        row-gap: 2%;
    }

    .gridrowgap3pm {
        row-gap: 3%;
    }
    
    .gridrowgap4pm {
        row-gap: 4%;
    }

    .gridrowgap5pm {
        row-gap: 5%;
    }

    .gridrowgap10pm {
        row-gap: 10%;
    }

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

    .lgtxtm {
        font-size: 120%;
    }

    .xlgtxtm {
        font-size: 200%;
    }

    .smtxtm {
        font-size: 75%;
    }

    .xsmtxtm {
        font-size: 50%;
    }
    
    
/* --- Forced Text Alignment --- */
    
    .ltxtm {
        text-align: left !important;
    }
    
    .rtxtm {
        text-align: right !important;
    }
    
    .ctxtm {
        text-align: center !important;
    }
    
    .jtxtm {
        text-align: justify !important;
    }

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

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

    .tidym {
        overflow: hidden;
    }
    
    .autoscrollm {
        overflow: auto;
    }
    
    .forcescrollm {
        overflow: scroll;
    }

    .scrollxm {
        overflow-x: scroll;
    }

    .scrollym {
        overflow-y: scroll;
    }
    
}


@media screen and (max-width: 992px) {
    
/* --- Scroll hack for Mobile Devices --- */

    ::-webkit-scrollbar {
        -webkit-appearance: none;
        width: 6px;
    }

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

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

/* These are mostly regular definitions with an "sm" suffix added */
    
/* --- (In)visibility, blockiness, fluidity --- */

    .hidesm {
        display: none;
    }

    .noshowsm {
        visibility: hidden;
    }

    .blocksm {
        display: block;
    }

    .iblocksm {
        display: inline-block;
    }
    
    .inlinesm {
        display: inline;
    }
    
    .gridsm {
        display: grid;
    }

    .blockrstsm {
        display: inherit;
    }

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


/* --- 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;
    }


/* --- Special Adjustment Margins and Paddings --- */

/*

Please note, for these to work _at all_, you need to apply h100p class or height: 100% to _both_ your body and html tag amd there is no guarantee they will actually work under all circumstances, so don't get too wild with them.

*/
    
    .ml50psm {
        margin-left: 50%;
    }

    .ml50p-10sm {
        margin-left: calc(50% - 10px);
    }

    .ml50p-20sm {
        margin-left: calc(50% - 20px);
    }

    .ml50p-30sm {
        margin-left: calc(50% - 30px);
    }

    .ml50p-40sm {
        margin-left: calc(50% - 40px);
    }

    .ml50p-50sm {
        margin-left: calc(50% - 50px);
    }

    .ml50p-60sm {
        margin-left: calc(50% - 60px);
    }

    .ml50p-70sm {
        margin-left: calc(50% - 70px);
    }

    .ml50p-80sm {
        margin-left: calc(50% - 80px);
    }

    .ml50p-90sm {
        margin-left: calc(50% - 90px);
    }

    .ml50p-100sm {
        margin-left: calc(50% - 100px);
    }

    .ml50p-120sm {
        margin-left: calc(50% - 120px);
    }

    .ml50p-150sm {
        margin-left: calc(50% - 150px);
    }

    .ml50p-180sm {
        margin-left: calc(50% - 180px);
    }

    .ml50p-200sm {
        margin-left: calc(50% - 200px);
    }

    .ml50p-220sm {
        margin-left: calc(50% - 220px);
    }

    .ml50p-250sm {
        margin-left: calc(50% - 250px);
    }

    .ml50p-280sm {
        margin-left: calc(50% - 280px);
    }

    .ml50p-300sm {
        margin-left: calc(50% - 300px);
    }
    
    .mt50psm {
        margin-top: 50%;
    }

    .mt50p-10sm {
        margin-top: calc(50% - 10px);
    }

    .mt50p-20sm {
        margin-top: calc(50% - 20px);
    }

    .mt50p-30sm {
        margin-top: calc(50% - 30px);
    }

    .mt50p-40sm {
        margin-top: calc(50% - 40px);
    }

    .mt50p-50sm {
        margin-top: calc(50% - 50px);
    }

    .mt50p-60sm {
        margin-top: calc(50% - 60px);
    }

    .mt50p-70sm {
        margin-top: calc(50% - 70px);
    }

    .mt50p-80sm {
        margin-top: calc(50% - 80px);
    }

    .mt50p-90sm {
        margin-top: calc(50% - 90px);
    }

    .mt50p-100sm {
        margin-top: calc(50% - 100px);
    }

    .mt50p-120sm {
        margin-top: calc(50% - 120px);
    }

    .mt50p-150sm {
        margin-top: calc(50% - 150px);
    }

    .mt50p-180sm {
        margin-top: calc(50% - 180px);
    }

    .mt50p-200sm {
        margin-top: calc(50% - 200px);
    }

    .mt50p-220sm {
        margin-top: calc(50% - 220px);
    }

    .mt50p-250sm {
        margin-top: calc(50% - 250px);
    }

    .mt50p-280sm {
        margin-top: calc(50% - 280px);
    }

    .mt50p-300sm {
        margin-top: calc(50% - 300px);
    }

    .pl50p-10sm {
        padding-left: calc(50% - 10px);
    }

    .pl50p-20sm {
        padding-left: calc(50% - 20px);
    }

    .pl50p-30sm {
        padding-left: calc(50% - 30px);
    }

    .pl50p-40sm {
        padding-left: calc(50% - 40px);
    }

    .pl50p-50sm {
        padding-left: calc(50% - 50px);
    }

    .pl50p-60sm {
        padding-left: calc(50% - 60px);
    }

    .pl50p-70sm {
        padding-left: calc(50% - 70px);
    }

    .pl50p-80sm {
        padding-left: calc(50% - 80px);
    }

    .pl50p-90sm {
        padding-left: calc(50% - 90px);
    }

    .pl50p-100sm {
        padding-left: calc(50% - 100px);
    }

    .pl50p-120sm {
        padding-left: calc(50% - 120px);
    }

    .pl50p-150sm {
        padding-left: calc(50% - 150px);
    }

    .pl50p-180sm {
        padding-left: calc(50% - 180px);
    }

    .pl50p-200sm {
        padding-left: calc(50% - 200px);
    }

    .pl50p-220sm {
        padding-left: calc(50% - 220px);
    }

    .pl50p-250sm {
        padding-left: calc(50% - 250px);
    }

    .pl50p-280sm {
        padding-left: calc(50% - 280px);
    }

    .pl50p-300sm {
        padding-left: calc(50% - 300px);
    }

    .pt50p-10sm {
        padding-top: calc(50% - 10px);
    }

    .pt50p-20sm {
        padding-top: calc(50% - 20px);
    }

    .pt50p-30sm {
        padding-top: calc(50% - 30px);
    }

    .pt50p-40sm {
        padding-top: calc(50% - 40px);
    }

    .pt50p-50sm {
        padding-top: calc(50% - 50px);
    }

    .pt50p-60sm {
        padding-top: calc(50% - 60px);
    }

    .pt50p-70sm {
        padding-top: calc(50% - 70px);
    }

    .pt50p-80sm {
        padding-top: calc(50% - 80px);
    }

    .pt50p-90sm {
        padding-top: calc(50% - 90px);
    }

    .pt50p-100sm {
        padding-top: calc(50% - 100px);
    }

    .pt50p-120sm {
        padding-top: calc(50% - 120px);
    }

    .pt50p-150sm {
        padding-top: calc(50% - 150px);
    }

    .pt50p-180sm {
        padding-top: calc(50% - 180px);
    }

    .pt50p-200sm {
        padding-top: calc(50% - 200px);
    }

    .pt50p-220sm {
        padding-top: calc(50% - 220px);
    }

    .pt50p-250sm {
        padding-top: calc(50% - 250px);
    }

    .pt50p-280sm {
        padding-top: calc(50% - 280px);
    }

    .pt50p-300sm {
        padding-top: calc(50% - 300px);
    }


/* --- 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-rstm {
        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 --- */

    .pos-rstsm {
        position: inherit;
    }
    
    .pos-asm {
        position: absolute;
    }

    .pos-fsm {
        position: fixed;
    }

    .pos-rsm {
        position: relative;
    }
    
    .pos-ssm {
        position: sticky;
    }


/* --- Floats --- */

    .clearsm {
        clear: both;
    }

    .fl-lsm {
        float: left;
    }

    .fl-rsm {
        float: right;
    }

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

    
/* --- 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);
    }

    .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) {

/* These are mostly regular definitions with an "xm" suffix added */
    
/* --- (In)visibility, blockiness, fluidity --- */

    .hidexm {
        display: none;
    }

    .noshowxm {
        visibility: hidden;
    }

    .blockxm {
        display: block;
    }

    .iblockxm {
        display: inline-block;
    }
    
    .inlinexm {
        display: inline;
    }
    
    .gridxm {
        display: grid;
    }

    .blockrstxm {
        display: inherit;
    }

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


/* --- 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;
    }


/* --- Special Adjustment Margins and Paddings --- */

/*

Please note, for these to work _at all_, you need to apply h100p class or height: 100% to _both_ your body and html tag amd there is no guarantee they will actually work under all circumstances, so don't get too wild with them.

*/
    
    .ml50pxm {
        margin-left: 50%;
    }

    .ml50p-10xm {
        margin-left: calc(50% - 10px);
    }

    .ml50p-20xm {
        margin-left: calc(50% - 20px);
    }

    .ml50p-30xm {
        margin-left: calc(50% - 30px);
    }

    .ml50p-40xm {
        margin-left: calc(50% - 40px);
    }

    .ml50p-50xm {
        margin-left: calc(50% - 50px);
    }

    .ml50p-60xm {
        margin-left: calc(50% - 60px);
    }

    .ml50p-70xm {
        margin-left: calc(50% - 70px);
    }

    .ml50p-80xm {
        margin-left: calc(50% - 80px);
    }

    .ml50p-90xm {
        margin-left: calc(50% - 90px);
    }

    .ml50p-100xm {
        margin-left: calc(50% - 100px);
    }

    .ml50p-120xm {
        margin-left: calc(50% - 120px);
    }

    .ml50p-150xm {
        margin-left: calc(50% - 150px);
    }

    .ml50p-180xm {
        margin-left: calc(50% - 180px);
    }

    .ml50p-200xm {
        margin-left: calc(50% - 200px);
    }

    .ml50p-220xm {
        margin-left: calc(50% - 220px);
    }

    .ml50p-250xm {
        margin-left: calc(50% - 250px);
    }

    .ml50p-280xm {
        margin-left: calc(50% - 280px);
    }

    .ml50p-300xm {
        margin-left: calc(50% - 300px);
    }
    
    .mt50pxm {
        margin-top: 50%;
    }

    .mt50p-10xm {
        margin-top: calc(50% - 10px);
    }

    .mt50p-20xm {
        margin-top: calc(50% - 20px);
    }

    .mt50p-30xm {
        margin-top: calc(50% - 30px);
    }

    .mt50p-40xm {
        margin-top: calc(50% - 40px);
    }

    .mt50p-50xm {
        margin-top: calc(50% - 50px);
    }

    .mt50p-60xm {
        margin-top: calc(50% - 60px);
    }

    .mt50p-70xm {
        margin-top: calc(50% - 70px);
    }

    .mt50p-80xm {
        margin-top: calc(50% - 80px);
    }

    .mt50p-90xm {
        margin-top: calc(50% - 90px);
    }

    .mt50p-100xm {
        margin-top: calc(50% - 100px);
    }

    .mt50p-120xm {
        margin-top: calc(50% - 120px);
    }

    .mt50p-150xm {
        margin-top: calc(50% - 150px);
    }

    .mt50p-180xm {
        margin-top: calc(50% - 180px);
    }

    .mt50p-200xm {
        margin-top: calc(50% - 200px);
    }

    .mt50p-220xm {
        margin-top: calc(50% - 220px);
    }

    .mt50p-250xm {
        margin-top: calc(50% - 250px);
    }

    .mt50p-280xm {
        margin-top: calc(50% - 280px);
    }

    .mt50p-300xm {
        margin-top: calc(50% - 300px);
    }

    .pl50p-10xm {
        padding-left: calc(50% - 10px);
    }

    .pl50p-20xm {
        padding-left: calc(50% - 20px);
    }

    .pl50p-30xm {
        padding-left: calc(50% - 30px);
    }

    .pl50p-40xm {
        padding-left: calc(50% - 40px);
    }

    .pl50p-50xm {
        padding-left: calc(50% - 50px);
    }

    .pl50p-60xm {
        padding-left: calc(50% - 60px);
    }

    .pl50p-70xm {
        padding-left: calc(50% - 70px);
    }

    .pl50p-80xm {
        padding-left: calc(50% - 80px);
    }

    .pl50p-90xm {
        padding-left: calc(50% - 90px);
    }

    .pl50p-100xm {
        padding-left: calc(50% - 100px);
    }

    .pl50p-120xm {
        padding-left: calc(50% - 120px);
    }

    .pl50p-150xm {
        padding-left: calc(50% - 150px);
    }

    .pl50p-180xm {
        padding-left: calc(50% - 180px);
    }

    .pl50p-200xm {
        padding-left: calc(50% - 200px);
    }

    .pl50p-220xm {
        padding-left: calc(50% - 220px);
    }

    .pl50p-250xm {
        padding-left: calc(50% - 250px);
    }

    .pl50p-280xm {
        padding-left: calc(50% - 280px);
    }

    .pl50p-300xm {
        padding-left: calc(50% - 300px);
    }

    .pt50p-10xm {
        padding-top: calc(50% - 10px);
    }

    .pt50p-20xm {
        padding-top: calc(50% - 20px);
    }

    .pt50p-30xm {
        padding-top: calc(50% - 30px);
    }

    .pt50p-40xm {
        padding-top: calc(50% - 40px);
    }

    .pt50p-50xm {
        padding-top: calc(50% - 50px);
    }

    .pt50p-60xm {
        padding-top: calc(50% - 60px);
    }

    .pt50p-70xm {
        padding-top: calc(50% - 70px);
    }

    .pt50p-80xm {
        padding-top: calc(50% - 80px);
    }

    .pt50p-90xm {
        padding-top: calc(50% - 90px);
    }

    .pt50p-100xm {
        padding-top: calc(50% - 100px);
    }

    .pt50p-120xm {
        padding-top: calc(50% - 120px);
    }

    .pt50p-150xm {
        padding-top: calc(50% - 150px);
    }

    .pt50p-180xm {
        padding-top: calc(50% - 180px);
    }

    .pt50p-200xm {
        padding-top: calc(50% - 200px);
    }

    .pt50p-220xm {
        padding-top: calc(50% - 220px);
    }

    .pt50p-250xm {
        padding-top: calc(50% - 250px);
    }

    .pt50p-280xm {
        padding-top: calc(50% - 280px);
    }

    .pt50p-300xm {
        padding-top: calc(50% - 300px);
    }


/* --- 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 --- */
    
    .pos-rstxm {
        position: inherit;
    }

    .pos-axm {
        position: absolute;
    }

    .pos-fxm {
        position: fixed;
    }

    .pos-rxm {
        position: relative;
    }
    
    .pos-sxm {
        position: sticky;
    }


/* --- Floats --- */

    .clearxm {
        clear: both;
    }

    .fl-lxm {
        float: left;
    }

    .fl-rxm {
        float: right;
    }

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

    
/* --- 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);
    }

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