body {
    background-color: #fafafa;
}

#headingarea, #contentarea {
    margin-left: auto;
    margin-right: auto;
}

#headingarea {
    max-width: 60em;
}

.notfullwidthcontent {
    max-width: 53em;
}

.fullwidthcontent {
    max-width: 60em;
}

.textcontent {
    max-width: 43em;
    padding-top: 2em;
}

.textcontent h2 {
    font-size: 2em;
}

#headingarea {
    background-color: #411b29;
    height: 3em;
    position: relative;
}

#lbiconpanel {
    width: 8em;
    height: 2.4em;
    background-color: #411b29;
}

#lbiconpanel p {
    color: #00db00;
}

#lbiconpanel a {
    text-decoration: none;
}

.gamename {
    font-size: 1.4em;
    font-family: "Trebuchet MS", Helvetica, Arial, Verdana, sans-serif;
    font-style: italic;
    margin: 0em;
    padding-top: 0.02em;
    line-height: 90%;
    text-align: center;
}

.gamesubtitle {
    font-size: 1em;
    font-family: "Trebuchet MS", Helvetica, Arial, Verdana, sans-serif;
    font-style: italic;
    margin: 0em;
    line-height: 90%;
    text-align: center;
}

#navbar {
	margin: 0px;
	padding: 0px;
	position: absolute;
	/*width: 52%;*/
	right: 1%;
	top: 0.6em;	
	z-index: 4;
}

#navbar ul {
	padding: 0px;
}

#navbar li {
	float: left;
	margin: 0px;
	/*width: 19%;*/
	width: 5em;
	padding-left: 0px;
	padding-right: 2px;
	padding-top: 0px;
	padding-bottom: 0px;
	display: inline;
	text-align: center;
}

#navbar a {
	display: block;
	padding: 4px 0px 7px 0px;
	font: 1em Verdana, Arial, Helvetica, sans-serif;
	color: #0055BB;
	background-color: #FAFAFF;
	border: thin solid #000000;
	border-radius: 0.5em;
	text-decoration: none;
}

#navbar a:hover {
	font-weight: bold;
	font-size: 1.2em;
	padding-top: 2px;
	padding-bottom: 4px;
}

#navbar p {
	display: block;
	padding: 2px 0px 6px 0px;
	margin: 0;
	font: 1.2em Verdana, Arial, Helvetica, sans-serif;
	color: #FFFFFF;
}

#menubutton {
	margin: 0px;
	padding: 0.5em;
	padding-top: 0.1em;
	padding-bottom: 0.1em;
	position: absolute;
	right: 1%;
	bottom: 0.1em;
	z-index: 20;
	width: 4.5em;
	border-radius: 0.5em;
	background-color: #EEEEFF;
	border: thin solid #000000;
	display: none;
}

#menubutton a {
	padding: 0px;
	font: 1em Verdana, Arial, Helvetica, sans-serif;
	color: #000000;
	text-decoration: none;
}

#menulist {
	height: 0;
	overflow: hidden;
}

#menuset {
    background-color: #aaaaaa;
    opacity: 0.85;
    position: relative;
    z-index: 10;
}

.menuitem {
	padding: 0.3em;
	margin: 0.2em;
	width: 7em;
	border-radius: 0.2em;
	float: left;
	background-color: #FAFAFF;
	border: thin solid #000000;
}

.menuitem a {
	font: 150% Verdana, Arial, Helvetica, sans-serif;
	text-decoration: none;
	display: block;
}


.gamebutton {
	margin: 0px;
	padding: 0em;
	border-radius: 0.2em;
	background-color: #aa4444;
	border: thin solid #000000;
}

.gamebutton a {
	padding: 0px;
	vertical-align: middle;
	font: 1.4em Verdana, Arial, Helvetica, sans-serif;
	color: #ffffff;
	text-decoration: none;
}

#sourcepanel {
    width: 19em;
    float: left;
    margin-left: 10%;
}

