code:
mouse.tooltip {font-weight: normal;}

mouse.tooltip span {
	z-index:210;
	display:none;
	padding:14px 10px;
	margin-top:50px; margin-left:-40px;
	min-width: 50px;
	max-width: 450px !important;
	line-height:20px;
	border-radius:2px;
	box-shadow: 0px 0px 8px 4px #000;
}

mouse.tooltip:hover span {
	display:inline;
	position:absolute;
	border:2px solid #000000;
	color: #000000;
	font-weight: normal;
	text-decoration: none;
	font-size:1.0em;
	background:#C4C4C4 repeat-x 0 0;
}

#saveDataInput {
	min-width: inherit;
	width: 95%
}

.passage {
	-o-transition:.2s ease-in;
	transition:.2s ease-in;
}

.closeButton, .macro-button {
	width: 100%;
	font-size: 110%;
	max-width: 240px;
	background-color: #222;
	border: 1px solid #444;
}

.fixedClose {
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	background-color: #222;
	width: auto;
	height: auto;
	margin: 0;
	z-index: 1;
	padding: 0;
	border-bottom: 1px solid #fff;
}

.macro-button:hover {
	background-color: #333;
	border: 1px solid #fff;
}

.customOverlay {
	display: block;
	position:fixed;
	top: 20px;
	bottom: 20px;
	left: 20px;
	right:20px;
	height: auto;
	width: auto;
	border: 2px #fff solid;
	background-color: #222;
	text-align: left;
	padding: 0 3px 3px;
	overflow-y: scroll;
	z-index: 1000;
	max-width: 1000px;
}

@media only screen and (min-width: 801px) {
	.customOverlay {
		left: 300px;
	}
}

.debugOverlay {
	display: block;
	position: fixed;
	top: 20px;
	bottom: 20px;
	right: 20px;
	height: auto;
	width: auto;
	max-width: 700px;
	z-index: 1001;
	padding: 3px;
	border: 2px #fff solid;
	background-color: #333;
	overflow-y: scroll;
}

.overlayMenu ul {
	text-align: left;
	list-style: none;
	margin: 0;
	padding: 0;
}

.overlayMenu ul li {
	float: left;
	height: 35px;
	margin-right: 1px;
}

.debugOverlay ul li input {
	width: 80px;
	margin: 0;
}

.overlayItem {
	border-top: 2px #fff solid;
	clear: both;
}

#statsHelp {
	overflow-y: scroll;
	height: auto;
	max-height: 200px;
}

.hidden {
	display: none;
}

.close {
	background-color: darkred;
}

#savesList {
	border: 1px solid #ccc;
	max-width: 700px;
	width: 95%;
}

#savesList tr {
	border-top: 1px solid #999;
	margin: 1px;
	line-height: 1;
}

#savesList tr:first-child {
	border-top: 1px solid #ccc;
}

#savesList tr td:first-child {
	padding: 8px;
}

#savesList tr td {
	margin: 1px;
}

.datestamp {
	font-size: 13px;
}

.right {
	float: right;
}

.saveMenuButton {
	background-color: #4372FF !important;
	margin: 4px 4px 4px 0;
}

.saveMenuButton:hover {
	background-color: #4372FF !important;
}

#menu {
	display: none;
}

.settingsToggle {
	display: inline-block;
	float: left;
	width: 45%;
	min-width: 275px;
	padding: 3px;
	margin: 5px;
	border: 1px solid #666;
}

#divmap {
		position: relative;
		display: inline-block;
		height: 256px;
		width: 256px;

}

#map {
		position: absolute;
		left: 0px;
		top: 0px;
	z-index: 10;
}

#maparrow {
		position: absolute;
		left: 0px;
		top: 0px;
	z-index: 20;
}

#ui-bar-toggle {
	z-index: 500;
}

#ui-bar {
	z-index: 300;
}

body.has-images header#title {
	display: none;
}
body.has-images #story-caption {
	/* 256 px: images
	2.5 em: ui-bar-body margin-top */
	margin-top: calc(256px - 2.5em);
}

}

.nostyle {
	list-style: none;
}

/*Wardrobe UI*/
.clothingBox {
	display: inline-block;
	float: left;
	border: solid 2px #fff;
	height: 250px;
	width: 270px;
	padding: 4px;
	margin: 2px;
}

.clothingBox div{
	position: relative;
	bottom: 0px;
	height: 190px;
	overflow-y: scroll;
}

.clothingBox div ul{
	margin-left: 0px;
}

.red {
	color: #EC3535;
}

.pink {
	color: #E40081;
}

.purple {
	color: #AA4BC8;
}

.blue {
	color: #4372FF;
}

.lblue {
	color: #559BC0;
}

.teal {
	color: #08C1C1;
}

.green {
	color: #38B20A;
}

.brown {
	color: #4C2217;
}

.brat {
	color: #B75D41;
}

.meek {
	color: #C44B8B;
}

.def {
	color: #D20000;
}

.hide a {
	color: #eee;
	text-decoration: none;
}

.hide a:hover {
	color: #eee;
	text-decoration: none;
}

.sub {
	color: #AA4BC8;
}

.gold {
	color: #FFD700;
}

.yellow {
	color: #FFD700;
}

.orange {
	color: #f28500
}

.tangerine {
	color: #f28500
}

.black {
	color: #929292
}

.brown {
	color: #aa7243
}

.lightbrown {
	color: #C5793A
}

.platinum {
	color: #FEF593
}

.strawberry {
	color: #F08C51
}

.lewd {
	color: #E04880
}

.grey {
	color: #B7B7B7
}

.general {
	opacity: 0.99;

}

.wetstage2 {
	opacity: 0.90;
		filter: brightness(0.95);

}

.wetstage3 {
	opacity: 0.75;
		filter: brightness(0.90);

}

#stats {
	height: 20px;
	width: 256px;
	overflow: hidden;
	border-top: #fff 2px solid;
	border-bottom: #fff 2px solid;
	position: fixed;
	top: 232px;
	left: 0px;
}

#stats > * {
	position: absolute;
	top: 232px;
	left: 0px;
}

.icon_ui {
	position: static !important;
	height: 14px;
	width: 14px;
}

#statbar {
	position: relative;
	left: 0px;
	top: 9px;
	z-index: 0;
}

#img {
	height: 256px;
	width: 256px;
	overflow: hidden;

	position: fixed;
	top: 0px;
	left: 0px;
}

#img > * {
	position: absolute;
	top: 0px;
	left: 0px;
}

.icon_ui {
	position: static !important;
	height: 14px;
	width: 14px;
}
.layer-bg {
	z-index: 0;
}

#relative {
	position: relative;
	width: 0px;
	height: 0px;
	z-index: 10;
}

#icon {
	position: static;
	vertical-align:middle;
}

#daystate {
	position: fixed;
	left: 0px;
	top: 0px;
	z-index: 10;
}

#weather {
	position: fixed;
	left: 0px;
	top: 64px;
	z-index: 10;
}

#location {
	position: fixed;
	left: 0px;
	top: 128px;
	z-index: 10;
}

#spray1 {
	position: fixed;
	left: 0px;
	top: 192px;
	z-index: 10;
}

#spray2 {
	position: fixed;
	left: 16px;
	top: 192px;
	z-index: 10;
}

#spray3 {
	position: fixed;
	left: 32px;
	top: 192px;
	z-index: 10;
}

#spray4 {
	position: fixed;
	left: 48px;
	top: 192px;
	z-index: 10;
}

#spray5 {
	position: fixed;
	left: 64px;
	top: 192px;
	z-index: 10;
}

#divandroidxray {
	position: relative;
	display: inline-block;
	height: 256px;
	width: 256px;
}

#xrayvaginal, #divsex #xrayvaginal {
	position: absolute;
	left: 0px;
	top: 0px;
	z-index: 3;
}

#xrayvaginalcum, #divsex #xrayvaginalcum {
	position: absolute;
	left: 0px;
	top: 0px;
	z-index: 4;
}

#xraypenile, #divsex #xraypenile {
	position: absolute;
	left: 0px;
	top: 0px;
	z-index: 2;
}

#xrayanal, #divsex #xrayanal {
	position: absolute;
	left: 512px;
	top: 0px;
	z-index: 1;
}

#xrayandroidanal, #divsex #xrayandroidanal {
	position: relative;
	left: 0px;
	top: -150px;
	z-index: 1;
}

/*
removed unused:
#arm #underacc #legs #feet #bottom #top #sleeve #outer #outersleeve #neckacc
*/

.layer-head-back {
	z-index: 0;
}
.layer-basehead {
	z-index: 5;
}
.layer-backhair {
	z-index: 10;
}
.layer-back-lower {
	z-index: 15;
}
.layer-base {
	z-index: 20;
}
.layer-hirsute {
	z-index: 21;
}

.layer-eyes {
	z-index: 30;
}
.layer-sclera {
	z-index: 35;
}
.layer-mouth {
	z-index: 40;
}
.layer-breasts {
	z-index: 35;
}
.layer-blush {
	z-index: 50;
}
.layer-tears {
	z-index: 55;
}
.layer-hair {
	z-index: 60;
}
.layer-brow {
	z-index: 62;
}
.layer-lashes {
	z-index: 64;
}
.layer-legs {
	z-index: 64;
}
.layer-under_lower {
	z-index: 65;
}
.layer-under_lower-top {
	z-index: 67;
}
.layer-under_upper {
	z-index: 70;
}
.layer-under_upper-top {
	z-index: 72;
}
.layer-under_lower-high {
	z-index: 75;
}
.layer-under_lower_top-high {
	z-index: 77;
}
.layer-under {
	z-index: 75;
}
.layer-feet {
	z-index: 85;
}
.layer-lower {
	z-index: 90;
}
.layer-lower_top {
	z-index: 92;
}
.layer-upper {
	z-index: 95;
}
.layer-upper_top {
	z-index: 97;
}

.layer-collar {
	z-index: 103;
}

.layer-rightarm {
	z-index: 105;
}
.layer-leftarm {
	z-index: 105;
}
.layer-rightarmclothes {
	z-index: 110;
}
.layer-leftarmunderclothes {
	z-index: 107;
}
.layer-rightarmunderclothes {
	z-index: 107;
}
.layer-leftarmclothes {
	z-index: 110;
}
.layer-lower-high {
	z-index: 115;
}
.layer-lower-top-high {
	z-index: 117;
}
.layer-hairforwards {
	z-index: 132;
}
.layer-fronthair {
	z-index: 133;
}
.layer-brow {
	z-index: 138;
}
.layer-neck {
	z-index: 140;
}
.layer-face {
	z-index: 145;
}
.layer-head {
	z-index: 150;
}
.layer-penis {
	z-index: 160;
}

.layer-parasite {
	z-index: 160;
}
#divsex {
		position: relative;
		display: inline-block;
		height: 256px;
		width: 768px;

}
#divsex > *, #divandroidsex > * {
	position: absolute;
	left: 256px;
	top: 0px;
}

#divandroidsex {
		position: relative;
		display: inline-block;
		height: 256px;
		width: 256px;
		left: -256px;
}

#closepenis, #divsex #closepenis {
		position: absolute;
		left: 321px;
		top: -30px;
	z-index: 250;
}

#closeanus, #divsex #closeanus {
		position: absolute;
		left: 451px;
		top: -30px;
	z-index: 250;
}

#closevagina, #divsex #closevagina {
		position: absolute;
		left: 386px;
		top: -30px;
	z-index: 250;
}

.layer-voreback {
	z-index: -20;
}
.layer-sexbaseback {
	z-index: 1;
}
.layer-sexpenis {
	z-index: 5;
}
.layer-beastback {
	z-index: 6;
}
.layer-sexbase {
	z-index: 10;
}
.layer-sexbaseoverlay {
	z-index: 12;
}
.layer-sexeyes {
	z-index: 20;
}
.layer-sexsclera {
	z-index: 30;
}
.layer-sexmouth {
	z-index: 40;
}
.layer-sexblush {
	z-index: 50;
}
.layer-sextears {
	z-index: 60;
}
.layer-beastfront {
	z-index: 65;
}
.layer-sexbrow {
	z-index: 80;
}
.layer-sexlashes {
	z-index: 90;
}
.layer-sexbasefront {
	z-index: 100;
}
.layer-doggyhirsute {
	z-index: 101;
}
.layer-sexunder {
	z-index: 102;
}
.layer-sexlower {
	z-index: 104;
}
.layer-sexupper {
	z-index: 106;
}
.layer-sexaboveclothes {
	z-index: 108;
}

.layer-beastforeground {
	z-index: 120;
}

.layer-apparatus {
	z-index: 130;
}
.layer-midapparatus {
	z-index: 131;
}
.layer-frontapparatus {
	z-index: 132;
}

.layer-sexhair {
	z-index: 140;
}

.layer-sexarmsbound {
	z-index: 150;
}

.layer-foreground {
	z-index: 200;
}
.layer-frontforeground {
	z-index: 220;
}

/*! <<numberpool>> macro set for SugarCube v2 */
div[id|="numberbox-body"] {
	display: inline-block;
}
div[id|="numberbox-body"] input {
	min-width: 3em;
	width: 3em;
	text-align: center;
}
div[id|="numberbox-body"] button {
	font-family: "tme-fa-icons";
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: normal;
	speak: none;
	padding: 0.4em 0.6em;
}
div[id|="numberbox-body"] button[id|="numberbox-minus"] {
	margin-right: 0.4em;
}
div[id|="numberbox-body"] button[id|="numberbox-plus"] {
	margin-left: 0.4em;
}

