/* ------------------------------------------ DISPLAY ------------------------------------------ */
.pos-relative {
	position: relative;
}
.pos-absolute {
	position: absolute;
}

.nopointer {pointer-events: none; }
.noclick {pointer-events: none; }
.nocursor {cursor: default; }

.flex { display: flex }
.flex-center { display: flex; justify-content: center; align-items: center }
.flex-row { display: flex; flex-direction: row; justify-content: center; align-items: center }
.flex-column { display: flex; flex-direction: column; justify-content: center; align-items: center }
.flex-row-r { display: flex; flex-direction: row-reverse; justify-content: center; align-items: center }
.flex-column-r { display: flex; flex-direction: column-reverse; justify-content: center; align-items: center }
.flex-wrap { display: flex; flex-wrap: wrap; justify-content: center; align-items: center }
.flex-between { display: flex; justify-content: space-between; align-items: center }
.flex-around { display: flex; justify-content: space-around; align-items: center }

.flex-align-start { display: flex; align-items: flex-start !important; }
.flex-align-end { display: flex; align-items: flex-end !important; }
.flex-justify-start { display: flex; justify-content: flex-start !important; }
.flex-justify-end { display: flex; justify-content: flex-end !important; }

.flex-self-align-start { align-self: flex-start !important; }
.flex-self-align-center { align-self: center !important; }
.flex-self-align-end { align-self: flex-end !important; }

.flex-1 { flex: 1; }

@media only screen and (min-width: 577px)
{
	.flex-sm2x { display: flex }
	.flex-sm2x-center { display: flex; justify-content: center; align-items: center }
	.flex-sm2x-row { display: flex; flex-direction: row; justify-content: center; align-items: center }
	.flex-sm2x-column { display: flex; flex-direction: column; justify-content: center; align-items: center }
	.flex-sm2x-row-r { display: flex; flex-direction: row-reverse; justify-content: center; align-items: center }
	.flex-sm2x-column-r { display: flex; flex-direction: column-reverse; justify-content: center; align-items: center }
	.flex-sm2x-wrap { display: flex; flex-wrap: wrap; justify-content: center; align-items: center }
	.flex-sm2x-between { display: flex; justify-content: space-between; align-items: center }
	.flex-sm2x-around { display: flex; justify-content: space-around; align-items: center }
}
@media only screen and (min-width: 769px)
{
	.flex-md2x { display: flex }
	.flex-md2x-center { display: flex; justify-content: center; align-items: center }
	.flex-md2x-row { display: flex; flex-direction: row; justify-content: center; align-items: center }
	.flex-md2x-column { display: flex; flex-direction: column; justify-content: center; align-items: center }
	.flex-md2x-row-r { display: flex; flex-direction: row-reverse; justify-content: center; align-items: center }
	.flex-md2x-column-r { display: flex; flex-direction: column-reverse; justify-content: center; align-items: center }
	.flex-md2x-wrap { display: flex; flex-wrap: wrap; justify-content: center; align-items: center }
	.flex-md2x-between { display: flex; justify-content: space-between; align-items: center }
	.flex-md2x-around { display: flex; justify-content: space-around; align-items: center }
}
@media only screen and (min-width: 993px)
{
	.flex-lg2x { display: flex }
	.flex-lg2x-center { display: flex; justify-content: center; align-items: center }
	.flex-lg2x-row { display: flex; flex-direction: row; justify-content: center; align-items: center }
	.flex-lg2x-column { display: flex; flex-direction: column; justify-content: center; align-items: center }
	.flex-lg2x-row-r { display: flex; flex-direction: row-reverse; justify-content: center; align-items: center }
	.flex-lg2x-column-r { display: flex; flex-direction: column-reverse; justify-content: center; align-items: center }
	.flex-lg2x-wrap { display: flex; flex-wrap: wrap; justify-content: center; align-items: center }
	.flex-lg2x-between { display: flex; justify-content: space-between; align-items: center }
	.flex-lg2x-around { display: flex; justify-content: space-around; align-items: center }
}
@media only screen and (min-width: 1281px)
{
	.flex-xl2x { display: flex }
	.flex-xl2x-center { display: flex; justify-content: center; align-items: center }
	.flex-xl2x-row { display: flex; flex-direction: row; justify-content: center; align-items: center }
	.flex-xl2x-column { display: flex; flex-direction: column; justify-content: center; align-items: center }
	.flex-xl2x-row-r { display: flex; flex-direction: row-reverse; justify-content: center; align-items: center }
	.flex-xl2x-column-r { display: flex; flex-direction: column-reverse; justify-content: center; align-items: center }
	.flex-xl2x-wrap { display: flex; flex-wrap: wrap; justify-content: center; align-items: center }
	.flex-xl2x-between { display: flex; justify-content: space-between; align-items: center }
	.flex-xl2x-around { display: flex; justify-content: space-around; align-items: center }
}
/* Only Extra Small */
@media only screen and (min-width: 0577px) { .show-xs { display: none !important } }
/* Only Small */
@media only screen and (max-width: 0576px) { .show-sm { display: none !important } }
@media only screen and (min-width: 0769px) { .show-sm { display: none !important } }
/* Only Medium */
@media only screen and (max-width: 0768px) { .show-md { display: none !important } }
@media only screen and (min-width: 0993px) { .show-md { display: none !important } }
/* Only Large */
@media only screen and (max-width: 0992px) { .show-lg { display: none !important } }
@media only screen and (min-width: 1281px) { .show-lg { display: none !important } }
/* Only Extra Large */
@media only screen and (max-width: 1280px) { .show-xl { display: none !important } }

