    body {
      background-color:#269;
      background-image: linear-gradient(white 2px, transparent 2px),
      linear-gradient(90deg, white 2px, transparent 2px),
      linear-gradient(rgba(255,255,255,.3) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,.3) 1px, transparent 1px);
      background-size:100px 100px, 100px 100px, 20px 20px, 20px 20px;
      background-position:-2px -2px, -2px -2px, -1px -1px, -1px -1px;
    }
	
  .lock-screen {
    height: 100%;
    overflow: hidden;
    width: 100%;
    position: fixed;
  }

  #typex {
    position:absolute;
    margin: 50px 0px;
  	height: 3400px;
  	width: 4250px;
    overflow-x: hidden;
    border-left: 10px dashed #777;
    border-right: 10px dashed #777;
    transform: scale(0.5);
    transform-origin: 0 0;
  }

  #typex_base {
    background-image:url("../images/typex_base.png");
    width: 3697px;
    height: 2512px;
    position:absolute;
    left: 250px;
    top: 0px;
  }

  #actuator_connector {
    background-image:url("../images/actuator_connector.png");
    width: 201px;
    height: 122px;
    position:absolute;
    left: 888px;
    top: -71px;
  }

  #printershiftlevers {
    width: 1143px;
    height: 797px;
    position:absolute;
    left: 1510px;
    top: 470px;
    transform: scale(1.1);
  }

  #actuator {
    background-image:url("../images/actuator.png");
    width: 1143px;
    height: 797px;
    position:absolute;
    left: 1510px;
    top: 470px;
    transform: scale(1.1);
  }

  #actuator_camspin1 {
    background-image:url("../images/actuator_camspin1.png");
    width: 55px;
    height: 103px;
    position:absolute;
    left: 755px;
    top: 452px;
  }
  
  #actuator_gearspin1 {
    background-image:url("../images/actuator_gearspin1.png");
    width: 55px;
    height: 140px;
    position:absolute;
    left: 702px;
    top: 433px;
  }

  #dog_clutch {
    background-image:url("../images/dog_clutch.png");
    width: 35px;
    height: 80px;
    position:absolute;
    left: 324px;
    top: 460px;
  }

  #cam_animation {
    background-image:url("../images/cam_animation.png");
    width: 367px;
    height: 255px;
    position:absolute;
    left: 324px;
    top: 373px;
  }

  .runcamanim {
    animation: camanimate 0.2s;
  }

  @keyframes camanimate {
    0%,16.999% { background-position: 0 0; }
    17%,32.999% { background-position: 0 -255px; }
    33%,49.999% { background-position: 0 -510px; }
    50%,66.999% { background-position: 0 -765px; }
    67%,82.999% { background-position: 0 -1020px; }
    83%,99.9% {background-position: 0 -1275px; }
    100% { background-position: 0 -1275px; }
  }

  #rotorarm {
    background-image:url("../images/rotor_arm.png");
    width: 93px;
    height: 401px;
    position:absolute;
    left: 609px;
    top: 438px;
    transition: all 0.2s ease-in-out;
  }

  .rarm_on {
    transform: scale(1.05);
  }

  #linkbar {
    background-image:url("../images/link_bar.png");
    width: 124px;
    height: 1100px;
    position:absolute;
    left: 1034px;
    top: 278px; 
  }

  .linkbar_on {
    background-position: -124px 0;
  }

  #knurlknob_r {
    background-image:url("../images/knurl_knob_r.png");
    width: 88px;
    height: 54px;
    position:absolute;
    left: 1033px;
    top: 475px; 
  }

  .solenoid_top {
    background-image:url("../images/solenoid_top.png");
    width: 104px;
    height: 104px;
  }

  #solenoid_act {
    position:absolute;
    left: 337px;
    top: 273px;
  }

  #solenoid_left_ltr {
    position:absolute;
    left: 186px;
    top: 273px;
  }

  #solenoid_left_fig {
    position:absolute;
    left: 186px;
    top: 641px;
  }

  #solenoid_right_ltr {
    position:absolute;
    left: 877px;
    top: 273px;
  }

  #solenoid_right_fig {
    position:absolute;
    left: 877px;
    top: 641px;
  }

  .soltop_on {
    background-position: -104px 0;
  }

  #solenoid_lever {
    background-image:url("../images/solenoid_lever.png");
    width: 79px;
    height: 493px;
    position:absolute;
    left: 330px;
    top: 103px;
  }

  .sollev_on {
    background-position: -79px 0;
  }

  #ltrfigact_left {
    background-image:url("../images/ltr_fig_actuator_l.png");
    width: 37px;
    height: 407px;
    position:absolute;
    left: 198px;
    top: 295px;
  }

  #ltrfigact_right {
    background-image:url("../images/ltr_fig_actuator_r.png");
    width: 37px;
    height: 407px;
    position:absolute;
    left: 909px;
    top: 295px;
  }

  .ltrfigact_fig {
    background-position: -37px 0;
  }

  .ltrfigact_ltr {
    background-position: -74px 0;
  }

  #ltrfigcam_left {
    background-image:url("../images/ltr_fig_cam_l.png");
    width: 200px;
    height: 225px;
    position:absolute;
    left: 120px;
    top: 376px;
  }

  #ltrfigcam_right {
    background-image:url("../images/ltr_fig_cam_r.png");
    width: 200px;
    height: 225px;
    position:absolute;
    left: 841px;
    top: 376px;
  }

  .ltrfigcam_ltr {
    background-position: -200px 0 !IMPORTANT;
  }

  #printer_space_lever {
    background-image:url("../images/printer_space_lever.png");
    width: 187px;
    height: 328px;
    position:absolute;
    left: 515px;
    top: 116px;
  }

  .prsplev_on {
    background-position: -187px 0;
  }

  #printer_connector_r {
    background-image:url("../images/printer_connector_r.png");
    width: 700px;
    height: 310px;
    position:absolute;
    left: 1062px;
    top: -178px;
  }

  #printer_connector_l {
    background-image:url("../images/printer_connector_l.png");
    width: 718px;
    height: 210px;
    position:absolute;
    left: -1045px;
    top: -72px;
  }

  #printer_connector_right_sp {
    background-image:url("../images/printer_connector_right.png");
    width: 77px;
    height: 142px;
    position:absolute;
    left: 1073px;
    top: 149px;
  }

  #printer_connector_right_sp_2 {
    background-image:url("../images/printer_connector_right.png");
    width: 77px;
    height: 142px;
    position:absolute;
    left: 2130px;
    top: 149px;
  }

  #printer_connector_right_sh {
    background-image:url("../images/printer_connector_right.png");
    width: 77px;
    height: 149px;
    position:absolute;
    left: 1072px;
    top: 481px;
  }

  #printer_connector_right_sh_2 {
    background-image:url("../images/printer_connector_right.png");
    width: 77px;
    height: 149px;
    position:absolute;
    left: 2160px;
    top: 481px;
  }

  #printer_connector_left_sp {
    background-image:url("../images/printer_connector_left.png");
    width: 77px;
    height: 142px;
    position:absolute;
    left: -6px;
    top: 149px;
  }

  #printer_connector_left_sp_2 {
    background-image:url("../images/printer_connector_left.png");
    width: 77px;
    height: 142px;
    position:absolute;
    left: -1074px;
    top: 149px;
  }

  #printer_connector_left_sh {
    background-image:url("../images/printer_connector_left.png");
    width: 77px;
    height: 149px;
    position:absolute;
    left: -6px;
    top: 481px;
  }

  #printer_connector_left_sh_2 {
    background-image:url("../images/printer_connector_left.png");
    width: 77px;
    height: 149px;
    position:absolute;
    left: -1104px;
    top: 481px;
  }

  .prcon_on {
    background-position: -77px 0;
  }

  #printer_feed_r {
    background-image:url("../images/printer_feed.png");
    width: 81px;
    height: 74px;
    position:absolute;
    left: 2190px;
    top: 305px;
    cursor: pointer;
  }

  #printer_feed_l {
    background-image:url("../images/printer_feed.png");
    width: 81px;
    height: 74px;
    position:absolute;
    left: -1114px;
    top: 305px;
    cursor: pointer;
  }

  .feedtoggle {
    background-position: -81px 0;
  }

  #motor {
    background-image:url("../images/motor.png");
    width: 778px;
    height: 425px;
    position:absolute;
    left: 1614px;
    top: 16px;
    transform: scale(1.1);
  }

  #motor_spin1 {
    background-image:url("../images/motor_spin1.png");
    width: 138px;
    height: 93px;
    position:absolute;
    left: 552px;
    top: 332px;
  }

  #motor_spin2 {
    background-image:url("../images/motor_spin2.png");
    width: 48px;
    height: 318px;
    position:absolute;
    left: 729px;
    top: 34px;
  }

  #motor_spin3 {
    background-image:url("../images/motor_spin3.png");
    width: 78px;
    height: 59px;
    position:absolute;
    left: 579px;
    top: 777px;
  }

  #typex_keyboard {
    background-image:url("../images/key_base.png");
    width: 1296px;
    height: 518px;
    position:absolute;
    left: 1446px;
    top: 1942px;
  }

  #typex_keyboard_cover {
    background-image:url("../images/key_cover.png");
    width: 1429px;
    height: 200px;
    position:absolute;
    left: -60px;
    top: -20px;
    z-index: 3;
  }

  #keyb_plug {
    background-image:url("../images/keyb_plug.png");
    width: 394px;
    height: 734px;
    position:absolute;
    left: 1294px;
    top: -181px;
    z-index: 2;
    pointer-events:none;
  }

  #entry_plug_cable {
    background-image:url("../images/entry_plug_cable.png");
    width: 1159px;
    height: 383px;
    position:absolute;
    left: 1288px;
    top: -312px;
    z-index: 1;
    pointer-events:none;
  }

  #typex_rotorcage {
    position:absolute;
    left: 1465px;
    top: 1260px;
    width: 1189px;
    height: 677px;
  }

  #typex_printer_left {
    position:absolute;
    left: 280px;
    top: 240px;
    transform:scale(1.1);
    z-index:2;
  }

  #typex_printer_right {
    position:absolute;
    left: 2660px;
    top: 240px;
    transform:scale(1.1);
    z-index:2;
  }

  .printercover {
    background-image:url("../images/printer_cover.png");
    width: 1174px;
    height: 1172px;
    position: absolute;
    z-index:2;
    pointer-events:none;
  }

  .printerring {
  	background-image:url("../images/printer_ring.png");
    width: 498px;
    height: 501px;
    position: absolute;
    left: 305px;
    top: 305px;
    pointer-events:none;
  }

  .printer_sh_mech {
    background-image:url("../images/printer_sh_mech.png");
    width: 470px;
    height: 432px;
    position: absolute;
    left: 324px;
    top: 661px;
  }

  .printerribbon {
    background-image:url("../images/printer_ribbon.png");
    width: 467px;
    height: 58px;
    position: absolute;
    left: 305px;
    top: 519px;
  }

  .ribbon_shift {
    top: 529px !IMPORTANT;
  }

  .printermechanism {
	background-image:url("../images/printer_mechanism.png");
    width: 471px;
    height: 368px;
    position: absolute;
    left: 327px;
    top: 344px;
  }

  .printheadcontainer {
	position:absolute;
	top: 225px;
    left: 225px;
	width: 247px;
    height: 38px;
    transform-origin: 19px 19px;
  }

  .printmount {
	background-image:url("../images/printer_mount.png");
	width: 31px;
	height: 31px;
	position:absolute;
	right:-11px;
	top:7px;
  }

  .printhead {
  	background-image:url("../images/print_head.png");
	width: 247px;
	height: 38px;
	position:absolute;
	background-position: 0 38px;
  }

  .printing {
  	background-position: 0 0;
  }

  .tape {
  	position: absolute;
	  left: 549px;
    top: 309px;
    width:340px;
    height:65px;
    transform:rotate(90deg);
    transform-origin: left;
  	background-color:white;
    cursor: url(../images/scissors.png), auto;
  }

  .tapetext {
  	font: 30px 'Roboto Mono', monospace;
  	white-space: pre;
  	line-height: 65px;
  	transform:rotate(180deg);
  }
  
  #rotorbase {
    background-image:url("../images/rotor_base.png");
    width: 1189px;
    height: 677px;
    position:absolute;
    left: 66px;
    top: 22px;
    cursor: pointer;
  }

  #rotorbase_plate {
    background-image:url("../images/rotor_base_plate.png");
    width: 1148px;
    height: 332px;
    position:absolute;
    left: 77px;
    top: 210px;
  }

  #rotorbase_plate.released {
    top:230px !IMPORTANT;
    background-position:0 -332px;
  }

  #rotorbase_levers {
    background-image:url("../images/rotor_base_levers.png");
    width: 819px;
    height: 572px;
    position:absolute;
    left: 321px;
    top: 72px;
    transform-origin: bottom;
    transition: all 0.2s ease-in-out;
  }
    
  .leverspush {
      transform: rotateX(10deg);    
  }

	#rotorcover {
		background-image:url("../images/new_rotor_cover.png");
		width: 1140px;
		height: 628px;
		position:absolute;
		left: 66px;
		top: 22px;
		transform-style: preserve-3d;
		transform: rotateX(0deg);
		transform-origin: top;
		transition: all 1s ease-in-out;
    cursor:pointer;
    //z-index:1;
    //-webkit-transform:translate3d(0,0,0);
	}

  .no-pointer-events {
    pointer-events:none;
  }

	.rotorcover_open {
		transform: rotateX(100deg) !IMPORTANT;
	}

  #rotorcoveraction {
    height:52px;
    width:49px;
    background-repeat:no-repeat;
    background-image:url("../images/open_icon.png");
    background-color: transparent;
    position:absolute;
    bottom: 50px;
    left: 100px;
    cursor:pointer;
    z-index:3;
  }

  #rotor_box {
    height: 677px;
    width: 1500px;
    position: absolute;
    top: 2550px;
    left: 1530px;
    background-image:url("../images/rotor_box.png");
    padding: 40px;
  }

  #rotor_box_change {
    position:absolute;
    top: 3220px;
    left: 1380px;
  }

  #rotor_box_change button {
    width:300px;
    height:100px;
    font-size:30px;
    border: 3px solid white !IMPORTANT;
  }

  #workbench {
    height: 671px;
    width: 758px;
    position: absolute;
    top: 2550px;
    left: 700px;
    background-image:url("../images/workbench.png");
  }

  #entrydisc {
    background-image:url("../images/entry_disc.png");
    width: 152px;
    height: 581px;
    position:absolute;
    left: 1091px;
    top: 167px;
  }

  #exitdisc {
    background-image:url("../images/exit_disc1.png");
    width: 162px;
    height: 339px;
    position:absolute;
    left: 234px;
    top: 167px;
    transition: transform 0.1s ease-in-out;
  }

  #exitdisclever {
    background-image:url("../images/exit_disc2.png");
    width: 219px;
    height: 339px;
    position:absolute;
    left: 157px;
    top: 167px;
    cursor: pointer;
  }

  .unlock #exitdisc {
	transform: translate(-30px);
  }
  .unlock #exitdisclever {
	transform: translate(-20px);
	background-position: -219px 0;
  }

  #entrydiscs {
    position:relative;
  }
  #entrydiscs.released {
    top:20px;
  }

  #release_lever {
    background-image:url("../images/release_lever.png");
    width: 121px;
    height: 304px;
    position:absolute;
    left: 1307px;
    top: 2000px;
    cursor: pointer;
  }

  #release_lever.released {
     background-position: -121px 0;
  }


  #rotorbracket {
    background-image:url("../images/rotor_bracket.png");
    width: 859px;
    height: 135px;
    position:absolute;
    left: 339px;
    top: 32px;
  }

    #allRotors {
      position:absolute;
      top: 134px;
      left:365px;
      height: 420px;
      width: 735px;
      transition: transform 0.2s ease-in-out;
      //z-index: 0;
      //-webkit-transform:translate3d(0,0,0);
    }

    #allRotors.released {
      top: 154px !IMPORTANT;
    }

    .dragrotor {
    	transition: transform 0.5s ease-in-out;
      cursor:grab;
    }

    .ui-draggable-dragging {
      cursor: grabbing;
    }

    .rotorslot {
      position: absolute;
      border:4px solid transparent;
      width:147px;
      height:420px;
    }
    .rotorslottarget {
      border:4px solid white;
    }

    .boxslot {
      position: absolute;
      border:4px solid transparent;
      width:147px;
      height:550px;
    }
    .boxslottarget {
      border:4px solid white;
    }

    #noremove {
		font-size: 37px;
	    background-color: white;
	    width: 250px;
	    position: absolute;
	    top: 190px;
	    left: 130px;
	    padding: 20px;
	    text-align: center;
	    border: 8px solid #333;
	    border-radius: 20px;
	    display: none;
    }

    #invalid_insert {
      background-image:url("../images/invalid_insert.png");
      width:220px;
      height:220px;
      position:absolute;
      left: 130px;
      top: 190px;
      display: none;
    }

    .workslot {
      position: absolute;
      border:4px solid transparent;
      width:147px;
      height:550px;
    }
    .workslottarget {
      border:4px solid white;
    }

    .slotsel {
      border: 4px dashed white !IMPORTANT;
    }

    .allRotorOut {
    	z-index:5;
    	transform: scale(1.2);
    }

    /* Generic Rotor */
    .rotor {
    	-webkit-transform-style: preserve-3d;
           -moz-transform-style: preserve-3d;
             -o-transform-style: preserve-3d;
                transform-style: preserve-3d;
		transform: rotateX(0deg);
    	transform-origin: center 25px;
    	transition: all 0.2s ease-in-out;
      position: absolute;
      top: 180px;
      left: -20px;
    }

    .container {
      width: 50px;
      height: 20px;
      position: absolute;
      margin: 0 auto 40px;
      -webkit-transform-style: preserve-3d;
           -moz-transform-style: preserve-3d;
             -o-transform-style: preserve-3d;
                transform-style: preserve-3d;
    }

    .wheel {
		width: 100%;
		height: 100%;
		position: absolute;
		//cursor: pointer;
    transition: all 0.2s ease-in-out;
    	-webkit-transform-style: preserve-3d;
           -moz-transform-style: preserve-3d;
             -o-transform-style: preserve-3d;
                transform-style: preserve-3d;
		-webkit-user-select: none;
		 -khtml-user-select: none;
		   -moz-user-select: none;
		    -ms-user-select: none;
		        user-select: none;
    }

    .panels-backface-invisible figure {
      -webkit-backface-visibility: hidden;
         -moz-backface-visibility: hidden;
           -o-backface-visibility: hidden;
              backface-visibility: hidden;
    }

    .wheel figure {
		display: block;
		position: absolute;
		width: 50px;
		height: 100%;
		line-height: 18px;
		font-weight: bold;
		background-color:black;
		line-height: 47px;
		text-align: center;
		background-repeat:no-repeat;
		//background-image:url("../images/switch.png");

		border-left: 1px solid black;
		background-color: #c4c4c4;
    outline: none;
    }

    .textstamp {
    	color: #555;
    	font-size: 34px;
    	text-shadow: 2px 2px 3px rgba(255,255,255,0.5);
    }

    .textstamp_old {
      color: rgba(255,255,255,0.5);
      background-color: #000000;
      color: transparent;
      font-size: 34px;
      text-shadow: 2px 2px 3px rgba(255,255,255,0.5);
      -webkit-background-clip: text;
       -moz-background-clip: text;
            background-clip: text;
    }

    .notched {
    	background-position: -16px 0px;
    }
    .grub {
    	background-position:-20px 0;
    }
    .plate {
    	background-position:-40px 0;	
    }
    .plate2 {
    	background-position:-60px 0;	
    }
    .spring4 {
      background-position:-80px 0;
    }
    .spring3 {
      background-position:-100px 0; 
    }
    .spring2 {
      background-position:-120px 0; 
    }
    .spring1 {
      background-position:-140px 0; 
    }
    .pin {
      background-position:-160px 0;  
    }

    /* Rotor parts */
  
    .shadows {
      position: absolute;
      left:-19px;
      top:0px;
    }
    
    .labels {
      background-color: white;
      position: absolute;
      top: 420px;
      left: 0px;
      padding: 5px;
      border: 2px solid black;
      text-align: center;
      //opacity:0;
      box-shadow: 4px 4px 5px black;
    }

    .wheelAcontainer {
      top: 0px;
      left: 0px;
      height: 48px;
    }
    .wheelA figure {
      background-image:url("../images/notch_ring2.png");
      width:16px;
    }
    .rotor[data-type="TEST"] .wheelAcontainer figure {
      background-image:url("../images/notch_ring.png") !IMPORTANT;
    }
    .wheelAshad {
    	background-image:url("../images/cipherwheel_shadow.png");
    	width:16px;
    	height:401px;
    	position:absolute;
    	left: 15px;
    	top: 4px;
      pointer-events: none;
    }

    .wheelBcontainer {
      top: 0px;
      left: 16px;
      height: 48px;
      background-color: #eee;
    }
    .wheelB figure {
      background-image:url("../images/cipherwheel.png");
    }
    .rotor[data-type="TEST"] .wheelBcontainer figure {
      background-image:url("../images/cipherwheel2.png") !IMPORTANT;
    }
    .wheelBshad {
    	background-image:url("../images/cipherwheel_shadow.png");
    	width:50px;
    	height:401px;
    	position:absolute;
    	left: 31px;
    	top: 4px;
      pointer-events: none;
    }
    .rotorwhite figure {
      background-image:url("../images/cipherwheel_white.png") !IMPORTANT;
    }
    .lessshading {
      opacity:0.5;
    }

    .wheelCcontainer {
      top: 0px;
      left: 66px;
      height: 48px;
    }
    .wheelC figure {
      background-image:url("../images/spacerwheel.png");
      width:20px;
    }
    .wheelCshad {
    	background-image:url("../images/cipherwheel_shadow.png");
		width: 20px;
	    height: 309px;
	    position: absolute;
	    left: 81px;
	    top: 50px;
      pointer-events: none;
    }

    .wheelDcontainer {
      top: -10px;
      left: 86px;
      height: 70px;
    }
    .wheelD figure {
      background-image:url("../images/thumbwheel.png");
      height:70px;
      width:10px;
    }
    .wheelDshad {
      background-image:url("../images/cipherwheel_shadow.png");
      width: 10px;
      height: 605px;
      position: absolute;
      left: 101px;
      top: 50px;
      pointer-events: none;
    }

    .wheelEcontainer {
      top: 0px;
      left: 96px;
      height: 48px;
    }
    .wheelE figure {
      background-image:url("../images/spacerwheel.png");
      line-height: 47px;
      text-align: center;
      width:20px;
    }
    .wheelEshad {
    	background-image:url("../images/cipherwheel_shadow.png");
		width: 20px;
	    height: 309px;
	    position: absolute;
	    left: 111px;
	    top: 50px;
      pointer-events: none;
    }

    .wheelFcontainer {
      top: 0px;
      left: 116px;
      height: 48px;
    }
    .wheelF figure {
      background-image:url("../images/notch_ring.png");
      width:16px;
      background-position:-16px;
    }
    .wheelFshad {
    	background-image:url("../images/cipherwheel_shadow.png");
    	width:16px;
    	height:392px;
    	position:absolute;
    	left: 15px;
    	top: -172px;
      pointer-events: none;
    }

    .wheelGcontainer {
      top: 0px;
      left: 132px;
      height: 47px;
    }
    .wheelG figure {
      background-image:url("../images/spacerwheel.png");
      width:10px;
    }
    .wheelGshad {
    	background-image:url("../images/cipherwheel_shadow.png");
		width: 10px;
	    height: 305px;
	    position: absolute;
	    left: 147px;
	    top: 51px;
      pointer-events: none;
    }

    .unpin>.wheelCcontainer>.wheel>figure {
    	background-image:url("../images/spacerwheel2.png") !IMPORTANT;	
    }
    .unpin>.pinarr {
      background-position: -32px 0 !IMPORTANT;
    }

    #insert {
            -webkit-transform-style: preserve-3d;
           -moz-transform-style: preserve-3d;
             -o-transform-style: preserve-3d;
                transform-style: preserve-3d;
        transform:scale(1) rotateY(0deg) rotateX(-90deg);
      transform-origin: 35px 25px;
      transition: all 1s ease-in-out;
      z-index:2;
      cursor:pointer;
    }

    .insertcontainer {
      top: 0px;
      left: 16px;
      height: 47px;
    }
    .insert figure {
      background-image:url("../images/insertwheel.png");
              background-color:black;
    }

    .insertend {
      background-image:url("../images/insert_end.png");
      width:300px;
      height:300px;
      position:absolute;
      left: -70px;
      top:-125px;
      transform: rotateY(90deg);
    }

    .insertend2 {
      background-image:url("../images/insert_end.png");
      width:300px;
      height:300px;
      position:absolute;
      left: -120px;
      top:-125px;
      transform: rotateY(-90deg);
    }

    #insertarrows {
      position: absolute;
      left:20px;
      top:130px;
      display:none;
    }

    #allRollers {
      position:absolute;
      left:365px;
      top:96px;
      width: 800px;
    }

    .redroller {
      background-image:url("../images/red_roller.png");
      width:67px;
      height:52px;
      float:left;
      margin-right:80px;
    }

    .rollerrun {
      background-position:-67px 0;
    }

    #pawls {
      position:absolute;
      left:480px;
      top:111px;
      width: 720px;
    }

    .pawl {
      background-image:url("../images/newpawl.png");
      width:46px;
      height:53px;
      float:left;
      margin-right:100px;
      position: relative;
      top:-4px;
      transition: all 0.2s ease-in-out;
    }

    .pawl_sm {
      background-image:url("../images/newpawl2.png");
      width:26px;
      height:53px;
      float:left;
      margin-right:100px;
      position: relative;
      top:-4px;
      transition: all 0.2s ease-in-out;
    }

    .pawlpush {
      //top:36px;
      top:0px;
      transform:scale(1.1);
    }

    #pawlsprings {
      background-image:url("../images/pawl_springs.png");
      width:778px;
      height:54px;
      position: absolute;
      left: 331px;
      top: 122px;
      transition: all 0.2s ease-in-out;
    }

    .pawlspringpush {
      transform-origin: 0px 572px;
      transform: rotateX(10deg);
    }

    #reflector_plugboard {
      background-image:url("../images/refl_connector.png");
      width:600px;
      height:636px;
      position:absolute;
      left: 360px;
      top: 1820px;
    }

    #reflector_plugmodule {
      background-image:url("../images/reflector_plugboard_module.png");
      width:545px;
      height:632px;
      position:absolute;
      left: 0px;
      top: 12px;
      transition: all 0.5s ease-in-out;
    }

    #refl_plugb_cable {
      background-image:url("../images/refl_plugb_cable.png");
      width:752px;
      height:602px;
      position:absolute;
      left: 834px;
      top: 1310px;
    }
    #refl_plugb_cable_2 {
      background-image:url("../images/refl_plugb_cable_2.png");
      width:231px;
      height:165px;
      position:absolute;
      left: 50px;
      top: 50px;
    }

    #refl_plug_label {
      background-image:url("../images/refl_plug_label.png");
      width:85px;
      height:149px;
      position:absolute;
      cursor:pointer;
      top: 229px;
      left: 303px;
      background-position: 425px 0;
    }

    #refl_plug_label.A {
      background-position: 510px 0;
    }
    #refl_plug_label.B {
      background-position: 425px 0;
    }
    #refl_plug_label.C {
      background-position: 340px 0;
    }
    #refl_plug_label.TPXA {
      background-position: 255px 0;
    }
    #refl_plug_label.CCHEF {
      background-position: 170px 0;
    }
    #refl_plug_label.CUSTOM {
      background-position: 85px 0;
    }

    #invalid_reflector {
      background-image:url("../images/invalid_reflector.png");
      width:220px;
      height:220px;
      position:absolute;
      left: 374px;
      top: -70px;
      display: none;
    }

    #entry_plugboard {
      background-image:url("../images/entry_plugboard_new.png");
      width:900px;
      height:800px;
      position:absolute;
      left: 3030px;
      top: 1760px;
    }

    #entry_plugmodule {
      background-image:url("../images/entry_plugmodule.png");
      width:548px;
      height:701px;
      position:absolute;
      left: 197px;
      top: 114px;
      transition: all 0.5s ease-in-out;
    }

    .plugboard_switch {
      transform: scale(1.1);
      opacity: 0 !IMPORTANT;
    }

    #entry_plug_label {
      background-image:url("../images/entry_plug_label.png");
      width:85px;
      height:149px;
      position:absolute;
      cursor:pointer;
      top: 229px;
      left: 41px;
    }

    #invalid_plugboard {
      background-image:url("../images/invalid_plugboard.png");
      width:220px;
      height:220px;
      position:absolute;
      left: -126px;
      top: -70px;
      display: none;
    }

    .enigmamode {
      background-position: 85px 0;
    }

    .plug {
      background-image:url("../images/plug_socket.png");
      width:33px;
      height:33px;
      position:absolute;
    }

    #key_container {
      width: 1236px;
      height: 360px;
      position:absolute;
      left:20px;
      top:110px;
    }

    .keyrow {
        
    }

    .keyitem {
      width:30px;
      position: absolute;
      left:50px;
    }

    .spkeyitem {
    	width:314px;
    	position:absolute;
    	left: 230px;
    	top: 310px;
    }

    .keybar {
      background-image:url("../images/keybar.png");
      width:32px;
      height:328px;
      position:absolute;
      left: 28px;
    }

    .spkeybar {
      background-image:url("../images/keybar.png");
      width:32px;
      height:328px;
      position:absolute;
      left: 139px;
      top: -300px;
    }

    .key {
      background-image:url("../images/key.png");
      width:80px;
      height:80px;
      position:absolute;
      z-index:2;
      cursor:pointer;
    }

    .krowtop>.key {
      top:50px;
    }

    .krowmid>.key {
      top:140px;
    }

    .krowbot>.key {
      top:230px;
    }

    .key:before {
      content:attr(data-primary);
      color: black;
      font-family: 'Maven Pro', sans-serif;
      font-size: 30px;
      position:absolute;
      top: 19px;
      text-align: center;
      width: 68px;
    }

    .key:after {
      content:attr(data-secondary);
      color: black;
      font-family: 'Maven Pro', sans-serif;
      font-size: 20px;
      position:absolute;
      top: 4px;
      text-align: center;
      width: 68px;
      color:red;
    }

    .keyFS {
    	padding: 22px 13px;
    	font-size:20px;
    }

    .keyLS {
    	padding: 24px 11px;
    	font-size:16px;
    }

    .keyFS:before,.keyLS:before {
    	content:'';
    }

    .key:hover {
      background-position: 160px 0;
    }

    .keypress>.key {
      background-position: 80px 0;
      transform:scale(.95);
    }
    .keypress>.keybar {
      background-position: 32px 0;
      transform:scale(.95);
    }

    .spkey {
      background-image:url("../images/spacekey.png");
      width:314px;
      height:64px;
      position:absolute;
      z-index:2;
      cursor:pointer;
    }

    .spkey:hover {
    	background-position: 0 64px;
    }
    .keypress>.spkey {
    	background-position: 0 128px;
    	transform:scale(.95);
    }
    .keypress>.spkeybar {
      background-position: 32px 0;
      transform:scale(.95);
    }

    .uparr {
      height:52px;
      width:49px;
      background-repeat:no-repeat;
      background-image:url("../images/uparrow.png");
      background-color: transparent;
      position:absolute;
      top: 20px;
      left: 30px;
      cursor:pointer;
      z-index: 1;
    }
    .dnarr {
      height:52px;
      width:49px;
      background-repeat:no-repeat;
      background-image:url("../images/dnarrow.png");
      background-color: transparent;
      position:absolute;
      top: 330px;
      left: 30px;
      cursor:pointer;
      z-index: 1;
    }
    .pinarr {
      height:34px;
      width:52px;
      background-repeat:no-repeat;
      background-image:url("../images/pinarrow.png");
      background-color: transparent;
      position:absolute;
      top: 186px;
      left: 84px;
      cursor:pointer;
      z-index: 1;
    }
    .revarr {
      height:50px;
      width:50px;
      background-repeat:no-repeat;
      background-image:url("../images/revarrow.png");
      background-color: transparent;
      position:absolute;
      top: 170px;
      left: 30px;
      cursor:pointer;
      z-index: 1;
    }

    .fade {
      opacity: 0;
      transition: opacity .25s ease-in-out;
      -moz-transition: opacity .25s ease-in-out;
      -webkit-transition: opacity .25s ease-in-out;
    }
    .fade50 {
      opacity: 0.5;
    }
    .fade100 {
      opacity: 1;
    }
    .rotorslot>.dragrotor>.fade:hover {
      opacity: 1;
    }

    #dec_cip_lever {
      background-image:url("../images/dec_cip_lever.png");
      width:228px;
      height:108px;
      position:absolute;
      cursor:pointer;
      top: 1642px;
      left: 1164px;
    }

    .ciphermode {
      background-position: 228px 0;
    }

    .notallowed {
      cursor:not-allowed !IMPORTANT;
    }
    
    #topcover {
      position: absolute;
      left: 1060px;
      top: 0px;
      z-index:3;
      //opacity:0.4;
      -webkit-transform:translate3d(0,0,0);
    }

    #topcover_base {
      background-image:url("../images/topcover_base.png");
      width:2045px;
      height:1315px;
      position:absolute;
    }

    .tape_reel {
      background-image:url("../images/tape_reel.png");
      width:930px;
      height:930px;
      transform: rotateZ(0deg);
      transition: all 0.2s ease-in-out;
    }

    #tape_reel_l {
      position:absolute;
      top: 200px;
      left: 48px;
      
    }

    #tape_reel_r {
      position:absolute;
      top: 200px;
      left: 1050px;
      
    }

    #tape_reel_shadow_r {
      background-image:url("../images/tape_reel_shadow.png");
      width:925px;
      height:853px;
      position:absolute;
      top: 328px;
      left: 1114px;
    }

    #tape_reel_shadow_l {
      background-image:url("../images/tape_reel_shadow.png");
      width:925px;
      height:853px;
      position:absolute;
      top: 342px;
      left: 109px;
    }

    #tape_guide_rt {
      background-image:url("../images/tape_guide_rt.png");
      width:1252px;
      height:1095px;
      position:absolute;
      top: 95px;
      left: 1038px;
    }

    #tape_guide_lt {
      background-image:url("../images/tape_guide_lt.png");
      width:1252px;
      height:1095px;
      position:absolute;
      top: 95px;
      left: -244px
    }

    #tape_guide_roller_r {
      background-image:url("../images/tape_guide_roller.png");
      width:87px;
      height:87px;
      position:absolute;
      top: 956px;
      left: 1881px;
      transform: rotateZ(0deg);
      transition: all 0.2s ease-in-out;
    }

    #tape_guide_roller_l {
      background-image:url("../images/tape_guide_roller.png");
      width:87px;
      height:87px;
      position:absolute;
      top: 958px;
      left: 64px;
      transform: rotateZ(-90deg);
      transition: all 0.2s ease-in-out;
    }

    #coverslider {
    	position: absolute;
    	left: 1850px;
    	top: 100px;
    	z-index: 4;
    }

    #docholder {
	  position:absolute;
      top: 988px;
      left: 1434px;
      z-index:3;
      transition: all 0.5s ease-in-out;
    }

    #docholderback {
      background-image:url("../images/doc_holder.png");
      width:1307px;
      height:837px;
      position:absolute;
      top: 100px;
      left: 0px;   
    }

    #stampparent {
      width: 138px;
      height: 60px;
      position: absolute;
      top: 1980px;
      left: 1440px;
    }

    #typedstamp {
      background-image:url("../images/stamp.png");
      width:138px;
      height:60px;
      position:absolute;
      top: 0px;
      left: 0px;
      cursor: pointer;
      z-index: 4;
    }


    #setkey {
      position: absolute;
      top: 1980px;
      left: 2440px;
      z-index: 4;
    }

    .pickedup {
    	background-position: -138px 0;
    }

    .typed {
      background-image:url("../images/typed.png");
      width:65px;
      height:19px;
      position: absolute;
      z-index: 4;
    }

    .redform {
      background-image:url("../images/red_form_blank.png");
      width:786px;
      height:1110px;
      position:absolute;

      cursor: pointer;
      z-index:3;
      font-family: 'Covered By Your Grace', cursive;
      white-space: nowrap;
      color: #555;
    }

    .redformout {
      background-image:url("../images/red_form_2_blank.png");
    }

    #redform1 {
      top: -180px;
      left: 190px;
    }

    #redform2 {
      left: 0px;
      top: 0px;
    }

    .isInTray {
      left: -593px !IMPORTANT;
      top: 94px !IMPORTANT;
    }

    .isOutTray {
      left: 101px !IMPORTANT;
      top: 81px !IMPORTANT;
    }

    .redform .daykey {
      position: absolute;
      top: 3px;
      left: 34px;
      background-color: #fffff1;
      width: 90%;
      height: 40px;
      padding: 4px 0;
      -webkit-box-shadow: 2px 2px 2px 0px rgba(0,0,0,0.75);
      -moz-box-shadow: 2px 2px 2px 0px rgba(0,0,0,0.75);
      box-shadow: 0px 2px 2px 0px rgba(0,0,0,0.75);
    }
    .daykey::before {
      content: url("../images/stickytape_sm.png");
      width:51px;
      height:29px;
      position:absolute;
      top: 3px;
      left: -25px;
    }
    .daykey::after {
      content: url("../images/stickytape_sm.png");
      width:51px;
      height:29px;
      position:absolute;
      top: 3px;
      right: -25px;
    }
    .daykeytxt {
      margin:0 auto;
      text-align: center;
      font-size: 19px;
      font-family: Times;
    }

    .redform .fhead{
    	position:absolute;
    	top:0px;
    	font-size: 16px;
      font-family: 'Rock Salt', cursive;
    }

    .fhead .stamp {
    	font-family: Times;
    	position:absolute;
    	left: 40px;
    	top: 170px;
    	transform: rotateZ(-60deg);
    	line-height: 18px;
    }
    .stamp .stampdate {
    	font-size:16px;
    }
    .stamp .loc {
    	font-size:20px;
    }
    .fhead .station {
    	position:absolute;
    	left: 46px;
    	top: 170px;
    	font-size: 46px;
    }    
    .fhead .set {
    	position:absolute;
    	left: 270px;
    	top: 100px;
    }
    .fhead .opr {
    	position:absolute;
    	left: 260px;
    	top: 147px;
    }
    .fhead .to {
    	position:absolute;
    	left: 270px;
    	top: 193px;
    }
    .fhead .date {
    	position:absolute;
    	left: 460px;
    	top: 100px;
    }
    .fhead .time {
    	position:absolute;
    	left: 460px;
    	top: 147px;
    }
    .fhead .freq {
    	position:absolute;
    	left: 440px;
    	top: 240px;
    }
    .fhead .qsa {
    	position:absolute;
    	left: 650px;
    	top: 140px;
    }

    .redform .fsetting {
      position:absolute;
      top:296px;
      padding: 0px 120px;
      font-size:40px;
    }

    .redform .fbody {
      position:absolute;
      top:384px;
      padding: 0px 33px 124px 138px;
    }
    .fbody .frow {
    	padding-bottom: 73px;
      font-size: 44px;
    }
    .fbody .frowtyped {
      padding-bottom: 11px;
      font-size: 34px;
      font-family: Times;
      padding-top: 50px;
      white-space: initial;
    }
    .fbody .fcell {
		  display: block;
    	float: left;
    	width: 152px;
    	text-align: center;
    }

    .formpickedup {
      z-index:5 !IMPORTANT;
      cursor: grab !IMPORTANT;
    }

    #docholderrests {
      background-image:url("../images/doc_holder_rests.png");
      width:1080px;
      height:52px;
      position:absolute;
      top: 885px;
      left: 47px;	
      z-index: 4;
    }
  
    #docsliderparent {
      width:1345px;
      height:738px;
      position:absolute;
      top: 167px;
      left: 3px; 
    }

    #docslider {
      background-image:url("../images/doc_slider.png");
      width:1345px;
      height:148px;
      position:absolute;
      top: 0px;
      left: 0px;   
      z-index: 4;
    }

    .docholder_off {
    	top: 348px !IMPORTANT;
    	transform:scale(1.05);
    }

	#docholderaction {
		height:52px;
		width:49px;
		background-repeat:no-repeat;
		background-image:url("../images/open_icon2.png");
		background-color: transparent;
		position:absolute;
		top: 110px;
		left: 50px;
		cursor:pointer;
		z-index:22;
	}

	#power_switch {
      background-image:url("../images/power_switch.png");
      width:51px;
      height:53px;
      position:absolute;
      top: 1418px;
      left: 520px; 
      cursor:pointer;
	}

	.power_on {
		background-position: -51px 0;
	}

    #counter {
        -webkit-transform-style: preserve-3d;
       -moz-transform-style: preserve-3d;
         -o-transform-style: preserve-3d;
            transform-style: preserve-3d;
      transform:scale(1) rotateY(0deg) rotateX(23deg);
      z-index:2;
      position: absolute;
      top: 1552px;
      left: 2690px;
    }

    .counter {
      transition: all 0.25s ease-in !IMPORTANT;
      transform-origin: 12px 12px;
    }

    .countercontainer {
      top: 0px;
      left: 0px;
      height: 24px;
    }
    .counter figure {
      background-color:black;
      color:white;
      width:24px;
      font-size:26px;
      font-family: 'Maven Pro', sans-serif;
    }
    
    #counterknob {
      background-image:url("../images/counter_knob.png");
      width:59px;
      height:70px;
      position:absolute;
      top: 1523px;
      left: 2821px;
      cursor:pointer;
    }

    .counterred {
      color:red !IMPORTANT;
    }

    .turnknob {
      background-position: -59px 0;
    }

    #countercover {
      background-image:url("../images/counter_cover.png");
      width:170px;
      height:258px;
      position:absolute;
      top: 1430px;
      left: 2672px;
      z-index: 2;
    }
  
    #counter4 { left: 15px; }
    #counter3 { left: 39px; }
    #counter2 { left: 63px; }
    #counter1 { left: 87px; }


    .btn_ltrfig {
      background-image:url("../images/figltr_shift.png");
      width:64px;
      height:71px;
      position:absolute;
      top: 1650px;
      cursor: pointer;
      z-index: 2;
    }

    #btn_ltr_right {
      left: 2937px;
    }

    #btn_fig_right {
      left: 3067px;
    }    

    #btn_ltr_left {
      left: 954px;
    }

    #btn_fig_left {
      left: 1074px;
    }    
  
    .btn_ltrfig_press {
      background-position: -64px 0;
    }

    #sign_ltrfig_right {
      background-image:url("../images/ltrs_figs.png");
      width:233px;
      height:34px;
      position:absolute;
      top: 1600px;
      left: 2911px;
      z-index: 2;
    }

    #sign_ltrfig_left {
      background-image:url("../images/ltrs_figs.png");
      width:233px;
      height:34px;
      position:absolute;
      top: 1730px;
      left: 920px;
    }

    #intray {
      background-image:url("../images/in_tray.png");
      width:324px;
      height:1380px;
      position:absolute;
      top: 1400px;
      left: 0px;
      border: 4px solid transparent;
    }

    #outtray {
      background-image:url("../images/out_tray.png");
      width:324px;
      height:1380px;
      position:absolute;
      top: 1400px;
      left: 3927px;
      border: 4px solid transparent;
    }

