.hidden {
    display: none !important;
}

.xyz {
    display: none;
}

body {
    text-align: center;
    font-family: arial;
    color: #003399;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 20px 0px 0px 0px;
}

h3 {
    font-size: 24px;
    text-shadow: 2px 2px 2px #003399;
    color: #fff;
}

h4 {
    font-size: 22px;
}

#container {
    width: 400px;
    padding: 10px 0px;
    display: inline-block;
    margin: auto;
    border: 1px solid navy;
    border-radius: 10px;
}

#titlediv {
    margin: 6px;
    font-size: 27px;
    text-shadow: 2px 2px 2px #003399;
}

#titlediv a {
    font-weight: 600;
    color: #fff;
    text-decoration: none;
}

#logodiv {
    margin: 12px auto;
    display: inline-block;
    width: 400px;
}

.logo {
    width: 80px;
    transition-duration: 3s;
}

.modallogo {
    margin-left: 20px;
    transition-duration: 3s;
    cursor: pointer;
}

.rotate1 {
    transform: rotate(30deg);
}

.rotate2 {
    transform: rotate(60deg);
}

.rotate3 {
    transform: rotate(90deg);
}

.rotate4 {
    transform: rotate(120deg);
}

.rotate5 {
    transform: rotate(5deg);
}

.rotate1:hover {
    transform: rotate(360deg);
}

.rotate2:hover {
    transform: rotate(270deg);
}

.rotate3:hover {
    transform: rotate(290deg);
}

.rotate4:hover {
    transform: rotate(120deg);
}

.rotate5:hover {
    transform: rotate(180deg) scale(1.3);
}

#todaysdate {
    padding: 2px;
    font-weight: 600;
    font-size: 20px;
}

/* only show date on custom dates - not time */
#todaysdate.custom {
    width: 200px;
    height: 20px;
    overflow: hidden;
    margin-left: 100px;
}

#todayspuzzle {
    padding: 2px;
    font-weight: 500;
    font-size: 20px;
}

#welcomeMessage {
    font-size: 26px;
    color: orange;
    text-shadow: 1px 1px 1px purple;
    margin: 8px 0px 12px 0px;
    width: 400px;
}

#announcement{
	font-size: 16px;
    color: navy;
	padding:4px 20px;
}

#problem {
    font-size: 38px;
    color: darkblue;
    text-shadow: none;
    /* text-shadow: 1px 1px 1px violet; */
    width: 400px;
}

.showpuzzle {
    font-size: 22px;
}

#seemorediv {
    text-align: left;
}

#issue {
    font-size: 26px;
    color: gold;
    /*#ff3399;*/
    /*#00cc66;*/
    text-shadow: 1px 1px 1px purple;
    margin: 8px 0px 12px 0px;
    width: 400px;
}

#issue a {
    text-decoration: none;
}

#settings-msg {
    font-size: 26px;
    color: gold;
    /*#ff3399;*/
    /*#00cc66;*/
    text-shadow: 1px 1px 1px purple;
    margin: 8px 0px 12px 0px;
    width: 400px;
}

#selectDiv {
    margin: 5px auto;
    text-align: center;
    width: 400px;
}

.center {
    margin: auto;
    display: inline-block;
    text-align: center;
    width: 100%;
}

ul {
    padding: 10px 30px;
    margin: 0px;
}

#gamecontainer {
    text-align: center;
    margin: auto;
    width: 400px;
}

#gameTable {
    text-align: center;
    margin: auto;
    display: inline-block;
}

.square {
    border: 2px solid #000066;
    height: 46px;
    width: 50px;
    padding-top: 6px;
    text-align: center;
    vertical-align: middle;
    font-size: 32px;
    color: white;
    /* background-color: #2a3c9d;*/
    background-color: teal;
    cursor: pointer;
}

.square:hover {
    /*	 background-color: royalblue;  */
}

.square.bottom:hover {
    /*	 background-color: darkviolet;  */
}

.row {
    display: block;
}

.key {
    height: 40px;
    width: 31px;
    padding: 1px;
    ;
    text-align: center;
    vertical-align: middle;
    font-size: 20px;
    color: white;
    background-color: mediumseagreen;
    margin: 1px 1px 3px 1px;
    cursor: pointer;
    display: inline-block;
    transition: .3s ease-in-out;
}