/* From Extra Small to Small */
@media only screen and (min-width: 0577px) { .show-xs_sm { display: none !important } }
/* From Extra Small to Small */
@media only screen and (min-width: 0769px) { .show-xs_md { display: none !important } }
/* From Extra Small to Medium */
@media only screen and (min-width: 0993px) { .show-xs_lg { display: none !important } }
/* From Extra Small to Large */
@media only screen and (min-width: 1281px) { .show-xs_xl { display: none !important } }

/* From Small to Medium */
@media only screen and (max-width: 0576px) { .show-sm_md { display: none !important } }
@media only screen and (min-width: 0993px) { .show-sm_md { display: none !important } }
/* From Small to Large */
@media only screen and (max-width: 0576px) { .show-sm_lg { display: none !important } }
@media only screen and (min-width: 1281px) { .show-sm_lg { display: none !important } }
/* From Small to Infinity */
@media only screen and (max-width: 0576px) { .show-sm_x { display: none !important } }

/* From Medium to Large */
@media only screen and (max-width: 0768px) { .show-md_lg { display: none !important } }
@media only screen and (min-width: 1281px) { .show-md_lg { display: none !important } }
/* From Medium to Infinity */
@media only screen and (max-width: 0768px) { .show-md_x { display: none !important } }

/* From Large to Infinity */
@media only screen and (max-width: 0992px) { .show-lg_x { display: none !important } }

/* From Large to Infinity */
@media only screen and (max-width: 1280px) { .show-xl_x { display: none !important } }

/* Extra Small and Medium */
@media only screen and (min-width: 0577px) { .show-xs-md { display: none !important } }
@media only screen and (max-width: 0768px) { .show-xs-md { display: none !important } }
@media only screen and (min-width: 0993px) { .show-xs-md { display: none !important } }
/* Extra Small and Large */
@media only screen and (min-width: 0577px) { .show-xs-lg { display: none !important } }
@media only screen and (max-width: 0992px) { .show-xs-lg { display: none !important } }
@media only screen and (min-width: 1281px) { .show-xs-lg { display: none !important } }
/* Extra Small and Extra Large */
@media only screen and (min-width: 0577px) { .show-xs-xl { display: none !important } }
@media only screen and (max-width: 1280px) { .show-xs-xl { display: none !important } }

