body {
	--button-border-radius: 50%;
    --button-bg: transparent;
    --button-stroke: #ce1352;
    --button-stroke-width: 1px;
    --button-text: #ffffff;
    --button-bg-hover: transparent;
    --button-stroke-hover: #ce1352;
    --button-stroke-width-hover: 1px;
    --button-text-hover: #ffffff;
    --cursor-stroke: #fff;
    --cursor-fill: #fff;
    --cursor-stroke-width: 1px;
    --color-text: #ffffff;
    --color-bg: #312b35;
    --color-link: #89639e;
    --color-link-hover: #ce1352;
    --button-filler: #ce1352;
}

.button {
	cursor: pointer;
	-moz-appearance: none;
	-webkit-appearance: none;
	color: var(--button-text);
	border: 0;
	background: none;
	width: 10rem;
	height: 10rem;
	padding: 0;
	margin: 1rem;
	font-family: inherit;
	font-size: 1.7rem;
	display: flex;
	align-items: center;
	justify-content: center;
}

.button:focus,
.button--hover {
	outline: none;
	border-width: var(--button-stroke-width-hover);
	border-color: var(--button-stroke-hover);
	color: var(--button-text-hover);
	background: var(--button-bg-hover);
}

.button__deco {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	border-width: var(--button-stroke-width);
	border-color: var(--button-stroke);
	border-style: solid;
	border-radius: var(--button-border-radius);
	background: var(--button-bg);
}

.button__deco-filler {
	background: var(--button-filler);
	position: absolute;
	width: 150%;
	height: 200%;
	border-radius: 50%;
	top: -50%;
	left: -25%;
	transform: translate3d(0,75%,0);
}

.button__text, 
.button__text-inner {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}