App.css 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431
  1. #root {
  2. position: absolute;
  3. width: 100% !important;
  4. height: 100% !important;
  5. }
  6. .App {
  7. background-color: #222;
  8. color: #ccc;
  9. font-weight: 500;
  10. height: 100%;
  11. display: flex;
  12. flex-flow: column nowrap;
  13. justify-content: space-between;
  14. }
  15. .header {
  16. display: block;
  17. text-align: center;
  18. }
  19. .footer {
  20. display: block;
  21. text-align: center;
  22. }
  23. .loading {
  24. text-align: center;
  25. }
  26. .click-to-copy {
  27. position: relative;
  28. display: inline-flex;
  29. justify-content: center;
  30. }
  31. .click-to-copy__text {
  32. border-bottom: 1px dashed black;
  33. }
  34. .click-to-copy__tooltip {
  35. background-color: black;
  36. color: white;
  37. text-align: center;
  38. padding: 2px 8px;
  39. border-radius: 8px;
  40. position: absolute;
  41. z-index: 1;
  42. top: -115%;
  43. white-space: nowrap;
  44. transition: opacity 0.25s;
  45. opacity: 0;
  46. }
  47. .click-to-copy__tooltip--visible {
  48. opacity: 0.75;
  49. }
  50. .click-to-copy__textarea {
  51. position: absolute;
  52. top: -1000px;
  53. }
  54. .btn {
  55. border-radius: 0px;
  56. border: none;
  57. padding: 8px;
  58. background-color: #555;
  59. color: #fff;
  60. cursor: pointer;
  61. font-weight: 600;
  62. }
  63. .btn:disabled {
  64. color: #777;
  65. background-color: #333;
  66. cursor: default;
  67. }
  68. .inpt {
  69. border-radius: 0px;
  70. border: black solid 1px;
  71. }
  72. .join-game-form {
  73. display: flex;
  74. flex-flow: column nowrap;
  75. justify-content: center;
  76. align-items: center;
  77. }
  78. .join-game-form__label {
  79. padding: 0.1em;
  80. }
  81. .join-game-form__input {
  82. padding: 0.5em;
  83. }
  84. .join-game-form__btn {
  85. margin: 0.1em;
  86. }
  87. .player-name-form {
  88. display: flex;
  89. flex-flow: column nowrap;
  90. justify-content: center;
  91. align-items: center;
  92. }
  93. .player-name-form__label {
  94. padding: 0.2em;
  95. }
  96. .player-name-form__input {
  97. padding: 0.5em;
  98. }
  99. .new-game__btn {
  100. display: inline;
  101. }
  102. .pre-game {
  103. display: flex;
  104. flex-flow: column nowrap;
  105. justify-content: space-around;
  106. align-items: center;
  107. }
  108. .pre-game__divider {
  109. margin-left: 75px;
  110. margin-right: 75px;
  111. align-self: stretch;
  112. }
  113. @media only screen and (min-width: 600px) {
  114. .pre-game {
  115. flex-flow: row nowrap;
  116. justify-content: space-around;
  117. /* align-items: stretch; */
  118. }
  119. .pre-game__divider {
  120. margin-left: 0;
  121. margin-right: 0;
  122. align-self: stretch;
  123. }
  124. }
  125. .pre-round {
  126. flex: 1;
  127. display: flex;
  128. flex-flow: column nowrap;
  129. justify-content: center;
  130. align-items: center;
  131. }
  132. .pre-round__name-label {
  133. padding: 0.2em;
  134. }
  135. .pre-round__game-code {
  136. padding: 0.2em;
  137. margin-bottom: 0.3em;
  138. }
  139. .pre-round__button {
  140. padding: 1em;
  141. margin: 0.2em;
  142. }
  143. .round-summary {
  144. flex: 1;
  145. display: flex;
  146. flex-flow: column nowrap;
  147. justify-content: space-around;
  148. align-items: center;
  149. }
  150. .round-summary__info-pane {
  151. display: flex;
  152. flex-flow: column nowrap;
  153. justify-content: space-between;
  154. align-items: center;
  155. }
  156. @media only screen and (min-width: 600px) {
  157. .round-summary {
  158. flex-flow: row nowrap;
  159. }
  160. .round-summary__info-pane {
  161. margin-left: 10px;
  162. align-items: flex-start;
  163. }
  164. }
  165. .round-summary__map {
  166. display: inline;
  167. }
  168. .round-summary__guess {
  169. display: inline;
  170. }
  171. .round-summary__guess--timed-out {
  172. color: red;
  173. }
  174. .round-summary__target-point {
  175. display: inline;
  176. }
  177. .round-summary__round-score {
  178. display: inline;
  179. }
  180. .round-summary__total-score {
  181. display: inline;
  182. }
  183. .round-summary__button {
  184. margin-top: 5px;
  185. padding: 1em;
  186. }
  187. .player-scores {
  188. display: flex;
  189. flex-flow: column nowrap;
  190. justify-content: space-around;
  191. align-items: center;
  192. }
  193. .player-scores__score-board {
  194. display: flex;
  195. flex-flow: row wrap;
  196. justify-content: space-around;
  197. align-items: center;
  198. align-content: space-around;
  199. }
  200. .player-scores__score-tile {
  201. flex: 1;
  202. display: flex;
  203. flex-flow: column nowrap;
  204. justify-content: flex-start;
  205. align-items: center;
  206. }
  207. .player-scores__player-name {
  208. display: inline;
  209. }
  210. .player-scores__total-score {
  211. display: inline;
  212. }
  213. .player-scores__round-score-list {
  214. display: flex;
  215. flex-flow: column nowrap;
  216. justify-content: center;
  217. align-items: flex-start;
  218. margin-bottom: 20%;
  219. }
  220. .player-scores__round-score {
  221. flex: 1;
  222. }
  223. .player-scores__button {
  224. display: inline;
  225. }
  226. .game-panel {
  227. height: 100%;
  228. width: 100%;
  229. display: flex;
  230. flex-flow: column nowrap;
  231. justify-content: space-between;
  232. align-items: center;
  233. }
  234. .game-panel__streetview {
  235. height: 100%;
  236. width: 100%;
  237. margin-bottom: 2px;
  238. flex: 3;
  239. }
  240. .game-panel__spacer {
  241. width: 100%;
  242. margin-top: -2px;
  243. height: 2px;
  244. background-color: black;
  245. }
  246. .guess-pane {
  247. height: 100%;
  248. width: 100%;
  249. flex: 1;
  250. display: flex;
  251. flex-flow: row nowrap;
  252. justify-content: space-around;
  253. }
  254. .guess-pane__map {
  255. flex: 3;
  256. height: 100%;
  257. width: 100%;
  258. }
  259. .guess-pane__timer-submit-wrapper {
  260. flex: 1;
  261. display: flex;
  262. flex-flow: column nowrap;
  263. justify-content: center;
  264. text-align: center;
  265. }
  266. .guess-pane__submit {
  267. flex: 1;
  268. margin: 2px;
  269. }
  270. @media only screen and (min-width: 600px) {
  271. .game-panel {
  272. display: block;
  273. position: relative;
  274. }
  275. .game-panel {
  276. margin-bottom: 0px;
  277. margin-right: 2px;
  278. }
  279. .guess-pane {
  280. position: absolute;
  281. left: 10px;
  282. bottom: 10px;
  283. height: 200px;
  284. width: 200px;
  285. flex-flow: column-reverse nowrap;
  286. z-index: 1;
  287. opacity: .5;
  288. transition: 1s;
  289. }
  290. .guess-pane__timer-submit-wrapper {
  291. flex-flow: column-reverse nowrap;
  292. }
  293. .guess-pane>.guess-pane__timer-submit-wrapper>.guess-pane__submit {
  294. visibility: hidden;
  295. opacity: 0;
  296. transition: 1s;
  297. }
  298. .guess-pane:hover>.guess-pane__timer-submit-wrapper>.guess-pane__submit {
  299. visibility: visible;
  300. opacity: 1;
  301. transition: 0.5s;
  302. }
  303. .guess-pane:hover {
  304. height: 400px;
  305. width: 400px;
  306. opacity: 1;
  307. transition: 0.5s;
  308. }
  309. .game-panel__spacer {
  310. height: 0px;
  311. width: 0px;
  312. }
  313. .guess-pane__timer-submit-wrapper {
  314. margin-top: 4px;
  315. color: #fff;
  316. }
  317. .guess-pane__submit {
  318. margin: 5px;
  319. }
  320. }
  321. .timer {
  322. display: inline;
  323. }
  324. .timer__time {
  325. display: inline-block;
  326. }
  327. .timer--timeout {
  328. color: red;
  329. }
  330. .map-div {
  331. height: 100%;
  332. width: 100%;
  333. }
  334. .streetview-pane {
  335. position: relative;
  336. height: 100%;
  337. width: 100%;
  338. }
  339. .streetview-pane__pano-div {
  340. height: 100%;
  341. width: 100%
  342. }
  343. .streetview-pane__reset-button {
  344. /* TODO improve this to be less brittle */
  345. display: block;
  346. position: absolute;
  347. z-index: 1;
  348. bottom: 200px;
  349. right: 9px;
  350. background-color: #222;
  351. color: #666;
  352. padding: 5px;
  353. border-radius: 2px;
  354. font-weight: bold;
  355. cursor: pointer;
  356. }
  357. .streetview-pane__reset-button:hover {
  358. color: #b1b1b1;
  359. }