div[id|="numberslider-body"] {
	display: inline-block;
	width: 100%;
}
div[id|="numberslider-body"] span {
	display: inline-block;
	/*font-size: 1.25em;*/
	margin-left: 0.25em;
	min-width: 3em;
	text-align: center;
	vertical-align: middle;
}
div[id|="numberslider-body"] input {
	-webkit-appearance: none;
	cursor: pointer;
	height: 1.25em;
	width: 95%;
	max-width: 20em;
	vertical-align: middle;
}
div[id|="numberslider-body"] input:focus {
	outline: none;
}
div[id|="numberslider-body"] input::-webkit-slider-runnable-track {
	background: #222;
	border: 1px solid #444;
	border-radius: 0;
	cursor: pointer;
	height: 10px;
	width: 100%;
}
div[id|="numberslider-body"] input::-webkit-slider-thumb {
	-webkit-appearance: none;
	background: #ddd;
	border: 3px solid #aaa;
	border-radius: 0;
	cursor: pointer;
	height: 18px;
	margin-top: -5px;
	width: 33px;
}
div[id|="numberslider-body"] input:focus::-webkit-slider-runnable-track {
	background: #222;
}
div[id|="numberslider-body"] input::-moz-range-track {
	background: #222;
	border: 1px solid #444;
	border-radius: 0;
	cursor: pointer;
	height: 10px;
	width: 100%;
}
div[id|="numberslider-body"] input::-moz-range-thumb {
	background: #ddd;
	border: 3px solid #aaa;
	border-radius: 0;
	cursor: pointer;
	height: 18px;
	width: 33px;
}
div[id|="numberslider-body"] input::-ms-track {
	background: transparent;
	border-color: transparent;
	color: transparent;
	cursor: pointer;
	height: 10px;
	width: 99%; /* fallback for MS browsers without support for calc() */
	width: calc(100% - 1px);
}
div[id|="numberslider-body"] input::-ms-fill-lower {
	background: #222;
	border: 1px solid #444;
	border-radius: 0;
}
div[id|="numberslider-body"] input::-ms-fill-upper {
	background: #222;
	border: 1px solid #444;
	border-radius: 0;
}
div[id|="numberslider-body"] input::-ms-thumb {
	background: #ddd;
	border: 3px solid #aaa;
	border-radius: 0;
	cursor: pointer;
	height: 16px;
	width: 33px;
}

label {
	cursor: pointer;
}

.meter {
	position: relative;
	height: 0.3em;
	width: 100%;
	background-color: gray;
	text-align: center;
	z-index: -10;
}
.redbar {
	position: absolute;
	left: 0;
	top: 0;
	height: 0.3em;
	background-color: #EC3535;
	z-index: 0;
}

.pinkbar {
	position: absolute;
	left: 0;
	top: 0;
	height: 0.3em;
	background-color: #E40081;
	z-index: 0;
}

.purplebar {
	position: absolute;
	left: 0;
	top: 0;
	height: 0.3em;
	background-color: #AA4BC8;
	z-index: 0;
}

.bluebar {
	position: absolute;
	left: 0;
	top: 0;
	height: 0.3em;
	background-color: #4372FF;
	z-index: 0;
}

.lbluebar {
	position: absolute;
	left: 0;
	top: 0;
	height: 0.3em;
	background-color: #559BC0;
	z-index: 0;
}

.tealbar {
	position: absolute;
	left: 0;
	top: 0;
	height: 0.3em;
	background-color: #08C1C1;
	z-index: 0;
}

.greenbar {
	position: absolute;
	left: 0;
	top: 0;
	height: 0.3em;
	background-color: #38B20A;
	z-index: 0;
}

.goldbar {
	position: absolute;
	left: 0;
	top: 0;
	height: 0.3em;
	background-color: #FFD700;
	z-index: 0;
}

/*
 * Hair/Eye/Clothing colour filters
 * Expected document structure:
 * - some outer element has .hair-$haircolour (or .eye-/.lower-/.upper-/.under-) class
 * - inner image element has .colour-hair (or -eye/-lower/-upper/-under) class
 */
/* Hair: base is red */
.hair-black .colour-hair {
	-webkit-filter: hue-rotate(0deg) saturate(0%) brightness(40%) contrast(100%);
	filter: hue-rotate(0deg) saturate(0%) brightness(40%) contrast(100%);
}
.hair-platinumblond .colour-hair {
	-webkit-filter: hue-rotate(57deg) saturate(250%) brightness(180%) contrast(60%) sepia(0.75);
	filter: hue-rotate(57deg) saturate(250%) brightness(180%) contrast(60%) sepia(0.75);
}
.hair-blond .colour-hair {
	-webkit-filter: hue-rotate(60deg) saturate(130%) brightness(135%) contrast(100%);
	filter: hue-rotate(60deg) saturate(130%) brightness(135%) contrast(100%);
}
.hair-blue .colour-hair {
	-webkit-filter: hue-rotate(210deg) saturate(200%) brightness(60%) contrast(150%);
	filter: hue-rotate(210deg) saturate(200%) brightness(60%) contrast(150%);
}
.hair-brown .colour-hair {
	-webkit-filter: hue-rotate(40deg) saturate(100%) brightness(80%) contrast(100%);
	filter: hue-rotate(40deg) saturate(100%) brightness(80%) contrast(100%);
}
.hair-lightbrown .colour-hair {
	-webkit-filter: hue-rotate(40deg) saturate(100%) brightness(100%) contrast(110%);
	filter: hue-rotate(40deg) saturate(100%) brightness(100%) contrast(110%);
}
.hair-darkbrown .colour-hair {
	-webkit-filter: hue-rotate(40deg) saturate(70%) brightness(20%) contrast(100%);
	filter: hue-rotate(40deg) saturate(70%) brightness(20%) contrast(100%);
}
.hair-strawberryblond .colour-hair {
	-webkit-filter: hue-rotate(30deg) saturate(110%) brightness(110%) contrast(100%);
	filter: hue-rotate(30deg) saturate(110%) brightness(110%) contrast(100%);
}
.hair-ginger .colour-hair {
	-webkit-filter: hue-rotate(55deg) saturate(200%) brightness(110%) contrast(100%);
	filter: hue-rotate(55deg) saturate(200%) brightness(110%) contrast(100%);
}
.hair-green .colour-hair {
	-webkit-filter: hue-rotate(90deg) saturate(100%) brightness(100%) contrast(100%);
	filter: hue-rotate(90deg) saturate(100%) brightness(100%) contrast(100%);
}
.hair-teal .colour-hair {
	-webkit-filter: hue-rotate(165deg) saturate(100%) brightness(100%) contrast(100%);
	filter: hue-rotate(165deg) saturate(100%) brightness(100%) contrast(100%);
}
.hair-pink .colour-hair {
	-webkit-filter: hue-rotate(-20deg) saturate(70%) brightness(130%) contrast(100%);
	filter: hue-rotate(-20deg) saturate(70%) brightness(130%) contrast(100%);
}
.hair-hotpink .colour-hair {
	-webkit-filter: hue-rotate(320deg) saturate(100%) brightness(120%) contrast(100%);
	filter: hue-rotate(320deg) saturate(100%) brightness(120%) contrast(100%);
}
.hair-softpink .colour-hair {
	-webkit-filter: hue-rotate(0deg) saturate(30%) brightness(190%) contrast(100%);
	filter: hue-rotate(0deg) saturate(30%) brightness(190%) contrast(100%);
}
.hair-purple .colour-hair {
	-webkit-filter: hue-rotate(-80deg) saturate(110%) brightness(60%) contrast(200%);
	filter: hue-rotate(-80deg) saturate(110%) brightness(60%) contrast(200%);
}
.hair-red .colour-hair {
	-webkit-filter: hue-rotate(0deg) saturate(100%) brightness(100%) contrast(100%);
	filter: hue-rotate(0deg) saturate(100%) brightness(100%) contrast(100%);
}
.hair-crimson .colour-hair {
	-webkit-filter: hue-rotate(0deg) saturate(155%) brightness(75%) contrast(135%);
	filter: hue-rotate(0deg) saturate(155%) brightness(75%) contrast(135%);
}
.hair-white .colour-hair {
	-webkit-filter: hue-rotate(0deg) saturate(0%) brightness(160%) contrast(100%);
	filter: hue-rotate(0deg) saturate(0%) brightness(160%) contrast(100%);
}
.hair-snowwhite .colour-hair {
	-webkit-filter: hue-rotate(0deg) saturate(0%) brightness(190%) contrast(100%);
	filter: hue-rotate(0deg) saturate(0%) brightness(190%) contrast(100%);
}
.hair-deepblue .colour-hair {
	-webkit-filter: hue-rotate(0deg) saturate(0%) brightness(190%) contrast(100%);
	filter: hue-rotate(240deg) saturate(100%) brightness(40%) contrast(120%);
}

/* Eye: base is hazel */
.eye-dark-blue .colour-eye {
	-webkit-filter: hue-rotate(170deg) brightness(90%) saturate(100%) contrast(140%);
	filter: hue-rotate(170deg) brightness(90%) saturate(100%) contrast(140%);
}
.eye-light-blue .colour-eye {
	-webkit-filter: hue-rotate(160deg) brightness(180%) saturate(120%) contrast(100%);
	filter: hue-rotate(160deg) brightness(180%) saturate(120%) contrast(100%);
}
.eye-purple .colour-eye {
	-webkit-filter: hue-rotate(-120deg) brightness(80%) saturate(200%) contrast(190%);
	filter: hue-rotate(-120deg) brightness(80%) saturate(200%) contrast(190%);
}
.eye-hazel .colour-eye {
	-webkit-filter: hue-rotate(0deg) saturate(100%) brightness(100%) contrast(100%);
	filter: hue-rotate(0deg) saturate(100%) brightness(100%) contrast(100%);
}
.eye-amber .colour-eye {
	-webkit-filter: hue-rotate(0deg) brightness(170%) saturate(100%) contrast(100%);
	filter: hue-rotate(0deg) brightness(170%) saturate(100%) contrast(100%);
}
.eye-green .colour-eye {
	-webkit-filter: hue-rotate(30deg) brightness(140%) saturate(100%) contrast(100%);
	filter: hue-rotate(30deg) brightness(140%) saturate(100%) contrast(100%);
}
.eye-lightgreen .colour-eye {
	-webkit-filter: hue-rotate(30deg) brightness(170%) saturate(160%) contrast(100%);
	filter: hue-rotate(30deg) brightness(170%) saturate(160%) contrast(100%);
}
.eye-red .colour-eye {
	-webkit-filter: hue-rotate(335deg) saturate(200%) brightness(100%) contrast(140%);
	filter: hue-rotate(335deg) saturate(200%) brightness(100%) contrast(140%);
}
.eye-pink .colour-eye {
	-webkit-filter: hue-rotate(-105deg) brightness(150%) saturate(120%) contrast(120%);
	filter: hue-rotate(-105deg) brightness(150%) saturate(120%) contrast(120%);
}
.eye-grey .colour-eye {
	-webkit-filter: hue-rotate(0deg) brightness(140%) saturate(0%) contrast(100%);
	filter: hue-rotate(0deg) brightness(140%) saturate(0%) contrast(100%);
}
/* Clothing: base is red */
.upper-blue .colour-upper, .lower-blue .colour-lower, .under_lower-blue .colour-under_lower, .under_upper-blue .colour-under_upper, .head-blue .colour-head, .face-blue .colour-face, .neck-blue .colour-neck, .legs-blue .colour-legs, .feet-blue .colour-feet, .upper_acc-blue .colour-upper_acc, .lower_acc-blue .colour-lower_acc, .under_lower_acc-blue .colour-under_lower_acc, .under_upper_acc-blue .colour-under_upper_acc, .head_acc-blue .colour-head_acc, .face_acc-blue .colour-face_acc, .neck_acc-blue .colour-neck_acc, .legs_acc-blue .colour-legs_acc, .feet_acc-blue .colour-feet_acc {
	-webkit-filter: hue-rotate(-120deg) saturate(100%) brightness(100%) contrast(100%);
	filter: hue-rotate(-120deg) saturate(100%) brightness(100%) contrast(100%);
}
.upper-white .colour-upper, .lower-white .colour-lower, .under_lower-white .colour-under_lower, .under_upper-white .colour-under_upper, .head-white .colour-head, .face-white .colour-face, .neck-white .colour-neck, .legs-white .colour-legs, .feet-white .colour-feet, .upper_acc-white .colour-upper_acc, .lower_acc-white .colour-lower_acc, .under_lower_acc-white .colour-under_lower_acc, .under_upper_acc-white .colour-under_upper_acc, .head_acc-white .colour-head_acc, .face_acc-white .colour-face_acc, .neck_acc-white .colour-neck_acc, .legs_acc-white .colour-legs_acc, .feet_acc-white .colour-feet_acc {
	-webkit-filter: hue-rotate(0deg) saturate(0%) brightness(440%) contrast(140%);
	filter: hue-rotate(0deg) saturate(0%) brightness(440%) contrast(140%);
}
.upper-red .colour-upper, .lower-red .colour-lower, .under_lower-red .colour-under_lower, .under_upper-red .colour-under_upper, .head-red .colour-head, .face-red .colour-face, .neck-red .colour-neck, .legs-red .colour-legs, .feet-red .colour-feet, .upper_acc-red .colour-upper_acc, .lower_acc-red .colour-lower_acc, .under_lower_acc-red .colour-under_lower_acc, .under_upper_acc-red .colour-under_upper_acc, .head_acc-red .colour-head_acc, .face_acc-red .colour-face_acc, .neck_acc-red .colour-neck_acc, .legs_acc-red .colour-legs_acc, .feet_acc-red .colour-feet_acc {
	-webkit-filter: hue-rotate(0deg) saturate(100%) brightness(100%) contrast(100%);
	filter: hue-rotate(0deg) saturate(100%) brightness(100%) contrast(100%);
}
.upper-green .colour-upper, .lower-green .colour-lower, .under_lower-green .colour-under_lower, .under_upper-green .colour-under_upper, .head-green .colour-head, .face-green .colour-face, .neck-green .colour-neck, .legs-green .colour-legs, .feet-green .colour-feet, .upper_acc-green .colour-upper_acc, .lower_acc-green .colour-lower_acc, .under_lower_acc-green .colour-under_lower_acc, .under_upper_acc-green .colour-under_upper_acc, .head_acc-green .colour-head_acc, .face_acc-green .colour-face_acc, .neck_acc-green .colour-neck_acc, .legs_acc-green .colour-legs_acc, .feet_acc-green .colour-feet_acc {
	-webkit-filter: hue-rotate(120deg) saturate(100%) brightness(150%) contrast(100%);
	filter: hue-rotate(120deg) saturate(100%) brightness(150%) contrast(100%);
}
.upper-black .colour-upper, .lower-black .colour-lower, .under_lower-black .colour-under_lower, .under_upper-black .colour-under_upper, .head-black .colour-head, .face-black .colour-face, .neck-black .colour-neck, .legs-black .colour-legs, .feet-black .colour-feet, .upper_acc-black .colour-upper_acc, .lower_acc-black .colour-lower_acc, .under_lower_acc-black .colour-under_lower_acc, .under_upper_acc-black .colour-under_upper_acc, .head_acc-black .colour-head_acc, .face_acc-black .colour-face_acc, .neck_acc-black .colour-neck_acc, .legs_acc-black .colour-legs_acc, .feet_acc-black .colour-feet_acc {
	-webkit-filter: hue-rotate(0deg) saturate(0%) brightness(110%) contrast(110%);
	filter: hue-rotate(0deg) saturate(0%) brightness(110%) contrast(110%);
}
.upper-pink .colour-upper, .lower-pink .colour-lower, .under_lower-pink .colour-under_lower, .under_upper-pink .colour-under_upper, .head-pink .colour-head, .face-pink .colour-face, .neck-pink .colour-neck, .legs-pink .colour-legs, .feet-pink .colour-feet, .upper_acc-pink .colour-upper_acc, .lower_acc-pink .colour-lower_acc, .under_lower_acc-pink .colour-under_lower_acc, .under_upper_acc-pink .colour-under_upper_acc, .head_acc-pink .colour-head_acc, .face_acc-pink .colour-face_acc, .neck_acc-pink .colour-neck_acc, .legs_acc-pink .colour-legs_acc, .feet_acc-pink .colour-feet_acc {
	-webkit-filter: hue-rotate(-30deg) saturate(50%) contrast(100%) brightness(160%);
	filter: hue-rotate(-30deg) saturate(50%) contrast(100%) brightness(160%);
}
.upper-purple .colour-upper, .lower-purple .colour-lower, .under_lower-purple .colour-under_lower, .under_upper-purple .colour-under_upper, .head-purple .colour-head, .face-purple .colour-face, .neck-purple .colour-neck, .legs-purple .colour-legs, .feet-purple .colour-feet, .upper_acc-purple .colour-upper_acc, .lower_acc-purple .colour-lower_acc, .under_lower_acc-purple .colour-under_lower_acc, .under_upper_acc-purple .colour-under_upper_acc, .head_acc-purple .colour-head_acc, .face_acc-purple .colour-face_acc, .neck_acc-purple .colour-neck_acc, .legs_acc-purple .colour-legs_acc, .feet_acc-purple .colour-feet_acc {
	-webkit-filter: hue-rotate(-80deg) saturate(100%) brightness(100%) contrast(100%);
	filter: hue-rotate(-80deg) saturate(100%) brightness(100%) contrast(100%);
}
.upper-tangerine .colour-upper, .lower-tangerine .colour-lower, .under_lower-tangerine .colour-under_lower, .under_upper-tangerine .colour-under_upper, .head-tangerine .colour-head, .face-tangerine .colour-face, .neck-tangerine .colour-neck, .legs-tangerine .colour-legs, .feet-tangerine .colour-feet, .upper_acc-tangerine .colour-upper_acc, .lower_acc-tangerine .colour-lower_acc, .under_lower_acc-tangerine .colour-under_lower_acc, .under_upper_acc-tangerine .colour-under_upper_acc, .head_acc-tangerine .colour-head_acc, .face_acc-tangerine .colour-face_acc, .neck_acc-tangerine .colour-neck_acc, .legs_acc-tangerine .colour-legs_acc, .feet_acc-tangerine .colour-feet_acc {
	-webkit-filter: hue-rotate(60deg) saturate(150%) brightness(200%) contrast(100%);
	filter: hue-rotate(60deg) saturate(150%) brightness(200%) contrast(100%);
}
.upper-yellow .colour-upper, .lower-yellow .colour-lower, .under_lower-yellow .colour-under_lower, .under_upper-yellow .colour-under_upper, .head-yellow .colour-head, .face-yellow .colour-face, .neck-yellow .colour-neck, .legs-yellow .colour-legs, .feet-yellow .colour-feet, .upper_acc-yellow .colour-upper_acc, .lower_acc-yellow .colour-lower_acc, .under_lower_acc-yellow .colour-under_lower_acc, .under_upper_acc-yellow .colour-under_upper_acc, .head_acc-yellow .colour-head_acc, .face_acc-yellow .colour-face_acc, .neck_acc-yellow .colour-neck_acc, .legs_acc-yellow .colour-legs_acc, .feet_acc-yellow .colour-feet_acc {
	-webkit-filter: hue-rotate(65deg) saturate(100%) brightness(290%) contrast(300%) sepia(0.55);
	filter: hue-rotate(65deg) saturate(100%) brightness(290%) contrast(300%) sepia(0.55);
}
.upper-brown .colour-upper, .lower-brown .colour-lower, .under_lower-brown .colour-under_lower, .under_upper-brown .colour-under_upper, .head-brown .colour-head, .face-brown .colour-face, .neck-brown .colour-neck, .legs-brown .colour-legs, .feet-brown .colour-feet, .upper_acc-brown .colour-upper_acc, .lower_acc-brown .colour-lower_acc, .under_lower_acc-brown .colour-under_lower_acc, .under_upper_acc-brown .colour-under_upper_acc, .head_acc-brown .colour-head_acc, .face_acc-brown .colour-face_acc, .neck_acc-brown .colour-neck_acc, .legs_acc-brown .colour-legs_acc, .feet_acc-brown .colour-feet_acc {
	-webkit-filter: hue-rotate(55deg) saturate(100%) brightness(90%) contrast(100%);
	filter: hue-rotate(55deg) saturate(100%) brightness(90%) contrast(100%);
}

