/*

RESET - from http://meyerweb.com/eric/thoughts/2007/05/01/reset-reloaded/

*/

html, body, div, span, applet, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,a, abbr, acronym, address, big, cite, code,del, dfn, em, font, img, ins, kbd, q, s, samp,small, strike, strong, sub, sup, tt, var,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td {margin: 0;padding: 0;border: 0;outline: 0;font-weight: inherit;font-style: inherit;font-size: 100%;font-family: inherit;vertical-align: baseline;}
:focus {outline: 0;}
body {line-height: 1;color: black;background: white;font-family:"helvetica neue", helvetica, arial, sans-serif;font-size:62.5%;}
ol, ul {list-style: none;}
table {border-collapse: separate;border-spacing: 0;}
caption, th, td {text-align: left;font-weight: normal;}
blockquote:before, blockquote:after,q:before, q:after {content: "";}
blockquote, q {quotes: "" "";}


/*

GRID - adapted from 960.gs

*/

.container_12,.container_16{margin-left:auto;margin-right:auto;width:960px}.grid_1,.grid_2,.grid_3,.grid_4,.grid_5,.grid_6,.grid_7,.grid_8,.grid_9,.grid_10,.grid_11,.grid_12,.grid_13,.grid_14,.grid_15,.grid_16{display:inline;float:left;position:relative;margin-left:10px;margin-right:10px}.container_12 .grid_3,.container_16 .grid_4{width:220px}.container_12 .grid_6,.container_16 .grid_8{width:460px}.container_12 .grid_9,.container_16 .grid_12{width:700px}.container_12 .grid_12,.container_16 .grid_16{width:940px}.alpha{margin-left:0}.omega{margin-right:0}.container_12 .grid_1{width:60px}.container_12 .grid_2{width:140px}.container_12 .grid_4{width:300px}.container_12 .grid_5{width:380px}.container_12 .grid_7{width:540px}.container_12 .grid_8{width:620px}.container_12 .grid_10{width:780px}.container_12 .grid_11{width:860px}.container_16 .grid_1{width:40px}.container_16 .grid_2{width:100px}.container_16 .grid_3{width:160px}.container_16 .grid_5{width:280px}.container_16 .grid_6{width:340px}.container_16 .grid_7{width:400px}.container_16 .grid_9{width:520px}.container_16 .grid_10{width:580px}.container_16 .grid_11{width:640px}.container_16 .grid_13{width:760px}.container_16 .grid_14{width:820px}.container_16 .grid_15{width:880px}.container_12 .prefix_3,.container_16 .prefix_4{padding-left:240px}.container_12 .prefix_6,.container_16 .prefix_8{padding-left:480px}.container_12 .prefix_9,.container_16 .prefix_12{padding-left:720px}.container_12 .prefix_1{padding-left:80px}.container_12 .prefix_2{padding-left:160px}.container_12 .prefix_4{padding-left:320px}.container_12 .prefix_5{padding-left:400px}.container_12 .prefix_7{padding-left:560px}.container_12 .prefix_8{padding-left:640px}.container_12 .prefix_10{padding-left:800px}.container_12 .prefix_11{padding-left:880px}.container_16 .prefix_1{padding-left:60px}.container_16 .prefix_2{padding-left:120px}.container_16 .prefix_3{padding-left:180px}.container_16 .prefix_5{padding-left:300px}.container_16 .prefix_6{padding-left:360px}.container_16 .prefix_7{padding-left:420px}.container_16 .prefix_9{padding-left:540px}.container_16 .prefix_10{padding-left:600px}.container_16 .prefix_11{padding-left:660px}.container_16 .prefix_13{padding-left:780px}.container_16 .prefix_14{padding-left:840px}.container_16 .prefix_15{padding-left:900px}.container_12 .suffix_3,.container_16 .suffix_4{padding-right:240px}.container_12 .suffix_6,.container_16 .suffix_8{padding-right:480px}.container_12 .suffix_9,.container_16 .suffix_12{padding-right:720px}.container_12 .suffix_1{padding-right:80px}.container_12 .suffix_2{padding-right:160px}.container_12 .suffix_4{padding-right:320px}.container_12 .suffix_5{padding-right:400px}.container_12 .suffix_7{padding-right:560px}.container_12 .suffix_8{padding-right:640px}.container_12 .suffix_10{padding-right:800px}.container_12 .suffix_11{padding-right:880px}.container_16 .suffix_1{padding-right:60px}.container_16 .suffix_2{padding-right:120px}.container_16 .suffix_3{padding-right:180px}.container_16 .suffix_5{padding-right:300px}.container_16 .suffix_6{padding-right:360px}.container_16 .suffix_7{padding-right:420px}.container_16 .suffix_9{padding-right:540px}.container_16 .suffix_10{padding-right:600px}.container_16 .suffix_11{padding-right:660px}.container_16 .suffix_13{padding-right:780px}.container_16 .suffix_14{padding-right:840px}.container_16 .suffix_15{padding-right:900px}.container_12 .push_3,.container_16 .push_4{left:240px}.container_12 .push_6,.container_16 .push_8{left:480px}.container_12 .push_9,.container_16 .push_12{left:720px}.container_12 .push_1{left:80px}.container_12 .push_2{left:160px}.container_12 .push_4{left:320px}.container_12 .push_5{left:400px}.container_12 .push_7{left:560px}.container_12 .push_8{left:640px}.container_12 .push_10{left:800px}.container_12 .push_11{left:880px}.container_16 .push_1{left:60px}.container_16 .push_2{left:120px}.container_16 .push_3{left:180px}.container_16 .push_5{left:300px}.container_16 .push_6{left:360px}.container_16 .push_7{left:420px}.container_16 .push_9{left:540px}.container_16 .push_10{left:600px}.container_16 .push_11{left:660px}.container_16 .push_13{left:780px}.container_16 .push_14{left:840px}.container_16 .push_15{left:900px}.container_12 .pull_3,.container_16 .pull_4{left:-240px}.container_12 .pull_6,.container_16 .pull_8{left:-480px}.container_12 .pull_9,.container_16 .pull_12{left:-720px}.container_12 .pull_1{left:-80px}.container_12 .pull_2{left:-160px}.container_12 .pull_4{left:-320px}.container_12 .pull_5{left:-400px}.container_12 .pull_7{left:-560px}.container_12 .pull_8{left:-640px}.container_12 .pull_10{left:-800px}.container_12 .pull_11{left:-880px}.container_16 .pull_1{left:-60px}.container_16 .pull_2{left:-120px}.container_16 .pull_3{left:-180px}.container_16 .pull_5{left:-300px}.container_16 .pull_6{left:-360px}.container_16 .pull_7{left:-420px}.container_16 .pull_9{left:-540px}.container_16 .pull_10{left:-600px}.container_16 .pull_11{left:-660px}.container_16 .pull_13{left:-780px}.container_16 .pull_14{left:-840px}.container_16 .pull_15{left:-900px}.clear{clear:both;display:block;overflow:hidden;visibility:hidden;width:0;height:0}.clearfix:after{clear:both;content:' ';display:block;font-size:0;line-height:0;visibility:hidden;width:0;height:0}.clearfix{display:inline-block}* html .clearfix{height:1%}.clearfix{display:block}

