body {
	--button-border-radius: 40px;
	--button-bg: transparent;
	--button-stroke: #ffffff;
	--button-stroke-width: 1px;
	--button-text: #ffffff;
	--button-bg-hover: #ffffff;
	--button-stroke-hover: #000;
	--button-stroke-width-hover: 0px;
	--button-text-hover: #000;
	--cursor-stroke: #fff;
    --cursor-fill: #fff;
    --cursor-stroke-width: 1px;
	--button-filler: #ffffff;
	/*--color-bg: #ccc;*/
}



.button {
    z-index: 100000000000000;
	cursor: pointer;
	-moz-appearance: none;
	-webkit-appearance: none;
	border-width: var(--button-stroke-width);
	border-color: var(--button-stroke);
	border-style: solid;
	color: var(--button-text);
	background: var(--button-bg);
	border-radius: var(--button-border-radius);
	min-width: 11rem;
	height: 4rem;
	padding: 0;
	margin: 1rem;
	font-family: inherit;
	font-size: 1.5rem;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}



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



.button__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 {
    z-index: 100000000000000;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}



.button {
	position: relative;
}



.active {
	cursor: pointer;
}



.cursor {
	display: none;
}



/* Fade effect */

.js body {
	opacity: 0;
	transition: opacity 0.3s;
}



.js body.render {
	opacity: 1;
}





@media (any-pointer: fine) {

	.cursor {
		position: fixed;
		top: 0;
		left: 0;
		display: block;
		pointer-events: none;
	}

	.cursor__inner {
		fill: var(--cursor-fill);
		stroke: var(--cursor-stroke);
        stroke-width: var(--cursor-stroke-width);
        mix-blend-mode: difference !important;
	}

	.credits {
		padding-left: 25vw;
	}

}