/* wet clothes */
.upper-wetblue .colour-upper, .lower-wetblue .colour-lower, .under_lower-wetblue .colour-under_lower, .under_upper-wetblue .colour-under_upper {
	-webkit-filter: hue-rotate(-120deg) saturate(0.5) brightness(90%) contrast(100%) opacity(0.5);
	filter: hue-rotate(-120deg) saturate(0.5) brightness(90%) contrast(100%) opacity(0.5);
}
.upper-wetwhite .colour-upper, .lower-wetwhite .colour-lower, .under_lower-wetwhite .colour-under_lower, .under_upper-wetwhite .colour-under_upper {
	-webkit-filter: hue-rotate(0deg) saturate(0%) brightness(430%) contrast(140%) opacity(0.5);
	filter: hue-rotate(0deg) saturate(0%) brightness(430%) contrast(140%) opacity(0.5);
}
.upper-wetred .colour-upper, .lower-wetred .colour-lower, .under_lower-wetred .colour-under_lower, .under_upper-wetred .colour-under_upper {
	-webkit-filter: hue-rotate(0deg) saturate(0.5) brightness(90%) contrast(100%) opacity(0.5);
	filter: hue-rotate(0deg) saturate(0.5) brightness(90%) contrast(100%) opacity(0.5);
}
.upper-wetgreen .colour-upper, .lower-wetgreen .colour-lower, .under_lower-wetgreen .colour-under_lower, .under_upper-wetgreen .colour-under_upper {
	-webkit-filter: hue-rotate(120deg) saturate(0.5) brightness(140%) contrast(100%) opacity(0.5);
	filter: hue-rotate(120deg) saturate(0.5) brightness(140%) contrast(100%) opacity(0.5);
}
.upper-wetblack .colour-upper, .lower-wetblack .colour-lower, .under_lower-wetblack .colour-under_lower, .under_upper-wetblack .colour-under_upper {
	-webkit-filter: hue-rotate(0deg) saturate(0%) brightness(90%) contrast(110%) opacity(0.5);
	filter: hue-rotate(0deg) saturate(0%) brightness(90%) contrast(110%) opacity(0.5);
}
.upper-wetpink .colour-upper, .lower-wetpink .colour-lower, .under_lower-wetpink .colour-under_lower, .under_upper-wetpink .colour-under_upper {
	-webkit-filter: hue-rotate(-30deg) saturate(25%) contrast(100%) brightness(150%) opacity(0.5);
	filter: hue-rotate(-30deg) saturate(25%) contrast(100%) brightness(150%) opacity(0.5);
}
.upper-wetpurple .colour-upper, .lower-wetpurple .colour-lower, .under_lower-wetpurple .colour-under_lower, .under_upper-wetpurple .colour-under_upper {
	-webkit-filter: hue-rotate(-90deg) saturate(0.5) brightness(90%) contrast(100%) opacity(0.5);
	filter: hue-rotate(-90deg) saturate(0.5) brightness(90%) contrast(100%) opacity(0.5);
}
.upper-wettangerine .colour-upper, .lower-wettangerine .colour-lower, .under_lower-wettangerine .colour-under_lower, .under_upper-wettangerine .colour-under_upper {
	-webkit-filter: hue-rotate(60deg) saturate(0.75) brightness(190%) contrast(100%) opacity(0.5);
	filter: hue-rotate(60deg) saturate(0.75) brightness(190%) contrast(100%) opacity(0.5);
}
.upper-wetyellow .colour-upper, .lower-wetyellow .colour-lower, .under_lower-wetyellow .colour-under_lower, .under_upper-wetyellow .colour-under_upper {
	-webkit-filter: hue-rotate(65deg) saturate(0.5) brightness(280%) contrast(300%) sepia(0.55) opacity(0.5);
	filter: hue-rotate(65deg) saturate(0.5) brightness(280%) contrast(300%) sepia(0.55) opacity(0.5);
}
.upper-wetbrown .colour-upper, .lower-wetbrown .colour-lower, .under_lower-wetbrown .colour-under_lower, .under_upper-wetbrown .colour-under_upper {
	-webkit-filter: hue-rotate(60deg) saturate(150%) brightness(200%) contrast(100%) opacity(0.5);
	filter: hue-rotate(60deg) saturate(150%) brightness(200%) contrast(100%) opacity(0.5);
}

/*
 * Animation-related classes. Work-in-progress
 * Expected document structure:
 * <div class="i256" -- should have the image size-related class
 *					(or have fixed size & overflow: hidden any other way)
 *	<img class="anim-2s anim-2f" -- should have
 *		1) duration-related class like "anim-2s" (2 seconds)
 *		2) frame count-related class like "anim-2f" (2 frames)
 *		OR
 *	<img class="anim-doggy-4f-vfast"
 *		-- should have frame count & speed class
 *			like "anim-doggy-4f-vfast" (4 frames, very fast)
 */
.i256 {
	width: 256px;
	height: 256px;
	overflow: hidden;
}
.i128 {
	width: 128px;
	height: 128px;
	overflow: hidden;
}
.i64 {
	width: 64px;
	height: 64px;
	overflow: hidden;
}
.i256 > *, .i128 > *, .i64 > * {
	position: absolute;
}
.anim-1s, .anim-2s {
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-name: anim-default;
	animation-iteration-count: infinite;
	animation-name: anim-default;
}

/* joint duration & frame-count classes */

/* generic idle animation, -slow(default)/-mid/-fast */
.anim-idle-1f, .anim-idle-1f-slow { }
.anim-idle-2f, .anim-idle-2f-slow {
	-webkit-animation-duration: 2s; /* 1s x 2 */
	-webkit-animation-timing-function: steps(2);
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-name: anim-default;
	animation-duration: 2s; /* 1s x 2 */
	animation-timing-function: steps(2);
	animation-iteration-count: infinite;
	animation-name: anim-default;
}
.anim-idle-3f, .anim-idle-3f-slow {
	-webkit-animation-duration: 3s; /* 1s x 3 */
	-webkit-animation-timing-function: steps(3);
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-name: anim-default;
	animation-duration: 3s; /* 1s x 3 */
	animation-timing-function: steps(3);
	animation-iteration-count: infinite;
	animation-name: anim-default;
}
.anim-idle-4f-mid {
	-webkit-animation-duration: 1320ms; /* 330ms x 4 */
	-webkit-animation-timing-function: steps(4);
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-name: anim-default;
	animation-duration: 1320ms; /* 330ms x 4 */
	animation-timing-function: steps(4);
	animation-iteration-count: infinite;
	animation-name: anim-default;
}
.anim-idle-4f-fast {
	-webkit-animation-duration: 320ms; /* 80ms x 4 */
	-webkit-animation-timing-function: steps(4);
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-name: anim-default;
	animation-duration: 320ms; /* 80ms x 4 */
	animation-timing-function: steps(4);
	animation-iteration-count: infinite;
	animation-name: anim-default;
}

/* sex animations, main slot */

