body {
	background-color: black;
	color: #FFFEEE;
	font-family: sans-serif;
	font: Verdana;
	margin: 0;
}

a {
	color: #9999FF;
}

#banner
{
	top: 0;
	left: 0;
	background-color: #110011;
	width: 100%;
	display: flex;
	flex-direction: column;
}
#banner-top
{
	background-color: #330033;
	width: 100%;
	margin: 0 auto;
	text-align: center;
}
#banner-second
{
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	flex-wrap: wrap-reverse;
}
#banner-left
{
	margin-left: 15px;
	border: 1px solid #000;
	align-self: flex-start;
	flex-grow: 1;
}
#banner-right
{
	background-color: #220022;
	margin-right: 15px;
	border: 1px solid #000;
	text-align: right;
	align-self: flex-end;
	flex-grow: 1;
}

#main
{
}

div#accountform { 
	width: 400px;
	margin: 0 auto;
	margin-top: 40px;
	/*padding: 10px; */
	/*float: left;*/
	border: 1px solid #000;
}

input {
	background-color: #330033;
	color: white;
	outline: none;
	border: 2px solid #660066;
	width: 100%;
}
label {
	font-weight: bold;
	display: block;
	margin-top: 10px;
}

input:focus {
	background-color: #550055;
}

input[type=submit] {
	margin-top: 20px;
	text-decoration: none;
	cursor: pointer;
	border-radius: 10px;
	background-color: #660066;
}
input[type=submit].button-secondary {
	margin-top: 20px;
	text-decoration: none;
	cursor: pointer;
	border-radius: 10px;
	background-color: #000000;
	color: #BBBBBB;
}
input[type=submit]:disabled
{
	border: 1px solid #999999;
	background-color: #cccccc;
	color: #666666;
}
input[type=button] {
	margin-top: 20px;
	text-decoration: none;
	cursor: pointer;
	border-radius: 10px;
	background-color: #660066;
}
input[type=button]:disabled
{
	border: 1px solid #999999;
	background-color: #cccccc;
	color: #666666;
}

input[type="checkbox"] {
	width: auto;
}

input[type="checkbox"]+label {
	display: inline;
}

input[type="radio"] {
	width: auto;
}

input[type="radio"]+label {
	display: inline;
}

input[type=submit].compact_add
{
	display: inline;
	width: auto;
}

button {
	background-color: #330033;
	color: white;
	outline: none;
	border: 2px solid #660066;
	width: 100%;
	margin-top: 20px;
	text-decoration: none;
	cursor: pointer;
	border-radius: 10px;
	background-color: #660066;
}
button.button-secondary {
	margin-top: 20px;
	text-decoration: none;
	cursor: pointer;
	border-radius: 10px;
	background-color: #000000;
	color: #BBBBBB;
}
button:disabled,
button[disabled]
{
	border: 1px solid #999999;
	background-color: #cccccc;
	color: #666666;
}

table {
	border-collapse: collapse;
}

table, th, td {
	border: 1px solid #660066;
	padding: 4px 8px;
}

th {
	background-color: #550055;
}

tr:nth-child(odd) {
	background-color: #330033;
}

div.indentblock {
	padding-left: 20px;
}

div#inputtable:nth-child(odd) {
	background-color: #330033;
}

div.visgroupborder_plain {
	background: var(--bordercol1);
	padding: 20px;
}

div.visgroupborder_stripes_backward {
	background: repeating-linear-gradient(
		45deg,
		var(--bordercol1),
		var(--bordercol1) 10px,
		#000000 10px,
		#000000 20px
	);
	padding: 20px;
}

div.visgroupborder_stripes_forward {
	background: repeating-linear-gradient(
		135deg,
		var(--bordercol1),
		var(--bordercol1) 10px,
		#000000 10px,
		#000000 20px
	);
	padding: 20px;
}

div.visgroupborder_dots
{
	background-image: radial-gradient(var(--bordercol1) 6px, transparent 0);
	background-size: 16px 16px;
	padding: 20px;
}

