:root {
  /*--red: #9a0000;*/
	--red: #8F0000; /*panatone:"7621 C" rgb(rgb(143,0,0)), cmyk(0,100,100,44), hsl(0,100%,28%)*/
	--yellow: #ffcc00;/*rgb(255,204,0), hsl(48,100%,50%), cmyk(0,20,100,0) */
	/*--yellow: #FFD700;/*panatone "Yellow 012 C" rgb(255,215,0), hsl(50.4,100%,50%), cmyk(0,16,100,0) */
	--blue: #006699; /*rgb(0,102,153), hsl(200,100%,30%), cmyk(100,33,0,40) */
	/*--blue: #00629B; panatone "3015 C", rgb(0,98,155), hsl(202.1,100%,30.4%), cmyk(100,37,0,39)*/
	--bluegreen: #006969; /*rgb(0,105,105), hsl(180,100%,20.6%), cmyk(100,0,0,59) */
	/*--bluegreen: #006666; close to "7715 C" rgb(0,102,102), hsl(180,100%,20%), cmyk(100,0,0,60)*/
	--black: #000000;
	--warmblack: #191918;/*panatone "Black 6 C" rgb(25,25,24), hsl(60,2%,9.6%), cmyk(0,0,4,90)*/
	/*--warmblack: #1A1A19; rgb(26,26,25),hsl(60,2%,10%),cmyk(0,0,4,90) */
	--gray: #484848;
	--lightgray: #888888;
	--warmgray: #4b4b44;
	--warmlightgray: #656560;
	--white: #ffffff;
	--warmwhite: #fcfbe3; /* rgb(252,251,227),hsl(57.6,80.6%,93.9%),cmyk(0,0,10,1)*/
	/*--warmwhite: #fcfbe3;  rgb(252,252,227),hsl(60,81%,94%),cmyk(0,0,10,1)*/
	--warmlightwhite:#fdfdf3; /* panatone sort of "P 1-9 C"rgb(253,253,243),hsl(60,71.4%,97.3%),cmyk(0,0,4,1)*/
	--warmlightwhiteveil: rgba(253,253,243,0.8);
	--veilwarmwhite: rgba(252, 251, 227, 0.8);
	--veilwarmblack: rgba(25, 25, 24, 0.4);
	--richblack: #010203;
	--richgray1: #2a2a2b;
	--richgray2: #4f4f50;
	--richgray3: #777878;
	--richgray4: #a2a3a3;
	--richgray5: #d0d0d0;
	/*numbers :: set these to random numbers in code*/
	--n0: 0;
	--n1: 1;
	--n2: 2;
	--n3: 3;
	/*colors :: set these to color sets in code*/
	--color1: var(--warmblack);
	--color2: var(--warmwhite);
	/*other*/
	--zhighest: 8888;
	--zhigher: 4444;
	--zhigh: 2222;
	--z0: 0;
	--zlow: -2222;
	--zlower: -4444;
	--zlowest: -8888;
	--monospace_code: Courier, 'Andale Mono', AndaleMono, Monaco, monospace;
	--monospace: 'Lucida Console', 'Andale Mono', AndaleMono, Monaco, Courier, monospace;
	--monospace_zeroslash: Monaco, 'Andale Mono', AndaleMono, Courier, monospace;
	--monospace_zerodot: 'Andale Mono', AndaleMono, Monaco, Courier, monospace;
	--typewriter: 'American Typewriter', Didot, 'Times New Roman', serif;
	--sans: Verdana, Helvetica, Arial, Tahoma, 'Trebuchet MS', sans-serif;
	--serif: Georgia, Didot, 'Times New Roman', Times, serif;
	--cursive: 'Bradley Hand', 'Comic Sans MS', cursive, sans-serif;
	--dragons: Luminari, 'Bradley Hand', cursive, sans-serif;
	--oldbook: 'Palatino Linotype', 'Book Antiqua', Palatino, 'American Typewriter', 'Times New Roman', serif;
	/*function*/
	--daycolor: var(--warmblack);
	--daybg: var(--warmlightwhite);
	--dayveilbg: var(--warmlightwhiteveil);
	--nightcolor: var(--warmlightwhite);
	--nightbg: var(--warmblack);
	--nightveilbg: var(--veilwarmblack);
	--corecolor: var(--nightcolor);
	--corebg: var(--nightbg);
	--coreveilbg: var(--nightveilbg);
	--highlightcolor1: var(--yellow);
	--highlightcolor2: var(--red);
	--highlightcolor3: var(--blue);

	--actiontextdecoration: none;
	--actionhovertextdecoration: underline solid 2px var(--highlightcolor1);
	--actionborderleft: 2px var(--highlightcolor1) solid;
	--actionborderright: 2px var(--highlightcolor1) solid;
	--actionhoverborderleft: 2px var(--highlightcolor1) solid;
	--actionhoverborderright: 2px var(--highlightcolor2) solid;
	--actionhoveroutline: solid 4px var(--warmgray);
	--actionhoveroutlineoffset: .5em;

	--narratorfont: var(--sans);
	--zerofont: var(--monospace_zeroslash);
  	--riderfont: var(--monospace_zerodot);
  	--archivefont: var(--monospace_code);
  	--scribefont: var(--typewriter);
  	--nrows: 4; --ncols: 4;
	--corefont: var(--sans);
  	--corefontsize: 18px;
  	--corefontweight: 500;
  	--corefontweightbold: 600;
  	--corelineheight: 24px;

  	--dt: 1000ms;
}