.anim-doggy-3f-vfast {
	-webkit-animation-duration: 240ms; /* 80ms x 3 */
	-webkit-animation-timing-function: steps(3);
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-name: anim-default;
	animation-duration: 240ms; /* 80ms x 3 */
	animation-timing-function: steps(3);
	animation-iteration-count: infinite;
	animation-name: anim-default;
}
.anim-doggy-3f-fast {
	-webkit-animation-duration: 330ms; /* 110ms x 3 */
	-webkit-animation-timing-function: steps(3);
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-name: anim-default;
	animation-duration: 330ms; /* 110ms x 3 */
	animation-timing-function: steps(3);
	animation-iteration-count: infinite;
	animation-name: anim-default;
}
.anim-doggy-3f-mid {
	-webkit-animation-duration: 510ms; /* 170ms x 3 */
	-webkit-animation-timing-function: steps(3);
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-name: anim-default;
	animation-duration: 510ms; /* 170ms x 3 */
	animation-timing-function: steps(3);
	animation-iteration-count: infinite;
	animation-name: anim-default;
}
.anim-doggy-3f-slow {
	-webkit-animation-duration: 990ms; /* 330ms x 3 */
	-webkit-animation-timing-function: steps(3);
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-name: anim-default;
	animation-duration: 1320ms; /* 330ms x 3 */
	animation-timing-function: steps(4);
	animation-iteration-count: infinite;
	animation-name: anim-default;
}
.anim-doggy-4f-vfast {
	-webkit-animation-duration: 320ms; /* 80ms x 4 */
	-webkit-animation-timing-function: steps(4);
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-name: anim-default;
	animation-duration: 320ms; /* 80ms x 4 */
	animation-timing-function: steps(4);
	animation-iteration-count: infinite;
	animation-name: anim-default;
}
.anim-doggy-4f-fast {
	-webkit-animation-duration: 440ms; /* 110ms x 4 */
	-webkit-animation-timing-function: steps(4);
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-name: anim-default;
	animation-duration: 440ms; /* 110ms x 4 */
	animation-timing-function: steps(4);
	animation-iteration-count: infinite;
	animation-name: anim-default;
}
.anim-doggy-4f-mid {
	-webkit-animation-duration: 680ms; /* 170ms x 4 */
	-webkit-animation-timing-function: steps(4);
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-name: anim-default;
	animation-duration: 680ms; /* 170ms x 4 */
	animation-timing-function: steps(4);
	animation-iteration-count: infinite;
	animation-name: anim-default;
}
.anim-doggy-4f-slow {
	-webkit-animation-duration: 1320ms; /* 330ms x 4 */
	-webkit-animation-timing-function: steps(4);
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-name: anim-default;
	animation-duration: 1320ms; /* 330ms x 4 */
	animation-timing-function: steps(4);
	animation-iteration-count: infinite;
	animation-name: anim-default;
}
.anim-doggy-5f-vfast {
	-webkit-animation-duration: 400ms; /* 80ms x 5 */
	-webkit-animation-timing-function: steps(5);
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-name: anim-default;
	animation-duration: 400ms; /* 80ms x 5 */
	animation-timing-function: steps(5);
	animation-iteration-count: infinite;
	animation-name: anim-default;
}
.anim-doggy-5f-fast {
	-webkit-animation-duration: 550ms; /* 110ms x 5 */
	-webkit-animation-timing-function: steps(5);
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-name: anim-default;
	animation-duration: 550ms; /* 110ms x 5 */
	animation-timing-function: steps(5);
	animation-iteration-count: infinite;
	animation-name: anim-default;
}
.anim-doggy-5f-mid {
	-webkit-animation-duration: 850ms; /* 170ms x 5 */
	-webkit-animation-timing-function: steps(5);
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-name: anim-default;
	animation-duration: 850ms; /* 170ms x 5 */
	animation-timing-function: steps(5);
	animation-iteration-count: infinite;
	animation-name: anim-default;
}
.anim-doggy-5f-slow {
	-webkit-animation-duration: 1650ms; /* 330ms x 5 */
	-webkit-animation-timing-function: steps(5);
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-name: anim-default;
	animation-duration: 1650ms; /* 330ms x 5 */
	animation-timing-function: steps(5);
	animation-iteration-count: infinite;
	animation-name: anim-default;
}
.anim-doggy-6f-vfast {
	-webkit-animation-duration: 480ms; /* 80ms x 6 */
	-webkit-animation-timing-function: steps(6);
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-name: anim-default;
	animation-duration: 480ms; /* 80ms x 6 */
	animation-timing-function: steps(6);
	animation-iteration-count: infinite;
	animation-name: anim-default;
}
.anim-doggy-6f-fast {
	-webkit-animation-duration: 660ms; /* 110ms x 6 */
	-webkit-animation-timing-function: steps(6);
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-name: anim-default;
	animation-duration: 660ms; /* 110ms x 6 */
	animation-timing-function: steps(6);
	animation-iteration-count: infinite;
	animation-name: anim-default;
}
.anim-doggy-6f-mid {
	-webkit-animation-duration: 1020ms; /* 170ms x 6 */
	-webkit-animation-timing-function: steps(6);
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-name: anim-default;
	animation-duration: 1020ms; /* 170ms x 6 */
	animation-timing-function: steps(6);
	animation-iteration-count: infinite;
	animation-name: anim-default;
}
.anim-doggy-6f-slow {
	-webkit-animation-duration: 1980ms; /* 330ms x 6 */
	-webkit-animation-timing-function: steps(6);
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-name: anim-default;
	animation-duration: 1980ms; /* 330ms x 6 */
	animation-timing-function: steps(6);
	animation-iteration-count: infinite;
	animation-name: anim-default;
}

/* sex animations, close-up slots */
.anim-close-3f-vfast {
	-webkit-animation-duration: 240ms; /* 80ms x 3 */
	-webkit-animation-timing-function: steps(3);
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-name: anim-default;
	animation-duration: 240ms; /* 80ms x 3 */
	animation-timing-function: steps(3);
	animation-iteration-count: infinite;
	animation-name: anim-default;
}
.anim-close-3f-fast {
	-webkit-animation-duration: 330ms; /* 110ms x 3 */
	-webkit-animation-timing-function: steps(3);
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-name: anim-default;
	animation-duration: 330ms; /* 110ms x 3 */
	animation-timing-function: steps(3);
	animation-iteration-count: infinite;
	animation-name: anim-default;
}
.anim-close-3f-mid {
	-webkit-animation-duration: 510ms; /* 170ms x 3 */
	-webkit-animation-timing-function: steps(3);
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-name: anim-default;
	animation-duration: 510ms; /* 170ms x 3 */
	animation-timing-function: steps(3);
	animation-iteration-count: infinite;
	animation-name: anim-default;
}
.anim-close-3f-slow {
	-webkit-animation-duration: 990ms; /* 330ms x 3 */
	-webkit-animation-timing-function: steps(3);
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-name: anim-default;
	animation-duration: 990ms; /* 330ms x 3 */
	animation-timing-function: steps(3);
	animation-iteration-count: infinite;
	animation-name: anim-default;
}
.anim-close-4f-vfast {
	-webkit-animation-duration: 320ms; /* 80ms x 4 */
	-webkit-animation-timing-function: steps(4);
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-name: anim-default;
	animation-duration: 320ms; /* 80ms x 4 */
	animation-timing-function: steps(4);
	animation-iteration-count: infinite;
	animation-name: anim-default;
}
.anim-close-4f-fast {
	-webkit-animation-duration: 440ms; /* 110ms x 4 */
	-webkit-animation-timing-function: steps(4);
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-name: anim-default;
	animation-duration: 440ms; /* 110ms x 4 */
	animation-timing-function: steps(4);
	animation-iteration-count: infinite;
	animation-name: anim-default;
}
.anim-close-4f-mid {
	-webkit-animation-duration: 680ms; /* 170ms x 4 */
	-webkit-animation-timing-function: steps(4);
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-name: anim-default;
	animation-duration: 680ms; /* 170ms x 4 */
	animation-timing-function: steps(4);
	animation-iteration-count: infinite;
	animation-name: anim-default;
}
.anim-close-4f-slow {
	-webkit-animation-duration: 1320ms; /* 330ms x 4 */
	-webkit-animation-timing-function: steps(4);
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-name: anim-default;
	animation-duration: 1320ms; /* 330ms x 4 */
	animation-timing-function: steps(4);
	animation-iteration-count: infinite;
	animation-name: anim-default;
}
/*Currently unused*/
.anim-close-5f-vfast {
	-webkit-animation-duration: 400ms; /* 80ms x 5 */
	-webkit-animation-timing-function: steps(5);
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-name: anim-default;
	animation-duration: 400ms; /* 80ms x 5 */
	animation-timing-function: steps(5);
	animation-iteration-count: infinite;
	animation-name: anim-default;
}
.anim-close-5f-fast {
	-webkit-animation-duration: 550ms; /* 110ms x 5 */
	-webkit-animation-timing-function: steps(5);
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-name: anim-default;
	animation-duration: 550ms; /* 110ms x 5 */
	animation-timing-function: steps(5);
	animation-iteration-count: infinite;
	animation-name: anim-default;
}
.anim-close-5f-mid {
	-webkit-animation-duration: 850ms; /* 170ms x 5 */
	-webkit-animation-timing-function: steps(5);
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-name: anim-default;
	animation-duration: 850ms; /* 170ms x 5 */
	animation-timing-function: steps(5);
	animation-iteration-count: infinite;
	animation-name: anim-default;
}
.anim-close-5f-slow {
	-webkit-animation-duration: 1650ms; /* 330ms x 5 */
	-webkit-animation-timing-function: steps(5);
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-name: anim-default;
	animation-duration: 1650ms; /* 330ms x 5 */
	animation-timing-function: steps(5);
	animation-iteration-count: infinite;
	animation-name: anim-default;
}
.anim-close-6f-vfast {
	-webkit-animation-duration: 480ms; /* 80ms x 6 */
	-webkit-animation-timing-function: steps(6);
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-name: anim-default;
	animation-duration: 480ms; /* 80ms x 6 */
	animation-timing-function: steps(6);
	animation-iteration-count: infinite;
	animation-name: anim-default;
}
.anim-close-6f-fast {
	-webkit-animation-duration: 660ms; /* 110ms x 6 */
	-webkit-animation-timing-function: steps(6);
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-name: anim-default;
	animation-duration: 660ms; /* 110ms x 6 */
	animation-timing-function: steps(6);
	animation-iteration-count: infinite;
	animation-name: anim-default;
}
.anim-close-6f-mid {
	-webkit-animation-duration: 1020ms; /* 170ms x 6 */
	-webkit-animation-timing-function: steps(6);
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-name: anim-default;
	animation-duration: 1020ms; /* 170ms x 6 */
	animation-timing-function: steps(6);
	animation-iteration-count: infinite;
	animation-name: anim-default;
}
.anim-close-6f-slow {
	-webkit-animation-duration: 1980ms; /* 330ms x 6 */
	-webkit-animation-timing-function: steps(6);
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-name: anim-default;
	animation-duration: 1980ms; /* 330ms x 6 */
	animation-timing-function: steps(6);
	animation-iteration-count: infinite;
	animation-name: anim-default;
}

.anim-xray-8f-vfast {
	-webkit-animation-duration: 320ms; /* 40ms x 8 */
	-webkit-animation-timing-function: steps(8);
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-name: anim-default;
	animation-duration: 320ms; /* 40ms x 8 */
	animation-timing-function: steps(8);
	animation-iteration-count: infinite;
	animation-name: anim-default;
}
.anim-xray-8f-fast {
	-webkit-animation-duration: 480ms; /* 60ms x 8 */
	-webkit-animation-timing-function: steps(8);
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-name: anim-default;
	animation-duration: 480ms; /* 60ms x 8 */
	animation-timing-function: steps(8);
	animation-iteration-count: infinite;
	animation-name: anim-default;
}
.anim-xray-8f-mid {
	-webkit-animation-duration: 640ms; /* 80ms x 8 */
	-webkit-animation-timing-function: steps(8);
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-name: anim-default;
	animation-duration: 640ms; /* 80ms x 8 */
	animation-timing-function: steps(8);
	animation-iteration-count: infinite;
	animation-name: anim-default;
}
.anim-xray-8f-slow {
	-webkit-animation-duration: 1320ms; /* 170ms x 8 */
	-webkit-animation-timing-function: steps(8);
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-name: anim-default;
	animation-duration: 1320ms; /* 170ms x 8 */
	animation-timing-function: steps(8);
	animation-iteration-count: infinite;
	animation-name: anim-default;
}

/* duration related-classes.
	When adding, don't forget to add it to rule above with animation-iteration-count */
.anim-1s {
	-webkit-animation-duration: 1s;
	animation-duration: 1s;
}
.anim-2s {
	-webkit-animation-duration: 2s;
	animation-duration: 2s;
}

/* frame-count related classes */
.anim-2f {
	-webkit-animation-timing-function: steps(2);
	animation-timing-function: steps(2);
}
.anim-4f {
	-webkit-animation-timing-function: steps(4);
	animation-timing-function: steps(4);
}

@keyframes anim-default {
	0% {
	-webkit-transform: translateX(0);
	transform: translateX(0);
	}
	100% {
		-webkit-transform: translateX(-100%);
		transform: translateX(-100%);
	}
}


code:
window.overlayShowHide = function(elementId){
	var div = document.getElementById(elementId);
	if(div != undefined){
		div.classList.toggle("hidden");
		if(elementId === "debugOverlay"){
		   SugarCube.State.variables.debugMenu[0] = !SugarCube.State.variables.debugMenu[0];
		}
	}
}

window.overlayMenu = function(elementId, type){
	switch(type){
		case "debug":
		var debug = ["debugMain", "debugCharacter", "debugEvents"]
		for(var i = 0, l = debug.length; i < l; i++){
			var div = document.getElementById(debug[i]);
			if(div != undefined){
				SugarCube.State.variables.debugMenu[1] = elementId;
				if(elementId === debug[i]){
					div.classList.remove("hidden");
				}else{
					div.classList.add("hidden");
				}
			}
		}
		break;
	}
}

/*Sidebar swipe*/
document.addEventListener('touchstart', handleTouchStart, false);
document.addEventListener('touchmove', handleTouchMove, false);

var xDown = null;
var yDown = null;

function getTouches(evt) {
	return evt.touches ||			 // browser API
			evt.originalEvent.touches; // jQuery
}

function handleTouchStart(evt) {
	var firstTouch = getTouches(evt)[0];
	xDown = firstTouch.clientX;
	yDown = firstTouch.clientY;
};

function handleTouchMove(evt) {
	if ( ! xDown || ! yDown ) {
		return;
	}

	/**
	 * Activate the swipe only when finger near the UI Bar.
	 * 50px - +/- width of unstowed UI Bar
	 * 280px - +/- width of unstowed UI bar
	 */
	if ( isUIBarStowed() ) {
		if ( xDown > 50 ) {
			return;
		}
	} else
	{
		if ( xDown > 280 ) {
			return;
		}
	}

	var xUp = evt.touches[0].clientX;
	var yUp = evt.touches[0].clientY;

	var xDiff = xDown - xUp;
	var yDiff = yDown - yUp;

	if ( Math.abs( xDiff ) > Math.abs( yDiff ) ) {/*most significant*/
		if ( xDiff > 0 ) {
			UIBar.stow();/* left swipe */
		} else {
			UIBar.unstow();/* right swipe */
		}
	} else {
		if ( yDiff > 0 ) {
			/* up swipe */
		} else {
			/* down swipe */
		}
	}
	/* reset values */
	xDown = null;
	yDown = null;
};