div.visgroupborder_diamonds
{
	background: conic-gradient(from 45deg,
							   var(--bordercol1) 25%,
							   #000000 0% 50%,
							   var(--bordercol1) 0% 75%,
							   #000000 0%)
							   0%/ 16px 20px;
	padding: 20px;
}

div.profile_visgroup {
	background-color: black;
}

#photo_preview img
{
	width: 400px;
	max-width: 100%;
	height: auto;
}

#photo_original img
{
	max-width: 100%;
	height: auto;
}

.search_results_cards
{
	margin: auto;
	display: grid;
	justify-content: center;
	grid-gap: 10px;
	grid-template-columns: repeat(auto-fit, minmax(300px, 300px));
}

.card_link_cover
{
	position: absolute; 
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 1;
}

.search_result_card
{
	margin: auto;
	border: 2px solid #660066;
	text-align: center;
	position: relative;
	transition: transform .2s;
}

.search_result_card:hover
{
	transform: scale(1.1);
	z-index: 10;
}

.card_photo
{
	
}

.card_text
{
	z-index: 9;
	margin-top: -50px;
	padding-top: 20px;
	background: linear-gradient(to bottom, rgba(51,0,51,0), rgba(51,0,51,1), rgba(51,0,51,1));
	opacity: 0.99;
}
.card_quick_facts
{
	text-align: left;
	font-size: 90%;
}
.card_quick_facts ul
{
	margin: 0;
	padding-left: 20px;
}

.card_user_name
{
	font-weight: bold;
	font-size: 110%;
}

.memo_icon
{
	position: absolute;
	top: -20px;
	right: -20px;
}

div.search_result_fetch_times
{
	font-size: 70%;
}

div.search_result_user_name
{
	font-size: 200%;
	text-align: center;
}

div.search_result_instance
{
	text-align: center;
}

div.incoming_memo_area
{
	background-color: #330033;
	margin: 30px;
}

div.incoming_memo_header
{
	font-weight: bold;
}

div.memo_content
{
	font-style: italic;
	margin: 30px;
	border: 2px solid #660066;
}

div.profile_mirror_contents
{
	
}

div.profile_mirror_element_type_heading
{
	font-size: 120%;
	font-weight: bold;
}

div.profile_mirror_fundamentals
{
	margin: 30px;
}

div.profile_mirror_photos
{
	margin: 30px;
	overflow-x: scroll;
	gap: 16px;
}

div.profile_mirror_photo
{
	display: inline;
}

.chat_summary
{
	margin: auto;
	border: 2px solid #660066;
	position: relative;
	transition: transform .2s;
	
}
.chat_summary .chat_participant
{
	
}
.chat_summary .existing_messages
{
	flex-direction: row;
	align-self: center;
	flex-grow: 1;
}

.chat_contents
{
	display: flex;
	justify-content: space-between;
}

.chat_link_cover
{
	position: absolute; 
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 1;
}
.chat_link_cover:hover
{
	background-color: #550055;
	opacity: 20%;
}

.chat_participant
{
	display: flex;
}

.participant_photo
{
	display: inline;
}
.participant_photo img
{
	width: 80px;
	height: auto;
}

.participant_name
{
	display: inline;
	align-self: center;
	padding: 10px;
}

.chat_banner
{
	display: flex;
	justify-content: center;
	position: relative;
}

.participant_link_cover
{
	position: absolute; 
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 1;
}

.existing_messages
{
	display: flex;
	flex-direction: column-reverse;
}

.message_self
{
	display: flex;
	justify-content: flex-end;
	flex-wrap: wrap-reverse;
	flex-grow: 1;
	margin: 2px;
}

.message_other
{
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	flex-grow: 1;
	margin: 2px;
}

.message_sent_time
{
	display: flex;
	font-size: 60%;
	align-self: flex-start;
	color: #777755;
}

.message_self .message_bubble
{
	background-color: #550055;
	border-radius: 10px 10px 0px 10px;
	padding: 2px 6px;
	position: relative;
	margin-right: 20px;
	margin-left: 10px;
}
.message_self .message_bubble:before {
	content: "";
	width: 0px;
	height: 0px;
	position: absolute;
	border-left: 8px solid #550055;
	border-right: 8px solid transparent;
	border-bottom: 7px solid #550055;
	border-top: 7px solid transparent;
	right: -15px;
	bottom: 0px;
}

.message_other .message_bubble
{
	background-color: #330033;
	border-radius: 10px 10px 10px 0px;
	padding: 2px 6px;
	position: relative;
	margin-left: 20px;
	margin-right: 10px;
}
.message_other .message_bubble:before {
	content: "";
	width: 0px;
	height: 0px;
	position: absolute;
	border-right: 8px solid #330033;
	border-left: 8px solid transparent;
	border-bottom: 7px solid #330033;
	border-top: 7px solid transparent;
	left: -15px;
	bottom: 0px;
}

.message_other .message_sent_time
{
	order: 2;
	align-self: flex-end;
}

.message_report_button a
{
	color: #555588;
}

.message_other .message_report_button
{
	display: flex;
	font-size: 60%;
	align-self: flex-end;
	justify-content: flex-start;
	order: 3;
	margin-left: 6px;
}

.vouch_link_data
{
	border: 2px solid #660066;
	padding: 10px;
	margin: 20px;
	font-family: monospace, monospace;
}

.playable_demo_note:before
{
	content: "Playable demo note";
	font-weight: bold;
	display: block;
}
.playable_demo_note
{
	border: 1px solid #FF0000;
}

#privacy_notice
{
	font-size: 75%;
}

#map
{
	height: 280px;
}