#lettermsg {
    font: 1em Verdana, Arial, Helvetica, sans-serif;
    background-color: #333333;
    color: #ffff00;
    float: left;
    left: 0px;
    top: 4px;
    margin: 0px;
    margin-left: -5.9em;
    padding-left: 2px;
    padding-right: 4px;
    display: none;
}

#lettersource {
    float: left;
    width: 3.5em;
    height: 2.8em;
    border-radius: 10%;
    margin-top: 1em;
    margin-left: 11%;
    border: 0.3em;
    background-color: #ffffff;
    color: #000000;    
    border: 2px solid #aa6666;
}

#thenewletter {
    font: 2em Verdana, Arial, Helvetica, sans-serif;
    font-weight: bold;
    color: #aa4444;    
    margin: 0em;
    text-align: center;
}

#nextbutton {
    float: right;
    width: 3.8em;
    height: 2.5em;
    margin-top: 1.2em;
    margin-right: 30%;
}

#nextbuttonlink {
    line-height: 1.6em;
    padding: 0.2em 0.2em;
}
      
.panelwidthcontroller {
/*    max-width: 25em;
*/    min-width: 19em;
    position: relative;
}
    
.panelshapecontroller {
        position: relative;
        width: 100%;
	height: auto;
        padding-bottom: 68%;
    /*  Padding calculated as percentage of parent width, so this creates a div of fixed
    aspect ratio. */
}

/* Default formatting for browsers without media queries - assumed to be computer screen */
.panelwidthcontroller {
    width: 47%;
    margin-left: 1%;
    margin-right: 2%;
    display: inline-block;
}
/*
html.touch div#contentarea {
    max-width: 60em;
}*/

.gridpanel {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin-top: 0.5em;
}

#playerpanel {
    background-color: #ffe43a;
    color: #000000;    
}

.ui-dialog-title {
    font-size: 0.7em;
}

.ui-dialog-titlebar-close {
    height: 1.8em !important;
    width: 1.8em !important;
    right: 1px !important;
    top: 11px !important;
}

#wordhints {
    font-size: 0.7em;    
}
    
#playerholder {
    clear: both;
/*    display: inline-block;
*/    float: left;
}

#autoholder {
    float: left;
}

#autopanel {
    background-color: #006699;
    color: #ffffff;    
    clear: both;
}

.autohead {
    font: 1.2em Verdana, Arial, Helvetica, sans-serif;
    margin: 0em;
    position: absolute;
    left: 11%;
    top: 0%;
}

.boxforletter {
    width: 17.2%;
    height: 15.7%;
    border-radius: 10%;
    position: absolute;
    background-color: #ffffff;
    color: #000000;    
    border: 1px solid #666666;
    text-decoration: none;
}

.scoringcell {
    background-color: #55ff55;
}

.aletter {
    font: 1.8em Verdana, Arial, Helvetica, sans-serif;
    margin: 0em;
    margin-top: -3%;
    text-align: center;
}

.interimletter {
    color: #aa4444;    
    font: 2em Verdana, Arial, Helvetica, sans-serif;
    font-weight: bold;
    margin: 0em;
    margin-top: -3%;
    text-align: center;
}

.hintbutton {
    width: 6.84%;
    height: 10.06%;
    border-radius: 60%;
    position: absolute;
    border: 1px solid #ffffff;
/*    background-color: #ffffaa;
*/    color: #888888;    
}

a.hintbutton {
    font: 1em Verdana, Arial, Helvetica, sans-serif;
    font-weight: bold;
    margin: 0em;
    padding-top: 0.4%;
    text-align: center;
    text-decoration: none;
}

.linescore {
    position: absolute;
    width: 1.2em;
}

p.linescore {
    margin: 0em;
    text-align: right;
}

.totalscore {
    position: absolute;
    width: 1.2em;
}

.totalscorenum {
    font-size: 1.3em;
    font-weight: bold;
    margin: 0em;
    text-align: right;
}

#scorebox {
    clear: both;
    float: none;
    width: 15em;
    padding-top: 1.5em;
}

#scorebox p {
    font: 0.8em Verdana, Arial, Helvetica, sans-serif;
    margin: 0px;
}