function isUIBarStowed() {
	return $( '#ui-bar' ).hasClass( 'stowed' );
}

var disableNumberifyInVisibleElements = [
	'#passage-testing-room',
];

// Number-ify links
var currentLinks = [];

function getPrettyKeyNumber(counter) {
	var str = "";

	if (counter > 30)
		str = "Ctrl + ";
	else if (counter > 20)
		str = "Alt + ";
	else if (counter > 10)
		str = "Shift + ";

	if (counter % 10 === 0)
		str += "0";
	else if (counter < 10)
		str += counter;
	else {
		var c = Math.floor(counter / 10);
		str += (counter - (10 * c)).toString();
	}

	return str;
}

$(document).on(':passagerender', function(ev) {
	currentLinks = [];

	if (passage() == "GiveBirth") {
		$(ev.content).find("[type=checkbox]").on('propertychange change', function() { new Wikifier(null, '<<resetPregButtons>>');
		generateNumbers(ev);} );
	}

	generateNumbers(ev);
});

function generateNumbers(ev){
	if (!State.variables.numberify_enabled || !StartConfig.enableLinkNumberify)
		return;

	for (var i = 0; i < disableNumberifyInVisibleElements.length; i++) {
		if ($(ev.content).find(disableNumberifyInVisibleElements[i]).length || $(ev.content).is(disableNumberifyInVisibleElements[i]))
			return; // simply skip this render
	}

	currentLinks = $(ev.content).find(".link-internal"); // wanted to use .macro-link, but wardrobe and something else doesn't get selected, lmao

	$(currentLinks).each(function(i, el) {
		if(!$(el).hasClass('nonumberify')) $(el).html("(" + getPrettyKeyNumber(i + 1) + ") " + $(el).html());
	});
}

$(document).on('keyup', function(ev) {
	if (!State.variables.numberify_enabled || !StartConfig.enableLinkNumberify)
		return;

	if ((ev.keyCode >= 48 && ev.keyCode <= 57) || (ev.keyCode >= 96 && ev.keyCode <= 105)) {
		var fixedKeyIndex = (ev.keyCode < 60 ? ev.keyCode - 48 : ev.keyCode - 96);

		var requestedLinkIndex = [
			9,
			0,
			1,
			2,
			3,
			4,
			5,
			6,
			7,
			8
		][fixedKeyIndex];

		if (ev.ctrlKey)
			requestedLinkIndex += 30;
		else if (ev.altKey)
			requestedLinkIndex += 20;
		else if (ev.shiftKey)
			requestedLinkIndex += 10;

		if ($(currentLinks).length >= requestedLinkIndex + 1)
			$(currentLinks[requestedLinkIndex]).click();
	}
});

license: mit


code:
function colourContainerClasses() {
	var V = State.variables;
	return 'hair-'  + (V.haircolour||'').replace(/ /g,'-') +
		' ' + 'eye-'   + (V.eyecolour||'').replace(/ /g,'-') +
		' ' + 'upper-' + (V.upperwet > 100 ? 'wet' : '') + (V.worn.upper.colour||'').replace(/ /g,'-') +
		' ' + 'lower-' + (V.lowerwet > 100 ? 'wet' : '') + (V.worn.lower.colour||'').replace(/ /g,'-') +
		' ' + 'under_lower-' + (V.underlowerwet > 100 ? 'wet' : '') + (V.worn.under_lower.colour||'').replace(/ /g,'-') +
		' ' + 'under_upper-' + (V.underupperwet > 100 ? 'wet' : '') + (V.worn.under_upper.colour||'').replace(/ /g,'-') +
		' ' + 'head-' + (V.worn.head.colour||'').replace(/ /g,'-') +
		' ' + 'face-' + (V.worn.face.colour||'').replace(/ /g,'-') +
		' ' + 'neck-' + (V.worn.neck.colour||'').replace(/ /g,'-') +
		' ' + 'legs-' + (V.worn.legs.colour||'').replace(/ /g,'-') +
		' ' + 'feet-' + (V.worn.feet.colour||'').replace(/ /g,'-') +
		' ' + 'upper_acc-' + (V.worn.upper.accessory_colour||'').replace(/ /g,'-') +
		' ' + 'lower_acc-' + (V.worn.lower.accessory_colour||'').replace(/ /g,'-') +
		' ' + 'under_lower_acc-' + (V.worn.under_lower.accessory_colour||'').replace(/ /g,'-') +
		' ' + 'under_upper_acc-' + (V.worn.under_upper.accessory_colour||'').replace(/ /g,'-') +
		' ' + 'head_acc-' + (V.worn.head.accessory_colour||'').replace(/ /g,'-') +
		' ' + 'face_acc-' + (V.worn.face.accessory_colour||'').replace(/ /g,'-') +
		' ' + 'neck_acc-' + (V.worn.neck.accessory_colour||'').replace(/ /g,'-') +
		' ' + 'legs_acc-' + (V.worn.legs.accessory_colour||'').replace(/ /g,'-') +
		' ' + 'feet_acc-' + (V.worn.feet.accessory_colour||'').replace(/ /g,'-')
}
window.colourContainerClasses = colourContainerClasses; // export function


code:
window.hairdressers = function(type, value){
	switch(type){
		case 1:
			SugarCube.State.variables.money -= 3000;
			SugarCube.State.variables.hairlength = (100 * value);
			SugarCube.State.variables.phase = 1;
			new Wikifier(null, '<<pass 20>>');
			break;
		case 2:
			SugarCube.State.variables.money -= 3000;
			SugarCube.State.variables.fringelength = (200 * value);
			SugarCube.State.variables.phase = 2;
			new Wikifier(null, '<<pass 20>>');
			break;
		case 3:
			SugarCube.State.variables.money -= 6000;
			SugarCube.State.variables.haircolour = SugarCube.State.variables.hairdressersHairColour[value];
			SugarCube.State.variables.phase = 3;
			new Wikifier(null, '<<pass 30>>');
			break;
	}
	SugarCube.State.display(SugarCube.State.variables.passage);
}

window.mapMove = function(moveTo){
	var currentPassage = SugarCube.State.variables.passage;
	var destination_table = [];
	for(var i=1; i < SugarCube.State.variables.link_table.length; i++) {
		var temp = SugarCube.State.variables.link_table[i].split("|")[1];
		if(temp) {
			destination_table[destination_table.length] = temp.split("]]")[0];
		}
	}
	var avaliable = SugarCube.State.variables.map.avaliable;

	if(SugarCube.State.variables.debug == 1 || avaliable[currentPassage].includes(moveTo) && destination_table.includes(moveTo))
	//if(SugarCube.State.variables.debug == 1 || avaliable[currentPassage].includes(moveTo))
	{
		new Wikifier(null, '<<pass 5>>');
		SugarCube.State.display(moveTo);
	}
}


code:
window.returnSaveDetails = function(){
	return Save.get();
}

window.loadSave = function(saveSlot){
	if(saveSlot === "auto"){
		Save.autosave.load();
	}else{
		Save.slots.load(saveSlot);
	}
}

window.save = function(saveSlot){
	if(saveSlot != undefined){
		Save.slots.save(saveSlot);
		SugarCube.State.variables.currentOverlay = null;
		overlayShowHide("customOverlay");
	}
}

window.deleteSave = function(saveSlot, confirm){
	if(saveSlot === "all"){
		if(confirm === undefined){
			new Wikifier(null, '<<clearSaveMenu>>');
			return;
		}else if(confirm === true){
			Save.clear();
		}
	}else if(saveSlot === "auto"){
		Save.autosave.delete();
	}else{
		Save.slots.delete(saveSlot);
	}
	new Wikifier(null, '<<resetSaveMenu>>');
}

window.importSave = function(saveFile){
	if(!window.FileReader) return; // Browser is not compatible

	var reader = new FileReader();

	reader.onloadend = function(){
		DeserializeGame(this.result);
	}

	reader.readAsText(saveFile[0]);
}

window.SerializeGame = function () { return Save.serialize(); }; window.DeserializeGame = function (myGameState) { return Save.deserialize(myGameState) };

window.getSaveData = function(){
	var input = document.getElementById("saveDataInput");
	input.value = Save.serialize();
}

window.loadSaveData = function(){
	var input = document.getElementById("saveDataInput");
	var result = Save.deserialize(input.value);
	if (result === null) {
		input.value = "Invalid Save."
	}
}

window.clearTextBox = function(id){
	document.getElementById(id).value = "";
}

window.topTextArea = function(id){
	var textArea = document.getElementById(id);
	textArea.scroll(0, 0);
}

window.bottomTextArea = function(id){
	var textArea = document.getElementById(id);
	textArea.scroll(0, textArea.scrollHeight);
}


code:
:: npcList [widget]
<<widget "npcList">><<nobr>>
<<set $baseNPC = {penis : 0, vagina: 0, breastsdesc: 0, chest: 0, lactation: 0, lefthand: 0, righthand: 0, anus: 0, mouth: 0, gender: 0, description: 0, insecurity: 0, pronoun: 0, pronouns: {he: 0, his: 0}, penissize: 0, breastsize: 0, buttsize: 0, ballssize: 0, penisdesc: 0, breastdesc: 0, health: 0, skincolour: 0, teen: 0, adult: 0, intro:0, speechpenisescape: 0, speechvaginaescape: 0, speechanusescape:0}>>

<<set _n1 to clone($baseNPC)>>
<<set _n2 to clone($baseNPC)>>
<<set _n3 to clone($baseNPC)>>
<<set _n4 to clone($baseNPC)>>
<<set _n5 to clone($baseNPC)>>
<<set _n6 to clone($baseNPC)>>

<<set $NPCList = [_n1, _n2, _n3, _n4, _n5, _n6]>>

<<for _i = 0; _i < $NPCList.length; _i++>>
	<<set $NPCList[_i].lefthand to "none">>
	<<set $NPCList[_i].lefthand to "none">>
	<<set $NPCList[_i].righthand to "none">>
	<<set $NPCList[_i].penis to "none">>
	<<set $NPCList[_i].vagina to "none">>
	<<set $NPCList[_i].mouth to "none">>
	<<set $NPCList[_i].chest to "none">>
	<<set $NPCList[_i].gender to 0>>
	<<set $NPCList[_i].pronoun to 0>>
	<<set $NPCList[_i].description to 0>>
<</for>>
<<set $npcListVersion to 1>>
<</nobr>><</widget>>


code:
:: npcNamed [widget]
<<widget "npcNamed">><<nobr>>
<!-- To add new Named NPC, add new _nXX variable and tag values to end. Rest of code should automatically scope based on size of list. -->
<!-- NPC descriptions is set as names, and their titles are being established for compatibility with general NPCs -->
<<if $npcNamedVersion is 1>>
<<set _tempNPCName to clone($NPCName)>>
<</if>>
<<set $baseNNPC = {penis : 0, vagina: 0, gender: 0, description: 0, insecurity: 0, pronoun: 0, penissize: 0, penisdesc: 0, buttsize: 0, ballssize: 0, breastsize: 0, breastdesc: 0, breastsdesc: 0, skincolour: 0, teen: 0, adult: 0, intro: 0}>>

	<<set _n1 to clone($baseNNPC)>>
	<<set _n2 to clone($baseNNPC)>>
	<<set _n3 to clone($baseNNPC)>>
	<<set _n4 to clone($baseNNPC)>>
	<<set _n5 to clone($baseNNPC)>>
	<<set _n6 to clone($baseNNPC)>>
	<<set _n7 to clone($baseNNPC)>>
	<<set _n8 to clone($baseNNPC)>>
	<<set _n9 to clone($baseNNPC)>>
	<<set _n10 to clone($baseNNPC)>>
	<<set _n11 to clone($baseNNPC)>>
	<<set _n12 to clone($baseNNPC)>>
	<<set _n13 to clone($baseNNPC)>>
	<<set _n14 to clone($baseNNPC)>>
	<<set _n15 to clone($baseNNPC)>>
	<<set _n16 to clone($baseNNPC)>>
	<<set _n17 to clone($baseNNPC)>>
	<<set _n18 to clone($baseNNPC)>>
	<<set _n19 to clone($baseNNPC)>>
	<<set _n20 to clone($baseNNPC)>>
	<<set _n21 to clone($baseNNPC)>>
	<<set _n22 to clone($baseNNPC)>>
	<<set _n23 to clone($baseNNPC)>>

<<set $NPCName = [_n1, _n2, _n3, _n4, _n5, _n6, _n7, _n8, _n9, _n10, _n11, _n12, _n13, _n14, _n15, _n16, _n17, _n18, _n19, _n20, _n21]>>

<<set $NPCNameList to ["Avery","Bailey","Briar","Charlie","Darryl","Doren","Eden","Gwylan","Harper","Jordan","Kylar","Landry","Leighton","Mason","Morgan","River","Robin","Sam","Sirris","Whitney","Winter"]>>

<!-- Draft default pronoun list. Random selection is part of initNPCgender widget -->
/% <<set _pro to ["m","f","f","m","m","m","m","m","f","f","m","m","f","m","f","m","m","m","f","m","m","m","m"]>> %/

<<set _tit to ["businessperson", "caretaker", "brothel owner", "dance coach", "club owner","English teacher","hunter", "shopkeeper", "doctor","pious","loner","criminal","headteacher", "swimming teacher","sewer dweller","maths teacher","orphan","cafe owner","science teacher","bully", "history teacher"]>>

<<set _ins to ["weak","weak","looks","ethics","ethics","ethics","looks","weak","skill","ethics","weak","skill","skill","ethics","weak","ethics","ethics","ethics","ethics","looks","skill"]>>

<<set _swi to ["a","a","a","a","a","a","a","t","a","a","t","a","a","a","a","a","t","a","a","t","a"]>>