.key:hover {
    background-color: lightgreen;
}

.key.enter {
    font-size: 18px;
    letter-spacing: -2px;
    width: 70px;
    background-color: #3399ff;
}

.key.enter:hover {
    background-color: #006699;
}

.key.backspace {
    background-color: #3399ff;
    padding-top: 0px;
}

.key.backspace:hover {
    background-color: slateblue;
}

.key.toggletype {
    background-color: #3399ff;
    padding-top: 0px;
}

.key.toggletype:hover {
    background-color: #ff6666;
}

.alphastyle {
    color: darkturquoise;
    font-weight: bold;
}

.qwertystyle {
    color: cornflowerblue;
    font-weight: bold;
}

.cuesOnstyle {
    color: darkturquoise;
    font-weight: bold;
}

.cuesOffstyle {
    color: cornflowerblue;
    font-weight: bold;
}

.timerOnstyle {
    color: darkturquoise;
    font-weight: bold;
}

.timerOffstyle {
    color: cornflowerblue;
    font-weight: bold;
}

button {
    width: 44px;
    height: 44px;
    font-size: 22px;
    padding: 0px;
    border-radius: 8px;
    margin: 0px 0px 2px 0px;
    border: 0;
    cursor: pointer;
    display: inline-block;
    background-color: cornflowerblue;
    color: #fff;
    transition: .3s ease-in-out;
    text-align: center;
    vertical-align: middle;
}

button.wide{
	width:auto;
	padding:5px 10px;
	margin:10px;
}

button.accept{
	background-color:forestgreen;
}
button.reject{
	background-color:red;
}

button:hover {
    background-color: slateblue;
}



.fa {
    margin: auto;
    vertical-align: middle;
}

#bottombuttons {
    margin-top: 10px;
}

#showStatsDiv {
    font-size: 20px;
}

button.bottombutton {
    background-color: green;
}

button.bottombutton:hover {
    background-color: teal;
}

#keyboardqwerty {
    margin: 0px auto 0px;
    text-align: center;
    width: 400px;
}

#keyboardalpha {
    margin: 0px auto 0px;
    text-align: center;
    width: 400px;
}

#buttonsDiv {
    padding: 0px;
    margin: 10px auto 20px;
    text-align: center;
    width: 400px;
}

#movesDiv {
    display: none;
}

#scoreDiv {
    display: none;
}

#scoreDiv {
    text-align: center;
    font-weight: bold;
    margin: 10px auto;
    color: #003399;
}

#scoreSingle {
    font-size: 40px;
    display: inline-block;
    margin-right: 20px;
    color: #ff6666;
    text-shadow: 2px 2px 1px #003399;
}

#scoreTotal {
    font-size: 40px;
    display: inline-block;
    color: #ffcc33;
    text-shadow: 2px 2px 1px #003399;
    vertical-align: middle;
}

#selectDiv,
#problemSelect {
    font-size: 18pt;
    text-align: center;
    width: 400px;
    text-shadow: 1px 1px 1px #ffcc33;
}

#explain {
    font-size: 18px;
    padding: 20px 30px;
    text-align: left;
    width: 500px;
    margin: 20px auto;
}

h1 {
    margin: 0 auto 10px;
}

p {
    margin: 0px;
    padding: 3px;
    display: block;
    overflow: hidden;
}

label {
    width: auto !important;
    display: inline-block !important;
    font-size: 20px;
    font-weight: 400;
}

input {
    width: 110px;
    display: inline-block !important;
    padding: 3px !important;
    text-align: center;
    font-size: 18px;
    margin: 10px 0px 0px 10px;
}

select {
    height: 24px;
}

#clearcookiemsg{
	display:inline-block;
	width:400px;
}

#clearcookiescheckbox{
	  width:auto !important;
		font-size:30px;
}

input[type="submit"] {
    line-height: 30px;
    width: auto !important;
    display: inline-block;
}

#startword {
    text-align: left;
    display: inline-block;
}

#endword {
    text-align: left;
    display: inline-block;
    margin-left: 20px;
}

#beginword {
    width: 100px;
    text-align: left;
    display: inline-block;
}

#middleword {
    width: 500px;
    text-align: center;
    display: inline-block;
}

#title {
    font-size: 18px;
    font-weight: bold;
}

