.fa {
	font-family: var(--fa-style-family, 'Icons');
	font-weight: var(--fa-style, 900);
}

.fas, .fass, .far, .fasr, .fal, .fasl, .fat, .fast, .fad, .fadr, .fadl, .fadt, .fasds, .fasdr, .fasdl, .fasdt, .fab, .fa-solid, .fa-regular, .fa-light, .fa-thin, .fa-brands, .fa-classic, .fa-duotone, .fa-sharp, .fa-sharp-duotone, .fa {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	display: var(--fa-display, inline-block);
	font-style: normal;
	font-variant: normal;
	line-height: 1;
	text-rendering: auto;
}

.fas::before, .fass::before, .far::before, .fasr::before, .fal::before, .fasl::before, .fat::before, .fast::before, .fad::before, .fadr::before, .fadl::before, .fadt::before, .fasds::before, .fasdr::before, .fasdl::before, .fasdt::before, .fab::before, .fa-solid::before, .fa-regular::before, .fa-light::before, .fa-thin::before, .fa-brands::before, .fa-classic::before, .fa-duotone::before, .fa-sharp::before, .fa-sharp-duotone::before, .fa::before {
	content: var(--fa);
}

.fad::after, .fa-duotone.fa-solid::after, .fa-duotone::after, .fadr::after, .fa-duotone.fa-regular::after, .fadl::after, .fa-duotone.fa-light::after, .fadt::after, .fa-duotone.fa-thin::after, .fasds::after, .fa-sharp-duotone.fa-solid::after, .fa-sharp-duotone::after, .fasdr::after, .fa-sharp-duotone.fa-regular::after, .fasdl::after, .fa-sharp-duotone.fa-light::after, .fasdt::after, .fa-sharp-duotone.fa-thin::after {
	content: var(--fa--fa);
}

.fa-classic.fa-duotone {
	font-family: 'Duotone';
}

.fass, .fa-sharp {
	font-weight: 900;
}

.fad, .fa-duotone {
	font-weight: 900;
}

.fasds, .fa-sharp-duotone {
	font-weight: 900;
}

.fa-classic, .fas, .fa-solid, .far, .fa-regular, .fal, .fa-light, .fat, .fa-thin {
	font-family: 'Icons'; }

.fa-duotone, .fad, .fadr, .fadl, .fadt {
	font-family: 'Duotone'; }

.fa-brands, .fab {
	font-family: 'Brands'; }

.fa-sharp, .fass, .fasr, .fasl, .fast {
	font-family: 'Sharp'; }

.fa-sharp-duotone, .fasds, .fasdr, .fasdl, .fasdt {
	font-family: 'Sharp Duotone'; }

.fa-1x { font-size: 1em; }
.fa-2x { font-size: 2em; }
.fa-3x { font-size: 3em; }
.fa-4x { font-size: 4em; }
.fa-5x { font-size: 5em; }
.fa-6x { font-size: 6em; }
.fa-7x { font-size: 7em; }
.fa-8x { font-size: 8em; }
.fa-9x { font-size: 9em; }
.fa-10x { font-size: 10em; }

.fa-2xs {
	font-size: 0.625em;
	line-height: 0.1em;
	vertical-align: 0.225em; }

.fa-xs {
	font-size: 0.75em;
	line-height: 0.08333em;
	vertical-align: 0.125em; }

.fa-sm {
	font-size: 0.875em;
	line-height: 0.07143em;
	vertical-align: 0.05357em; }

.fa-lg {
	font-size: 1.25em;
	line-height: 0.05em;
	vertical-align: -0.075em; }

.fa-xl {
	font-size: 1.5em;
	line-height: 0.04167em;
	vertical-align: -0.125em; }

.fa-2xl {
	font-size: 2em;
	line-height: 0.03125em;
	vertical-align: -0.1875em; }

.fa-fw {
	text-align: center;
	width: 1.25em; }

.fa-ul {
	list-style-type: none;
	margin-left: var(--fa-li-margin, 2.5em);
	padding-left: 0;
}