/* The customcheck */
.customcheck {
    display: block;
    position: relative;
    padding-left: 35px;
    margin-bottom: 12px;
    cursor: pointer;
    font-size: 19px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

/* Hide the browser's default checkbox */
.customcheck input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
}

/* Create a custom checkbox */
.checkmark {
    position: absolute;
    top: 0;
    left: 0;
    height: 25px;
    width: 25px;
    background-color: #eee;
    border-radius: 5px;
    border: 1px solid #ccc;
}

/* On mouse-over, add a grey background color */
.customcheck:hover input ~ .checkmark {
    background-color: #ccc;
}

/* When the checkbox is checked, add a blue background */
.customcheck input:checked ~ .checkmark {
    background-color: #337ab7;
    border-radius: 5px;
}

/* Create the checkmark/indicator (hidden when not checked) */
.checkmark:after {
    content: "";
    position: absolute;
    display: none;
}

/* Show the checkmark when checked */
.customcheck input:checked ~ .checkmark:after {
    display: block;
}

/* Style the checkmark/indicator */
.customcheck .checkmark:after {
    left: 9px;
    top: 6px;
    width: 5px;
    height: 10px;
    border: solid white;
    border-width: 0 3px 3px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

.finalpage {
  width: 786px;
  height: 1110px;
  background-color:#feffed;
  position: absolute;
  left: 2320px;
  z-index: 10;
  top: 410px;
  -webkit-box-shadow: 10px 10px 5px 0px rgba(0,0,0,0.75);
  -moz-box-shadow: 10px 10px 5px 0px rgba(0,0,0,0.75);
  box-shadow: 10px 10px 5px 0px rgba(0,0,0,0.75);
  padding: 20px;
  display:none;
}

.stucktape {
  background-color: #fff;
  padding: 10px 2px;
  border: 1px solid #ccc;
  display: inline-block;
  font: 30px 'Roboto Mono', monospace;
  margin-bottom: 6px;
}

.finalpage button {
  position: absolute;
  bottom: 5px;
  right: 5px;
}

.messagegroup {
  cursor: pointer;
}

#typex_ccm {
    background-image:url("../images/ccm_test.png");
    width: 1422px;
    height: 1552px;
    position:absolute;
    left: 1343px;
    top: 250px;
}