.titleword {
    display: inline-block;
}

#instructHead {
    font-size: 20px;
    font-weight: bold;
}

#feedback {
    border-style: none;
    color: #0099cc;
    font-size: 22px;
    padding: 6px;
}

#setup {
    text-align: center;
    width: 80%;
}

div {
    text-align: center;
}

#changeButton {
    display: none;
}

#changeList {
    border: 1px solid #bbb;
    height: auto;
    font-size: 22px;
    display: inline-block;
    width: 100%;
    padding: 10px;
    margin: 20px auto;
}

#solutionList {
    border: 1px solid #bbb;
    height: auto;
    font-size: 22px;
    display: inline-block;
    width: 100%;
    padding: 10px;
}

#sharediv {
    margin: 20px;
}

#sharetextarea {
    width: 330px;
    height: 240px;
    font-size: 16px;
}


#nextpuzzlein{
    font-size: 22px;
    text-shadow: 1px 1px 1px #333399;
    color: #ff3333;
		margin-bottom:30px;
}

/* The Modal (background) */

.modal {
    display: none;
    /* Hidden by default */
    position: fixed;
    /* Stay in place */
    z-index: 1;
    /* Sit on top */
    padding: 0;
    left: 0px;
    top: 0px;
    width: 101%;
    /* Full width */
    height: 100%;
    /* Full height */
    overflow: auto;
    /* Enable scroll if needed */
    background-color: rgb(255, 255, 255);
    /* Fallback color */
    background-color: rgba(255, 255, 255, 0.8);
    /* Black w/ opacity */
    transition: .6s ease-in-out;
}


/* Modal Content/Box */

.modal-content,
.modal-stats,
.modal-hq {
    background-color: #fff;
    margin: 5px auto;
    padding: 10px;
    border: 1px solid navy;
    border-radius: 10px;
    width: 390px;
    text-align: center;
    transition: .6s ease-in-out;
}


/* The Close Button */

.close {
    color: #660066;
    float: right;
    font-size: 28px;
    font-weight: bold;
}

.close:hover,
.close:focus {
    color: #ff00cc;
    text-decoration: none;
    cursor: pointer;
}

#instructions {
    margin: 0px 0px 30px 00px;
    text-align: left;
}

#instructions li {
    text-align: left;
}

#instructionsdiv img {
    margin: auto;
    display: flex;
}

#instructionsdiv li {
    font-size: 18px;
    text-align: left;
}

#seemorebutton {
    font-size: 22px;
    margin: auto;
    display: inline-block;
    width: 100%;
    text-align: center;
}

#seelessbutton {
    font-size: 22px;
    margin: auto;
    display: inline-block;
    width: 100%;
    text-align: center;
}

#background {
    font-size: 18px;
    line-spacing: 22px;
}

#background li {
    margin: 8px 0px;
}

#settings {
    margin: 0px 0px 30px 70px;
    text-align: left;
}

#magicwordform {
    text-align: center;
    width: 100%;
}

#legend {
    margin: 0px 0px 30px 70px;
    text-align: left;
}

#hqdiv {
    text-align: left;
}

pre {
    font-size: 24px;
    font-weight: 600;
    display: inline-block;
}

 ::placeholder {
    color: #ddd;
}

.hqform, form  {
    line-height: 30px;
}


#hqtextarea{
	width:100%;
	height:200px;
}

#footer {
    margin-top: 20px;
}




/* for D3 Graph */

.axis path,
.axis line {
    fill: none;
    stroke: #000;
    shape-rendering: crispEdges;
}

.bar {
    fill: orange;
}

.bar:hover {
    fill: orangered;
}

.x.axis path {
    display: none;
}

.d3-tip {
    line-height: 1;
    font-weight: bold;
    padding: 12px;
    background: rgba(0, 0, 0, 0.8);
    color: #fff;
    border-radius: 2px;
}


/* Creates a small triangle extender for the tooltip */

.d3-tip:after {
    box-sizing: border-box;
    display: inline;
    font-size: 10px;
    width: 100%;
    line-height: 1;
    color: rgba(0, 0, 0, 0.8);
    content: "\25BC";
    position: absolute;
    text-align: center;
}


/* Style northward tooltips differently */

.d3-tip.n:after {
    margin: -1px 0 0 0;
    top: 100%;
    left: 0;
}