.fa-ul > li {
	position: relative;
}

.fa-li {
	left: calc(-1 * var(--fa-li-width, 2em));
	position: absolute;
	text-align: center;
	width: var(--fa-li-width, 2em);
	line-height: inherit;
}

.fa-border {
	border-color: var(--fa-border-color, #eee);
	border-radius: var(--fa-border-radius, 0.1em);
	border-style: var(--fa-border-style, solid);
	border-width: var(--fa-border-width, 0.08em);
	padding: var(--fa-border-padding, 0.2em 0.25em 0.15em);
}

.fa-pull-left {
	float: left;
	margin-right: var(--fa-pull-margin, 0.3em);
}

.fa-pull-right {
	float: right;
	margin-left: var(--fa-pull-margin, 0.3em);
}

.fa-beat {
	animation-name: fa-beat;
	animation-delay: var(--fa-animation-delay, 0s);
	animation-direction: var(--fa-animation-direction, normal);
	animation-duration: var(--fa-animation-duration, 1s);
	animation-iteration-count: var(--fa-animation-iteration-count, infinite);
	animation-timing-function: var(--fa-animation-timing, ease-in-out);
}

.fa-bounce {
	animation-name: fa-bounce;
	animation-delay: var(--fa-animation-delay, 0s);
	animation-direction: var(--fa-animation-direction, normal);
	animation-duration: var(--fa-animation-duration, 1s);
	animation-iteration-count: var(--fa-animation-iteration-count, infinite);
	animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));
}

.fa-fade {
	animation-name: fa-fade;
	animation-delay: var(--fa-animation-delay, 0s);
	animation-direction: var(--fa-animation-direction, normal);
	animation-duration: var(--fa-animation-duration, 1s);
	animation-iteration-count: var(--fa-animation-iteration-count, infinite);
	animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
}

.fa-beat-fade {
	animation-name: fa-beat-fade;
	animation-delay: var(--fa-animation-delay, 0s);
	animation-direction: var(--fa-animation-direction, normal);
	animation-duration: var(--fa-animation-duration, 1s);
	animation-iteration-count: var(--fa-animation-iteration-count, infinite);
	animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
}

.fa-flip {
	animation-name: fa-flip;
	animation-delay: var(--fa-animation-delay, 0s);
	animation-direction: var(--fa-animation-direction, normal);
	animation-duration: var(--fa-animation-duration, 1s);
	animation-iteration-count: var(--fa-animation-iteration-count, infinite);
	animation-timing-function: var(--fa-animation-timing, ease-in-out);
}

.fa-shake {
	animation-name: fa-shake;
	animation-delay: var(--fa-animation-delay, 0s);
	animation-direction: var(--fa-animation-direction, normal);
	animation-duration: var(--fa-animation-duration, 1s);
	animation-iteration-count: var(--fa-animation-iteration-count, infinite);
	animation-timing-function: var(--fa-animation-timing, linear);
}

.fa-spin {
	animation-name: fa-spin;
	animation-delay: var(--fa-animation-delay, 0s);
	animation-direction: var(--fa-animation-direction, normal);
	animation-duration: var(--fa-animation-duration, 2s);
	animation-iteration-count: var(--fa-animation-iteration-count, infinite);
	animation-timing-function: var(--fa-animation-timing, linear);
}

.fa-spin-reverse {
	--fa-animation-direction: reverse;
}

.fa-pulse, .fa-spin-pulse {
	animation-name: fa-spin;
	animation-direction: var(--fa-animation-direction, normal);
	animation-duration: var(--fa-animation-duration, 1s);
	animation-iteration-count: var(--fa-animation-iteration-count, infinite);
	animation-timing-function: var(--fa-animation-timing, steps(8));
}

@keyframes fa-beat {
	0%, 90% { transform: scale(1); }
	45% { transform: scale(var(--fa-beat-scale, 1.25)); }
}

