* { margin: 0; padding: 0; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } html { font-size: 100%; overflow-y: auto; -webkit-overflow-scrolling: touch; -webkit-tap-highlight-color: transparent; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; } ::-moz-selection { background: #261e26; color: #fefefe; text-shadow: none; } ::selection { background: #261e26; color: #fefefe; text-shadow: none; } .clearfix:before, .clearfix:after { content: " "; display: table; } .clearfix:after { clear: both; } .clearfix { zoom: 1; } footer, header, section { display: block; } body, html { color: #424242; font-family: 'Open Sans', sans-serif; background: #fefefe; font-size: 16px; line-height: 1.5; font-weight: 400; } a { font-size: 1rem; color: #299cad; text-decoration: underline; } a:hover { color: #2eafc2; text-decoration: none; -moz-transition: all 0.2s ease-in-out; -webkit-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; -ms-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; } a:focus { outline: none; } p { text-align: left; margin-bottom: 1em; font-size: 1rem; } h1.knight { height: 45px; width: 45px; background: url("../images/king.svg") no-repeat; margin: 50px auto 10px; } h2 { font-weight: 400; font-size: 2rem; text-align: center; color: #423443; margin-bottom: 0.5em; } h3 { font-weight: 600; font-size: 1.5rem; margin: 1em 0 0.5em 0; color: #503f51; } .alpha { font-size: 1.125rem; } .center { text-align: center !important; } .margin-fifty { margin: 50px 0; } .last-origin { background: #8cd8e4 !important; } .last-target { background: #77d1df !important; } #modal-mask, #offer-mask { display: none; cursor: pointer; position: fixed; top: 0; height: 100%; width: 100%; background: #444; background: rgba(0, 0, 0, 0.7); z-index: 10; } #modal-mask > p, #offer-mask > p { color: #eee; margin: 2em; } #modal-mask > p strong, #offer-mask > p strong { color: #fff; } #modal-window, #offer-window { width: 420px; height: 180px; position: fixed; background: #fff; top: 50%; left: 50%; margin-left: -210px; margin-top: -90px; border: 8px solid #5e4a60; box-shadow: 0 10px 30px #333; cursor: auto; z-index: 15; } #modal-window p, #offer-window p { text-align: center; padding: 1.5em; } #modal-window .button:active, #offer-window .button:active { top: auto; bottom: calc(1em + 1px); } #modal-window .button { position: absolute; left: 50%; bottom: 1em; margin-left: -60px; } #offer-window .button { position: absolute; bottom: 1em; } #offer-window #offer-accept { right: 4em; } #offer-window #offer-decline { left: 4em; } .chat { text-decoration: none; color: #777; margin-right: 1em; line-height: 50px; float: right !important; cursor: pointer; font-weight: 600; } .chat:hover { color: #cecece; } .chat:hover .new-message { color: #d12521; } .chat img { vertical-align: middle; } .chat .new-message { color: #d12521; padding-right: 1em; } header { margin: 0 auto; max-width: 800px; width: 100%; height: 50px; } #clock { width: 148px; height: 50px; position: absolute; text-align: center; border: 4px solid #e6e3e0; } #clock li { width: 70px; display: inline-block; line-height: 42px; opacity: .9; position: absolute; } #clock li.white { left: 0; color: #424242; background: #fff; } #clock li.black { right: 0; color: #fff; background: #424242; } #clock li.ticking { z-index: 1; font-size: 1.125rem; opacity: 1; box-shadow: 0 0 5px #e6e3e0; -webkit-transform: scale(1.2); -moz-transform: scale(1.2); -o-transform: scale(1.2); -ms-transform: scale(1.2); transform: scale(1.2); -moz-transition: all 0.2s ease-in-out; -webkit-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; -ms-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; } span#game-type { position: absolute; line-height: 50px; margin-left: 175px; opacity: 0.9; } #container_wrapper { max-width: 960px; width: 100%; height: auto; padding: 1em 2em; margin: 0 auto; clear: both; } #container { width: 100%; min-height: 600px; margin: 0px 0px 20px 0px; float: left; } #form { width: 100%; height: 200px; margin: 0 auto; } #form fieldset { border: 0; text-align: left; margin-top: 1em; margin-left: 250px; width: 80%; } #form fieldset input { margin-left: 1em; width: 70px; outline: none; height: 40px; line-height: 30px; padding-left: 1em; font-size: 1.125rem; color: #424242; border: 2px solid #2b222c; } #form fieldset label { position: relative; } #form fieldset label:before { position: absolute; content: ''; top: 0; right: 2em; margin-top: -2.5em; font-size: 0.75rem; } input.game_link { width: 70%; height: 50px; line-height: 50px; font-size: 1.125rem; color: #000; border: 2px solid #2b222c; padding: 0 1em; float: right; margin-right:80px; margin-bottom: 1em; } .game_link:hover { background: #f1f1f1; border: 2px solid #2b222c; -moz-transition: all 0.2s ease-in-out; -webkit-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; -ms-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; } .game_link:focus { color: #222; } .button { background: white; width: 15%; height: 50px; display: block; border: 2px solid #2b222c; font-size: 1.125rem; color: #000; cursor: pointer; float: right; position: relative; } .button:hover { background: #de322e; -moz-transition: all 0.2s ease-in-out; -webkit-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; -ms-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; } .button:active { top: 1px; } a.button { width: 120px; line-height: 46px; text-align: center; text-decoration: none; } a.button:hover { color: white; } .resign, .rematch { margin-right: 10px; } .button--red { background: white; border-color: #000; margin-right: 10px; } .button--red:hover { background: #de322e; -moz-transition: all 0.2s ease-in-out; -webkit-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; -ms-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; } .rematch { display: none; } p#waiting { font-size: 1.275rem; color: #bb211e; width: 100%; text-align: center; margin: 10px 0px; display: none; float: left; } footer { font-size: 1rem; width: 100%; line-height: 2em; text-align: center; background: #dad7d2; border-bottom: 4px solid #c3beb6; box-shadow: inset 0 -4px #c3beb6; } footer a { color: #6d665a; } footer a:hover { color: #7b7365; } #footer { margin: 0 auto; max-width: 960px; padding: 3em 2em 1em 2em; } #sounds_label { width: 800px; height: 30px; line-height: 30px; display: block; margin: 0px 0px 5px 0px; float: left; } /* Chat */ #chat-wrapper { display: none; position: absolute; width: 270px; right: 10px; top: 99px; border: 4px solid #fff; background: #e6e3e0; } #chat-wrapper h4 { font-size: 1.225rem; height: 3em; line-height: 3em; margin: 5px 5%; text-align: center; color: #423443; } #chat-wrapper a.close { position: absolute; top: 0; right: 0; background: #423443; color: #fff; font-size: 1.125rem; padding: 0 7px; text-decoration: none; font-weight: 600; margin: 1em 5%; cursor: pointer; } #chat-wrapper a.close:hover { text-decoration: none; background: #503f51; } #chat-wrapper > span { font-size: .9rem; margin: 5px 5%; display: block; } ul#chat { position: relative; top: 0; max-height: 300px; width: 100%; overflow-y: scroll; list-style-type: none; } ul#chat li { font-size: .9rem; padding: 10px; margin: 5px auto; width: 90%; border-radius: 5px; position: relative; } ul#chat li:before { position: absolute; content: ''; top: 10px; } ul#chat li.black { background: #424242; color: #fff; } ul#chat li.white { background: #fff; color: #444; } ul#chat li.left:before { left: 0; margin-left: -7px; border-bottom: 7px solid transparent; border-top: 7px solid transparent; } ul#chat li.black.left:before { border-right: 7px solid #424242; } ul#chat li.white.left:before { border-right: 7px solid #fff; } ul#chat li.right:before { right: 0; margin-right: -7px; border-bottom: 7px solid transparent; border-top: 7px solid transparent; } ul#chat li.black.right:before { border-left: 7px solid #424242; } ul#chat li.white.right:before { border-left: 7px solid #fff; } #sendMessage input { width: 100%; padding: 15px 10px; border: none; outline: none; font-size: .9rem; border: 4px solid #e6e3e0; } #sendMessage input.black { background: #444; color: #fff; } #sendMessage input.white { background: #fff; color: #444; } /* Captured pieces */ #captured-pieces { position: absolute; width: 100px; margin-left: -100px; font-size: 2rem; line-height: 2rem; height: 517px; overflow-y: auto; } #captured-pieces ul { width: 50px; min-height: 5px; float: left; display: block; text-align: center; } #captured-pieces ul li { list-style-type: none; } /* Chessboard */ #board_moves_wrapper { width: 100%; max-width: 800px; min-height: 600px; margin: 0 auto; } table#moves { overflow-x: hidden; overflow-y: auto; width: 270px; height: 518px; background: #e6e3e0; box-shadow: inset 0 -4px #dad7d2; margin-left: 10px; border-radius: 2px; border-bottom: 4px solid #dad7d2; display: block; float: left; } #moves thead { width: 270px; height: 3em; line-height: 3em; font-size: 1.225rem; color: #423443; float: left; text-align: center; } #moves thead th, #moves thead tr { width: 100%; text-align: center; float: left; } #moves tbody tr { width: 270px; float: left; } #moves tbody tr td { width: 105px; text-align: left; line-height: 20px; margin: 0 15px; float: left; } #board_wrapper { float: left; } .chess_board { border: 8px solid #5e4a60; border-radius: 2px; width: 500px; height: 500px; float: left; } .chess_board tr { width: 500px; height: 62.5px; float: left; display: block; } .chess_board tr td { width: 62.5px; height: 62.5px; line-height: 62.5px; text-align: center; background: #fefefe; display: block; float: left; } .chess_board tr td.moving { background: #ef9e9c !important; } .chess_board tr td a { width: 62.5px; height: 62.5px; font-size: 3.5rem; color: #424242; text-decoration: none; display: block; cursor: pointer; } .chess_board tr:nth-child(odd) td:nth-child(even), .chess_board tr:nth-child(even) td:nth-child(odd) { background: #dad7d2; } span.feedback { color: #424242; line-height: 28px; text-indent: 28px; margin-top: 1em; display: block; clear: left; float: left; } .feedback-status { font-weight: bold; } span.whitefeedback { background: url("../images/whiteking.png") 0% 50% no-repeat; } span.blackfeedback { background: url("../images/blackking.png") 0% 50% no-repeat; } span.promotion { line-height: 28px; text-indent: 28px; margin-top: 1em; display: block; float: right; } .chess_board td.selected { background: #ef9e9c !important; } /* Media queries */ @media only screen and (min-width: 760px) and (max-width: 900px) { header, #board_moves_wrapper { max-width: 760px; } #sounds_label { max-width: 530px; } #container_wrapper { max-width: 900px; padding: 1em 10px; } table#moves { margin-left: 0; float: right; height: 516px; } table#moves, #moves thead, #moves tbody tr { width: 200px; } #moves tbody tr td { width: 90px; margin: 0 5px; } } @media only screen and (min-width: 1400px) { #chat-wrapper { display: block; } } @media only screen and (max-width: 999px) { #captured-pieces { display: none; } } @media only screen and (min-width: 530px) and (max-width: 759px) { header, #board_moves_wrapper, #sounds_label { max-width: 530px; } } @media only screen and (max-width: 759px) { html { font-size: 14px; } #form fieldset { width: 100%; text-align: center; } #form fieldset label { display: block; line-height: 45px; padding-left: 0; } #form fieldset label:before { margin-left: -7em; margin-top: 0; right: auto; } span#game-type { display: none; } #container_wrapper { max-width: 759px; padding: 1em 5px; } span.feedback { float: right; clear: none; } table#moves { margin-left: 0; margin-top: 0.5em; height: 258px; } } @media only screen and (max-width: 529px) { header, #board_moves_wrapper, #sounds_label { max-width: 470px; } input.game_link { font-size: 1rem; } ul#clock { width: 118px; } ul#clock li { width: 55px; } #container_wrapper { max-width: 529px; padding: 1em 5px; } .chess_board { border: 4px solid #5e4a60; width: 456px; height: 456px; } .chess_board tr { width: 456px; height: 57px; } .chess_board tr td { width: 57px; height: 57px; line-height: 57px; } .chess_board tr td a { width: 57px; height: 57px; font-size: 3.5rem; } }