@font-face {
  font-family: 'Icons';
  src:
    url('graphics/icomoon.ttf') format('truetype'),
    url('graphics/icomoon.woff') format('woff'),
    url('graphics/icomoon.svg') format('svg');
  font-weight: normal;
  font-style: normal;
}

body {
    font-family: 'Titan One';
    background-color: #000;
    background-size: 100px 100px, 100px 100px, 20px 20px, 20px 20px;
    background-position: -2px -2px, -2px -2px, -1px -1px, -1px -1px;
    background-image: 
        linear-gradient(#222 2px, transparent 2px),
        linear-gradient(90deg, #222 2px, transparent 2px),
        linear-gradient(rgba(68,68,68,.3) 1px, transparent 1px),
        linear-gradient(90deg, rgba(68,68,68,.3) 1px, transparent 1px);
}

#title {
    background-image:url(graphics/TitleScreen.png);
    box-shadow: inset 0 0 10px #000000;
    position: absolute;
    margin: auto;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 640px;
    height: 640px;
}
.start{
    position: absolute;
    bottom: 45px;
    right: 30px;
}

#instructions {
    position: absolute;
    bottom: 45px;
    right: 170px;
}

#howTo {
    display: none;
    background-color: #c7e4e0; /* #c7e4e0 */
    background-image:
        url(graphics/FactoryLeft.png),
        url(graphics/Factory.png),
        url(graphics/FactoryRight.png);
    background-position: left bottom, center bottom, right bottom;
    background-repeat: no-repeat, no-repeat, no-repeat;
    background-blend-mode: normal;
    box-shadow: inset 0 0 10px #000000;
    position: absolute;
    margin: auto;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 1130px;
    height: 700px;
    font-size: 18pt;
    padding: 30px 75px;
}

#howTo div {
    font-size: 50px;
    text-align: center;
    color: #f5f5f5;
    filter: drop-shadow(2px 2px 3px rgba(30,30,30,.6));
}

#howTo p {
    margin: 15px;
    color: #211b1d;
}
#howTo button {
    margin: 0;
}

#container {
    display: none;
    background-color: #bebebe;
    box-shadow: inset 0 0 10px #000000;
    position: absolute;
    margin: auto;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 1280px;
    height: 800px;  /* 720px = 16:9; 800px = 16:10 */
}

header {
    height: 70px;
}
#masthead {
    width: 830px;
    clear: left;
    float: left;
    font-size: 38pt;
    letter-spacing: 6px;
}
#level {
    width: 370px;
    clear: right;
    float: left;
    margin-right: 80px;
    margin-top: 20px;
    font-size: 24pt;
}

.inset {
    padding-top: 10px;
    text-align: center;
    font-size: 50px;
    color: rgba(86,86,86, 0.4);
    text-shadow: 
        0 2px 3px rgba(255,255,255,0.5),
        0 3px 3px #bebebe,
        0 0 0 #565656;
}
    
#leftSide {
    width: 830px;
    height: 260px;
    clear: left;
    float: left;
}

#buttons {
    width: 100%;
    height: 100px;
    text-align: center;
    background-image:url(graphics/Plate.png);
    background-position: center;
    background-repeat: no-repeat;
    filter: drop-shadow(2px 2px 3px rgba(30,30,30,.6));
}

button {
    height:50px;
    border: 4px solid #f5f5f5;
    border-radius: 28px;
    color:#f5f5f5;
    text-align:center;
    text-decoration:none;
    background: #211b1d;
    font-size: 16pt;
    margin: 21px 5px 5px 5px;
    box-shadow: 
        0px 3px rgba(128,128,128,1), /* gradient effects */
        0px 4px rgba(118,118,118,1),
        0px 5px rgba(108,108,108,1),
        0px 6px rgba(98,98,98,1),
        0px 10px 6px -1px rgba(60,60,60,1); /* shadow */
    cursor: pointer;
}

.oval {
    font-family: 'Titan One';
}

.round {
    width:50px;
    font-family: 'Icons';
    text-shadow: -1px -1px 0px rgba(255,255,255,0.8), 1px 1px 2px rgba(0,0,0,1);
}

button:hover {
    background: #504f4d;
}

button:active {
    box-shadow: 
        0px 3px rgba(128,128,128,1),
        0px 4px rgba(118,118,118,1),
        0px 5px rgba(108,108,108,1),
        0px 6px 2px 0px rgba(60,60,60,.6); /* shadow */
    transform: translateY(3px);
}

button:focus {
    outline:0;
}

#code {
    width: 700px;
    height: 115px;
    margin: auto;
    padding: 10px;
    font-family: 'Icons';
    font-size: 16pt;
    letter-spacing: 5px;
    line-height: 1.5;
    overflow-wrap: break-word;
    overflow-y: scroll;
    background-color: #3e977d;
    border: 5px solid #f5f5f5;
    border-radius: 5px;
    box-shadow: 
        0 0 15px #135d47 inset,
        0 0 10px #043929 inset,
        2px 2px 3px 0px rgba(60,60,60,.6); /* shadow */
}

#target {
    width: 450px;
    height: 255px;
    clear: right;
    float: left;
    background-image:url(graphics/TargetReadout.png);
    background-repeat: no-repeat;
    filter: drop-shadow(2px 2px 3px rgba(30,30,30,.6));
    position: relative;
}

.caution {
    clear: both;
    width: 100%;
    height: 25px;
    background-image:url('graphics/Caution.png');
    filter: drop-shadow(0px 0px 5px rgba(30,30,30,.6));
    z-index: 1;
    position: relative;
    box-shadow: 
        inset 10px 0 10px -10px #000000,
        inset -10px 0 10px -10px #000000,
        inset 0 10px 10px -10px #000000,
        inset 0 -10px 10px -10px #000000;
}

#factoryLeft {
    clear: left;
    float: left;
    width: 407px;
    height: 420px;
    background-image:url('graphics/FactoryLeft.png');
    box-shadow: inset 10px 0 10px -10px #000000;
}

#runCode {
    margin: auto;
    float: left;
    position: relative;
    background-image:url('graphics/Factory.png');
    width: 466px;
    height: 420px;
}

#factoryRight {
    clear: right;
    float: left;
    width: 407px;
    height: 420px;
    background-image:url('graphics/FactoryRight.png');
    box-shadow: inset -10px 0 10px -10px #000000;
}

#target img, #runCode img {
    position: absolute;
}

#modal {
    position: fixed;
    z-index:1000;
    top: 0px;
    left: 0px;
    height:100%;
    width:100%;
    background-color: rgba(0,0,0,0.6); /* Black w/ opacity */
    display: none;
}
#message {
    background-color: #fefefe;
    border: 5px solid #000;
    border-radius: 10px;
    width: 50%; /* Could be more or less, depending on screen size */
    box-shadow: 10px 10px 60px #000;
    text-align: center;
    font-size: 36px;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}
#message p {
    margin: 30px 20px 10px 20px;
    color: #211b1d;
}
#message button {
    margin: 0 20px 30px 20px;
}