/* browser fonts ::: https://blog.hubspot.com/website/web-safe-html-css-fonts */
html {
	font-family: var(--corefont);
	font-weight: var(--corefontweight);
	font-size: var(--corefontsize);
	line-height: var(--corelineheight);
	letter-spacing: 0.1em;
	margin: 0;padding: 0;border: 0;
	vertical-align: baseline;
	min-width:100%;
	min-height:100%;
}
@media only screen and (max-width: 900px) {
	html {
		font-size: 16px;
	}
}
@media only screen and (max-width: 480px) {
	html {
		font-size: 14px;
		line-height: 19px;
		letter-spacing: 0.12em;
	}
}

.underline {
	text-decoration: underline;
}
i, .italic { font-style: italic; }
small, .small { font-size: 0.8em; }
em, .bold { font-weight: var(--corefontweightbold); }
.zhighest {
	z-index: 8888;
	z-index: var(--zhighest);
}
.zhigher {
	z-index: 4444;
	z-index: var(--zhigher);
}
.zhigh {
	z-index: 2222;
	z-index: var(--zhigh);
}
.z0 {
	z-index: 0;
	z-index: var(--z0);
}
.zlow {
	z-index: -2222;
	z-index: var(--zlow);
}
.zlower {
	z-index: -4444;
	z-index: var(--zlower);
}
.zlowest {
	z-index: -8888;
	z-index: var(--zlowest);
}
.tickertape__zerodot {
	font-family: var(--monospace_zerodot);
	position: absolute;
	top: 0; left: 0;
	vertical-align: top;
	transform-origin: 50% 50% 0;
}
body { 
	margin: 0; padding: 0; border: 0;
	padding: 0px 0px;
	background-color: var(--warmgray);
	/*background-color: var(--corebg);*/
  	color: var(--corecolor);
	top:0; left:0;
	/*width:100%; height: 100%;*/
	min-width:100%;
	min-height:100%;
	text-align:left;
	letter-spacing: 0.1em;
}
#hidetext {
	position: fixed;
	top: 0; left: 0;
	font-size: 3em;
	padding-left:10px;
	padding-left:1rem;
	opacity:0.6;
	color: var(--warmwhite);
	z-index: var(--zhighest);
}
body.frame {
	position: fixed;
	top: 0; left: 0;
	vertical-align: top; text-align: left;
	margin: 0;
	width: 100%; height: 100%;
	min-width: 100%; max-width: 100%;
	min-height: 100%; max-height: 100%;
	padding: 0% 0% 0% 0%;
	overflow: auto;
	background-color: transparent;
	perspective: 50px;
	transform-origin: 50% 50% 0;
}
div.absolute, div.shape {
	position: absolute;
	top: 0; left: 0;
	/*vertical-align: top;*/
	transform: translateZ(0,0,0);
	perspective: 50px;
	transform-origin: 50% 50% 0;
}
div.hovershape {
	min-width: 20vmin;
	min-height: 20vmin;
	transition: color 3s, opacity 2s, transform 2s;
}
div.hovershape.circle {
	border-radius: 10vmin;
}