#scoretable {
    width: 8em;
    display: block;
    border-collapse: collapse;
    margin-left: auto;
    margin-right: auto;
    float: left;
    font-size: 130%;
}

#scoretable td {
    border: 1px solid #000000;
    padding: 0.2em;
    min-width: 1em;
    text-align: right;
}
    
.namecell {
    font-weight: bold;
    background-color: #dddddd;
    padding-right: 0.5em;
    text-align: left;
    display: table-cell;
}

.namecell a {
    text-decoration: none;
}

.winnercell {
    font-weight: bold;
    background-color: #ffff00;
}

/* Order of these two styles is important - in default layout, linkcell is to override hiddenonsmalldisplay */
.hiddenonsmalldisplay {
    display: table-cell;
}

.linkcell {
    display: none;
}

.currcell {
    font-weight: bold;
    background-color: #aa4444;
    color: #ffffff;
}

#clearseriesbutton {
    width: 4em;
    margin-top: 1em;
    margin-left: 1em;
    text-align: center;
    float: left;
}

#autosumm {
    width: 19em;
    font: 1em Verdana, Arial, Helvetica, sans-serif;
    display: none;
}

#autosumm p {
    text-align: right;
    margin-top: 0.2em;
}

#playersumm {
    width: 19em;
    font: 1em Verdana, Arial, Helvetica, sans-serif;
    display: none;
}

#playersumm p {
    text-align: right;
    margin-top: 0.2em;
}

.infopanel {
    background-color: #ffffff;
    border: 2px solid #555555;
    z-index: 99;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 1em;
    max-width: 100%;
}

.paneltopbar {
    background-color: #cccccc;
    height: 3em;
    border-bottom: 1px solid #000000;
}

.paneltopbar p {
    font: 0.9em Verdana, Arial, Helvetica, sans-serif;
    font-weight: bold;
    margin: 0em;
    padding: 0.8em;
}

.paneltitlebigscreen {
    text-align: left;
}

.paneltitlelittlescreen {
    text-align: right;
}

.panelclosebtn {
    position: absolute;
    background-color: #444444;
    color: #ffffff;
    text-decoration: none;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    border: 2px solid #ffffff;
    border-radius: 0.2em;
}

.panelclosebtn p {
    text-align: center;
    line-height: 95%;
    font-size: 1.2em;
    font-weight: normal;
    padding: 0em;
    padding-top: 0.3em;
}

.panelclosebtnbigscreen {
    width: 1.9em;
    height: 1.9em;
    top: 0.5em;
    right: 0.5em;
}

.panelclosebtnlittlescreen {
    width: 5.6em;
    height: 1.9em;
    top: 0.5em;
    left: 0.2em;
    background-color: #444444;
    color: #88ff88;
}

.panelclosebtn:hover {
    background-color: #666666;
}

.panelcontentholder {
    overflow: auto;
}

.panelcontent {
    padding: 1em;
}

#guidediv {
    clear: both;
    margin-top: 1em;
    padding: 1em;
    padding-left: 10%;
    padding-right: 10%;
    position: relative;
}

#guidediv h2 {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 2em;
}

#guidediv p {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    /*font-size: 1.25em;*/
}

.infodiv {
    clear: both;
    margin-top: 0.2em;
    /*padding: 0.3em;*/
    /*padding-left: 10%;*/
    /*padding-right: 10%;*/
    position: relative;
}

.infodiv h2 {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    /*font-size: 2em;*/
    margin-top: 0.1em;
}

.infodiv h3 {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 1.6em;
    margin-top: 0.1em;
}

.infodiv p {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    /*font-size: 1.25em;*/
}

/*#aboutdiv {*/
/*    display: none;*/
/*}*/

#nextpic {
    float: right;
    width: 196px;
    height: 62px;
    border: 1px solid #007700;
    margin-left: 1em;
    background-image: url("../images/nextletterh.png");
}

.rightbox {
    float: right;
    /*width: 40%;*/
    border: 1px solid #007700;
    margin-left: 1em;
    padding: 0.5em;
    background-color: #fafafa;
    font-family: Verdana, Arial, Helvetica, sans-serif;
}

