body {
    margin: 0;
    padding: 0;
    font-family: 'Arial';
    background: #000;
}

body * {
    box-sizing: border-box;
}

#pad {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    max-width: 1750px;
    padding-bottom: 41.667%;
    transform: translate(-50%, -50%);
}

#pad .wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #ebebeb;
    border: 20px solid #a6a6a6;
    border-radius: 20px;
    padding: 20px;
}

#pad .inner {
    position: relative;
    width: 100%;
    height: 100%;
    background: #3D3D3D;
    box-shadow: inset 0px 20px 0 #343434, 0px 20px 0 #fff;
    border-radius: 20px;
}

#pad .inner>div {
    position: relative;
    width: 33.33%;
    height: 100%;
    float: left;
}

#pad .controller-wrapper *,
#pad .control-pad * {
    user-select: none;
    -webkit-user-select: none;
}
#pad .controller-wrapper {
    position: absolute;
    left: 20px;
    bottom: 20px;
    width: 80%;
    padding-bottom: 80%;
    font-size: 0;
    perspective: 2000px;
}

#pad .controller-wrapper:before,
#pad .controller-wrapper:after {
    content: '';
    position: absolute;
    background: #000;
    border-radius: 20px;
    z-index: 0;
}

#pad .controller-wrapper:before {
    top: 50%;
    width: 100%;
    height: 33%;
    transform: translate(0, calc(-50% + 10px));
}

#pad .controller-wrapper:after {
    top: 0%;
    left: 50%;
    width: 33%;
    height: 100%;
    transform: translate(-50%, 10px);
}

#pad .control-pad {
    position: absolute;
    width: 100%;
    height: 100%;
    transform-style: preserve-3d;
    transform: rotate3d(1, 0, 0, 0deg);
    z-index: 1;
}

#pad .control-pad:before,
#pad .control-pad:after {
    content: '';
    position: absolute;
    background: #EBEBEB;
    border-radius: 20px;
    z-index: 1;
}

#pad .control-pad:before {
    top: 50%;
    width: 100%;
    height: 33%;
    transform: translateY(-50%);
}

#pad .control-pad:after {
    top: 0%;
    left: 50%;
    width: 33%;
    height: 100%;
    transform: translateX(-50%);
}

#pad .control-button {
    position: absolute;
    width: 33.4%;
    height: 33.4%;
    color: #EBEBEB;
    background: transparent;
    border: 0;
    font-size: 48px;
    z-index: 2;
    outline: none;
}

#pad .control-button:after,
#pad .control-button[data-direction="center"]:before {
    content: '';
    position: absolute;
    background: #000;
}

.control-button[data-direction="up"],
.control-button[data-direction="down"] {
    left: 33.33%;
}

.control-button[data-direction="up"]:after,
.control-button[data-direction="down"]:after {
    left: 50%;
    width: 60%;
    height: 80%;
    transform: translateX(-50%);
}

.control-button[data-direction="up"] {
    top: 0;
}

.control-button[data-direction="up"]:after {
    bottom: 0;
    border-radius: 20px 20px 0 0;
}

.control-button[data-direction="down"] {
    bottom: 0;
}

.control-button[data-direction="down"]:after {
    top: 0;
    border-radius: 0 0 20px 20px;
}

.control-button[data-direction="left"],
.control-button[data-direction="right"] {
    top: 33.33%;
}

.control-button[data-direction="left"]:after,
.control-button[data-direction="right"]:after {
    top: 50%;
    width: 80%;
    height: 60%;
    transform: translateY(-50%);
}
.control-button[data-direction="left"]:before,
.control-button[data-direction="right"]:before {
    content: '';
    display: block;
    top: 0;
    width: 110%;
    height: 300%;
    background: transparent;
    transform: translate(-7px, -33%);
}

.control-button[data-direction="left"] {
    left: 0;
}

.control-button[data-direction="left"]:after {
    right: 0;
    border-radius: 20px 0 0 20px;
}

.control-button[data-direction="right"] {
    right: 0;
}

.control-button[data-direction="right"]:after {
    left: 0;
    border-radius: 0 20px 20px 0;
}

.control-button[data-direction="center"] {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.control-button[data-direction="center"]:before {
    top: 0;
    left: 50%;
    width: 60%;
    height: 100%;
    transform: translateX(-50%);
}

.control-button[data-direction="center"]:after {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 60%;
    transform: translateY(-50%);
}

#pad .control-pad[data-active-direction="up"] {
    transform: rotate3d(1, 0, 0, 20deg);
    transform-origin: top;
}

#pad .control-pad[data-active-direction="down"] {
    transform: rotate3d(1, 0, 0, -20deg) translateY(5px);
    transform-origin: bottom;
}

#pad .control-pad[data-active-direction="left"] {
    transform: rotate3d(-0.6, 1, 0.1, -20deg) translateY(10px);
    transform-origin: left;
}

#pad .control-pad[data-active-direction="right"] {
    transform: rotate3d(0.6, 1, 0.1, 20deg) translateY(10px);
    transform-origin: right;
}