/* Small and Large */
@media only screen and (max-width: 0576px) { .show-sm-lg { display: none !important } }
@media only screen and (min-width: 0769px) { .show-sm-lg { display: none !important } }
@media only screen and (max-width: 0992px) { .show-sm-lg { display: none !important } }
@media only screen and (min-width: 1281px) { .show-sm-lg { display: none !important } }
/* Small and Extra Large */
@media only screen and (max-width: 0576px) { .show-sm-xl { display: none !important } }
@media only screen and (min-width: 0769px) { .show-sm-xl { display: none !important } }
@media only screen and (max-width: 1280px) { .show-sm-xl { display: none !important } }

/* Medium and Extra Large */
@media only screen and (max-width: 0768px) { .show-md-xl { display: none !important } }
@media only screen and (min-width: 0993px) { .show-md-xl { display: none !important } }
@media only screen and (max-width: 1280px) { .show-md-xl { display: none !important } }

/* From Extra Small to Small and Large */
@media only screen and (min-width: 0769px) { .show-xs_sm-lg { display: none !important } }
@media only screen and (max-width: 0992px) { .show-xs_sm-lg { display: none !important } }
@media only screen and (min-width: 1281px) { .show-xs_sm-lg { display: none !important } }
/* From Extra Small to Small and Extra Large */
@media only screen and (min-width: 0769px) { .show-xs_sm-xl { display: none !important } }
@media only screen and (max-width: 1280px) { .show-xs_sm-xl { display: none !important } }

/* From Extra Small to Medium and Extra Large */
@media only screen and (min-width: 0993px) { .show-xs_md-xl { display: none !important } }
@media only screen and (max-width: 1280px) { .show-xs_md-xl { display: none !important } }

/* Small and From Large to Infinity */
@media only screen and (max-width: 0576px) { .show-sm-lg_x { display: none !important } }
@media only screen and (min-width: 0769px) and (max-width: 0992px) { .show-sm-lg_x { display: none !important } }

.opacity-5 {filter: opacity(0.05); }
.opacity-10 {filter: opacity(0.10); }
.opacity-25 {filter: opacity(0.25); }
.opacity-50 {filter: opacity(0.5); }
.opacity-75 {filter: opacity(0.75); }
.opacity-hover-75:hover {filter: opacity(1); }  .opacity-hover-75 {filter: opacity(0.75); }
.opacity-hover-50:hover {filter: opacity(1); }  .opacity-hover-50 {filter: opacity(0.5); }
.opacity-hover-25:hover {filter: opacity(1); }  .opacity-hover-25 {filter: opacity(0.25); }









/* ------------------------------------------ SHAPING ------------------------------------------ */
.noborder {border: none; }
.border-r-100p { border-radius: 100%; }
.border-r-5 { border-radius: 5px; }
.border-r-10 { border-radius: 10px; }
.border-r-15 { border-radius: 15px; }
.border-r-25 { border-radius: 25px; }
.border-r-50 { border-radius: 50px; }

.border-r-l-5 { border-radius: 5px 0 0 5px; }
.border-r-l-10 { border-radius: 10px 0 0 10px; }
.border-r-l-15 { border-radius: 15px 0 0 15px; }
.border-r-l-25 { border-radius: 25px 0 0 25px; }
.border-r-l-50 { border-radius: 50px 0 0 50px; }

.border-r-r-5 { border-radius: 0 5px 5px 0; }
.border-r-r-10 { border-radius: 0 10px 10px 0; }
.border-r-r-15 { border-radius: 0 15px 15px 0; }
.border-r-r-25 { border-radius: 0 25px 25px 0; }
.border-r-r-50 { border-radius: 0 50px 50px 0; }

