button,
input[type="button"],
input[type="submit"],
input[type="reset"],
.btn,
[class*="btn-"],
a.btn,
a[class*="btn-"] {
    -webkit-user-select: none !important;
    -moz-user-select: none !important;
    -ms-user-select: none !important;
    user-select: none !important;
    -webkit-touch-callout: none !important;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
}

button *,
[class*="btn-"] * {
    -webkit-user-select: none !important;
    user-select: none !important;
    pointer-events: none;
}

.game-shell,
.game-shell *,
canvas,
.hud,
.hud *,
.no-select,
.no-select *,
.back-link,
.footer,
.game-page-bottom,
.game-page-bottom * {
    -webkit-user-select: none !important;
    -moz-user-select: none !important;
    -ms-user-select: none !important;
    user-select: none !important;
    -webkit-touch-callout: none !important;
    -webkit-tap-highlight-color: transparent;
    -webkit-user-drag: none;
}

.game-shell ::selection,
.game-shell *::selection,
.no-select ::selection,
.no-select *::selection,
.back-link::selection,
.footer::selection,
.game-page-bottom ::selection,
.game-page-bottom *::selection {
    background: transparent !important;
    color: inherit !important;
}

.game-shell ::-moz-selection,
.game-shell *::-moz-selection,
.no-select ::-moz-selection,
.no-select *::-moz-selection,
.back-link::-moz-selection,
.footer::-moz-selection,
.game-page-bottom ::-moz-selection,
.game-page-bottom *::-moz-selection {
    background: transparent !important;
    color: inherit !important;
}

.game-shell .hud,
.game-shell .hud * {
    pointer-events: none;
}

.game-shell .controls,
.game-shell .controls * {
    pointer-events: auto;
}

canvas {
    touch-action: none;
}

.game-shell {
    touch-action: none;
}