.frame, #svgframe, #divframe, #wordframe, #subtextframe {
	position: fixed;
	top: 0; left: 0;
	vertical-align: top; text-align: left;
	margin: 0;
	width: 100%; height: 100%;
	min-width: 100%; max-width: 100%;
	min-height: 100%; max-height: 100%;
	padding: 0% 0% 0% 0%;
	overflow: hidden;
	background-color: transparent;
	perspective: 50px;
	transform-origin: 50% 50% 0;
}
svg *{
  transition: all 2s;
  transition: all var(--dt);
}
#svgframe {
	z-index: var(--zlowest);
}
#divframe {
	z-index: var(--zlow);
}
#wordframe {
	z-index: var(--z0);
}
#subtextframe {
	z-index: var(--zhigh);
}
#contentframe {
	z-index: var(--zhighest);
}
.hovershape {
	z-index: var(--zhigh);
}
#contentframe {
	position: absolute;
	vertical-align: top;
	min-height: 80%;
	width: 80%;
	max-width: 840px; 
	left: 50%; top: 0%;
	perspective: 50px;
	transform: translate(-50%, 0%);
	transition: opacity 1s ease-in-out;
	background-color: var(--coreveilbg);
}

#mainflex {
	display: flex;
  	justify-content: center;
  	width: 100%;
  	margin-left: 0%;
}
main {
	/*position: relative;*/
	width:100%;
	padding: 1em;
	transition: opacity 1s ease-in-out;
	border: 0px;
}
main.narrow {
	width: 84%; 
	max-width: 600px;
}
main.medium {
	width: 84%;
	max-width: 750px;
}
main.wide {
	width: 90%; max-width: 900px;
}
footer {
	position: relative;
	width:100%;
	padding: 1em;
	transition: opacity 1s ease-in-out;
	border: 0px;
}
#contentframe.highcontrast {
	background-color: var(--corebg);
}
#contentframe.hidebg {
	background-color: transparent;
}
#contentframe.largetext {
	font-size: 1.4rem;
}
blockquote {
	padding: 2em;
	margin:0;
	font-size:.8rem;
	font-style: italic;
}
.gallery {
	min-width: 95%;
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	justify-content: flex-start;
	justify-content: center;
	align-items: baseline; /* flex-start */
	align-content: space-around;
}
.gallery > img {
	max-width: 400px;
	max-width: 32%;
	min-width: 300px;
	padding: 1%;
}
.gallery > div.swatch {
	width: 10em;
	max-width: 24%;
	min-width: 8em;
}
.screenreader-text {
	position: absolute;
	left: -999px;
	width: 1px;
	height: 1px;
	top: auto;
}
/*.screenreader-text:focus {
	color: var(--warmwhite);
	display: inline-block;
	height: auto;
	width: auto;
	position: static;
	margin: auto;
}*/
form {
  width: 600px;
  margin: 0 auto;
}
div {
  margin-bottom: 10px;
}

article {
	padding: 1em;
}
.optimize {
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
	-webkit-transform: scale3d(1,1,1);
	transform: scale3d(1,1,1);	
}

