	* { 
	  -webkit-box-sizing: border-box; 
	  -moz-box-sizing:    border-box; 
	  box-sizing:         border-box; 
	  margin: 0;
	  padding: 0;
	}
	
	.cannotSelect {
	  -webkit-user-select: none;  
	  -moz-user-select: none;    
	  -ms-user-select: none;      
	  user-select: none;
	}

	.puzzleEnclosure {
		position:absolute;
		width:100%;
  	  	top:50%;
		left:50%; 
		transform:translate(-50%,-50%);
		display: inline-block;		
	}

	.puzzleUI {
	  list-style: none;
	  text-align: center;
	}

	.puzzleUI li {
		position:relative;
		display: inline-block;
  	  list-style: none;
  	  text-align: center;
	}

	.puzzleUI .BigCircle {
	  display: block;
	  text-decoration: none;
	  background-color: #f7f7f7;
	  color: #a7a7a7;
	  margin: 2vmin;
	  width: 15vmin;
	  height: 15vmin;
	  position: relative;
	  text-align: center;
	  line-height: 100%;
	  border-radius: 50%;
	  border: solid 1px transparent;
	}

	.puzzleUI .BigSpace {
	  display: block;
	  text-decoration: none;
	  margin: 2vmin;
	  width: 15vmin;
	  height: 15vmin;
	  position: relative;
	  text-align: center;
	  line-height: 100%;
	  border-radius: 50%;
	}

	.puzzleUI .BigButton {
		/*transition: all 0.2s ease;*/
		cursor:pointer;
		background-image: linear-gradient(top, #f7f7f7, #e7e7e7); 
		box-shadow: 0px 3px 8px #aaa, inset 0px 2px 3px #fff;		
	}
	
	.puzzleUI .BigLamp {
		background-color: #404040;
		background-image: linear-gradient(top, #808080, #404040);
		/*transition: all 0.2s ease;*/
		border: solid 1px transparent;				
		box-shadow: 0px 1px 5px rgba(100,100,100,0.9);
		/* inset -20px -20px 50px rgba(120,120,120,0.5) */
	}
	
	.puzzleUI .BigInvisibleLamp {
		background-color: #40404000;
		/*transition: all 0.2s ease;*/
		/* inset -20px -20px 50px rgba(120,120,120,0.5) */
	}
	
	.puzzleUI .ButtonDown {
		box-shadow: 0px 0px 0px rgba(255,255,255,0), inset 0px 0px 0px rgba(255,255,255,0);
	  	/*box-shadow: 0px 3px 4px #f00 inset, 0px 2px 3px #f55;*/
	}
	
	/*.puzzleUI .LampOn {
		box-shadow: 0px 0px 50px rgba(255,255,0,0.5), inset -20px -20px 5px rgba(200,200,200,0.1);
	}*/
	
	.puzzleUI .goRed {
	  	background: #ff0000;
	}
	.puzzleUI .goYellow {
	  	background: #ffff20;
	}
	.puzzleUI .goGreen {
	  	background: #00ff00;
	}
	.puzzleUI .goBlue {
	  	background: #0000ff;
	}
	
	.puzzleUI .goRed.LampOn{
	  	box-shadow: 0px 0px 50px rgba(255,0,0,0.5), inset -20px -20px 5px rgba(200,200,200,0.1);
	}
	.puzzleUI .goYellow.LampOn{
	  	box-shadow: 0px 0px 50px rgba(255,255,0,0.5), inset -20px -20px 5px rgba(200,200,200,0.1);
	}
	.puzzleUI .goBlue.LampOn{
	  	box-shadow: 0px 0px 50px rgba(0,0,255,0.5), inset -20px -20px 5px rgba(200,200,200,0.1);
	}
	.puzzleUI .goGreen.LampOn{
	  	box-shadow: 0px 0px 50px rgba(0,255,0,0.5), inset -20px -20px 5px rgba(200,200,200,0.1);
	}
	
	.puzzleUI button:disabled {
		cursor: not-allowed;
		pointer-events: all !important; /* see https://github.com/twbs/bootstrap/issues/16088 */
	  	background: #7f7f7f;
		box-shadow: 0px 0px 0px rgba(255,255,255,0), inset 0px 0px 0px rgba(255,255,255,0);
	}
	
	@media only screen and (orientation: portrait) {
		.puzzleEnclosure {
			transform:translate(-50%,-70%);
		}
	}
	
	@media only screen and (orientation: landscape) {
	/*	.puzzleEnclosure {
			transform:translate(-60%,-50%);
		}
	*/
	}
	
	
	/*@media only screen and (max-width: 900px) {
	/*	.puzzleUI {
	/*		transform: scale(1.0, 1.0);
	/*	}
	/*}
    /*
	/*@media only screen and (min-width: 901px) and (max-width: 1200px) {
	/*	.puzzleUI {
	/*		transform: scale(1.5, 1.5);
	/*	}
	/*}
    /*
	/*@media only screen and (min-width: 1201px) and (max-width: 1800px) {
	/*	.puzzleUI {
	/*		transform: scale(2.0, 2.0);
	/*	}
	/*}
    /*
	/*@media only screen and (min-width: 1801px) {
	/*	.puzzleUI {
	/*		transform: scale(2.5, 2.5);	
	/*	}
	/*}
	*/
