﻿body {
	background-color: #ffffff;
	font-family: arial, sans-serif;
	margin-top: 0px;
	margin-bottom: 0.6em;
	margin-left: 0.6em;
	margin-right: 8px;
	padding: 0px;
}

hr {
	color: #888888;
	background-color: #888888;
	height: 1px;
	border: 0;
	margin: 12px 0;
}

p {
	margin-right: 8px;
}

h1 {
	font-size: 125%;
	font-weight: bold;
	background: linear-gradient(to bottom, #d2d2d7 0%, #f3f3f3 100%);
	color: #454545;
	text-align: left;
	margin-top: -0.6em;
	margin-left: -0.6em;
	padding-left: 0.6em;
	padding-right: 0.6em;
	padding-top: 1.5em;
	padding-bottom: 1.0em;
	border-top: 1px solid #AAAAAA;
	border-bottom: 1px solid #AAAAAA;
}

h1.asH2 {
	font-size: 125%;
	font-weight: bold;
	background: linear-gradient(to bottom, #d2d2d7 0%, #fafafa 100%);
	color: #454545;
	margin-top: 0px;
	margin-left: -0.6em;
	padding-left: 0.6em;
	padding-right: 0.6em;
	padding-top: 0.4em;
	padding-bottom: 0.4em;
	border-top: 1px solid #AAAAAA;
	border-bottom: 1px solid #AAAAAA;
}

h2 {
	font-size: 125%;
	font-weight: bold;
	background: linear-gradient(to bottom, #d2d2d7 0%, #fafafa 100%);
	color: #454545;
	margin-top: 0px;
	margin-left: -0.6em;
	padding-left: 0.6em;
	padding-right: 0.6em;
	padding-top: 0.4em;
	padding-bottom: 0.4em;
	border-top: 1px solid #AAAAAA;
	border-bottom: 1px solid #AAAAAA;
}

.strokeYellow {
	color: black;
	text-shadow: -1px 0 yellow, 0 1px yellow, 1px 0 yellow, 0 -1px yellow;
}

.strokeGreen {
	color: black;
	text-shadow: -1px 0 #AAFFAA, 0 1px #AAFFAA, 1px 0 #AAFFAA, 0 -1px #AAFFAA;
}

img {
	border: 0px;
}

a {
	color: #098572;
	font-size: 100%;
	font-weight: bold;
}

a:hover {
	color: #ff0000;
}

ul {
	list-style-type: disc;
	list-style-position: outside;
	margin-left: 0.8em;
	padding-left: 0.0em;
}

ul li {
	margin: 0.15em;
}

ul.menu {
	list-style-type: none;
	list-style-position: outside;
	padding-left: 0.0em;
	padding-bottom: 0.3em;
	margin: 0px;
}

ul.menu li {
	background: url("../img/arrow_right_large.png") no-repeat left 0.4em;
	padding-left: 18px;
	padding-bottom: 0.0em;
	margin-bottom: 12px;
}

ul li ul {
	list-style-type: none;
	list-style-position: outside;
	padding-left: 0.8em;
	margin: 0px;
}

ul li ul li {
	background-image: url('../img/arrow_right.png');
	background-repeat: no-repeat;
	background-position: left 0.45em;
	padding-left: 12px;
	margin: 0.15em;
	padding-bottom: 0.0em;
}

#signHere {
	font-weight: bold;
	padding-top: 0.0em;
	padding-bottom: 0.5em;
}

div.gradient {
	background: linear-gradient(to bottom, #d2d2d7 0%, #fafafa 100%);
	color: #454545;
	padding-top: 0.6em;
	padding-bottom: 0.7em;
	margin-left: -0.6em;
	padding-left: 0.6em;
	padding-right: 0.6em;
	border-top: 1px solid #AAAAAA;
	border-bottom: 1px solid #AAAAAA;
	border-right: 1px solid #AAAAAA;
}

div.floatRight {
	float: right;
	text-align: right;
	padding-top: 0.2em;
}

div.floatLeft {
	float: left;
	text-align: left;
	padding-top: 0.2em;
}

span.floatLeft  {
	display: inline; 
	float: left;
}

.textToRight { 
	text-align: right !important;
}

div.correctMargins {
	margin-top: -1.18em; 
	margin-bottom: -1.6em;
}

div.delimiter {	
	width: 100%;
	height: 6px;
	font-size: 0pt;
}

.font120  {
	font-size: 120%;
}

#overlay {    
	position: fixed;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,.7) url(../img/spinner.png) center center no-repeat;
}

.icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 30px;
	border: 1px solid #1a6ebd;
	border-radius: 4px;
	background: #f0f6ff;
	text-decoration: none;
	margin-left: 4px;
	transition: background 0.15s, border-color 0.15s;
	margin-top: -6px;
}

.icon-btn:hover {
	background: #ddeeff;
	border-color: #1055aa;
}

