:root {
	--square-size: 45vmin;
	--font-size: 5vmin;
}
@media (min-width: 1024px) {
	:root {
		--square-size: 22vmin;
		--font-size: 2.5vmin;
	}
}
html {
	overflow-x: hidden;
	max-width: 100vw;
}
body {
	background: url(lines.svg), url(wood.jpg);
	background-size: var(--square-size), 270vmin 270vmin;
	background-position: top calc(var(--square-size) * 0.5) center, top 25vmin center;
	font-size: 0;
	overflow-x: hidden;
	max-width: 100vw;
}
#wrapper {
	position: absolute;
	display: block;
	width: 100vw;
min-height: 100vh;
	top: 0;
	left: 0;
	overflow-x: hidden;
}
#main {
	display: inline-block;
	width: round(down, 100vw, calc(var(--square-size)*2));
	position: absolute;
	position: relative;
	top: 0;
	left: 50vw;
	transform: translate(-50%, 0);
}
.stone {
	width: calc(var(--square-size)*2);
	flex-basis: calc(var(--square-size)*2);
	display: inline-block;
	height: calc(var(--square-size)*2);
	padding: 0;
	margin: 0;
	border-radius: 50%;
	background-color: white;
	position: relative;
}
.black {
	background-color: black;
}
.stone > div {
	position: absolute;
	width: 100%;
	height: 100%;
	background-image: url("cathedral.jpg");
	background-size: cover;
	background-position: center;
	-webkit-mask-image: radial-gradient(circle, black 0%, white 100%);
	mask-image: radial-gradient(circle, black 25%, rgba(0,0,0,0) 75%);
}
@media (min-aspect-ratio: 1.8), (min-width: 1024px) {
	.left {
		margin-left: calc(var(--square-size)*(-1));
	}
	.right {
		margin-right: calc(var(--square-size)*(-1));
	}
	.stonewrap {
		display: flex;
		align-items: flex-end;
	}
	.stonewrap > div {
		flex-grow: 0;
		flex-shrink: 0;
	}
	.wrapr {
		flex-direction: row-reverse;
	}
}
.square {
	width: calc(round(down, 100vw, 2*var(--square-size)) - var(--square-size));
	display: flex;
	height: var(--square-size);
	padding: 0%;
	margin: 0%;
	overflow: hidden;
	font-size: var(--font-size);
	position: relative;
	align-items: center;
	justify-content: center;
}
.square > div {
	width: 100%;
	margin: 0;
}
.OLDsquare {
	display: inline-block;
}
.OLDsquare > div {
	position: absolute; 
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.full {
	width: round(down, 100vw, 2*var(--square-size));
}
@media (max-aspect-ratio: 1.8) and (max-width: 1024px) {
	.squareXXX {
		width: round(down, 100vw, var(--square-size));
	}
	.square {
		width: calc(var(--square-size)*2);
	}
}
.double {
	height: calc(var(--square-size)*2);
}
.triple {
	height: calc(var(--square-size)*3);
}

@supports (height: calc-size(fit-content, size)) {
	.autoheight {
		height: calc-size(fit-content, round(up, size, var(--square-size)));
	}
	.square {
		height: calc-size(fit-content, round(up, size, var(--square-size)));
	}
	.Xstonewrap > .square {
		min-height: calc(var(--square-size)*2);
	}
}
.force {
	height: var(--square-size);
}

h1 {
	text-align: center;
}
h2 {
	text-align: center;
}
p {
	margin: 0;
}

.bar {
	font: calc(var(--square-size)*0.08) sans-serif; 
	background-color: black;
	text-align: right;
	padding: calc(var(--square-size)*0.01) 3px;
	margin: calc(var(--square-size)*0.01) 1px;
	color: white;
	height: calc(var(--square-size)*0.08);
}
.nobar{
	font: calc(var(--square-size)*0.08) sans-serif; 
	text-align: left;
	padding: calc(var(--square-size)*0.01) 3px;
	margin: calc(var(--square-size)*0.01) 1px;
	color: black;
	border-style: solid;
	border-width: 0px; 
	border-left-width: 3px;
	border-color: black;
	height: calc(var(--square-size)*0.08);
}


.flexTable {
	display: grid; 
	grid-template-columns: 50% 50%;
	width: 100%; 
}
OLD {
	font-family: Verdana, sans-serif;
}
.flexTable > div > input[type=text] {
	width: 90%;
	font-size: var(--font-size);
}
.flexTable > div > select {
	font-size: var(--font-size);
}
.flexTable > div > div {
	flex-grow: 1;
}
.flexTable > div > div > input[type=text] {
	width: 80%;
	font-size: var(--font-size);
}
.flexTable > div > button {
	font-size: var(--font-size);
}

.hoverhighlight {
        background-color: none;
}
.hoverhighlight:hover {
        background-color: rgba(255,255,0,0.5);
}

ul {
	padding-left: 0;
	margin: 0.5em 0;
}
li {
	list-style-position: inside;
}