.border-r-t-5 { border-radius: 5px 5px 0 0; }
.border-r-t-10 { border-radius: 10px 10px 0 0; }
.border-r-t-15 { border-radius: 15px 15px 0 0; }
.border-r-t-25 { border-radius: 25px 25px 0 0; }
.border-r-t-50 { border-radius: 50px 50px 0 0; }

.clickable {cursor: pointer; }








/* ------------------------------------------ TEXTING ------------------------------------------ */
.tx-xxxl {font-size: 4.5em; }
.tx-xxl {font-size: 3.5em; }
.tx-xl {font-size: 2.5em; }
.tx-lg {font-size: 1.4em; }
.tx-md {font-size: 1em; }
.tx-sm {font-size: 0.85em; }
.tx-xs {font-size: 0.55em; }

.tx-reset {color: unset; }
.tx-center {text-align: center; }
.tx-end, .tx-right {text-align: right; }
.tx-start, .tx-left {text-align: left; }
.tx-bold {font-weight: bold; }
.tx-italic {font-style: italic; }

.letter-s-1 {letter-spacing: 1px; }
.letter-s-2 {letter-spacing: 2px; }
.letter-s-3 {letter-spacing: 3px; }
.letter-s-5 {letter-spacing: 5px; }
.letter-s-10 {letter-spacing: 10px; }
.letter-s-15 {letter-spacing: 15px; }
.letter-s-25 {letter-spacing: 25px; }
.tx-ls-1 {letter-spacing: 1px; }
.tx-ls-2 {letter-spacing: 2px; }
.tx-ls-3 {letter-spacing: 3px; }
.tx-ls-5 {letter-spacing: 5px; }
.tx-ls-10 {letter-spacing: 10px; }
.tx-ls-15 {letter-spacing: 15px; }
.tx-ls-25 {letter-spacing: 25px; }
.word-s-1 {word-spacing: 1px; }
.word-s-2 {word-spacing: 2px; }
.word-s-3 {word-spacing: 3px; }
.word-s-5 {word-spacing: 5px; }

.linethrough { text-decoration: line-through }
.strikethrough { text-decoration: line-through }
.nodeco { text-decoration: none ; }
.nowrap {white-space: nowrap; }

.nooverflow {overflow: hidden;}
























/* ------------------------------------------ SPACING ------------------------------------------ */
.w-100 {
	width: 100%;
	max-width: 100%;
}
.w-50 {
	width: 50%;
	max-width: 50%;
}

/* ALL */ 			.ma-0 { margin: 0 !important}
					.ma-1 { margin: 5px !important}
					.ma-2 { margin: 10px !important}
					.ma-3 { margin: 15px !important}
					.ma-4 { margin: 20px !important}
					.ma-5 { margin: 25px !important}
					.ma-6 { margin: 30px !important}
					.ma-7 { margin: 35px !important}
					.ma-8 { margin: 40px !important}
					.ma-200 { margin: 420px !important}
/* HORIZONTAL */
.mx-0 { margin-left: 0 !important; margin-right: 0 !important}
.mx-1 { margin-left: 5px !important; margin-right: 5px !important}
.mx-2 { margin-left: 10px !important; margin-right: 10px !important}
.mx-3 { margin-left: 15px !important; margin-right: 15px !important}
.mx-4 { margin-left: 20px !important; margin-right: 20px !important}
.mx-5 { margin-left: 25px !important; margin-right: 25px !important}
.mx-6 { margin-left: 30px !important; margin-right: 30px !important}
.mx-7 { margin-left: 35px !important; margin-right: 35px !important}
.mx-8 { margin-left: 40px !important; margin-right: 40px !important}
.mx-200 { margin-left: 200px !important; margin-right: 200px !important}
/* VERTICAL */
.my-0 { margin-top: 0 !important; margin-bottom: 0 !important}
.my-1 { margin-top: 5px !important; margin-bottom: 5px !important}
.my-2 { margin-top: 10px !important; margin-bottom: 10px !important}
.my-3 { margin-top: 15px !important; margin-bottom: 15px !important}
.my-4 { margin-top: 20px !important; margin-bottom: 20px !important}
.my-5 { margin-top: 25px !important; margin-bottom: 25px !important}
.my-6 { margin-top: 30px !important; margin-bottom: 30px !important}
.my-7 { margin-top: 35px !important; margin-bottom: 35px !important}
.my-8 { margin-top: 40px !important; margin-bottom: 40px !important}
.my-200 { margin-top: 200px !important; margin-bottom: 200px !important}
/* LEFT */ 			.ml-0 { margin-left: 0 !important}
					.ml-1 { margin-left: 5px !important}
					.ml-2 { margin-left: 10px !important}
					.ml-3 { margin-left: 15px !important}
					.ml-4 { margin-left: 20px !important}
					.ml-5 { margin-left: 25px !important}
					.ml-6 { margin-left: 30px !important}
