/*

The Minimal Purist CSS Framework

by Ivailo Borisov / thedezine.com

v3.1 / 31.08.2020

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


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

.hide {
    display: none;
}

.noshow {
    visibility: hidden;
}

.block {
    display: block;
}

.iblock {
    display: inline-block;
}

.fluid {
    width: auto;
    max-width: 100%;
    height: 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;
}


/* --- Margins --- */

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

.w200 {
    width: 200px;
}

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

.w15p {
    width: 15%;
}

.w20p {
    width: 20%;
}

.w25p {
    width: 25%;
}

.w30p {
    width: 30%;
}

.w33p {
    width: 33.33%;
}

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

.mw200 {
    min-width: 200px;
}

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

.mxw200 {
    max-width: 200px;
}

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

.mxw5p {
    max-width: 5%;
}

.mxw10p {
    max-width: 10%;
}

.mxw15p {
    max-width: 15%;
}

.mxw20p {
    max-width: 20%;
}

.mxw25p {
    max-width: 25%;
}

.mxw30p {
    max-width: 30%;
}

.mxw33p {
    max-width: 33.33%;
}

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

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


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

.caps {
    text-transform: uppercase;
}

.lgtxt {
    font-size: 2rem;
}

.xlgtxt {
    font-size: 2.6rem;
}

.smtxt {
    font-size: .8rem;
}

.xsmtxt {
    font-size: .65rem;
}

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


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

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

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


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

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

/* --- Margins --- */

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

    .w200m {
        width: 200px;
    }

    .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%;
    }
    
    .w15pm {
        width: 15%;
    }

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

    .w30pm {
        width: 30%;
    }

    .w33pm {
        width: 33.33%;
    }
    
    .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;
    }

    .mw200m {
        min-width: 200px;
    }

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

    .mxw200m {
        max-width: 200px;
    }

    .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%;
    }
    
    .mxw15pm {
        max-width: 15%;
    }

    .mxw20pm {
        max-width: 20%;
    }

    .mxw25pm {
        max-width: 25%;
    }

    .mxw30pm {
        max-width: 30%;
    }

    .mxw33pm {
        max-width: 33.33%;
    }
    
    .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;
    }

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


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

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

    .lgtxtm {
        font-size: 2rem;
    }

    .xlgtxtm {
        font-size: 2.6rem;
    }

    .smtxtm {
        font-size: .8rem;
    }

    .xsmtxtm {
        font-size: .65rem;
    }
    
    
/* --- 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;
    }
    
}


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

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

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


/* --- Margins --- */

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

    .w200sm {
        width: 200px;
    }

    .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%;
    }
    
    .w15psm {
        width: 15%;
    }

    .w20psm {
        width: 20%;
    }

    .w25psm {
        width: 25%;
    }

    .w30psm {
        width: 30%;
    }

    .w33psm {
        width: 33.33%;
    }
    
    .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;
    }

    .mw200sm {
        min-width: 200px;
    }

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

    .mxw200sm {
        max-width: 200px;
    }

    .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%;
    }
    
    .mxw15psm {
        max-width: 15%;
    }

    .mxw20psm {
        max-width: 20%;
    }

    .mxw25psm {
        max-width: 25%;
    }

    .mxw30psm {
        max-width: 30%;
    }

    .mxw33psm {
        max-width: 33.33%;
    }
    
    .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;
    }

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


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

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

    .lgtxtsm {
        font-size: 2rem;
    }

    .xlgtxtsm {
        font-size: 2.6rem;
    }

    .smtxtsm {
        font-size: .8rem;
    }

    .xsmtxtsm {
        font-size: .65rem;
    }
    
    
/* --- 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;
    }

}

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

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


/* --- Margins --- */

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

    .w200xm {
        width: 200px;
    }

    .w300xm {
        width: 300px;
    }

    .w400xm {
        width: 400px;
    }

    .w500xm {
        width: 500px;
    }
    
    .w600xm {
        width: 600px;
    }

    .w5pxm {
        width: 5%;
    }
    
    .w10pxm {
        width: 10%;
    }
    
    .w15pxm {
        width: 15%;
    }

    .w20pxm {
        width: 20%;
    }

    .w25pxm {
        width: 25%;
    }

    .w30pxm {
        width: 30%;
    }

    .w33pxm {
        width: 33.33%;
    }
    
    .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;
    }

    .mw200xm {
        min-width: 200px;
    }

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

    .mxw200xm {
        max-width: 200px;
    }

    .mxw300xm {
        max-width: 300px;
    }

    .mxw400xm {
        max-width: 400px;
    }

    .mxw500xm {
        max-width: 500px;
    }
    
    .mxw600xm {
        max-width: 600px;
    }

    .mxw5pxm {
        max-width: 5%;
    }
    
    .mxw10pxm {
        max-width: 10%;
    }
    
    .mxw15pxm {
        max-width: 15%;
    }

    .mxw20pxm {
        max-width: 20%;
    }

    .mxw25pxm {
        max-width: 25%;
    }

    .mxw30pxm {
        max-width: 30%;
    }

    .mxw33pxm {
        max-width: 33.33%;
    }
    
    .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;
    }

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


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

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

    .lgtxtxm {
        font-size: 2rem;
    }

    .xlgtxtxm {
        font-size: 2.6rem;
    }

    .smtxtxm {
        font-size: .8rem;
    }

    .xsmtxtxm {
        font-size: .65rem;
    }
    
    
/* --- 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;
    }
    
}