body {
 font-family: 'Lucida Grande';
 font-size:  20px;
}







svg.board {
  width: 560px;
  height: 700px;
  position: absolute;
  left: 0px;
  top:  0px;
}

svg.rotateCWbutton {
  width: 110px;
  height: 110px;
  position: absolute;
  left: 200px;
  top:  750px;
   -moz-transform: scale(-1, 1);
  -webkit-transform: scale(-1, 1);
  -o-transform: scale(-1, 1);
  -ms-transform: scale(-1, 1);
  transform: scale(-1, 1);
}

svg.rotateCCWbutton {
  width: 110px;
  height: 110px;
  position: absolute;
  left: 480px;
  top:  750px;
}

svg.targetStates {
  /*width: 550px;
  height: 950px;*/
  position: absolute;
  left: 720px;
  top:  130px;
 /* background: red;*/

}


svg.targetStates2class {
  width: 550px;
  height: 950px;
  position: absolute;
  left: 660px;
  top:  80px;
 /* background: red;*/

}

div.relative {
    position: absolute;
    left: 130px;
    top: 165px;
    font-size: 20px;   
}


:root {
  --speed: all 5s ease-in-out;
  --degree: 90deg;
  --boardpositionx: 70px;
  --boardpositionxOverlay : 120px;
  --boardpositiony: 150px;
  --boardpositionyFloat: 135px;
  --allowClickArrow: none;
}



#board {
    position:absolute; 
    height: 600px; 
    width: 600px; 
    margin: 30px;
    left: var(--boardpositionx);
    top:  var(--boardpositiony);
    background: transparent;
   -webkit-transition: var(--speed);
    -moz-transition: var(--speed);
    -o-transition: var(--speed);
 
}

#board.rotatedCW {
    -webkit-transform : rotate(var(--degree)); 
    -moz-transform : rotate(var(--degree)); 
    -ms-transform : rotate(var(--degree)); 
    -o-transform : rotate(var(--degree)); 
    transform : rotate(var(--degree)); 
}

div.modeDropdown {
    position: absolute;
    left: 150px;
    top: 20px;
    font-size: 20px;
    font-family: 'Lucida Grande'
  /*font-family: 'Times New Roman';*/
}

svg.undoButton {
  width: 145px;
  height: 80px;
  position: absolute;
  left: 110px;
  top:  70px;
}

svg.resetButton {
  
  width: 210px;
  height: 90px;
  position: absolute;
  left: 550px;
  top: 95px;  
}

form.enterTargetState {
  position: absolute;
  left: 750px;
  top: 1240px;

}


div.boardStateCode {
    position: absolute;
    font-family: 'Helvetica';
    left:120px;
    top: 1450px;
    font-size: 20px;
    width: 1000px;
    word-wrap:break-word;
}




.floatContainer {
	width: 100%;
	height: 100%;
  position: absolute;
	left: var(--boardpositionxOverlay);
	top: var(--boardpositionyFloat);
  pointer-events: none;
}


.floatContainer2 {
	width: 100%;
	height: 1000px;
  position: absolute;
	left: var(--boardpositionxOverlay);
	top: 200;
  pointer-events: none;
}

@keyframes float {
	0% {
		transform: translatey(0px);
	}
	50% {
		transform: translatey(-10px);
	}
	100% {
		transform: translatey(0px);
	}
}


.float {
	width: 550px;
	height: 1000px;
	box-sizing: border-box
	transform: translatey(0px);
	animation: float 1.25s ease-in-out infinite;
}



svg.boardoverlay {
  width: 550px;
  height: 700px;
  position: absolute;
  left: var(--boardpositionxOverlay);
  top:  var(--boardpositiony);
  pointer-events: none;
}


svg.arrowOver {
  width: 700px;
  height: 900px;
  position: absolute;
  left: var(--boardpositionxOverlay);
  top:  var(--boardpositiony);
  /*background: red;*/
  pointer-events: var(--allowClickArrow);


}


svg.backingPanel {
  
  width:1000px;
  height: 930px;
  position: absolute;
  left: 100px;
  top:  80px;
  opacity: 1;
 /* background: red; */
  
}

svg.analyticsPanelSVG {
  
  width:1000px;
  height: 600px;
  position: absolute;
  left: 100px;
  top:  1010px;
  
}

svg.changeableAnalytics {
  width:900px;
  height: 300px;
  position: absolute;
  left: 105px;
  top:  1150px;
  /*opacity: .51;
  background: red;*/
}





div.optionsBox {
    position: absolute;
    font-family: 'Helvetica';
    left:750px;
    top: 1040px;
    font-size:20px;
    width: 300px;
    word-wrap:break-word;
}