/*

BODYCOPY

*/

.bodycopy			{font-size:1.4em;line-height:1.8em;}
.bodycopy p 		{clear:both;margin-bottom:1.8em;}
.bodycopy a			{font-weight:bold;text-decoration:none;}
.bodycopy a:hover 	{text-decoration:underline; }
.bodycopy b, 
.bodycopy strong	{font-weight:bold !important;}
.bodycopy i, 
.bodycopy em		{font-style:italic !important;}
.bodycopy img		{margin:0 auto 2em auto;}
.bodycopy p img		{float:right;margin:1em 0 1em 1em;}
.bodycopy li		{list-style-position:inside;}
.bodycopy ul li		{list-style-type:disc;}
.bodycopy ul, 
.bodycopy ol		{margin-bottom:1em;}
.bodycopy ol li		{list-style-type:decimal-leading-zero;}

/*

FOR USE IN USER-INPUT CONTENT ON DEFAULT PAGETYPE

*/

#default .multicolumn_container		{margin-bottom:1em;clear:both;float:left;}

/*

STARDOTSTAR.COM

*/

em					{font-style: italic	!important}
strong				{font-weight: bold !important}
h1,
h2,
h3					{font-weight:bold;}
#stardot_page		{margin:0;padding:0;}

#skipnav,
#skipto				{height:0;overflow:hidden;text-indent:-1000px;width:1px;}