<<for _i to 0; _i lt $NPCName.length; _i++>>

	<<set $NPCName[_i].nam to $NPCNameList[_i]>>
	<<set $NPCName[_i].description to $NPCNameList[_i]>>
	<<set $NPCName[_i].title to _tit[_i]>>
	<<set $NPCName[_i].pronoun to "none">>
	<<set $NPCName[_i].gender to "none">>
	<<set $NPCName[_i].penissize to 0>>
	<<set $NPCName[_i].penisdesc to "none">>
	<<if $npcNamedVersion isnot 1>>/*Keeps init from resetting for saves made in 0.2.5*/
		<<set $NPCName[_i].init to 0>>
	<</if>>
	<<set $NPCName[_i].insecurity to _ins[_i]>>
	<<if _swi[_i] is "t">>
		<<set $NPCName[_i].adult to 0>>
		<<set $NPCName[_i].teen to 1>>
	<<else>>
		<<set $NPCName[_i].adult to 1>>
		<<set $NPCName[_i].teen to 0>>
	<</if>>
	<<set $NPCName[_i].trust to 0>>
	<<set $NPCName[_i].love to 0>>
	<<set $NPCName[_i].dom to 0>>
	<<set $NPCName[_i].lust to 0>>
	<<set $NPCName[_i].rage to 0>>
	<<if $npcNamedVersion isnot 1>>
		<<set $NPCName[_i].state to "">>
	<</if>>
	<<set $NPCName[_i].trauma to 0>>
<</for>>

<</nobr>><</widget>>

<<widget "npcNamedUpdate">><<nobr>>/*Applies new system to old saves, and carries over relevant variables.*/

<<if $npcNamedVersion is undefined or $npcNamedVersion is 1>>
<<npcNamed>>
<</if>>

<<if $npcNamedVersion is 1>><<set $npcNamedVersion to 2>><!-- Runs only if a game was saved during V2.5. -->
<<set $NPCName = [_n1, _n2, _n3, _n4, _n5, _n6, _n7, _n8, _n9, _n10, _n11, _n12, _n13, _n14, _n15, _n16, _n17, _n18, _n19, _n20, _n21]>>

	<<for _e to 0; _e lt $NPCName.length; _e++>>
		<<if _e is 0>>
		<<set _lowerCaseName to "avery">>
		<<set _upperCaseName to "Avery">>
		<<elseif _e is 1>>
		<<set _lowerCaseName to "bailey">>
		<<set _upperCaseName to "Bailey">>
		<<elseif _e is 2>>
		<<set _lowerCaseName to "briar">>
		<<set _upperCaseName to "Briar">>
		<<elseif _e is 3>>
		<<set _lowerCaseName to "charlie">>
		<<set _upperCaseName to "Charlie">>
		<<elseif _e is 4>>
		<<set _lowerCaseName to "darryl">>
		<<set _upperCaseName to "Darryl">>
		<<elseif _e is 5>>
		<<set _lowerCaseName to "doren">>
		<<set _upperCaseName to "Doren">>
		<<elseif _e is 6>>
		<<set _lowerCaseName to "eden">>
		<<set _upperCaseName to "Eden">>
		<<elseif _e is 7>>
		<<set _lowerCaseName to "gwylan">>
		<<set _upperCaseName to "Gwylan">>
		<<elseif _e is 8>>
		<<set _lowerCaseName to "harper">>
		<<set _upperCaseName to "Harper">>
		<<elseif _e is 9>>
		<<set _lowerCaseName to "jordan">>
		<<set _upperCaseName to "Jordan">>
		<<elseif _e is 10>>
		<<set _lowerCaseName to "kylar">>
		<<set _upperCaseName to "Kylar">>
		<<elseif _e is 11>>
		<<set _lowerCaseName to "landry">>
		<<set _upperCaseName to "Landry">>
		<<elseif _e is 12>>
		<<set _lowerCaseName to "leighton">>
		<<set _upperCaseName to "Leighton">>
		<<elseif _e is 13>>
		<<set _lowerCaseName to "mason">>
		<<set _upperCaseName to "Mason">>
		<<elseif _e is 14>>
		<<set _lowerCaseName to "morgan">>
		<<set _upperCaseName to "Morgan">>
		<<elseif _e is 15>>
		<<set _lowerCaseName to "river">>
		<<set _upperCaseName to "River">>
		<<elseif _e is 16>>
		<<set _lowerCaseName to "robin">>
		<<set _upperCaseName to "Robin">>
		<<elseif _e is 17>>
		<<set _lowerCaseName to "sam">>
		<<set _upperCaseName to "Sam">>
		<<elseif _e is 18>>
		<<set _lowerCaseName to "sirris">>
		<<set _upperCaseName to "Sirris">>
		<<elseif _e is 19>>
		<<set _lowerCaseName to "whitney">>
		<<set _upperCaseName to "Whitney">>
		<<elseif _e is 20>>
		<<set _lowerCaseName to "winter">>
		<<set _upperCaseName to "Winter">>
		<</if>>

		<<print '<<if $' + _lowerCaseName + 'gender isnot undefined>><<set $NPCName[$NPCNameList.indexOf("' + _upperCaseName + '")].pronoun to $' + _lowerCaseName + 'gender>><</if>>'>>
		<<print '<<if $' + _lowerCaseName + 'penis isnot undefined>><<set $NPCName[$NPCNameList.indexOf("' + _upperCaseName + '")].penis to $' + _lowerCaseName + 'penis>><</if>>'>>
		<<print '<<if $' + _lowerCaseName + 'vagina isnot undefined>><<set $NPCName[$NPCNameList.indexOf("' + _upperCaseName + '")].vagina to $' + _lowerCaseName + 'vagina>><</if>>'>>

	<</for>>

<<set $NPCName to clone(_tempNPCName)>>

<<elseif $npcNamedVersion is undefined>><<set $npcNamedVersion to 2>><!-- needed for compatibility for V2.4 and prior saves -->
	<<for _e to 0; _e lt $NPCName.length; _e++>>
		<<if _e is 0>>
		<<set _lowerCaseName to "avery">>
		<<set _upperCaseName to "Avery">>
		<<elseif _e is 1>>
		<<set _lowerCaseName to "bailey">>
		<<set _upperCaseName to "Bailey">>
		<<elseif _e is 2>>
		<<set _lowerCaseName to "briar">>
		<<set _upperCaseName to "Briar">>
		<<elseif _e is 3>>
		<<set _lowerCaseName to "charlie">>
		<<set _upperCaseName to "Charlie">>
		<<elseif _e is 4>>
		<<set _lowerCaseName to "darryl">>
		<<set _upperCaseName to "Darryl">>
		<<elseif _e is 5>>
		<<set _lowerCaseName to "doren">>
		<<set _upperCaseName to "Doren">>
		<<elseif _e is 6>>
		<<set _lowerCaseName to "eden">>
		<<set _upperCaseName to "Eden">>
		<<elseif _e is 7>>
		<<set _lowerCaseName to "gwylan">>
		<<set _upperCaseName to "Gwylan">>
		<<elseif _e is 8>>
		<<set _lowerCaseName to "harper">>
		<<set _upperCaseName to "Harper">>
		<<elseif _e is 9>>
		<<set _lowerCaseName to "jordan">>
		<<set _upperCaseName to "Jordan">>
		<<elseif _e is 10>>
		<<set _lowerCaseName to "kylar">>
		<<set _upperCaseName to "Kylar">>
		<<elseif _e is 11>>
		<<set _lowerCaseName to "landry">>
		<<set _upperCaseName to "Landry">>
		<<elseif _e is 12>>
		<<set _lowerCaseName to "leighton">>
		<<set _upperCaseName to "Leighton">>
		<<elseif _e is 13>>
		<<set _lowerCaseName to "mason">>
		<<set _upperCaseName to "Mason">>
		<<elseif _e is 14>>
		<<set _lowerCaseName to "morgan">>
		<<set _upperCaseName to "Morgan">>
		<<elseif _e is 15>>
		<<set _lowerCaseName to "river">>
		<<set _upperCaseName to "River">>
		<<elseif _e is 16>>
		<<set _lowerCaseName to "robin">>
		<<set _upperCaseName to "Robin">>
		<<elseif _e is 17>>
		<<set _lowerCaseName to "sam">>
		<<set _upperCaseName to "Sam">>
		<<elseif _e is 18>>
		<<set _lowerCaseName to "sirris">>
		<<set _upperCaseName to "Sirris">>
		<<elseif _e is 19>>
		<<set _lowerCaseName to "whitney">>
		<<set _upperCaseName to "Whitney">>
		<<elseif _e is 20>>
		<<set _lowerCaseName to "winter">>
		<<set _upperCaseName to "Winter">>
		<</if>>

		<<print '<<if $' + _lowerCaseName + 'trust isnot undefined>><<set $NPCName[$NPCNameList.indexOf("' + _upperCaseName + '")].trust to $' + _lowerCaseName + 'trust>><</if>>'>>
		<<print '<<if $' + _lowerCaseName + 'love isnot undefined>><<set $NPCName[$NPCNameList.indexOf("' + _upperCaseName + '")].love to $' + _lowerCaseName + 'love>><</if>>'>>
		<<print '<<if $' + _lowerCaseName + 'dom isnot undefined>><<set $NPCName[$NPCNameList.indexOf("' + _upperCaseName + '")].dom to $' + _lowerCaseName + 'dom>><</if>>'>>
		<<print '<<if $' + _lowerCaseName + 'lust isnot undefined>><<set $NPCName[$NPCNameList.indexOf("' + _upperCaseName + '")].lust to $' + _lowerCaseName + 'lust>><</if>>'>>
		<<print '<<if $' + _lowerCaseName + 'rage isnot undefined>><<set $NPCName[$NPCNameList.indexOf("' + _upperCaseName + '")].rage to $' + _lowerCaseName + 'rage>><</if>>'>>
		<<print '<<if $' + _lowerCaseName + 'state isnot undefined>><<set $NPCName[$NPCNameList.indexOf("' + _upperCaseName + '")].state to $' + _lowerCaseName + 'state>><</if>>'>>
		<<print '<<if $' + _lowerCaseName + 'trauma isnot undefined>><<set $NPCName[$NPCNameList.indexOf("' + _upperCaseName + '")].trauma to $' + _lowerCaseName + 'trauma>><</if>>'>>
		<<print '<<if $' + _lowerCaseName + 'gender isnot undefined>><<set $NPCName[$NPCNameList.indexOf("' + _upperCaseName + '")].pronoun to $' + _lowerCaseName + 'gender>><</if>>'>>
		<<print '<<if $' + _lowerCaseName + 'gender isnot undefined>><<set $NPCName[$NPCNameList.indexOf("' + _upperCaseName + '")].gender to $' + _lowerCaseName + 'gender>><</if>>'>>
		<<print '<<if $' + _lowerCaseName + 'penissize isnot undefined>><<set $NPCName[$NPCNameList.indexOf("' + _upperCaseName + '")].penissize to $' + _lowerCaseName + 'penissize>><</if>>'>>
		<<print '<<if $' + _lowerCaseName + 'penisdesc isnot undefined>><<set $NPCName[$NPCNameList.indexOf("' + _upperCaseName + '")].penisdesc to $' + _lowerCaseName + 'penisdesc>><</if>>'>>
		<<print '<<if $' + _lowerCaseName + 'penis isnot undefined>><<set $NPCName[$NPCNameList.indexOf("' + _upperCaseName + '")].penis to $' + _lowerCaseName + 'penis>><</if>>'>>
		<<print '<<if $' + _lowerCaseName + 'vagina isnot undefined>><<set $NPCName[$NPCNameList.indexOf("' + _upperCaseName + '")].vagina to $' + _lowerCaseName + 'vagina>><</if>>'>>
		<<print '<<if $init' + _lowerCaseName + ' isnot undefined>><<set $NPCName[$NPCNameList.indexOf("' + _upperCaseName + '")].init to $init' + _lowerCaseName + '>><</if>>'>>

	<</for>>
<</if>>
<</nobr>><</widget>>


code:
:: Widgets pregnancyVar [widget]
<<widget "pregnancyVar">><<nobr>>
	<<containersInit>>
	<<if $objectVersion.prenancyObjectRepair isnot 1>>
		<<prenancyObjectRepair>>
		<<set $objectVersion.prenancyObjectRepair to 1>>
	<</if>>
<</nobr>><</widget>>

<<widget "containersInit">><<nobr>>
<<if $container is undefined>>
	<<set $container to {
		"lastLocation": null,
		"list":["home", "lake"],
		"home":{
			"upgrades":{
				"capacity":0,
				"foodStorage":0,
				"luxury":0
			},
			"name": "Tiny Fish Tank",
			"count": 0,
			"maxCount": 1,
			"daysSinceFed": 0,
			"maxDaysWithoutFood": 3,
			"creatures":{
				0: null
			},
			"deadCreatures": 0,
			"visited": false,
			"leaveLink": "Bedroom"
		},
		"portable":{
			"creatures":[],
			"value":0
		},
		"lake":{
			"upgrades":{
				"capacity":0,
				"foodStorage":0,
				"luxury":0
			},
			"name": "pond",
			"count": 0,
			"maxCount": 3,
			"daysSinceFed": 0,
			"maxDaysWithoutFood": 31,
			"creatures":{
				0: null
			},
			"deadCreatures": 0,
			"visited": false,
			"leaveLink": "Lake Waterfall"
		},
	}>>
<</if>>
<<if $container.home.kylarDelay is undefined>>
	<<set $container.home.kylarDelay to 0>>
	<<set $container.home.kylarFed to false>>
	<<set $container.home.kylarHelp to false>>
<</if>>
<</nobr>><</widget>>