/* RIGHT */ 		.mr-0 { margin-right: 0 !important}
					.mr-1 { margin-right: 5px !important}
					.mr-2 { margin-right: 10px !important}
					.mr-3 { margin-right: 15px !important}
					.mr-4 { margin-right: 20px !important}
					.mr-5 { margin-right: 25px !important}
					.mr-6 { margin-right: 30px !important}
					.mr-7 { margin-right: 35px !important}
					.mr-8 { margin-right: 40px !important}
					.mr-200 { margin-right: 200px !important}
/* TOP */ 			.mt-0 { margin-top: 0 !important}
					.mt-1 { margin-top: 5px !important}
					.mt-2 { margin-top: 10px !important}
					.mt-3 { margin-top: 15px !important}
					.mt-4 { margin-top: 20px !important}
					.mt-5 { margin-top: 25px !important}
					.mt-6 { margin-top: 30px !important}
					.mt-7 { margin-top: 35px !important}
					.mt-8 { margin-top: 40px !important}
					.mt-200 { margin-top: 200px !important}
/* BOTTOM */ 		.mb-0 { margin-bottom: 0 !important}
					.mb-1 { margin-bottom: 5px !important}
					.mb-2 { margin-bottom: 10px !important}
					.mb-3 { margin-bottom: 15px !important}
					.mb-4 { margin-bottom: 20px !important}
					.mb-5 { margin-bottom: 25px !important}
					.mb-6 { margin-bottom: 30px !important}
					.mb-7 { margin-bottom: 35px !important}
					.mb-8 { margin-bottom: 40px !important}
					.mb-200 { margin-bottom: 200px !important}

/* ALL */ 			.pa-0 { padding: 0 !important}
					.pa-1 { padding: 5px !important}
					.pa-2 { padding: 10px !important}
					.pa-3 { padding: 15px !important}
					.pa-4 { padding: 20px !important}
					.pa-5 { padding: 25px !important}
					.pa-6 { padding: 30px !important}
					.pa-7 { padding: 35px !important}
					.pa-8 { padding: 40px !important}
/* HORIZONTAL */
.px-0 { padding-left: 0 !important; padding-right: 0 !important}
.px-1 { padding-left: 5px !important; padding-right: 5px !important}
.px-2 { padding-left: 10px !important; padding-right: 10px !important}
.px-3 { padding-left: 15px !important; padding-right: 15px !important}
.px-4 { padding-left: 20px !important; padding-right: 20px !important}
.px-5 { padding-left: 25px !important; padding-right: 25px !important}
.px-6 { padding-left: 30px !important; padding-right: 30px !important}
.px-7 { padding-left: 35px !important; padding-right: 35px !important}
.px-8 { padding-left: 40px !important; padding-right: 40px !important}
/* VERTICAL */
.py-0 { padding-top: 0 !important; padding-bottom: 0 !important}
.py-1 { padding-top: 5px !important; padding-bottom: 5px !important}
.py-2 { padding-top: 10px !important; padding-bottom: 10px !important}
.py-3 { padding-top: 15px !important; padding-bottom: 15px !important}
.py-4 { padding-top: 20px !important; padding-bottom: 20px !important}
.py-5 { padding-top: 25px !important; padding-bottom: 25px !important}
.py-6 { padding-top: 30px !important; padding-bottom: 30px !important}
.py-7 { padding-top: 35px !important; padding-bottom: 35px !important}
.py-8 { padding-top: 40px !important; padding-bottom: 40px !important}
/* LEFT */ 			.pl-0 { padding-left: 0 !important}
					.pl-1 { padding-left: 5px !important}
					.pl-2 { padding-left: 10px !important}
					.pl-3 { padding-left: 15px !important}
					.pl-4 { padding-left: 20px !important}
					.pl-5 { padding-left: 25px !important}
					.pl-6 { padding-left: 30px !important}