#logo				{margin-left:2em;}

#nav				{height:3.6em;overflow:hidden;padding-top:1.7em;}
#nav ol				{float:right;margin-right:1em;text-align:right;}
#nav li				{display:inline;float:left;list-style:none;}
#nav a				{display:block;font-size:1.2em;letter-spacing:0.1em;margin:-0.7em 1em 0 0;padding:1em;text-align:center;text-decoration:none;text-transform:uppercase;}

#subnav 			{margin-top:60px;}
#subnav li			{list-style:none;margin-left:-20px;}
#subnav a			{border-left:10px solid;display:block;font-size:1.4em;margin-left:10px;padding:11px 0 11px 0;text-decoration:none;}
#subnav .small a	{font-size:1.1em;padding:12px 0 12px 0;}

#main, #default		{padding-top:3.6em;float:left;}
#default h1      {font-size:3.6em;margin-bottom:1em;padding-top:0.5em;line-height:1em;}
#main_image 		{margin-left:10px;}
#feature 			{height:64.8em;}

/* #stardot_page #live p {line-height:1.2em !important;} */

#summary			{margin-top:18px;padding:10px;width:620px;}      
#summary h1   {font-size:1.6em; font-weight:bold; color:white}
#summary p			{font-size:1.4em;margin-bottom:18px;line-height:18px;}

#rhs				{font-size:1.1em;line-height:14.4px;}
#rhs q				{font-size:1.4em;font-style:italic;display:block;font-family: georgia, times, serif;}
#rhs p, 
#rhs q, 
#rhs address, 
#rhs li 			{margin-left:0.4em;}
#rhs q				{line-height:1.4em;font-size:1.2em;}
#rhs q, 
#rhs li 			{margin-bottom:1em;}
#rhs .attribution	{display:block;font-weight:bold;}
#rhs p, 
#rhs address, 
#rhs ul, 
#rhs .attribution	{margin-bottom:2em;}

#footer				{float:left;padding:3.6em 0 2em 0;}
#footer a			{text-decoration: none;}
#footer address,
#footer p			{font-style:normal;font-weight:bold;font-size:1.2em;line-height:1.2em;}
#footer p img		{display:block;margin-bottom:1em;}
#footer address		{margin-top:1em;}
#footer h2			{font-size:1.4em;margin:1em 0 1em 0;}

#twitter p			{font-style:italic;font-weight:normal;line-height:1.2em;padding:1em;}
#twitter hr			{margin:0 0 0.5em 2em;width:0;height:0;border-left:0px solid transparent;border-right:15px solid transparent;border-top:15px solid #2a6bff;border-bottom:0;display: block}
#twitter a			{font-size:1.4em;font-weight: bold;}
#twitter img		{vertical-align:bottom;}
#twitter .time		{display:block;}

#footernav			{margin-top:3em;}
#footernav li		{display:inline;list-style:none;margin-right:2em;}