.btnLight,
input.downred-button,
input.upgreen-button,
input.downgreen-button,
input.erase-button,
input.link-button {
	border: solid 1px #969696;
	border-radius: 3px;
	moz-border-radius: 3px;
	font-size: 14px;
	color: #323232;
	padding: 5px 16px;
	margin-bottom: 3px;
	cursor: pointer;
	background-color: #ffffff;
	background-image: linear-gradient(top, #ffffff 0%, #d7d7d7 49%, #c8c8c8 51%, #f6f6f6 100%);
	background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(49%, #d7d7d7), color-stop(51%, #c8c8c8), color-stop(100%, #f6f6f6));
	background-image: -moz-linear-gradient(top, #ffffff 0%, #d7d7d7 49%, #c8c8c8 51%, #f6f6f6 100%);
	background-image: -webkit-linear-gradient(top, #ffffff 0%, #d7d7d7 49%, #c8c8c8 51%, #f6f6f6 100%);
	background-image: -o-linear-gradient(top, #ffffff 0%, #d7d7d7 49%, #c8c8c8 51%, #f6f6f6 100%);
	background-image: -ms-linear-gradient(top, #ffffff 0%, #d7d7d7 49%, #c8c8c8 51%, #f6f6f6 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f6f6f6', GradientType=0);
}

input.downred-button {
	padding-left: 26px;
	height: 34px;
	min-width: 85px;
	background-image: url('../img/red_arrow_down_button.webp'), linear-gradient(to bottom, #ffffff 0%, #d7d7d7 49%, #c8c8c8 51%, #f6f6f6 100%);
	background-image: url('../img/red_arrow_down_button.webp'), -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(49%, #d7d7d7), color-stop(51%, #c8c8c8), color-stop(100%, #f6f6f6));
	background-repeat: no-repeat, repeat;
	background-position: left center, center;
	background-size: 22px 20px, auto;
}

input.upgreen-button {
	padding-left: 26px;
	height: 34px;
	min-width: 85px;
	background-image: url('../img/green_arrow_up_button.webp'), linear-gradient(to bottom, #ffffff 0%, #d7d7d7 49%, #c8c8c8 51%, #f6f6f6 100%);
	background-image: url('../img/green_arrow_up_button.webp'), -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(49%, #d7d7d7), color-stop(51%, #c8c8c8), color-stop(100%, #f6f6f6));
	background-repeat: no-repeat, repeat;
	background-position: left center, center;
	background-size: 22px 20px, auto;
}

input.downgreen-button {
	padding-left: 26px;
	height: 34px;
	min-width: 85px;
	background-image: url('../img/green_arrow_down_button.webp'), linear-gradient(to bottom, #ffffff 0%, #d7d7d7 49%, #c8c8c8 51%, #f6f6f6 100%);
	background-image: url('../img/green_arrow_down_button.webp'), -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(49%, #d7d7d7), color-stop(51%, #c8c8c8), color-stop(100%, #f6f6f6));
	background-repeat: no-repeat, repeat;
	background-position: left center, center;
	background-size: 22px 20px, auto;
}

input.erase-button {
	padding-left: 26px;
	height: 34px;
	background-image: url('../img/erase_button.webp'), linear-gradient(to bottom, #ffffff 0%, #d7d7d7 49%, #c8c8c8 51%, #f6f6f6 100%);
	background-image: url('../img/erase_button.webp'), -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(49%, #d7d7d7), color-stop(51%, #c8c8c8), color-stop(100%, #f6f6f6));
	background-repeat: no-repeat, repeat;
	background-position: left center, center;
	background-size: 22px 20px, auto;
}

input.link-button {
	padding-left: 26px;
	background-image: url('../img/link.png'), linear-gradient(to bottom, #ffffff 0%, #d7d7d7 49%, #c8c8c8 51%, #f6f6f6 100%);
	background-image: url('../img/link.png'), -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(49%, #d7d7d7), color-stop(51%, #c8c8c8), color-stop(100%, #f6f6f6));
	background-repeat: no-repeat, repeat;
	background-position: left center, center;
	background-size: 22px 20px, auto;
}

.btnLight:hover,
input.downred-button:hover,
input.upgreen-button:hover,
input.downgreen-button:hover,
input.erase-button:hover,
input.link-button:hover {
	border: solid 1px #FFAA00;
}

.btnLight:active {
	background: #b4b4c8;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #b4b4c8), color-stop(100%, #7878a0));
	background: linear-gradient(top, #b4b4c8 0%, #7878a0 100%);
}

input.downred-button:active {
	background-image: url('../img/red_arrow_down_button.webp'), linear-gradient(to bottom, #b4b4c8 0%, #7878a0 100%);
	background-image: url('../img/red_arrow_down_button.webp'), -webkit-gradient(linear, left top, left bottom, color-stop(0%, #b4b4c8), color-stop(100%, #7878a0));
}

input.upgreen-button:active {
	background-image: url('../img/green_arrow_up_button.webp'), linear-gradient(to bottom, #b4b4c8 0%, #7878a0 100%);
	background-image: url('../img/green_arrow_up_button.webp'), -webkit-gradient(linear, left top, left bottom, color-stop(0%, #b4b4c8), color-stop(100%, #7878a0));
}

input.downgreen-button:active {
	background-image: url('../img/green_arrow_down_button.webp'), linear-gradient(to bottom, #b4b4c8 0%, #7878a0 100%);
	background-image: url('../img/green_arrow_down_button.webp'), -webkit-gradient(linear, left top, left bottom, color-stop(0%, #b4b4c8), color-stop(100%, #7878a0));
}

input.erase-button:active {
	background-image: url('../img/erase_button.webp'), linear-gradient(to bottom, #b4b4c8 0%, #7878a0 100%);
	background-image: url('../img/erase_button.webp'), -webkit-gradient(linear, left top, left bottom, color-stop(0%, #b4b4c8), color-stop(100%, #7878a0));
}

input.link-button:active {
	background-image: url('../img/link.png'), linear-gradient(to bottom, #b4b4c8 0%, #7878a0 100%);
	background-image: url('../img/link.png'), -webkit-gradient(linear, left top, left bottom, color-stop(0%, #b4b4c8), color-stop(100%, #7878a0));
}

.pwlogo {
	background-image: url('../img/pw_logo.png'); 
	background-size: 32px 32px;
	background-repeat: no-repeat;
	min-height: 32px;
	padding-left: 38px;
	display: inline-block;
	white-space:nowrap;
	float: left;
	padding-top: 0.6em;
	margin-top: -0.3em;
	font-size: 80%;
}

/* ========================================================
   MODERN HUB ADDITIONS
   ======================================================== */

a.xlarge {
	font-size: 110%;
	text-decoration: none;
	display: inline-block;
}

a.xlarge:hover {
	text-decoration: underline;
}

a.xlarge img {
	vertical-align: middle;
	margin-right: 6px;
	border-radius: 4px;
}

.app-desc {
	font-size: 0.9em;
	color: #555555;
	margin-top: 5px;
	display: block;
	line-height: 1.4;
}

.divider {
	height: 5px;
	background-color: #cccccc;
	margin-top: 1.5em;
	margin-bottom: 1.5em;
	margin-left: -0.6em;
}

.why-content {
	background: linear-gradient(to bottom, #fdfdfd 0%, #f4f4f4 100%);
	padding: 20px;
	border-radius: 6px;
	border: 1px solid #dcdcdc;
	margin-top: 30px;
	color: #333333;
}

.why-content h2 {
	background: transparent;
	border: none;
	padding: 0;
	margin: 0 0 12px 0;
	font-size: 120%;
}

.why-content p {
	line-height: 1.5;
	margin-bottom: 12px;
	font-size: 0.95em;
}

/* ========================================================
   LAYOUT WRAPPER
   ======================================================== */
.layout-wrapper {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.main-content {
	flex: 1;
	min-width: 0;
	border-right: none;
}

.right-sidebar {
	display: none; /* Hidden by default on small screens */
}

/* ========================================================
   MOBILE OVERRIDES (Below 950px)
   ======================================================== */
@media screen and (max-width: 949px) {
	h1, h1.asH2, h2, .divider, div.gradient {
		/* Relies on the parent width to respect the scrollbar, avoiding overflow */
		width: calc(100% + 0.6em + 8px);
		box-sizing: border-box;
		margin-right: 0;
	}
}

/* Desktop override */
@media screen and (min-width: 950px) {
	.layout-wrapper {
		flex-direction: row;
		align-items: flex-start;
	}
	
	.main-content {
		border-right: 1px solid #AAAAAA;
	}
	
	.right-sidebar {
		display: block;
		/* Removed width: 300px from here so it can collapse automatically */
		flex-shrink: 0;
		
		position: -webkit-sticky;
		position: sticky;
		top: 20px; 
		padding-right: 15px; 
		margin-right: 15px; 
		border-right: 1px solid #AAAAAA;
		margin-bottom: 20px; 
	}

	.adUnitVertical {
		width: 300px;
	}

	/* CSS fallback to hide sidebar if Google AdSense actively passes an 'unfilled' status */
	.right-sidebar:has(ins[data-ad-status="unfilled"]) {
		display: none !important;
	}
}

/* ========================================================
   RETINA / HIGH DPI DISPLAY OVERRIDES
   ======================================================== */

@media all and (-webkit-min-device-pixel-ratio: 1.5) { 
	.pwlogo { 
		background-image: url('../img/pw_logo@2x.png'); 
	}
	
	ul.menu li {
		background: url("../img/arrow_right_large@2x.png") no-repeat left 0.4em;
		background-size: 9px 12px;
		padding-left: 18px;
		padding-bottom: 0.0em;
	}
}