<<widget "prenancyObjectRepair">><<nobr>>
	<<set _pregnancy to $sexStats.anus.pregnancy>>
	<<set _trueCount to 0>>
	<<for _i to 0; _i lt 4; _i++>>
		<<if _pregnancy[_i] isnot null>>
			<<set _trueCount++>>
			<<if _pregnancy[_i].creature is undefined>>
				<<set _pregnancy[_i].creature to either("Tentacle","Spider","Fish","Snake","Eel")>>
			<</if>>
		<</if>>
	<</for>>
	<<if _trueCount isnot _pregnancy.count>>
		<<set _pregnancy.count to clone(_trueCount)>>
	<</if>>
	<<set _list to ["home", "lake", "portable"]>>
	<<for _i to 0; _i lt _list.length; _i++>>
		<<set _container to $container[_list[_i]]>>
		<<for _j to 0; _j lt _container.maxCount; _j++>>
			<<if _container.creatures[_j] isnot undefined and _container.creatures[_j] isnot null>>
				<<if _container.creatures[_j].creature is undefined>>
					<<set _container.creatures[_j].creature to either("Tentacle","Spider","Fish","Snake","Eel")>>
				<</if>>
			<</if>>
			<<if _container.upgrades.luxury is undefined>>
				<<set _container.upgrades.luxury to 0>>
			<</if>>
		<</for>>
	<</for>>
<</nobr>><</widget>>


code:
:: Widgets variablesPassage [widget]
<<widget "variablesPassage">><<nobr>>
/*Variable that you need to check on every passage*/

<<set $link_table to []>>
<<set $map.hideLinksCheck to []>>

<</nobr>><</widget>>


code:
:: PassageHeader [nobr]
<<set $passage to passage()>><<set $tags to tags()>>
<<if $passage isnot "Start" and $passage isnot "Start2">>
	<<if versionUpdateCheck is true>>
		<<variablesVersionUpdate>>
		<<pregnancyVar>>

		<<script>>
			versionUpdateCheck = false;
		<</script>>
	<</if>>
	<<variablesPassage>>
<</if>>


code:
:: StoryInit

<<variablesStatic>>
<<if StartConfig.enableImages is true>>
	<<set $images to 1>>
<<else>>
	<<set $images to 0>>
<</if>>

<<set $debug to StartConfig.debug>>
<<set $dev to 0>>
<<set $numberify_enabled to 1>>

<<set $gamemode to "normal">>

<<set $intro to 1>>
<<set $tutorial to 0>>
<<set $initnpccompatibility to 1>>
<<set $clothing_update to 1>>
<<set $parasite_update to 1>>
<<set $npcNamedVersion to 2>>
<<set $clothing_number to 8>>

<<set $player = {gender: 0, sex: 0, appearance: 0, penis: 0, vagina: 0, penissize: 0, breastsize: 0, buttsize: 0, ballssize: 0, pronoun: 0, pronouns: {he: 0, his: 0}}>>
<<npcList>>
<<npcNamed>>
<<set $controlmax to 1000>>
<<set $control to 1000>>

<<clothinginit>>
<<parasiteinit>>

<<set $time to 420>>
<<set $days to 0>>
<<set $weekday to 1>>
<<set $money to 500>>
<<set $awareness to 0>>
<<set $awarelevel to 0>>
<<set $purity to 1000>>
<<set $devlevel to 10>>
<<set $hairlength to 200>>
<<set $fringelength to 200>>
<<set $hairtype to "default">>
<<set $fringetype to "default">>
<<set $trauma to 0>>
<<set $traumamax to 5000>>
<<set $stressmax to 10010>>
<<set $tirednessmax to 2000>>
<<set $arousalmax to 10000>>
<<set $physique to 3500>>
<<set $physiquemax to 20000>>
<<set $willpower to 200>>
<<set $willpowermax to 1000>>
<<set $beauty to 100>>
<<set $beautymax to 10000>>
<<set $month to "september">>
<<set $monthday to 4>>
<<set $year to 2018>>
<<set $birthmonth to "september">>
<<set $birthday to 3>>
<<set $npc to 0>>
<<set $dancestudioanger to 0>>
<<set $dancelocation to 0>>
<<set $alarm to 0>>
<<set $finish to 0>>
<<set $id to 0>>
<<set $forest to 0>>
<<set $forestmod to 1>>
<<set $tipcount to 0>>
<<set $tipmod to 1>>
<<set $worn.under_lower.anal_shield to 0>>
<<set $blackmoney to 0>>
<<set $crime to 0>>
<<set $crimehistory to 0>>
<<set $worn.neck.collaredpolice to 0>>
<<set $bullytimer to 50>>
<<set $bullytimeroutside to 0>>
<<set $bullyevent to 0>>
<<set $bullyeventoutside to 0>>
<<set $buy to 0>>
<<set $masturbationorgasm to 0>>
<<set $malechance to 50>>
<<set $beastmalechance to 50>>
<<set $monsterhallucinations to "t">>
<<set $monsterchance to 20>>
<<set $deviancy to 0>>
<<set $baileydefeated to 0>>
<<set $baileydefeatedlewd to 0>>
<<set $baileydefeatedchain to 0>>
<<set $robinmoney to 300>>
<<set $alluremod to 1>>
<<set $speechcycle to 0>>
<<set $npcspeechcycle to 0>>
<<set $museumno to 0>>
<<set $museuminterest to 0>>
<<set $crimemax to 50000>>
<<set $orphan_hope to 0>>
<<set $orphan_reb to 0>>
<<set $masochism to 0>>
<<set $masochism_level to 0>>
<<set $lessonmissedtext to 0>>
<<set $lessonmissed to 0>>
<<set $home_event_timer to 3>>
<<set $home_event_count to 0>>

<<set $orgasmtrait to 0>>
<<set $ejactrait to 0>>
<<set $molesttrait to 0>>
<<set $rapetrait to 0>>
<<set $bestialitytrait to 0>>
<<set $tentacletrait to 0>>
<<set $voretrait to 0>>
<<set $milkdranktrait to 0>>

<<set $transformed to 0>>
<<set $angelbuild to 0>>
<<set $angel to 0>>
<<set $angelforgive to 0>>
<<set $demonbuild to 0>>
<<set $demon to 0>>
<<set $demonabsorb to 0>>
<<set $catbuild to 0>>
<<set $cat to 0>>

<<set $seductionskill to 0>>
<<set $oralskill to 0>>
<<set $vaginalskill to 0>>
<<set $analskill to 0>>
<<set $handskill to 0>>
<<set $feetskill to 0>>
<<set $bottomskill to 0>>
<<set $thighskill to 0>>
<<set $chestskill to 0>>
<<set $penileskill to 0>>

<<set $skulduggery to 0>>
<<set $skulduggeryday to 0>>
<<set $danceskill to 0>>
<<set $swimmingskill to 0>>

<<set $hygiene to 0>>
<<set $hunger to 0>>
<<set $thirst to 0>>
<<set $tiredness to 0>>
<<set $arousal to 0>>
<<set $stress to 0>>

<<set $vaginalvirginity to 1>>
<<set $analvirginity to 1>>
<<set $oralvirginity to 1>>
<<set $penilevirginity to 1>>
<<set $comb to 0>>
<<set $pain to 0>>
<<set $combat to 0>>
<<set $location to 0>>
<<set $breastsize to 0>>
<<set $breastsizeold to 0>>
<<set $breastsizemax to 12>>
<<set $breastsizemin to 0>>
<<set $breastsensitivity to 1>>
<<set $bottomsize to 0>>
<<set $bottomsizeold to 0>>
<<set $bottomsizemax to 8>>
<<set $bottomsizemin to 0>>
<<set $bottomgrowthtimer to 350>>
<<set $genitalsensitivity to 1>>
<<set $penissize to 2>>
<<set $penissizemax to 4>>
<<set $penissizemin to 0>>
<<set $penisgrowthtimer to 700>>
<<set $ballssize to 2>>
<<set $ballssizemax to 4>>
<<set $ballssizemin to 0>>
<<set $ballsgrowthtimer to 700>>
<<set $physiqueuse to 0>>
<<set $rapeavoid to 1>>
<<set $sexavoid to 1>>
<<set $molestavoid to 1>>
<<set $rescued to 0>>
<<set $baileyhospital to 0>>
<<set $squidcount to 0>>
<<set $no_underwear to 0>>

<<set $upperwet to 0>>
<<set $upperwetstage to 0>>
<<set $lowerwet to 0>>
<<set $lowerwetstage to 0>>
<<set $underlowerwet to 0>>
<<set $underlowerwetstage to 0>>
<<set $underupperwet to 0>>
<<set $underupperwetstage to 0>>

<<set $genderknown to ["Robin", "Bailey"]>>

<<set $vaginause to 0>>
<<set $anususe to 0>>
<<set $mouthuse to 0>>
<<set $leftarm to 0>>
<<set $rightarm to 0>>
<<set $chestuse to 0>>
<<set $penisuse to 0>>
<<set $thighuse to 0>>
<<set $bottomuse to 0>>
<<set $feetuse to 0>>
<<set $vaginastate to 0>>
<<set $anusstate to 0>>
<<set $mouthstate to 0>>
<<set $penisstate to 0>>
<<set $head to 0>>
<<set $front to 0>>
<<set $back to 0>>
<<set $chest to 0>>

<<set $carryblock to 0>>

<<set $beastgenderoverride to 0>>

<<set $dgchance to 0>>
<<set $cbchance to 0>>
<<set $breast_mod to 0>>
<<set $penis_mod to 0>>

<<set $facebruise to 0>>
<<set $chestbruise to 0>>
<<set $tummybruise to 0>>
<<set $vaginabruise to 0>>
<<set $penisbruise to 0>>
<<set $anusbruise to 0>>
<<set $bottombruise to 0>>
<<set $thighbruise to 0>>
<<set $armbruise to 0>>
<<set $neckbruise to 0>>

<<set $rapestat to 0>>
<<set $beastrapestat to 0>>
<<set $tentaclerapestat to 0>>
<<set $moleststat to 0>>
<<set $vaginalstat to 0>>
<<set $vaginalejacstat to 0>>
<<set $analstat to 0>>
<<set $analejacstat to 0>>
<<set $oralstat to 0>>
<<set $oralejacstat to 0>>
<<set $handstat to 0>>
<<set $handejacstat to 0>>
<<set $feetstat to 0>>
<<set $feetejacstat to 0>>
<<set $thighstat to 0>>
<<set $thighejacstat to 0>>
<<set $bottomstat to 0>>
<<set $bottomejacstat to 0>>
<<set $penilestat to 0>>
<<set $penileejacstat to 0>>
<<set $clothesstripstat to 0>>
<<set $clothesruinstat to 0>>
<<set $orgasmstat to 0>>
<<set $vaginalentranceejacstat to 0>>
<<set $faceejacstat to 0>>
<<set $cheststat to 0>>
<<set $chestejacstat to 0>>
<<set $hairejacstat to 0>>
<<set $tummyejacstat to 0>>
<<set $neckejacstat to 0>>
<<set $ejacstat to 0>>
<<set $hitstat to 0>>
<<set $attackstat to 0>>
<<set $prostitutionstat to 0>>
<<set $forcedprostitutionstat to 0>>
<<set $tablesservedstat to 0>>
<<set $parasitestat to 0>>
<<set $passoutstat to 0>>
<<set $masturbationstat to 0>>
<<set $masturbationorgasmstat to 0>>
<<set $masturbationtimestat to 0>>
<<set $milk_drank_stat to 0>>
<<set $gloryholestat to 0>>

<<set $danceaction to 0>>
<<set $danceactiondefault to 0>>
<<set $dancestat to 0>>
<<set $dancing to 0>>
<<set $pullaway to 0>>
<<set $novaginal to 0>>
<<set $noanal to 0>>
<<set $nopenile to 0>>
<<set $vaginalchastity to 0>>
<<set $analchastity to 0>>
<<set $penilechastity to 0>>
<<set $drinksservedstat to 0>>
<<set $dockhours to 0>>

<<if $rng gte 95>>
<<set $brothel_basement_price to 3000>>
<<elseif $rng gte 85>>
<<set $brothel_basement_price to 2000>>
<<elseif $rng gte 45>>
<<set $brothel_basement_price to 1000>>
<<else>>
<<set $brothel_basement_price to 500>>
<</if>>

<<set $speechorgasmweakcumcount to 0>>
<<set $speechorgasmnocumcount to 0>>
<<set $speechorgasmcount to 0>>
<<set $speechorgasmrepeat to 0>>
<<set $underwatertime to 0>>
<<set $underwater to 0>>
<<set $walltype to "wall">>
<<set $position to 0>>

<<set $submissive to 1000>>
<<set $assertive to 0>>
<<set $assertiveaction to "trauma">>
<<set $exhibitionismaction to "embarrassed">>
<<set $lightexhibitionismaction to "embarrassed">>
<<set $rescue to 0>>
<<set $drugged to 0>>
<<set $drunk to 0>>
<<set $exposed to 0>>
<<set $phase to 0>>
<<set $phase2 to 0>>
<<set $orgasmdown to 0>>
<<set $noise to 0>>
<<set $enemywounded to 0>>
<<set $enemyejaculated to 0>>
<<set $enemyno to 0>>
<<set $semenpuddle to 0>>
<<set $strangle to 0>>
<<set $eventskip to 0>>
<<set $menu to 0>>
<<set $consensual to 0>>
<<set $attention to 0>>
<<set $seconds to 0>>
<<set $minute to 0>>
<<set $orgasmcount to 0>>
<<set $leftboundcarry to 0>>
<<set $rightboundcarry to 0>>
<<set $orgasmcurrent to 0>>
<<set $hospitalintro to 0>>
<<set $traumafocus to 0>>
<<set $pubwhore to 0>>
<<set $policemolestation to 0>>

<<set $npclovehigh to 10>>
<<set $npclovehighsu to 30>>
<<set $npclovelow to -10>>
<<set $npclovelowsu to -30>>
<<set $npcdomhigh to 10>>
<<set $npcdomlow to -10>>

<<set $schoolevent to 0>>
<<set $schooleventtimer to 10>>

<<set $flashbackhome to 0>>
<<set $flashbacktown to 0>>
<<set $flashbackbeach to 0>>
<<set $flashbackunderground to 0>>
<<set $flashbackschool to 0>>
<<set $panicviolence to 0>>
<<set $panicparalysis to 0>>

<<set $colouraction to 0>>
<<set $hungerenabled to 0>>
<<set $thirstenabled to 0>>
<<set $hygieneenabled to 0>>

<<set $weather to either("clear", "clear", "clear", "clear", "overcast", "overcast", "overcast", "overcast", "rain", "rain")>>