#pad .buttons-wrapper {
    position: absolute;
    right: 20px;
    bottom: 20px;
    width: 100%;
    padding-bottom: 100%;
    font-size: 0;
    perspective: 2000px;
}

#pad .action-button {
    position: absolute;
    width: 40%;
    height: 40%;
    bottom: 0;
    right: 0;
    color: #fff;
    background: #EBEBEB;
    border: 0;
    border-radius: 20px;
    font-size: 48px;
    box-shadow: 0 10px 0 #000;
    z-index: 2;
    outline: none;
}

#pad .action-button:nth-child(2) {
    right: 50%;
}

#pad .action-button:before {
    content: '';
    position: absolute;
    width: 60%;
    height: 60%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 100%;
    background: #D02604;
}

#pad .action-button.pressed {
    transform: translateY(10px);
    box-shadow: 0 0px 0 #000;
}

#pad .screen {
    width: 90%;
}

#pad .screen p {
    background: #EBEBEB;
    border-radius: 20px;
    padding: 20px;
}

#pad .screen input {
    display: block;
    width: 100%;
    padding: 2px 6px;
}

#pad #car {
    display: block;
    width: 41px;
    height: 24px;
    margin: 10px auto;
    background: url('../img/cars.png') no-repeat;
    background-position: 0px 0px;
}
#pad[data-ready="true"] .screen {
    display: none;
}
#start {
    position: absolute;
    top: 0;
    left: 50%;
    display: none;
}
  
#pad #car[data-type="0"][data-color="0"] {background-position:    0px    0px}
#pad #car[data-type="0"][data-color="1"] {background-position:  -42px    0px}
#pad #car[data-type="0"][data-color="2"] {background-position:  -84px    0px}
#pad #car[data-type="0"][data-color="3"] {background-position: -126px    0px}
#pad #car[data-type="0"][data-color="4"] {background-position: -168px    0px}
#pad #car[data-type="0"][data-color="5"] {background-position: -210px    0px}
#pad #car[data-type="1"][data-color="0"] {background-position:    0px  -24px}
#pad #car[data-type="1"][data-color="1"] {background-position:  -42px  -24px}
#pad #car[data-type="1"][data-color="2"] {background-position:  -84px  -24px}
#pad #car[data-type="1"][data-color="3"] {background-position: -126px  -24px}
#pad #car[data-type="1"][data-color="4"] {background-position: -168px  -24px}
#pad #car[data-type="1"][data-color="5"] {background-position: -210px  -24px}
#pad #car[data-type="2"][data-color="0"] {background-position:    0px  -48px}
#pad #car[data-type="2"][data-color="1"] {background-position:  -42px  -48px}
#pad #car[data-type="2"][data-color="2"] {background-position:  -84px  -48px}
#pad #car[data-type="2"][data-color="3"] {background-position: -126px  -48px}
#pad #car[data-type="2"][data-color="4"] {background-position: -168px  -48px}
#pad #car[data-type="2"][data-color="5"] {background-position: -210px  -48px}
#pad #car[data-type="3"][data-color="0"] {background-position:    0px  -72px}
#pad #car[data-type="3"][data-color="1"] {background-position:  -42px  -72px}
#pad #car[data-type="3"][data-color="2"] {background-position:  -84px  -72px}
#pad #car[data-type="3"][data-color="3"] {background-position: -126px  -72px}
#pad #car[data-type="3"][data-color="4"] {background-position: -168px  -72px}
#pad #car[data-type="3"][data-color="5"] {background-position: -210px  -72px}
#pad #car[data-type="4"][data-color="0"] {background-position:    0px  -96px}
#pad #car[data-type="4"][data-color="1"] {background-position:  -42px  -96px}
#pad #car[data-type="4"][data-color="2"] {background-position:  -84px  -96px}
#pad #car[data-type="4"][data-color="3"] {background-position: -126px  -96px}
#pad #car[data-type="4"][data-color="4"] {background-position: -168px  -96px}
#pad #car[data-type="4"][data-color="5"] {background-position: -210px  -96px}
#pad #car[data-type="5"][data-color="0"] {background-position:    0px -120px}
#pad #car[data-type="5"][data-color="1"] {background-position:  -42px -120px}
#pad #car[data-type="5"][data-color="2"] {background-position:  -84px -120px}
#pad #car[data-type="5"][data-color="3"] {background-position: -126px -120px}
#pad #car[data-type="5"][data-color="4"] {background-position: -168px -120px}
#pad #car[data-type="5"][data-color="5"] {background-position: -210px -120px}
#pad #car[data-type="6"][data-color="0"] {background-position:    0px -142px}
#pad #car[data-type="6"][data-color="1"] {background-position:  -42px -142px}
#pad #car[data-type="6"][data-color="2"] {background-position:  -84px -142px}
#pad #car[data-type="6"][data-color="3"] {background-position: -126px -142px}
#pad #car[data-type="6"][data-color="4"] {background-position: -168px -142px}
#pad #car[data-type="6"][data-color="5"] {background-position: -210px -142px}