/* RIGHT */ 		.pr-0 { padding-right: 0 !important}
					.pr-1 { padding-right: 5px !important}
					.pr-2 { padding-right: 10px !important}
					.pr-3 { padding-right: 15px !important}
					.pr-4 { padding-right: 20px !important}
					.pr-5 { padding-right: 25px !important}
					.pr-6 { padding-right: 30px !important}
					.pr-7 { padding-right: 35px !important}
					.pr-8 { padding-right: 40px !important}
/* TOP */ 			.pt-0 { padding-top: 0 !important}
					.pt-1 { padding-top: 5px !important}
					.pt-2 { padding-top: 10px !important}
					.pt-3 { padding-top: 15px !important}
					.pt-4 { padding-top: 20px !important}
					.pt-5 { padding-top: 25px !important}
					.pt-6 { padding-top: 30px !important}
					.pt-7 { padding-top: 35px !important}
					.pt-8 { padding-top: 40px !important}
/* BOTTOM */ 		.pb-0 { padding-bottom: 0 !important}
					.pb-1 { padding-bottom: 5px !important}
					.pb-2 { padding-bottom: 10px !important}
					.pb-3 { padding-bottom: 15px !important}
					.pb-4 { padding-bottom: 20px !important}
					.pb-5 { padding-bottom: 25px !important}
					.pb-6 { padding-bottom: 30px !important}
					.pb-7 { padding-bottom: 35px !important}
					.pb-8 { padding-bottom: 40px !important}














/* ------------------------------------------ ANIMATING ------------------------------------------ */
.spin-spin { animation: spinspin 2s;  animation-iteration-count: infinite }
@keyframes spinspin { 0%{ transform: rotate(90deg); } 100% { transform: rotate(450deg); } }
.spin-nback { animation: spinnback 4s;  animation-iteration-count: infinite }
@keyframes spinnback { 0%{ transform: rotate(-90deg); } 50% { transform: rotate(-450deg); } 100% { transform: rotate(-90deg); } }

.shake-shake { animation: shakeshake 1s;  animation-iteration-count: infinite }
@keyframes shakeshake { 0%{ transform: rotate(0deg); } 35%{ transform: rotate(-5deg); } 50% { transform: rotate(15deg); } 100% { transform: rotate(0deg); } }
.shake-nback { animation: shakenback 2s;  animation-iteration-count: infinite }
@keyframes shakenback { 0%{ transform: rotate(-0deg); } 50% { transform: rotate(-450deg); } 100% { transform: rotate(-0deg); } }

.hover-hover { animation: hoverhover 2s;  animation-iteration-count: infinite }
@keyframes hoverhover {
	0%{ transform: translateY(-4px); }
	66% { transform: translateY(6px); }
	/*75% { transform: translateY(6px); }*/
	100% { transform: translateY(-4px); }
}
.hover-nhover { animation: hovernback 2s;  animation-iteration-count: infinite }
@keyframes hovernback { 0%{ transform: translateY(0px); } 50% { transform: translateY(9px); } 100% { transform: translateY(0px); } }










/* ------------------------------------------ FILTERING ------------------------------------------ */
.nosaturation {filter: saturate(0); }