
@import url('https://fonts.googleapis.com/css?family=Open+Sans|Vollkorn');

/*
Official UC Berkeley color palette:
	#003262 Berkeley Blue
	#FDB515 California Gold
	#3B7EA1 Founder's Rock
	#C4820E Medalist
*/

:root {
	--text-color:#222222;
	--bblue:#003262;
	--medalist:#C4820E;
	--sans:'Open Sans',Arial,Verdana,sans-serif;
	--serif:Vollkorn,'Crimson Text',Georgia,'Times New Roman',serif;
}

html {
	height:100%;
	padding:0px;
	margin:0px;
}

body {
	position:relative;
	box-sizing:border-box;
	min-height:100%;
	padding:0px;
	margin:0px;
	border-top:30px solid var(--bblue);
	border-bottom:30px solid var(--bblue);
	background-color:white;
	font-family:var(--sans);
	color:var(--text-color);
}

div.shell {
	width:800px;
	padding:20px 20px 10px;
	margin:0px auto;
	font-size:18px;
	line-height:160%;
}

h1 {
	padding:0px;
	margin:5px 0px 0px;
	text-align:center;
	font-family:var(--serif);
	font-weight:normal;
	font-size:42px;
	line-height:normal;
	color:var(--bblue);
	cursor:default;
}

h2 {
	margin:28px 0px 12px;
	font-weight:normal;
	font-size:22px;
	color:var(--bblue);
}

h2:first-of-type {
	margin-top:16px;
}

code {
	tab-size:4;
}

p {
	padding:0px;
	margin:8px 0px;
	text-align:left;
}

table.info {
	padding:0px;
	margin:8px 0px;
	border:none;
	border-collapse:collapse;
}

table.info td {
	padding:2px 15px 2px 0px;
	vertical-align:top;
}

table.sub {
	margin-left:30px;
}

a {
	text-decoration:none;
	color:var(--medalist);
}

a:hover, a:focus {
	text-decoration:underline;
	outline:none;
}

div.footer a {
	display:block;
	width:158px;
	margin:40px auto 0px;
}

div.footer a:focus {
	outline:1px solid silver;
}

div.footer img {
	height:63px;
}

div.fine-print {
	position:absolute;
	bottom:-22px;
	right:10px;
	font-size:9px;
	color:white;
	opacity:0.3;
}

/* Obfuscation */

.obfuscate .ob-decoy	{ display:none; }
.obfuscate .ob-at:after	{ content:"@"; }
.obfuscate .ob-dot:after	{ content:"."; }

/* Scale to smaller screens */

@media screen and (max-width: 650px)
{
div.shell	{ width:auto; font-size:16px; }
h1	{ font-size:32px; }
h2	{ margin:24px 0px 10px; font-size:18px; }
p	{ text-align:left; }
table.info	{ overflow-y:scroll; }
table.info td	{ padding-right:10px; }
table.sub	{ margin-left:20px; }
}

/* From Project Euler */

div.problem_content {
   font-size: 110%;
   font-family: "Segoe UI", Arial, sans-serif;
   border: solid 1px #bbb;
   box-shadow: 5px 5px 5px #bbb;
   padding:10px;
}
.problem_content img {
   max-width: 100%;
   object-fit: contain;
   overflow-x: auto;
}

.center {
   text-align: center !important;
}

.smaller {
   font-size: 90%;
}

.monospace {
   font-family: "Lucida Consolas", "Consolas", "Courier New", monospace;
}

.red {
   color: #a00;
}