#comments			{background:#f6f6f6;float:left;border-top:4px solid #ddd;border-bottom:4px solid #ddd;padding-top:1em;padding-bottom:1em;}
#comment_list 		{margin-bottom:2em;}
.comment			{margin-bottom:1em;}
.comment hr			{margin:0 0 0.5em 2em;width:0;height:0;border-left:0px solid transparent;border-right:15px solid transparent;border-top:15px solid #fff;border-bottom:0;display: block}
.comment_text		{background:#fff; padding:1em;}
.owner .comment_text{background:#ffffe9!important;}
.owner hr			{border-top:15px solid #ffffe9;}

/*

GALLERIA

*/

#main_image			{margin-top:18px;width:620px;height:380px;overflow:hidden;}
.galleria			{float:left;list-style:none;width:620px;}
.galleria li		{display:block;width:54px;height:54px;overflow:hidden;float:left;margin:0 20px 10px 0;border:3px solid;}
.galleria li#last 	{margin:0 0px 10px 0;}

/*

HOME PAGE

*/

#home_contents			{float:left;width:inherit;}
#home_contents #lhs		{margin:1.8em 1em 1.8em 1em;}
.home_feature			{margin:18px 0 18px 0; padding:18px;}
#home_contents p 		{margin:0 0 1em 0;}
#home_contents h2		{font-size:1.4em;margin: 0 18px 18px 0;}
#home_contents #lhs p	{font-size:1.4em;line-height:18px;}

.more					{float:right;text-align:center;width:25%;}
.more a					{display:block;padding:2px;text-decoration:none;}

.date 					{margin-bottom:0 !important;}
.home_link a			{display:block;font-size:1.2em;margin-bottom:0em;padding:0.2em 0 0.2em 0;text-decoration:none;}
.home_link a#mailing_list {margin-bottom:0; }
.home_link span			{display:block;font-weight:bold;font-size:1.2em;}

#mailing_list 			{background:url(../images/mailing.gif) no-repeat center right; }
#credentials 			{background:url(../images/credentials.gif) no-repeat center right; }

/*

SLIDER

*/

#slideshow				{position:relative;}

#slider 				{background: #fff;width:62em;margin:4em auto 2em auto; overflow:hidden;}
#slider ul, 
#slider li				{margin:0;padding:0;list-style:none;}
#slider li				{width:62em;height:37em;}
#slider span			{display:block;}
#slider	.content		{position:relative;}
#slider .headline		{font-size:4em; font-weight: bold;}
#slider .copyline 		{font-size:1.4em; width:50%;line-height:1.2em;margin-top:1em;}
#slider .projectline 	{font-size:1em; width:50%;line-height:1.2em;margin-top:1em;}

.graphic, 
#prevBtn, 
#nextBtn				{margin:0;padding:0;display:block;overflow:hidden;text-indent:-800em;}
#prevBtn, #nextBtn		{display:block;width:3em;height:7.7em;position:absolute;left:13.5em;top:15em;}	
#nextBtn				{left:79.6em;}														
#prevBtn a, 
#nextBtn a				{display:block;width:3em;height:7.7em;background:url(../images/btn_prev.gif) no-repeat 0 0;}	
#nextBtn a				{background:url(../images/btn_next.gif) no-repeat 0 0;}

#content_01					{background:url(../images/homepage_slides/1.jpg)}
#content_01	.content		{top:120px;left:250px;}
#content_01	.headline		{margin-left:0.7em;}
#content_01	.copyline		{margin-left:0.8em;}
#content_02					{background:url(../images/homepage_slides/2.jpg)}
#content_02	.content		{top:120px;left:40px;}
#content_03					{background:url(../images/homepage_slides/3.jpg)}
#content_03	.content		{top:120px;left:230px;}
#content_04					{background:url(../images/homepage_slides/4.jpg)}
#content_04	.content		{top:120px;left:40px;}

/*

COLOUR SCHEME

*/

/* BLACK				------------------------------------------------------------------- */
.bodycopy b, 
#rhs h2 				{color:#000; }

/* WHITE 				-------------------------------------------------------------------- */
.galleria li, 
#main, 
#default 				{background:#fff;}
.home_link a, 
.more a, 
#nav a, 
#subnav a, 
#summary p, 
#footer h2, 
#footer a:hover, 
#twitter p, 
#default #subnav a:hover, 
#default #subnav .selected a, 
#home_contents p, 
#home_contents h2 		{color:#fff;}
.galleria li, 
#default #subnav a 		{border-color:#fff;}

/* GREY					------------------------------------------------------------------- */
body 					{background:#e7e7e7;}
.bodycopy, 
#rhs 					{color:#666;}

/* NAVY BLUE			------------------------------------------------------------------- */
#footer 				{background:#0a2453 url(../images/footer_grad.gif) repeat-x}

/* MID ROYAL BLUE		------------------------------------------------------------------- */
#summary, 
#subnav .selected a, 
.more 					{background:#1f54ff !important;}
#subnav .selected a, 
#foot_lhs 				{border-color:#1f54ff !important;}

/* LIGHT ROYAL BLUE		------------------------------------------------------------------- */
#feature, 
#twitter p, 
#home_contents 			{background:#2a6bff!important;}
#footer, 
#copyright, 
#rhs q, 
#strap p, 
#default #subnav a, 
#footer a 				{color:#2a6bff;}
#subnav a 				{border-color:#2a6bff;}

/* PALER BLUE			------------------------------------------------------------------- */
.home_feature 			{background:#3c7eff;}

/* RICH BLUE			------------------------------------------------------------------- */
#footer					{border-top:1px solid #041cff;}

/* ORANGE				------------------------------------------------------------------- */
#subnav a:hover, 
.more a:hover 			{background:#ff9900;}
.bodycopy a, 
.bodycopy a:visited, 
.home_link a:hover 		{color:#ff9900;}
#subnav a:hover, 
#default #subnav a:hover {border-color:#ff9900;}

/*

COLOUR SCHEME: TOP NAVIGATION BAR

*/

#nav					{background:#1f54ff url(../images/royal_blue_gradient.png) repeat-x left bottom;border-top:1px solid #2a6bff;border-bottom:1px solid #041cff;}
#nav a					{color:#ebf0ff;}
#nav a:hover,
#nav a.selected			{color:#fff;background:#041cff;border-bottom:1px solid rgba(42,107,255,0.3);}
#nav a.selected			{background:#2a6bff;}

/* cms highlighting*/

.cms_highlight{
	background: #ffffcc !important;
	color: #000000 !important;
	cursor: pointer;
}

/* bits of the site where we're showing white on blue, so we need a different highlight color */

#home_contents #lhs.cms_highlight *{
	color: #000000 !important;
}

#home_contents #rhs #feature_box_1.cms_highlight *{
	color: #000000 !important;
}

#home_contents #rhs #feature_box_2.cms_highlight *{
	color: #000000 !important;
}

.cms_error_field{
	border:1px solid red;
}

/* styles for the new style nested-subnav */
#subnav ol {margin-left:30px;}
#subnav li.selected ol li a {
  background: #FFFFFF !important; 
  border-color:  #FFFFFF !important; 
  color: #2A6BFF !important; 
}

#subnav li.selected ol li a:hover {
  background: #ff9900 !important; 
  border-color:  #ff9900 !important; 
  color: #FFFFFF !important; 
}


/*

THESE CSS3-ESQUE STYLES USE PROPRIETARY ATRIBUTES FOR PROGRESSIVE ENHANCEMENT AND ARE NOT EXPECTED TO VALIDATE
OR WORK ON INTERNET EXPLORER. C'EST LA VIE...

*/

#nav a,	
#twitter p,
#summary,
.home_feature,
.comment_text			{-moz-border-radius:9px;-webkit-border-radius:9px;}

.comment_text 			{-webkit-box-shadow:rgba(0, 0, 0, 0.2) 5px 5px 5px;-moz-box-shadow:rgba(0, 0, 0, 0.2) 5px 5px 5px;}

#footer *				{text-shadow:0px 1px 1px #000;}
#twitter p				{text-shadow:rgba(0,0,0,0.01) 0 0 0;}

#slider					{-moz-border-radius:2em;-webkit-border-radius:2em;-webkit-box-shadow:rgba(0, 0, 0, 0.2) 5px 5px 5px;-moz-box-shadow:rgba(0, 0, 0, 0.2) 5px 5px 5px;}
#nav a					{text-shadow:-1px -1px 0 #041cff;}
#nav a.selected, 
#nav a:hover			{text-shadow:1px 1px 0  rgba(0,0,0,0.1);}


/* 

FINALLY, HERE'S A SURPRISINGLY SINISTER-LOOKING ASCII ART PENGUIN.
PENGUINS AREN'T AS GOOD AS ROBOTS BUT THEY'RE PRETTY WONDERFUL ALL THE SAME, 
AND WE LIKE TO MAKE ROOM FOR ONE WHEREVER POSSIBLE. 
OH STOP MOANING, BANDWIDTH IS CHEAP.

????????????????????IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII??????????????
???IIIIIIIIIIIIIIIIIIIIIII7III777777IIIIIIIIIIIII?II?IIIIIII?????????????????III
II7777777777777777777777777777IIIIIIIIIII???~=+????????IIII?????IIIIIIIIIIIIIIII
777777777777777777IIIIIIIIIIIII??II+?7~:,,.,,,,,,=+IIIIIIIIIIIII7777777777777777
777777IIIIIIIIII?????????????I?II~II==.,,,,....,.,,?+777777777777777777777777777
IIIII????????????????IIIII7777777I+:~+?~+=...,.,,..:.,=7777777777777777777777777
IIIIIIIIIIIIIIIIIIIIIII7777777777I:,..:==,:,=:,.,,,,,,,=777777777777777777777777
IIIIIIIIIIIIIIIII7I7777777777777,,,,,~~,~,,,,,,=+~.:...,:77777777777777777777777
IIIIIIIIIIIIIIIIII7I7777777777=::,:::,:,,:........~~:::,,::+++?+=777777777777777
IIIIIIIIIIIIIIIIIIIIIII7777I~~,,,::,,,,:,.,,.,~,.......,,:~~:~+=++=7777777777777
IIIIIIIIIIIIIIIIIIIIIIII7I~::~:,,,,,.,,,,.....,,,,,.~,,,,~:~=~:?=,+~777777777777
IIIIIIIIIIIIIIIIIIIII7I7?~,,,.:,,.:,,.,.,.,,,...:,,,.,.....,,,,,,,,:~I77I777I7II
IIIIIIIIIIIIIIIIII77777I:,,~,:,,.,,,,,,..,..,,,.,,,,.........,.?7I7777IIIIIIIIII
IIIIIIIIIIIIIIIII77777~,:,:,,,.,.,:,,,,.,,,.,,,,,,,.........I777IIIIIIIIIIIIIIII
IIIIIIIIII7IIIIII7I77?,:,:::,,:,,,,,,.,,,,,,,,,,..,.,.....777777IIIIIIIIIIIIIIII
IIIIIIIIII777III7777=:,::,,,:,...,,,,,,,,..............,.777777IIIIIIIIIIIIIIIII
IIIIIIIIIIIII777777I:::.:.,,,,,,,I=IIIIIII+............I77777777IIIIIIIIIIIIIIII
IIIIIIIIII7III7777?,,,.:,..,,,,,7II7IIIIIIIII+,,.....,I~I7777I777IIIIIIIIIIIIIII
??????IIIIIIIIIIII:,,,,.,,.,.,=I7I7II7I77IIIIIII:....,?II7777IIIIIIIIIIIIIIIIIII
IIIII??II????I?:~:.:,.,=IIIIII77I77I7II7I7IIIII???++???I?777IIIIIIIIIIIIIIIIIIII
IIIIIIIIIIII~~..,,::,,~IIIIII7IIIII7IIIIIIIIIII??????????II???IIIIII??????IIIIII
IIIIIIIIIII?~,,,,:,,,+?IIIIIIIIIIIIIIIIII????????????????IIIIIIIIIII????????????
IIIIIIIIIII:.,~,::,..?IIIIIIIIIIIIIII??I???I??????????+??IIIIIIIIIIIIIIIIIIIIIII
IIIIIIIIII?:.=:,,,...??????IIIIIIIII???????+?++?+?+++++??IIIIIIIIIIIIIIIIIIIIIII
IIIIIIIIII=::~:,,,..?II????????????I??+++?++++++++++++++?IIIIIIIIIIIIIIIIIIIIIII
IIIIIIIIII=:::::...=?I???????????????++++++++=+=====++++IIIIIIIIIIIIIIIIIIIIIIII
IIIIIIIIII~::::,,.:+?I??I?????+????+++++++==+=========+?IIIIIIIIIIIIIIIIIIIIIIII
IIIIIIIII?::,:,~,:??II???????++++++++++++============++?IIIIIIIIIIIIIIIIIIIII???
IIIIIIIII=~:,,,.:=?II?I???????+++++++++++==========++++IIIIIIIIIIIIIIIIIIIIIII??
IIIIIIIII:::,.::=?IIIIII?????+++++++================++?IIIIIIIIIIIIIIIIIIIIIIII?
IIIIIIII+:~:,,,=?IIII????????+?++++===+==+=========+++IIIIIIIIIIIIIIIIIIIIIIIIII
IIIIIIII~::,.,~+?I???????+?++++++++===============+++?IIIIIIIIIIIIIIIIIIIIIIIIII
IIIIIII?::,,,,=??I???????+?++++++=+==============++++?IIIIIIIIIII?IIIIIIIIIIIIII
IIIIIII~:,,.,:+??I???????+++++++=+=+=============+++?IIIIIIIIIIIIIIIIIIIIIIIIIII
??IIII?::,.,,~+??I????+??++++++++==++===========++++?IIIIIIIIIIIIIIIIIIIIIIIIIII
?IIIII=::,.,:+??????????++++++++=+=============++++??IIIIIIIIIIIIIIIIIIIIIIIIIII
??????::,,.:~+??????????+++++++++===========+=+++++??IIIIIIIIIIIIIIIIIIIIIIII?II
?????=,,,..:=+?????????+++++++++======+=====++++++???II7IIIIIIIIIIIIIIIIIIIIIIII
?????=~,,.~~=????????+++++++++++============+++++++??I?IIIIIIIII?IIIIIIIIIIIIIII
?????,,,.,=~+?????+??+++++++++=====+=======++++++++?III??II?I?III?IIIIIIIIIIIIII
?I??=:,,,I+=+??????++?++++++++++======++===+++++++??IIIIIIIIIIIIIIII?IIIIIIIIIII
IIII:,,.=I+=+????+++++++++++++++++==+===++++++++++?IIIIIIIIIIIII??IIIIIIIIIIIIII
?II+:,.:II+++????+??++++++++++++++=++=++++++++++++?+??????????????I?I?I?????IIII
III:,.,?II?++????++++++++++++++=++=+=+++++++++++++????????????III?III???III?I???
II?:,:?????+?????++++++++++++++++++++++++++++++++???????++++???+??I??IIIIIIII?I?
II????+~::~??????+++++++++++++++++++++++++++++++++++++???++???????????????????I?
??????+:,::??????+++++++++++++++++++++++++++++++?+++++++++???????????????+?++++?
????????=::~??????++++++++++++++++++++++++++++++???+++?????+++?+++++++++++++++++
????????+=:,??????++++++++++++++++++++++++++++++?++++??????+++++=+=+++?+=+++++++
????????++=,??????++++++++++++++++++++++++++++???+???+++?++++?++++??+++++++===++
?????+??++=~??????++++++++++++++++++++++++??????+?++++++++++++===+=======+===+++
???+?+++++++=?????++++++++=======+++++++???II????????+++++??????+++??+++++++=+++
???++++++++=,????????++++====~======++?????II?I?????I?????????????????++???+++++
???+?+++?++=~+??I??????+==:::~~~~=++????????I???????????????????????????????????
+??+???++====:+II??I????+~:::::~=+??????????????????????????????????????????????
??I?I??++++=~~:=+???????+:,,,::~==+===++=++++?+?+?I?????????????????????????????
???????+==+~==~=:??+++?+?,,:,:::~~=~=+++++++++??????????????????????????????????
???????+?+??+==~~??++====,:::::::::+++++??+?++++++++??????++????????????????????
?++==++?=++??+=++II+???++~:~~~::===~+??????????++??++?++?+?++?+?+??????I????????
+=++????++??+?++=I?+??II++????===~~++?+++???++?????+?+++++++++++?????????I??+???
+=++=+????????+++II++??II?++?+=++=+???++?????++?+???+++++~?=~=++++?????+???+??+?
+++?+++??????+???II?++?????=?=.,~+~,?~=+??????++=++:?+=+==+=~+=+==+~?~=+???++?=+
+~=~+=~+=?+???++?+??+=????:?:++=++==.,=:,.~?=+~===~:::+===~~=+~=+==~==~~~+=??=+=
++=~~=~=~=?=+=?~+~,=,~=~=~+:,,~===+=~=+=~==:+:==~+=+=~~==+++=+=:=:::+~?==+?+=?+?
~=:=~+========+:+==~=~~=~=======+===++++~~++=======+==+~+==~=++==+=~==?===++~~=+
~~++=+~+==~==~~+=~~~~~?:~~~===+====+++==~=+====+=~~+===+++=~=??==+=?+==~~=~+~===
=++=?++==~+=+++=~===+?====+=====+===~+=~+++?~++=++++~=++~=~::~~=~~==++~?+?~:?,~~

*/