.rightbox p {
    margin: 0em;
}

.rightbox td {
    text-align: right;
    width: 3em;
    font-size: 90%;
}

.formpara {
    margin-top: 1em;
}

.formlabel {
    margin-left: 2em;
}

.formbutton {
	margin: 0px;
	padding: 0em;
	border-radius: 0.2em;
	background-color: #aa4444;
	border: thin solid #000000;
	padding: 0px;
	padding-left: 0.3em;
	padding-right: 0.3em;
	vertical-align: middle;
	font: 1.1em Verdana, Arial, Helvetica, sans-serif;
	color: #ffffff;
	text-decoration: none;
}

#letterstats {
    text-align: right;
}

.guidefullscreenonly {
    display: block;
}
    
/* NAVIGATION VIA MENU BUTTON */

@media only screen and (max-width: 31em) {

    #headingarea {
        height: 2.4em;
    }

    #navbarholder {
	display: none;
    }
    
    #menubutton {
	display: inline-block;
    }
}

/* COMMON FORMATTING FOR SCREENS NOT WIDE ENOUGH TO SHOW TWO LETTER GRIDS SIDE BY SIDE */

/* E.g. phones, and most tablets in portrait orientation */
/*@media only screen and (max-width: 52em) {*/
/**/
/*    .guidefullscreenonly {*/
/*        display: none;*/
/*    }*/
/*    */
/*}*/

/* On spacious computer screen, show playing guide below puzzle */

@media only screen and (min-width: 52em) and (min-height: 36em) {

    .guidefullscreenonly {
        display: block;
    }
    
}


/* ONE PUZZLE WITH CONTROLS ABOVE */

/* E.g. phone in portrait orientation */
@media only screen and (max-width: 28em) and (max-height: 48em) {
    #sourcepanel {
        width: 15em;
	float: none;
    }
    
    #lettersource {
	margin-left: 25%;
    }
    
    #nextbutton {
	margin-right: 5%;
    }

    #scorebox {
	clear: both;
	display: block;
        float: none;
	padding-top: 2em;
        margin-left: auto;
        margin-right: auto;
/*	margin-bottom: 2em;
*/    }
    
    #scoretable {
	font-size: 100%;
    }

    #autosumm {
	display: inline-block;
	float: none;
	width: 90%;
    }

    #autosumm p {
	text-align: right;
	padding: 0em;
	margin-top: 0.2em;
    }
    
    .panelwidthcontroller {
	float: none;
	width: 100%;
	max-width: 25em;
	min-width: 19em;
    }
       
    #playersumm {
        display: none;
    }

/* Order of these two styles is important - in layout with one grid visible at a time,
    linkcell is to be overriden by hiddenonsmalldisplay */
    
    .linkcell {
        display: table-cell;
    }
    
    .hiddenonsmalldisplay {
        display: none;
    }
/*    
    #autoholder {
	display: none;
    }
*/}

/* ONE PUZZLE WITH CONTROLS BESIDE IT */

/* E.g. phone in landscape orientation */
@media only screen and (min-width: 28em) and (max-width: 52em) and (max-height: 48em) {
    
    #sourcepanel {
        float: left;
	width: 6em;
	margin-left: 0em;
/*	margin-right: 6.6%;
*/    }
    
    #lettersource {
	margin-left: 0%;
	margin-top: 2em;
    }

    #lettermsg {
        margin-left: 0px;
	margin-top: -1.6em;
	font-size: 0.8em;
	white-space: nowrap;
    }
    
    #nextbutton {
	float: left;
	margin-right: 0%;
	margin-top: 0.8em;
    }
    
    #scorebox {
	width: 6em;
	margin-top: 1.3em;
	padding-top: 0em;
