html
{
	position: relative;
	overscroll-behavior: none;
	height: -webkit-fill-available;
	box-sizing: border-box;
	color: var(--black);
	font: 16px/1.5 var(--black);
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	-webkit-tap-highlight-color: transparent;
	scroll-behavior: smooth;
}

body, html
{
	overflow-x: hidden;
}


*,  *:before,  *:after
{
	box-sizing: border-box;
	transform-origin: 50% 50%;
	font-family: var(--font-body);
	margin: 0;
	padding: 0;
}

body
{
	min-height: 100vh;
	min-height: -webkit-fill-available;
	background-color: var(--black);
}

::selection
{
	background-color: var(--second-color);
	color: var(--white);
}

h1,  h2,  h3,  p
{
	margin: 0;
}

h1,  h2,  h3,  h4,  .h1-like,  .h2-like,  .h3-like,  .h4-like
{
	font-family: var(--font-mush);
	line-height: 0.95;
	letter-spacing: 0.566667px;
	text-transform: uppercase;
}

h1, .h1-like
{
	font-size: 96px;
}

h2, .h2-like
{
	font-size: 68px;
}

h3, .h3-like
{
	font-size: 58px;
}

h4, .h4-like
{
	font-size: 40px;
}

ul
{
	list-style: none;
	padding-left: 0;
	margin: 0;
}

a
{
	text-decoration: none;
	color: inherit;
}

a, a:visited, a:active, a:focus
{
	color: var(--pr-color);
}

button,  input[type='submit']
{
	cursor: pointer;
}

button
{
	color: inherit;
	appearance: none;
	outline: 0;
	border: 0;
	padding: 0;
	background: none;
}

input[type='text'],  input[type='email'],  input[type='tel'],  input[type='number'],  input[type='submit'],  select
{
	color: inherit;
	background: none;
	outline: 0;
	border: 0;
	border-radius: 0;
	appearance: none;
}

/* Position========================================================================== */
.u-PosRelative
{
	position: relative;
}

.u-PosAbsolute
{
	position: absolute;
}

.u-PosFixed
{
	position: fixed;
}

.u-OnTop
{
	z-index: 98;
}

.u-zIndexBoost
{
	position: relative;
	z-index: 10;
}

.u-posFit,  .u-posAbsoluteCenter,  .u-posAbsolute
{
	position: absolute !important;
}

/*** Element will be centered to its nearest relatively-positioned* ancestor.*/
.u-posFixedCenter,  .u-posAbsoluteCenter
{
	left: 50% !important;
	top: 50% !important;
	transform: translate(-50%, -50%) !important;
}

.u-posFit,  .u-posFullScreen
{
	bottom: 0 !important;
	left: 0 !important;
	margin: auto !important;
	right: 0 !important;
	top: 0 !important;
}

/*** 1. Make sure fixed elements are promoted into a new layer, for performance*reasons.*/
.u-posFullScreen,  .u-posFixedCenter,  .u-posFixed
{
	backface-visibility: hidden;
	/* 1 */
	position: fixed !important;
}

.u-posRelative
{
	position: relative !important;
}

.u-posStatic
{
	position: static !important;
}

/* Position========================================================================== */
/* Text========================================================================== */
.u-textCenter
{
	text-align: center;
}

.u-textRight
{
	text-align: right;
}

.u-textUpper
{
	text-transform: uppercase;
}

.u-textMedium
{
	font-weight: 500;
}

.u-textSemiBold
{
	font-weight: 600;
}

.u-textBold
{
	font-weight: 700;
}

.u-textDark
{
	color: var(--black);
}

.u-textLight
{
	color: var(--white);
}

.u-textPrimary
{
color: var(--pr-color)
}

.u-textSecondary
{
color: var(--second-color)
}

.u-regular
{
	font-family: var(--font-regular);
}

.u-mush
{
	font-family: var(--font-mush);
}

.u-body
{
	font-family: var(--font-body);
}
/* Text========================================================================== */