body main > header {
	margin-bottom: 2em;
}
h1 {
	margin: 0px;
	margin-top: .4em;
	margin-bottom: .2em;
	/*padding-left: 1em;
	padding-right: 1em;*/
	/*font-weight: bold;*/
	/*font-weight: normal;*/
	font-weight: var(--corefontweightbold);
	font-size: 1.4em;
	line-height: 1.4em;
	letter-spacing: .2em;
	font-family: var(--monospace_zeroslash);
}
body main > header > h1 {
	font-size: 2.4em;
}
h2 {
	margin: 0px;
	margin-bottom: .4em;
	font-family: var(--monospace_zeroslash);
	font-weight: var(--corefontweight);
	font-style: italic;
	font-size: 1em;
	line-height: 1em;
}
body main > header > h2 {
	font-size: 1.3em;
	line-height: 1.5em;
	font-style: italic;
}
h3 {
	font-weight: var(--corefontweight);
	margin: 0px;
	margin-bottom: 0.8em;
	font-size: 1em;
	line-height: 1.1em;
}
body main > header > h3 {
	font-size: 2em;
	line-height: 1.2em;
}
h5 {
	margin: 0px;
	margin-top: 1em;
	margin-bottom: 0.6em;
	font-size: 1.2em;
	line-height: 1em;
	font-weight: var(--corefontweightbold);
	font-family: Monaco, 'Andale Mono', AndaleMono, Courier, monospace;
	font-family: var(--monospace_zeroslash);
}
hr {
	color: var(--corecolor);
}
.flexcontainer {
	display: flex; /*or inline-flex*/
	flex-direction: row; /* || column || row-reverse || column-reverse; */
	flex-wrap: nowrap; /* wrap || wrap-reverse; */
	justify-content: flex-start; /* || flex-end || center || space-between || space-around */
	align-items: flex-start; /* || flex-end || center || stretch || baseline */
}
.flexitem {
	order: 0; /* or 1, 2, 3 ....*/
	flex-grow: 0; /* or 1, 2, 3 ... to let it grow to fit box ::: there is also a flex-shrink */
	flex-basis: auto; /* or a value 150px; */
	align-self:  auto; /* || flex-start || flex-end || center || baseline || stretch */
}
ul.circle, ol.circle, dl.circle {
	margin-left:1rem;
	list-style: circle;
	list-style-position: inside;
}
ul.circle li, ol.circle li, dl.circle dt { 
	display: list-item;
	padding-bottom: .6em;
	list-style: circle;
	list-style-position: outside;
}
ul.stanza {
	list-style: none;
	margin-bottom: 1em;
	/*font-weight: bold;*/
}
*.countsuffix, *.countprefix {
	counter-reset: countitem;
}
*.countprefix  *.countitem::before {
    counter-increment: countitem;
    content: " # " counter(countitem) " ";
}
*.countsuffix  *.countitem::after {
    counter-increment: countitem;
    content: " # " counter(countitem);
}
*[data-role="rider"]  li {
	font-family: Verdana, Helvetica, Arial, Tahoma, 'Trebuchet MS', sans-serif;
	font-family: var(--sans);
	font-family: 'Andale Mono', AndaleMono, Monaco, Courier, monospace;
	font-family: var(--monospace_zerodot);
}
ul[data-role="archive"] > li {
	font-family: 'American Typewriter', Didot, 'Times New Roman', serif;
	font-family: var(--typewriter);
	font-family: Courier, 'Andale Mono', AndaleMono, Monaco, monospace;
	font-family: var(--monospace_code);
}
ul[data-role="narrator"] > li {
	font-family: 'Lucida Console', 'Andale Mono', AndaleMono, Monaco, Courier, monospace;
	font-family: var(--monospace);
}
ul {
	padding-inline-start: 0.2em;
	margin-block-start: 0.4em;
}
main.expand ul > li {
	display: block;
	line-height: 2em;
}
main.compress ul > li {
	display: inline;
	line-height: 2em;
}

main ul.expand > li {
	display: block;
	line-height: 2em;
}
main ul.compress > li {
	display: inline;
	line-height: 2em;
}
main.portfolio {
	background-color:rgba(25, 25, 24, 0.8);
}

ol {
	list-style-position: outside;
	list-style-type: decimal;
}