@keyframes fa-bounce {
	0% { transform: scale(1, 1) translateY(0); }
	10% { transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); }
	30% { transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); }
	50% { transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); }
	57% { transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); }
	64% { transform: scale(1, 1) translateY(0); }
	100% { transform: scale(1, 1) translateY(0); }
}

@keyframes fa-fade {
	50% { opacity: var(--fa-fade-opacity, 0.4); }
}

@keyframes fa-beat-fade {
	0%, 100% { opacity: var(--fa-beat-fade-opacity, 0.4); transform: scale(1); }
	50% { opacity: 1; transform: scale(var(--fa-beat-fade-scale, 1.125)); }
}

@keyframes fa-flip {
	50% { transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); } }

@keyframes fa-shake {
	0% { transform: rotate(-15deg); }
	4% { transform: rotate(15deg); }
	8%, 24% { transform: rotate(-18deg); }
	12%, 28% { transform: rotate(18deg); }
	16% { transform: rotate(-22deg); }
	20% { transform: rotate(22deg); }
	32% { transform: rotate(-12deg); }
	36% { transform: rotate(12deg); }
	40%, 100% { transform: rotate(0deg); }
}

@keyframes fa-spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

.fa-rotate-90 { transform: rotate(90deg); }
.fa-rotate-180 { transform: rotate(180deg); }
.fa-rotate-270 { transform: rotate(270deg); }

.fa-flip-horizontal { transform: scale(-1, 1); }
.fa-flip-vertical { transform: scale(1, -1); }
.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical { transform: scale(-1, -1); }

.fa-rotate-by { transform: rotate(var(--fa-rotate-angle, 0)); }

.fa-stack {
	display: inline-block;
	height: 2em;
	line-height: 2em;
	position: relative;
	vertical-align: middle;
	width: 2.5em;
}

.fa-stack-1x, .fa-stack-2x {
	left: 0;
	position: absolute;
	text-align: center;
	width: 100%;
	z-index: var(--fa-stack-z-index, auto);
}

.fa-stack-1x { line-height: inherit; }
.fa-stack-2x { font-size: 2em; }

.fa-inverse { color: var(--fa-inverse, #fff); }

.sr-only, .fa-sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border-width: 0;
}

.sr-only-focusable:not(:focus), .fa-sr-only-focusable:not(:focus) {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border-width: 0;
}

:root, :host {
	--fa-style-family-brands: 'Brands';
	--fa-font-brands: normal 400 1em/1 'Brands';
}

.fab, .fa-brands {
	font-weight: 400;
}

:root, :host {
	--fa-style-family-duotone: 'Duotone';
	--fa-font-duotone: normal 900 1em/1 'Duotone';
}

.fad, .fa-duotone {
	position: relative;
	font-weight: 900;
	letter-spacing: normal;
}

.fad::before, .fa-duotone::before {
	position: absolute;
	color: var(--fa-primary-color, inherit);
	opacity: var(--fa-primary-opacity, 1);
}

.fad::after, .fa-duotone::after {
	color: var(--fa-secondary-color, inherit);
	opacity: var(--fa-secondary-opacity, 0.4);
}

.fa-swap-opacity .fad::before, .fa-swap-opacity .fa-duotone::before, .fad.fa-swap-opacity::before, .fa-duotone.fa-swap-opacity::before {
	opacity: var(--fa-secondary-opacity, 0.4);
}

.fa-swap-opacity .fad::after, .fa-swap-opacity .fa-duotone::after, .fad.fa-swap-opacity::after, .fa-duotone.fa-swap-opacity::after {
	opacity: var(--fa-primary-opacity, 1);
}

.fad.fa-inverse, .fa-duotone.fa-inverse {
	color: var(--fa-inverse, #fff);
}

.fad.fa-stack-1x, .fad.fa-stack-2x, .fa-duotone.fa-stack-1x, .fa-duotone.fa-stack-2x { position: absolute; }

.fal, .fa-light { font-weight: 300; }
.far, .fa-regular { font-weight: 400; }
.fas, .fa-solid { font-weight: 900; }
.fat, .fa-thin { font-weight: 100; }