/* The container */
.container2 {
    display: block;
    position: relative;
    padding-left: 35px;
    margin-bottom: 12px;
    cursor: pointer;
    font-size: 20px;
    font-family: "Lucida Grande";
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

/* Hide the browser's default checkbox */
.container2 input {
    position: relative;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}

/* Create a custom checkbox */
.checkmark {
    position: absolute;
    top: 0;
    left: 0;
    height: 25px;
    width: 25px;
    background-color: white;
    border: 1px solid black;
  /* #eee;*/
}

/* On mouse-over, add a grey background color */
.container2:hover input ~ .checkmark {
    background-color: #ccc;
}

/* When the checkbox is checked, add a blue background */
.container2 input:checked ~ .checkmark {
    background-color: #2196F3;
}

/* Create the checkmark/indicator (hidden when not checked) */
.checkmark:after {
    content: "";
    position: absolute;
    display: none;
}

/* Show the checkmark when checked */
.container2 input:checked ~ .checkmark:after {
    display: block;
}

/* Style the checkmark/indicator */
.container2 .checkmark:after {
    left: 9px;
    top: 5px;
    width: 5px;
    height: 10px;
    border: solid white;
    border-width: 0 3px 3px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

l

svg.resetPanelSVG {
  
  width:540px;
  height: 320px;
  position: absolute;
  left:760px;
  top:  650px;
}


div.manualBoardEntry {
    position: absolute;
    font-family: 'Lucida Grande';
    left: 730px;
    top: 1160px;
    font-size:20px;
    width: 300px;
    font-size: 20px;
    word-wrap:break-word;
    text-align: center;
    line-height: 1.2em;
}

.inputWide {
    line-height: 2em;
    width: 200px; 
}


div.enterMaxGraphSizeClass {
    position: absolute;
    font-family: 'Lucida Grande';
    left: 750px;
    top: 1260px;
    font-size:20px;
    width: 300px;
    font-size: 20px;
    word-wrap:break-word;
  line-height: 1.2em;
}

.inputMedium {
    line-height: 2em;
    width: 250px; 
    font-size: 20px;
    text-align: center;
}


svg.nudgePanelSVG {
  width:660px;
  height: 160px;
  position: absolute;
  left:80px;
  top:  875px;
}

.puzzleDropdown {
    position: absolute;
    font-family: 'Lucida Grande';
    left:437px;
    top: 18px;
    width: 300px;
    word-wrap:break-word;
  font-size: 20px;
}


svg.compThinking {
  width: 550px;
  height: 500px;
  position: absolute;
  left: 280px;
  top:  200px;
  pointer-events: none;
}


select.nextPieceSelect {
  position: absolute;
  left: 310px;
  top: 115px;  
  font-size: 15px;
}

select.modeSelectClass
{
  position: absolute;
  left: 0px;
  top: 25px;  
  font-size: 15px;
}

select.puzzleSelectClass
{
  position: absolute;
  left: 0px;
  top: 25px;  
  font-size: 15px;
}



svg.grayout {
   width: 910px;
  height: 920px;
  position: absolute;
  left: 111px;
  top:  87px; 
  pointer-events: none;
  background: black;
  opacity: .1;
}


table {

    width: 550px;
    position: absolute;
    left: 200px;
    top:  750px; 
    pointer-events: none;
    font-size: 20px;
    color: black;
    vertical-align: top;
  border-collapse:separate; 
border-spacing:.5em;
}

td.center {
   text-align: center;
  
}



svg.graphPanelGrayout {
  width: 908px;
  height: 920px;
  position: absolute;
  left: 111px;
  top:  87px; 
  background: black;
  opacity: .8;
}


svg.graphPanel {
  width: 910px;
  height: 920px;
  position: absolute;
  left: 111px;
  top:  87px; 

}


svg.pathDisplayClass {
  position: absolute;
  background: transparent;
  pointer-events: none;
  opacity: .8;
  width: 915px;
  height: 500px;
  left: 110px;
  top: 85px;
}

form.enterMatGraphSizeClass2 {
  position: absolute;
  left: 0px;
  top: 86px;
  
}



svg.movesPlayed {
  position: absolute;
  left: 677px;
  height: 250px;
  top: 85px;
  /*opacity: .5;
  background: red;*/
  pointer-events: none;    
  
}

svg.winnerClass {
  position: absolute;
  left: 150px;
  height: 200px;
  width: 500px;
  top: 400px;
  opacity: 1;
  background: transparent;
  pointer-events: none;    
  
}

.subDropdown {
    position: absolute;
    font-family: 'Lucida Grande';
    left:740px;
    top: 18px;
    width: 300px;
    word-wrap:break-word;
  font-size: 20px;
}



.loader {
  border: 30px solid #f3f3f3;
  border-radius: 50%;
  border-top: 30px solid #3498db;
  width: 120px;
  height: 120px;
  -webkit-animation: spin 2s linear infinite; /* Safari */
  animation: spin 2s linear infinite;
  /* background:  lightgray; */
  opacity: .9;
  position: absolute;
  left: 315px;
  top: 325px;
  
}

/* Safari */
@-webkit-keyframes spin {
  0% { -webkit-transform: rotate(0deg); }
  100% { -webkit-transform: rotate(360deg); }
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

svg.firstalertbox {
  width: 950px;
  height: 1400px;
  position: absolute;
  left: 90px;
  top: 80px;
  opacity: 1;
  background: transparent;
  
}


.zoomContainer{
    zoom: .75;
    -moz-transform: scale(.75);
    top: 340px;
    position: absolute;
    left: 12%;
}
