@import url('https://fonts.googleapis.com/css?family=La+Belle+Aurore|Raleway:300|Raleway:600'); * { box-sizing: border-box; margin: 0; vertical-align: middle; font-family: 'Raleway', sans-serif; } html { font-size: 12px; background: radial-gradient(farthest-corner at 55% 40%, rgb(150, 200, 220) 0%, rgb(97, 166, 194) 65%, rgb(70,100,120) 90%, rgb(40, 80, 90) 100%); } body { height: vh; width: vw; display: flex; justify-content: center; } .modal { display: flex; position: fixed; z-index: 2; /* display: none; */ width: 100vw; height: 100vh; background-color: rgba(0,0,0,0.3); align-items: flex-start; justify-content: center; visibility: hidden; overflow-y: scroll; } #menu { position: relative; background-color: rgb(250, 2250, 255, 0.9); padding: 1vmin; display: grid; grid-template-columns: 60vw; grid-template-rows: auto auto 60vw auto; grid-template-areas: "meta" "player" "record" "submit"; font-family: 'La Belle Aurore', cursive; min-height: 0; max-height: 100vh; z-index: 3; } #menu .menu-subblock { display: flex; justify-content: space-between; margin: .25em; } #game-meta { grid-area: meta; display: flex; flex-direction: column; } .menu-heading, content, #instructions, div[data-player-meta] label { font-family: 'Raleway', sans-serif; } h1 { font-size: 140%; font-weight: 600; } h4 { font-weight: 600; margin: .25em; font-size: 110%; } #player-meta { grid-area: player; display: flex; justify-items: stretch; flex-direction: column; } #player-meta span[id$="rank"] { margin: 0 2em; } #player-meta input[type="button"] { margin: .25em; } #player-meta * .menu-line { display: flex; flex-flow: row nowrap; align-items: baseline; justify-items: flex-start; } div[data-player-meta] { width: 100%; justify-self: stretch; } div[data-player-meta] input[type="text"] { width: 90%; justify-self: stretch; } div[data-player-meta] input { margin: 1vmin; } #confirm { visibility: hidden; } div[data-player-meta] label { margin: .25em; font-size: 100%; } #game-record-space { grid-area: record; } #instructions { padding: .5em; line-height: 1.5; overflow: scroll; height: 100%; width: 100% } #instructions, #game-record{ border: 2px solid black; height: 1; } #game-record { visibility: hidden; } #game-update-space { grid-area: submit; margin: .5em; display: flex; justify-content: space-between; } content { display: flex !important; flex-direction: column; justify-content: space-between !important; height: 100vh; width: 100vw; } .player-pos { display: flex; align-items: flex-end; justify-content: space-around; flex: 5; height: 9vmin; } #game-hud p { font-size: 130%; width: 100%; order: 0; width: 10vh; background-color: rgba(0,0,0,0.3); padding: 1vh; color: #fff; cursor: pointer; visibility: hidden; } .player-pos#black-pos { align-items: flex-start; flex-direction: row-reverse; justify-self: flex-end; } #kifu { order: 0; height: 10vh; width: 8vh; background-color: #FFF; transform: rotate(-20deg); } .bowl { order: -1; margin: 4vh; height: 15vh; width: 15vh; /* border: solid black; */ border-radius: 50%; background-color: rgb(116, 48, 17); background: radial-gradient(farthest-corner at 48% 54%, rgba(30, 5, 0, 0.25) 0%, rgba(30, 5, 0, 0.45) 2%, rgba(30, 5, 0, 0.75) 32%, rgb(0,0,0,0.85)35%, rgb(116,48,17) 48%, rgb(140, 60, 40) 52%, rgb(100, 40, 5) 55%, rgb(116, 48, 17) 58%, rgb(140,60,40) 65%, rgb(100, 40, 5) 80%, rgb(80, 20, 0) 90%); box-shadow: -1vmin 2vmin 1.5vmin rgba(83, 53, 35, 0.61); display: flex; align-items: center; justify-content: center; } .bowl p { display: none; } .stone-image { height: 100%; width: 100%; border-radius: 50%; background-size: cover; z-index: -1; } #white-stone-image { background-image: url(../images/white-stones-bowl.jpg); } #black-stone-image { background-image: url(../images/black-stones-bowl.jpg); } .bowl[data-turn]:hover p { display: block; color: #FFF; background-color: rgba(0,0,0,0.3); padding: .5em; cursor: grab; } .bowl[data-turn] { box-shadow: 0 0 3vh 3vh rgb(255, 175, 2); } .caps-space { color: #FFF; margin: 1vh; height: 10vh; width: 10vh; border-radius: 50%; background: radial-gradient(farthest-side at 49% 52%, rgb(150, 75, 50) 0%, rgb(116,48,17) 35%, rgb(116,48,17) 64%, rgb(80, 20, 0) 65%, rgb(175, 140, 95) 70%, rgb(120, 50, 40) 80%, rgb(80, 20, 0) 95%, rgb(175, 140, 95) 100%); box-shadow: -0.5vmin 1vmin 1vmin rgba(83, 53, 35, 0.61); display: flex; align-items: center; justify-content: center; } .caps-space :first-child { display: none; } .bowl[data-turn] + .name-space .caps-space:hover :first-child { display: block; position: absolute; background-color: rgba(0,0,0,0.7); padding: .5em; cursor: grab; } .name-space { order: 1; display: flex; flex-direction: column; align-items: center; } .name-space h4 { font-size: 120%; color: rgb(255,240,230); background-color: rgba(0,0,0,0.7); padding: 0.25em; z-index: 1; } #board-container { width: 100%; display: grid; grid-template-areas: 100%; grid-template-columns: 100%; grid-template-areas: "board"; } #board-space tbody { background: radial-gradient(farthest-corner at 55% 40%, rgba(244, 230, 120, 0.75) 0%, rgba(234, 178, 78, 0.5) 65%, rgba(200, 160, 90, 0.45) 90%, rgba(200, 140, 90, 0.45) 100%); background-size: cover; padding: 1vmin; } #board-space { grid-area: board; margin: 0 auto; display: flex; flex-direction: column; background-image: url(../images/board.png); z-index: 1; box-shadow: -2vmin 4vmin 3vmin rgba(145, 92, 23, 0.5); flex: 1; } #board-space table { display: flex; align-items: stretch; justify-content: space-between; margin: auto; } #board-space td { background: conic-gradient(#000 0%, rgba(0,0,0,0) 1%, rgba(0,0,0,0) 24%, #000 25%, rgba(0,0,0,0) 26%, rgba(0,0,0,0) 49%, #000 50%, rgba(0,0,0,0) 51%, rgba(0,0,0,0) 74%, #000 75%, rgba(0,0,0,0) 76%, rgba(0,0,0,0) 99%, #000 100%); border-radius: 50% solid black; color: black; margin: auto; padding: 0; vertical-align: middle; } #board-space .board-9x9 td { height: 9vmin; width: 9vmin; } #board-space .board-13x13 td { height: 7vmin; width: 7vmin; } #board-space .board-19x19 td { height: 5vmin; width: 5vmin; } #board-space td.top { background: conic-gradient( rgba(0,0,0,0) 24%, #000 25%, rgba(0,0,0,0) 26%, rgba(0,0,0,0) 49%, #000 50%, rgba(0,0,0,0) 51%, rgba(0,0,0,0) 74%, #000 75%, rgba(0,0,0,0) 76%); } #board-space td.btm { background: conic-gradient(#000 0%, rgba(0,0,0,0) 1%, rgba(0,0,0,0) 24%, #000 25%, rgba(0,0,0,0) 26%, rgba(0,0,0,0) 74%, #000 75%, rgba(0,0,0,0) 76%, rgba(0,0,0,0) 99%, #000 100%); } #board-space td.lft { background: conic-gradient(#000 0%, rgba(0,0,0,0) 1%, rgba(0,0,0,0) 24%, #000 25%, rgba(0,0,0,0) 26%, rgba(0,0,0,0) 49%, #000 50%, rgba(0,0,0,0) 51%, rgba(0,0,0,0) 99%, #000 100%); } #board-space td.rgt { background: conic-gradient(#000 0%, rgba(0,0,0,0) 1%, rgba(0,0,0,0) 49%, #000 50%, rgba(0,0,0,0) 51%, rgba(0,0,0,0) 74%, #000 75%, rgba(0,0,0,0) 76%, rgba(0,0,0,0) 99%, #000 100%); } #board-space td.top.lft { background: conic-gradient( rgba(0,0,0,0) 24%, #000 25%, rgba(0,0,0,0) 26%, rgba(0,0,0,0) 49%, #000 50%, rgba(0,0,0,0) 51%); } #board-space td.top.rgt { background: conic-gradient( rgba(0,0,0,0) 49%, #000 50%, rgba(0,0,0,0) 51%, rgba(0,0,0,0) 74%, #000 75%, rgba(0,0,0,0) 76% ); } #board-space td.btm.lft { background: conic-gradient(#000 0%, rgba(0,0,0,0) 1%, rgba(0,0,0,0) 24%, #000 25%, rgba(0,0,0,0) 26%, rgba(0,0,0,0) 99%, #000 100%); } #board-space td.btm.rgt { background: conic-gradient(#000 0%, rgba(0,0,0,0) 1%, rgba(0,0,0,0) 74%, #000 75%, rgba(0,0,0,0) 76%, rgba(0,0,0,0) 99%, #000 100%); } .stone.hoshi { background: radial-gradient(circle farthest-corner at center, #000 0%, #000 14%, rgba(0,0,0,0) 15%); z-index: 3; } td .stone { width: 85%; height: 85%; border-radius: 50%; margin: auto; vertical-align: middle; display: flex; flex-direction: column; justify-content: center; } td .stone .dot { width: 35%; height: 35%; border-radius: 50%; margin: auto; vertical-align: middle; } td .stone[data-stone="ko"] { background-color: transparent; border: 1vmin solid rgba(200,20,50,0.8); border-radius: 0%; } td .stone[data-stone="white"] { background: radial-gradient(farthest-side at 55% 40%, white 0%, rgb(200,200,200) 65%, rgb(100,100,100) 90%, rgb(68, 50, 0) 100%); box-shadow: -.25vmin .5vmin .5vmin rgba(145, 92, 23, 0.5); } td .stone[data-stone="black"] { background-color: black; background: radial-gradient(farthest-side at 55% 40%, rgb(220,220,220) 0%, rgb(60,60,60) 45%, rgb(15,15,15) 90%, rgb(5, 5, 0) 100%); box-shadow: -.25vmin .5vmin .5vmin rgba(145, 92, 23, 0.75); } td .stone[data-stone="none"] { background-color: transparent; } td .dot[data-dot="white"] { background-color: white; } td .dot[data-dot="black"] { background-color: black; } td .dot[data-dot="none"] { background-color: transparent; } td .dot[data-dot="dame"] { background-color: purple; } @media only screen and (min-width: 591px) { #player-meta { flex-direction: row; } div[data-player-meta] { width: 50%; } } /* Responsive Design */ @media only screen and (min-width: 500px) { html { font-size: 14px; } .player-pos { height: 14vh; } } @media only screen and (min-width: 590px) { #board-space .board-19x19 td { height: 3.5vh; width: 3.5vh; } } @media only screen and (min-width: 570px) { #board-space .board-9x9 td { height: 7.5vh; width: 7.5vh; } #board-space .board-13x13 td { height: 5vh; width: 5vh; } .bowl { order: -1; margin: 3vh; height: 10vh; width: 10vh; } .caps-space { color: #FFF; margin: 2vh; height: 7vh; width: 7vh; } } @media only screen and (min-width: 700px) { content { width: 700px; } #menu { grid-template-columns: 50vw; grid-template-rows: auto auto 50vw auto; } } @media only screen and (min-width: 900px) { #menu { grid-template-columns: 55vh; grid-template-rows: auto auto 55vh auto; } }