/*	margin-left: 2.6%;
*/	clear: none;
	float: left;
    }
    
    #scoretable {
	width: auto;
	font-size: 100%;
    }

    #clearseriesbutton {
	clear: both;
        float: right;
	margin-top: 0.2em;
    }

    #autosumm {
	display: block;
	float: left;
	width: 5em;
    }
    
    #autosumm p {
	text-align: center;
	padding: 0.5em;
    }
    
    .panelwidthcontroller {
	max-width: 25em;
	min-width: 19em;
	position: relative;
	width: 73%;
    }
    
    #playerholder {
	float: right;
	clear: none;
    }
       
    #playersumm {
	float: left;
	width: 5em;
    }

    #playersumm p {
	text-align: center;
	padding: 0.5em;
    }
    
    #autoholder {
	float: right;
/*	display: none;
*/    }

/* Order of these two styles is important - in layout with one grid visible at a time,
    linkcell is to be overriden by hiddenonsmalldisplay */
    
    .linkcell {
        display: table-cell;
    }
    
    .hiddenonsmalldisplay {
        display: none;
    }

    #nextpic {
        width: 75px;
        height: 118px;
        background-image: url("../images/nextletterv.png");
    }
}

/* TWO PUZZLES, ONE UNDER THE OTHER */

/* E.g. tablet in portrait orientation */
@media only screen and (min-height: 48em) and (max-width: 52em) {
    #sourcepanel {
	width: 17em;
	float: none;
	margin-left: auto;
	margin-right: auto;
    }
    
    #nextbutton {
	margin-right: 11%;
    }

    #playername {
        display: table-cell;
    }
    
    #playernamelink {
        display: none;
    }
    
    #autoname {
        display: table-cell;
    }
    
    #autonamelink {
        display: none;
    }
    
    #autosumm {
	display: none;
    }

    #playersumm {
	display: none;
    }
    
    .panelwidthcontroller {
	display: block;
	width: 100%;
	max-width: 29em;
	min-width: 19em;
	margin-left: auto;
	margin-right: auto;
	margin-top: 1.5em;
    }

    #playerholder {
	clear: both;
	float: none;
    }
    
    #autoholder {
	clear: both;
	float: none;
    }

/* Order of these two styles is important - in layout with both grids visible,
    linkcell is to override hiddenonsmalldisplay */
    .hiddenonsmalldisplay {
        display: block;
    }

    .linkcell {
        display: none;
    }

    #scorebox {
	clear: both;
        float: none;
	padding-top: 1.5em;
        margin-left: auto;
        margin-right: auto;
	width: 16em;
    }

    #scorebox p {
        font-size: 1.2em;
        margin: 8px;
    }

    #scoretable {
	font-size: 130%;
    }

    /*#guidediv {*/
    /*    display: none;*/
    /*}*/
}

/* Subset of the above case (two puzzles vertically) where the height makes it desirable to
squish things up a bit. */
@media only screen and (min-height: 48em)  and (max-height: 57em) and (max-width: 52em) {
    
    .panelwidthcontroller {
	margin-top: 0.3em;
    }

    #scorebox {
	padding-top: 0.3em;
    }

}

/* TWO PUZZLES SIDE BY SIDE */

/* E.g. small tablet or bigger in landscape orientation, or extra large tablet or bigger in portrait */
@media only screen and (min-width: 52em) {
    #sourcepanel {
	float: left;
	margin-left: 10%;
    }
  
    #autosumm {
	display: none;
    }

    #playersumm {
	display: none;
    }

    #playerholder {
	clear: both;
	float: left;
    }
    
    #autoholder {
	float: left;
    }
    
    #autopanel {
	clear: none;
    }

/* Order of these two styles is important - in layout with both grids visible,
    linkcell is to override hiddenonsmalldisplay */
    .hiddenonsmalldisplay {
        display: table-cell;
    }

    .linkcell {
        display: none;
    }

    #scorebox {
	clear: both;
        float: none;
	width: 8em;
	padding-top: 2em;
        margin-left: auto;
        margin-right: auto;
	width: 16em;
    }

    #scorebox p {
        font-size: 1.2em;
        margin: 8px;
    }
    
    #scoretable {
	font-size: 130%;
    }

    /*#guidediv {*/
    /*    display: block;*/
    /*}*/
}