<<set $exhibitionism to 0>>
<<set $promiscuity to 0>>
<<set $diagnosis to 0>>
<<set $psych to 0>>
<<set $asylum to 0>>
<<set $audience to 0>>
<<set $audienceexcitement to 0>>
<<set $audiencearousal to 0>>
<<set $audiencemod to 1>>
<<set $venuemod to 1>>
<<set $danceevent to 0>>
<<set $dancephysique to 0>>
<<set $hypnosis to 0>>
<<set $pills to 0>>
<<set $medicated to 0>>
<<set $trance to 0>>
<<set $harperexam to 0>>
<<set $schoolterm to 1>>
<<set $schoolday to 0>>
<<set $sciencemissed to 0>>
<<set $mathsmissed to 0>>
<<set $englishmissed to 0>>
<<set $historymissed to 0>>
<<set $swimmingmissed to 0>>

<<set $fame to 0>>
<<set $fameexhibitionism to 0>>
<<set $fameprostitution to 0>>
<<set $famebestiality to 0>>
<<set $famesex to 0>>
<<set $famerape to 0>>
<<set $famegood to 0>>
<<set $famebusiness to 0>>
<<set $famescrap to 0>>
<<set $famepimp to 0>>
<<set $famepark to 0>>
<<set $park_run_seen_by to []>>

<<set $spray to 0>>
<<set $spraymax to 0>>
<<set $spraystat to 0>>
<<set $infinitespray to 0>>

<<set $mathstrait to 0>>
<<set $englishtrait to 0>>
<<set $sciencetrait to 0>>
<<set $historytrait to 0>>

<<set $wolfgirl to 0>>
<<set $wolfbuild to 0>>

<<set $swarm1 to 0>>
<<set $swarm2 to 0>>
<<set $swarm3 to 0>>
<<set $swarm4 to 0>>
<<set $swarm5 to 0>>
<<set $swarm6 to 0>>
<<set $swarm7 to 0>>
<<set $swarm8 to 0>>
<<set $swarm9 to 0>>
<<set $swarm10 to 0>>
<<set $swarmpending to 0>>
<<set $swarmname to 0>>
<<set $swarmmove to 0>>
<<set $swarmactive to 0>>
<<set $swarmcreature to 0>>
<<set $swarmchestmolest to 0>>
<<set $swarmchestgrab to 0>>
<<set $swarmchestgrabintro to 0>>
<<set $swarmchestgrabclothed to 0>>
<<set $swarmchestclothed to 0>>
<<set $swarmchestcover to 0>>
<<set $swarmactivate to 0>>
<<set $swarmspill to 0>>
<<set $swarmback to 0>>
<<set $swarmbackmolest to 0>>
<<set $swarmbackgrab to 0>>
<<set $swarmbackgrabintro to 0>>
<<set $swarmbackgrabunderclothed to 0>>
<<set $swarmbackunderclothed to 0>>
<<set $swarmbackgrablowerclothed to 0>>
<<set $swarmbacklowerclothed to 0>>
<<set $swarmbackcover to 0>>
<<set $swarmbackinside to 0>>
<<set $swarmbackinsideintro to 0>>
<<set $swarmbackgrablowerchastity to 0>>
<<set $swarmfront to 0>>
<<set $swarmfrontmolest to 0>>
<<set $swarmfrontgrab to 0>>
<<set $swarmfrontgrabintro to 0>>
<<set $swarmfrontgrabunderclothed to 0>>
<<set $swarmfrontunderclothed to 0>>
<<set $swarmfrontgrablowerclothed to 0>>
<<set $swarmfrontlowerclothed to 0>>
<<set $swarmfrontcover to 0>>
<<set $swarmfrontinside to 0>>
<<set $swarmfrontinsideintro to 0>>
<<set $swarmfrontgrablowerchastity to 0>>
<<set $swarmsteady to 0>>
<<set $swarmcount to 0>>

<<set $beasttype to "beast">>
<<set $claws to 1>>
<<set $water to 0>>
<<set $foresthunt to 0>>
<<set $wolfpacktrust to 0>>
<<set $wolfpackfear to 0>>
<<set $sea to 0>>

<<set $penilechastityparasite to 0>>
<<set $vaginalchastityparasite to 0>>
<<set $analchastityparasite to 0>>
<<removeparasite penis>>
<<removeparasite clit>>
<<removeparasite nipples>>

<<set $vorestrength to 0>>
<<set $vorestruggle to 0>>
<<set $voretentacles to 0>>
<<set $vorestage to 0>>
<<set $vorecreature to 0>>
<<set $swallowed to 0>>
<<set $swallowedstat to 0>>

<<set $leftleg to 0>>
<<set $rightleg to 0>>
<<set $breastuse to 0>>
<<set $leftnipple to 0>>
<<set $rightnipple to 0>>
<<set $leftarmstate to 0>>
<<set $rightarmstate to 0>>
<<set $feetstate to 0>>

<<set $neckgoo to 0>>
<<set $rightarmgoo to 0>>
<<set $leftarmgoo to 0>>
<<set $thighgoo to 0>>
<<set $bottomgoo to 0>>
<<set $tummygoo to 0>>
<<set $chestgoo to 0>>
<<set $facegoo to 0>>
<<set $hairgoo to 0>>
<<set $feetgoo to 0>>
<<set $vaginagoo to 0>>
<<set $vaginaoutsidegoo to 0>>
<<set $penisgoo to 0>>
<<set $anusgoo to 0>>
<<set $mouthgoo to 0>>

<<set $necksemen to 0>>
<<set $rightarmsemen to 0>>
<<set $leftarmsemen to 0>>
<<set $thighsemen to 0>>
<<set $bottomsemen to 0>>
<<set $tummysemen to 0>>
<<set $chestsemen to 0>>
<<set $facesemen to 0>>
<<set $hairsemen to 0>>
<<set $feetsemen to 0>>
<<set $vaginasemen to 0>>
<<set $vaginaoutsidesemen to 0>>
<<set $penissemen to 0>>
<<set $anussemen to 0>>
<<set $mouthsemen to 0>>

<<set $detention to 0>>
<<set $delinquency to 10>>
<<set $cool to 120>>
<<set $coolmax to 400>>
<<set $school to 800>>
<<set $maths to 200>>
<<set $science to 200>>
<<set $english to 200>>
<<set $history to 200>>
<<set $scienceprogression to 0>>

<<set $audienceselector to 0>>
<<set $audiencecamera to 0>>
<<set $audiencecamera1 to 0>>
<<set $audiencecamera2 to 0>>
<<set $audiencecamera3 to 0>>
<<set $audiencecamera4 to 0>>
<<set $audiencecamera5 to 0>>
<<set $audiencecamera6 to 0>>

<<set $audiencemember to 0>>

<<set $leftactioncarry to "leftcoverface">>
<<set $rightactioncarry to "rightcoverface">>
<<set $feetactioncarry to "rest">>
<<set $mouthactioncarry to "plead">>

<<set $leftactioncarrypain to "leftprotect">>
<<set $rightactioncarrypain to "rightprotect">>
<<set $mouthactioncarrypain to "letout">>
<<set $leftactioncarryorgasm to "leftgrip">>
<<set $rightactioncarryorgasm to "rightgrip">>
<<set $mouthactioncarryorgasm to "letoutorgasm">>
<<set $leftactioncarrydissociation to "leftcurl">>
<<set $rightactioncarrydissociation to "rightcurl">>
<<set $mouthactioncarrydissociation to "noises">>

<<set $scienceproject to "none">>
<<set $mathsproject to "none">>
<<set $yeardays to 0>>

<<set $oxygenmax to 1200>>
<<set $oxygen to 1200>>
<<set $hallucinogen to 0>>
<<set $antiquemoney to 0>>
<<set $antiquemoneyhistory to 0>>
<<set $alluretest to 0>>

<<set $whitneypantiescheck to 0>>

<<set $insecurity_penis_tiny to 0>>
<<set $insecurity_penis_small to 0>>
<<set $insecurity_penis_big to 0>>
<<set $insecurity_breasts_tiny to 0>>
<<set $insecurity_breasts_small to 0>>
<<set $insecurity_breasts_big to 0>>

<<set $acceptance_penis_tiny to 0>>
<<set $acceptance_penis_small to 0>>
<<set $acceptance_penis_big to 0>>
<<set $acceptance_breasts_tiny to 0>>
<<set $acceptance_breasts_small to 0>>
<<set $acceptance_breasts_big to 0>>

<<set $anus_climax to 0>>
<<set $penis_climax to 0>>
<<set $mouth_climax to 0>>

<<set $tanned to 0>>
<<set $sewingKit to 0>>

/*pillory related*/
<<if ndef $pillory_tenant>><<setup_pillory>><</if>>
<<set $police_access_card to 0>>
<<set $police_intro to 0>>
<<set $police_hack to 0>>
<<set $pub_hack_job to 0>>
<<set $hacker_tasks to []>>
<<set $framed to 0>>


code:
:: Widgets variablesStart2 [widget]
<<widget "variablesStart2">><<nobr>>
/*Variables required at the start of passage 'Start2', please remove if not required"*/

<<clamp>>
<<effects>>
<<initnpcgender>>
<<set $physiquesize to (1000 * $devlevel)>>

<<if $debug is 1>>
	<<set $spraymax += 1>>
	<<set $spray += 1>>
<</if>>

<<set $per_npc to {}>>

<<set $physique to ($physiquesize / 7) * 3>>
<<set $beauty to ($beautymax / 7)>>

<<set $playergender to 1>>/*Needed to stop VersionUpdate triggering on first couple of pages.*/

<<set $devstate to 1>>

<<if $breastsize is 0>>
	<<set $breastsizeold to 0>><<set $breastgrowthtimer to 350>>
<<elseif $breastsize is 1>>
	<<set $breastsizeold to 1>><<set $breastgrowthtimer to 350>>
<<elseif $breastsize is 2>>
	<<set $breastsizeold to 2>><<set $breastgrowthtimer to 350>>
<<elseif $breastsize is 3>>
	<<set $breastsizeold to 3>><<set $breastgrowthtimer to 350>>
<<else>>
	<<set $breastsizeold to 4>><<set $breastgrowthtimer to 350>>
<</if>>

<<physicalAdjustmentsInit>>
<<tryOnInit>>

<<givestartclothing>>

<<set $intro to 0>>
<<set $haircolour to $hairselect>>
<<set $naturalhaircolour to $haircolour>>

<<set $eyecolour to $eyeselect>>

<<if $awareselect is "innocent">>
<<elseif $awareselect is "knowledgeable">>
	<<set $awareness += 200>>
	<<set $awarelevel to 1>>
<</if>>

<<set $player.appearance to $player.gender>>
<<if $player.gender is "f">>
	<<set $vaginause to 0>>
	<<set $vaginastate to 0>>
	<<set $vaginaexist to 1>>
	<<set $penisuse to "none">>
	<<set $penisstate to "none">>
	<<set $penisexist to 0>>
	<<set $player.sex to "f">>
<<elseif $player.gender is "m">>
	<<set $vaginause to "none">>
	<<set $vaginastate to "none">>
	<<set $vaginaexist to 0>>
	<<set $penisuse to 0>>
	<<set $penisstate to 0>>
	<<set $penisexist to 1>>
	<<set $player.sex to "m">>
<</if>>

<<if $background is "nerd">>
	<<set $science += 200>><<set $maths += 200>><<set $english += 200>><<set $history += 200>><<set $school += 800>><<set $cool to 0>>
<<elseif $background is "athlete">>
	<<set $physique += ($physiquesize / 4)>><<set $swimmingskill += 200>><<set $science to 100>><<set $maths to 100>><<set $english to 100>><<set $history to 100>><<set $school to 400>>
<<elseif $background is "delinquent">>
	<<set $delinquency += 401>><<set $cool += 200>>
<<elseif $background is "promiscuous">>
	<<set $promiscuity += 35>>
<<elseif $background is "exhibitionist">>
	<<set $exhibitionism += 35>>
<<elseif $background is "deviant">>
	<<set $deviancy += 35>>
<<elseif $background is "beautiful">>
	<<set $beauty += ($beautymax / 2)>>
<</if>>

<<if $hairlength gte 900>>
	<<set $hairlengthstage to "feet">>
<<elseif $hairlength gte 700>>
	<<set $hairlengthstage to "thighs">>
<<elseif $hairlength gte 600>>
	<<set $hairlengthstage to "navel">>
<<elseif $hairlength gte 400>>
	<<set $hairlengthstage to "chest">>
<<elseif $hairlength gte 200>>
	<<set $hairlengthstage to "shoulder">>
<<else>>
	<<set $hairlengthstage to "short">>
<</if>>

<<if $fringelength gte 900>>
	<<set $fringelengthstage to "feet">>
<<elseif $fringelength gte 700>>
	<<set $fringelengthstage to "thighs">>
<<elseif $fringelength gte 600>>
	<<set $fringelengthstage to "navel">>
<<elseif $fringelength gte 400>>
	<<set $fringelengthstage to "chest">>
<<elseif $fringelength gte 200>>
	<<set $fringelengthstage to "shoulder">>
<<else>>
	<<set $fringelengthstage to "short">>
<</if>>

<</nobr>><</widget>>


code:
:: Widgets variablesStatic [widget]
<<widget "variablesStatic">><<nobr>>
/*This is for static variables that will not change during gameplay*/
/*These will not be saved to saves and are best when they are required in multiple location
and are required for processing for loops, default objects, etc.*/
/*Can be found at 'SugarCube.setup'*/

<<set setup.test to "testing">>
<<set setup.baseNPC = {penis : 0, vagina: 0, breastsdesc: 0, chest: 0, lactation: 0, lefthand: 0, righthand: 0, anus: 0, mouth: 0, gender: 0, description: 0, insecurity: 0, pronoun: 0, pronouns: {he: 0, his: 0}, penissize: 0, breastsize: 0, buttsize: 0, ballssize: 0, penisdesc: 0, breastdesc: 0, health: 0, skincolour: 0, teen: 0, adult: 0, intro:0, speechpenisescape: 0, speechvaginaescape: 0, speechanusescape:0}>>

<</nobr>><</widget>>