p {
	margin: 0;
	margin-top: .8em;
	margin-bottom: .8em;
	/*line-height: var(--corelineheight);*/
}
div {
	line-height: var(--corelineheight);
}
pre {
	white-space: pre-wrap;
	white-space: -moz-pre-wrap;
	white-space: -o-pre-wrap;
	word-wrap: break-word;
}

div.terminalentry {
	font-family: Courier, 'Andale Mono', AndaleMono, Monaco, monospace;
	font-family: var(--monospace_code);
	white-space: pre;
	font-size: 1em;
	font-weight: var(--corefontweightbold);
	margin-bottom: 1em;
	z-index: 9999999;
	color: #000000;
	user-select: none;
}
div.rhterminalentry {
	font-family: Courier, 'Andale Mono', AndaleMono, Monaco, monospace;
	font-family: var(--monospace_code);
	white-space: pre;
	font-size: 4em;
	color: #880000;
	margin-bottom: 1em;
	user-select: none;
}
div.textalignright {
	text-align:right;
}
.center {
	text-align: center;
}

p.code, div.code {
	font-family: Courier, 'Andale Mono', AndaleMono, Monaco, monospace;
	font-family: var(--monospace_code);
	font-size: 0.8em;
	white-space: pre-wrap;
	word-wrap: break-word;
	padding-left:4em;
	padding-right:4em;
}
.drawpath {
	stroke-dasharray: 50000 50000;
	stroke-dashoffset: 50000;
	animation: dash 18s linear forwards;
}
nav {
	border-top: .2em solid var(--corebg);
	border-bottom: .2em solid var(--corebg);
	border: .2em solid var(--corebg);
}
a {
	z-index: 8888;
	z-index: var(--zhighest);
	font-weight: var(--corefontweightbold);
	text-decoration: var(--actiontextdecoration);
	padding-left: .5em;
	padding-right: .5em;
	/*border-right: 2px var(--highlightcolor1) solid;*/
	/*border-left: var(--actionborderleft);
	border-right: var(--actionborderright);*/
	color: var(--corecolor);
}
a:hover, a:focus {
	z-index: 8888;
	z-index: var(--zhighest);
	/*text-decoration: underline;*/
	color: var(--hovercolor);
	fill: var(--hovercolor);
	/*border-right: var(--actionhoverborderright);*/
	text-decoration: var(--actionhovertextdecoration);
	outline: var(--actionhoveroutline);
   	outline-offset: var(--actionhoveroutlineoffset);
}
/*a::after {
	content: " <:";
	color: var(--highlightcolor2);
}*/
a::before {
	content: ":> ";
	color: var(--corecolor);
}
a:hover::before {
	content: ":> ";
	color: var(--highlightcolor1);
}
select {
	width: 80%;
	padding: 12px 20px;
	margin: 8px 0;
	box-sizing: border-box;
	font-size: 1.1em;
	font-weight: var(--corefontweightbold);
	color: #000000;
}
input[type="submit"] {
	width: 80%;
	padding: 12px 20px;
	margin: 8px 0;
	box-sizing: border-box;
	font-size: 1.1em;
	font-weight: var(--corefontweightbold);
	color: #ffffeb;
	background-color: #9a0000;
	color: var(--corecolor);
	background-color: var(--red);
}
input[type="text"] {
	width: 90%;
	padding: 12px 20px;
	margin: 8px 0;
	box-sizing: border-box;
}
div.input {
	padding: 1em;
	width: 95%;
}
input[type="radio"], input[type="checkbox"], input[type="number"] {
	margin: .8em .2em;
	padding: 1em;
	/*border: 2px solid var(--warmblack);*/
	display: inline;
	/*font-size: 1.1em;*/
}
label {
	margin-right: 1em;
	/*font-size: 1.1em;*/
	display: block;
	font-weight: var(--corefontweightbold);
	cursor: pointer;
	padding-left: .5em;
	padding-right: .5em;
	/*border-left: var(--actionborderleft);
	border-right: var(--actionborderright);*/
	text-decoration: var(--actiontextdecoration);
}
/*label::after {
	content: " <:";
	color: var(--highlightcolor2);
}*/
label::before {
	content: ":> ";
	color: var(--corecolor);
}
label:hover::before {
	color: var(--highlightcolor1);
}
label:hover {
	color: var(--hovercolor);
	fill: var(--hovercolor);
  	outline: var(--actionhoveroutline);
   	outline-offset: var(--actionhoveroutlineoffset);
   	text-decoration: var(--actionhovertextdecoration);
  	/*border-right: var(--actionhoverborderright);*/
}
fieldset {
	/*background: var(--corebg);*/
	color: var(--corecolor);
	border: .2em solid var(--corebg);
}
legend {
	padding: .4em;
	font-size: 1.4em;
	font-weight: var(--corefontweightbold);
	background: var(--corecolor);
	color: var(--corebg);
}
/*input[type="checkbox"]:checked {
	background-color: #9a0000;
}
input[type="checkbox"] {
	width:2em; height:2em;
	background-color: var(--warmgray);
	-webkit-appearance: none;
	-moz-appearance: none;
	-o-appearance: none;
	appearance: none;
	border: 2px solid #000000;
	border-radius: 4px;
	outline: none;
	transition-duration: 0.3s;
	background-color: var(--warmwhite);
	cursor: pointer;
}*/
@keyframes dash {
  to {
    stroke-dashoffset: 0;
  }
}
audio {
	padding-top:1em;
	padding-bottom:1em;
	border:var(--warmblack);
}
audio:hover {transform: scale(1.1);filter: drop-shadow(2px 3px 3px #333);}
figure {
	display: block; 
	max-width: 80%;
	margin-bottom: 1.0em;
	text-align:left;
	padding-top:1em;
	padding-bottom:1em;
}
figure img {
	clear:both;
	vertical-align:middle;
	max-width:100%;
	max-height:100%;
}
figure video {
	clear:both;
	max-width:100%;
	max-height:100%;
}
figure audio {
	clear:both;
	max-width:100%;
	max-height:100%;
}
figure figcaption {
	margin:top: 1em;
	font-size:.8em;
	color: #006699;
}
div.vimeowrapper16x9 {
	position: relative;
	/*max-width : 1280px;*/
	padding-bottom: 56.25%; /* 16:9 */
	padding-top: 25px;
	padding-top: 48px;
	height: 0;
}
div.vimeowrapper16x9 iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.vimeo-wrapper {
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   z-index: -1;
   pointer-events: none;
   overflow: hidden;
}
.vimeo-wrapper iframe {
   width: 100vw;
   height: 56.25vw; /* Given a 16:9 aspect ratio, 9/16*100 = 56.25 */
   min-height: 100vh;
   min-width: 177.77vh; /* Given a 16:9 aspect ratio, 16/9*100 = 177.77 */
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
}	
.grid_4x4_rect {
	min-width: 100vw; min-height: 100vh;
	display: grid;
	gap: 0px 0px;
	/*grid-template-areas:
		"r0c0 r0c1 r0c2 r0c3"
		"r1c0 r1c1 r1c2 r1c3"
		"r2c0 r2c1 r2c2 r2c3"
		"r3c0 r3c1 r3c2 r3c3";*/
	grid-template-columns: 1fr 1fr 1fr 1fr;
	grid-template-rows: 1fr 1fr 1fr 1fr;
}
.grid_4x4_rect > div.griditem {
	color: var(--warmwhite);
	background-color: var(--warmblack);
	padding:0; margin: 0;
	min-width:100%, max-width: 100%;
	transition: opacity 2s, transform 2s;
}
.grid_absolute_4x4_rect > div.griditem, .grid_absolute_4x4_circle > div.griditem, .grid_absolute_4x4_square > div.griditem {
	color: var(--warmwhite);
	background-color: var(--warmblack);
	padding:0; margin: 0;
	position: absolute;
	top: 0; left: 0;
	transition: opacity 1s, transform 2s;
}
.grid_absolute_4x4_rect > div.griditem {
	width: 25vw; min-width: 25vw;
	height: 25vh; min-height: 25vh;
}
.grid_absolute_4x4_circle > div.griditem, .grid_absolute_4x4_square > div.griditem {
	min-width:25vmin; min-height:25vmin;
	max-width:25vmin; max-height:25vmin;
}
.grid_absolute_4x4_circle  > div.griditem {
	border-radius: 12.5vmin;
}
.grid_absolute_4x4_rect > div.griditem { left: 0vw; }
.grid_absolute_4x4_rect > div.griditem:nth-child(4n+1) { left: 25vw; }
.grid_absolute_4x4_rect > div.griditem:nth-child(4n+2) { left: 50vw; }
.grid_absolute_4x4_rect > div.griditem:nth-child(4n+3) { left:75vw; }
.grid_absolute_4x4_rect > div.griditem: { top: 0vh; }
.grid_absolute_4x4_rect > div.griditem:nth-child(n+5) { top: 25vh; }
.grid_absolute_4x4_rect > div.griditem:nth-child(n+9) { top: 50vh; }
.grid_absolute_4x4_rect > div.griditem:nth-child(n+13) { top:75vh; }

.grid_absolute_4x4_circle > div.griditem { left: calc(0vw + 12.5vw - 12.5vmin); }
.grid_absolute_4x4_circle > div.griditem:nth-child(4n+1) { left: calc(25vw + 12.5vw - 12.5vmin); }
.grid_absolute_4x4_circle > div.griditem:nth-child(4n+2) { left: calc(50vw + 12.5vw - 12.5vmin); }
.grid_absolute_4x4_circle > div.griditem:nth-child(4n+3) { left: calc(75vw + 12.5vw - 12.5vmin); }
.grid_absolute_4x4_circle > div.griditem { top: calc(0vh + 12.5vh - 12.5vmin); }
.grid_absolute_4x4_circle > div.griditem:nth-child(n+5) { top: calc(25vh + 12.5vh - 12.5vmin); }
.grid_absolute_4x4_circle > div.griditem:nth-child(n+9) { top: calc(50vh + 12.5vh - 12.5vmin); }
.grid_absolute_4x4_circle > div.griditem:nth-child(n+13) { top: calc(75vh + 12.5vh - 12.5vmin); }

.grid_absolute_4x4_square > div.griditem { left: calc(12.5vw - 12.5vmin); }
.grid_absolute_4x4_square > div.griditem:nth-child(4n+1) { left: calc(25vw + 12.5vw - 12.5vmin); }
.grid_absolute_4x4_square > div.griditem:nth-child(4n+2) { left: calc(50vw + 12.5vw - 12.5vmin); }
.grid_absolute_4x4_square > div.griditem:nth-child(4n+3) { left: calc(75vw + 12.5vw - 12.5vmin); }
.grid_absolute_4x4_square > div.griditem { top: calc(12.5vh - 12.5vmin); }
.grid_absolute_4x4_square > div.griditem:nth-child(n+5) { top: calc(25vh + 12.5vh - 12.5vmin); }
.grid_absolute_4x4_square > div.griditem:nth-child(n+9) { top: calc(50vh + 12.5vh - 12.5vmin); }
.grid_absolute_4x4_square > div.griditem:nth-child(n+13) { top: calc(75vh + 12.5vh - 12.5vmin); }

@media print {
	#menu, #nav, #sidebar, #sidebar-wrapper { display:none}
	#main-wrapper {width: 100%; margin: 0; float: none; }
	body { background: white; }
	body { font:normal 14px Georgia, "Times New Roman", Times, serif; line-height: 1.5em; color: #222; }
	#container { background: transparent;}
	@page { margin: 0.5cm; }
	a:link { font-weight: bold; text-decoration: underline; color: #000; }
	a:link:after { content: " (" attr(href) ") "; }
	body:after { display: block; content: "Thank you for printing our content."; margin-top: 30px; font-size: 11pt; color:#555; border-top: 1px dotted #555; }
	.noprint { display:none }
}
