:root {
	--viewport-element--large : calc(1vw + 1vh);
	--viewport-element : calc(var(--viewport-element--large) / 2);
	--viewport-element--small : calc(var(--viewport-element--large) / 4);
	--viewport-element--tiny : calc(var(--viewport-element--large) / 8);
}
.margin--percent {
	margin-left: 6%;
	margin-right: 6%;
	width: 88%;
}
.margin--viewport--large {
	margin: var(--viewport-element--large);
}
.margin--viewport {
	margin: var(--viewport-element);
}
.margin--viewport--small {
	margin: var(--viewport-element--small);
}
.margin--viewport--tiny {
	margin: var(--viewport-element--tiny);
}
.flex-row {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	flex-wrap: nowrap;
}
.flex-column {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.flex-column * {
	max-width: 100%;
}
.flex--v-center {
	align-items: center;
}
.flex-item--v-center {
	align-self: center;
	width: 100%;
}
.flex--justify-start {
	justify-content: flex-start;
}
.flex--justify-end {
	justify-content: flex-end;
}
.flex--justify-between {
	justify-content: space-between;
}
.flex--justify-around {
	justify-content: space-around;
}
.flex--justify-center {
	justify-content: center;
}
.flex--align-center {
	align-items: center;
}
.flex--align-end {
	align-items: flex-end;
}
.flex--align-stretch {
	align-items: stretch;
}
.flex--wrap {
	flex-wrap: wrap;
}
.flex--nowrap {
	flex-wrap: nowrap;
}
.unselectable-string {
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;

	-webkit-touch-callout: none;
}
.unbreakable-string {
	-webkit-hyphens: unset !important;
	-moz-hyphens: unset !important;
	-ms-hyphens: unset !important;
	hyphens: unset !important;

	overflow-wrap: unset !important;
	white-space: nowrap !important;
	word-break: unset !important;
	word-wrap: unset !important;
}