:root {
	--width: 150px;
	--padding: 2px;
	--height: 65px;
	--bgcolour: #66dddd;
	--bordercolour: #99eeee;
	--border: 1px;
}
.gridsize {
	width: var(--width);
	height: var(--height);
	position: absolute;
	left: -1000px;
}
.entrygrid, .entrygrid table {
	position: relative;
	border: 0px;
}
.entrygrid th, .entrygrid td {
	border: solid;
	border-width: var(--border);
	border-color: var(--bordercolour);
	padding: var(--padding);
	width: calc(var(--width) - ((var(--padding) + var(--border)) * 2));
	min-width: calc(var(--width) - ((var(--padding) + var(--border)) * 2));
	max-width: calc(var(--width) - ((var(--padding) + var(--border)) * 2));
	height: calc(var(--height) - ((var(--padding) + var(--border)) * 2));
	min-height: calc(var(--height) - ((var(--padding) + var(--border)) * 2));
	max-height: calc(var(--height) - ((var(--padding) + var(--border)) * 2));	
	overflow: hidden;
	text-align: center;
	white-space: nowrap;
	background: var(--bgcolour);
	background: radial-gradient(var(--bgcolour) 90%, var(--bordercolour));
}
.entrygrid tr {
	height: var(--height);
	overflow: hidden;
}

.tdmultiple {
	/* Requires --colspan to be sent also via style tag and colspan set within td as well */
	width: calc((var(--width) * var(--colspan)) - ((var(--padding) + var(--border)) * 2)) !important;
	min-width: calc((var(--width) * var(--colspan)) - ((var(--padding) + var(--border)) * 2)) !important;
	max-width: calc((var(--width) * var(--colspan)) - ((var(--padding) + var(--border)) * 2)) !important;
}
.tdvmultiple {
	/* Requires --rowspan to be sent also via style tag and rowspan set within td as well */
	height: calc((var(--height) * var(--rowspan))) !important;
	min-height: calc((var(--height) * var(--rowspan))) !important;
	max-height: calc((var(--height) * var(--rowspan))) !important;
}
.tdvhmultiple {
/* Requires --colspan to be sent also via style tag and colspan set within td as well */
	width: calc((var(--width) * var(--colspan)) - ((var(--padding) + var(--border)) * 2)) !important;
	min-width: calc((var(--width) * var(--colspan)) - ((var(--padding) + var(--border)) * 2)) !important;
	max-width: calc((var(--width) * var(--colspan)) - ((var(--padding) + var(--border)) * 2)) !important;
	/* Requires --rowspan to be sent also via style tag and rowspan set within td as well */
	height: calc((var(--height) * var(--rowspan))) !important;
	min-height: calc((var(--height) * var(--rowspan))) !important;
	max-height: calc((var(--height) * var(--rowspan))) !important;
}

.gridtopleftholder {
	position: absolute;
	left: 10px;
	width: 0px;
	overflow: hidden;
	z-index: 2;
}
.gridtopholder {
	position: absolute;
	width: 0px;
	overflow-x: hidden;
	overflow-y: scroll;
	z-index: 1;
}
.gridleftholder {
	position: absolute;
	left: 10px;
	height: 0px;
	overflow-y: hidden;
	overflow-x: scroll;
	z-index: 1;
}
.griddataholder {
	position: absolute;
	height: 0px;
	width: 0px;
	overflow: scroll;
	z-index: 0;
}
.griddata {
	position: absolute;
	width: 0px;
	height: 0px;
	overflow: hidden;
}
.wraptext {
	white-space: normal !important;
}