diff --git a/assets/images/Wolf_Logo.gif b/assets/images/Wolf_Logo.gif new file mode 100644 index 0000000..fe14c74 Binary files /dev/null and b/assets/images/Wolf_Logo.gif differ diff --git a/static/styles.css b/static/styles.css index 919e4ce..fa0d893 100644 --- a/static/styles.css +++ b/static/styles.css @@ -1 +1,956 @@ -@media(max-width: 750px) { .app-header { font-size: 45px; margin: 2em 0 0.5em 0; } .app-header-secondary { font-size: 35px; margin: 0.3em 0; } #main-buttons button { width: 11em; padding: 1.5em; } h3 { font-size: 20px; } .app-content { width: 92%; } .card { padding: 0.5em; width: 7em; height: 10.5em; font-size: 0.9em; margin: 0 0.7em 0.7em 0; } .modal { width: 92%; } .modal-content { width: 90%; } .modal-body { padding: 1em; } .modal-header { padding: 0 1em; } .modal-role { margin-right: 2em; } #learn-container { margin: 3em 1em; } } @media(min-width: 750.01px) { .app-header { font-size: 70px; margin: 0.5em 0; } .app-header-secondary { font-size: 50px; margin: 0.3em 0; } .card { width: 7em; height: 10.5em; padding: 1em; font-size: 1.1em; margin: 0.5em; } h3 { font-size: 30px; } .app-content { width: 80%; } #learn-container { margin: 3em; } .modal-body { padding: 2em 4em; } .modal { width: 92%; } .modal-content { width: 90%; } .modal-header { padding: 0 3em; } .modal-role { margin-right: 3em; } } @font-face { font-family: 'diavlo'; src: url("../assets/fonts/Diavlo_LIGHT_II_37.otf") format("opentype"); } @font-face { font-family: 'diavlo-bold'; src: url("../assets/fonts/Diavlo_BOOK_II_37.otf") format("opentype"); } @font-face { font-family: 'sitewide-sans-serif'; src: url("../assets/fonts/manrope-light.otf") format("opentype"); } html, body { margin: 0 auto; width: 100%; font-family: 'sitewide-sans-serif', sans-serif; } @keyframes fadein { from { opacity: 0; } to { opacity: 1; } } @keyframes slide-fade { from { opacity: 0; margin-right: 0.5em; } to { opacity: 1; margin-right: 0; } } .app-content { text-align: center; margin: 0 auto; } .app-title .app-header { width: 6em; display: flex; font-family: diavlo-bold, sans-serif; } .app-title { margin-top: 5em; display: flex; align-items: center; flex-direction: column; line-height: 0.95; } .app-title h1:nth-child(1) { margin: 0; animation: slide-fade 0.7s ease-in-out; animation-fill-mode: backwards; animation-direction: normal; } .app-title h1:nth-child(2) { margin: 0 0 0 1.5em; animation: slide-fade 0.7s ease-in-out; animation-delay: 0.4s; animation-fill-mode: backwards; animation-direction: normal; } .app-title .title-question-mark { color: #171469; } #footer { position: absolute; bottom: 0; margin: 0 0 1.5em 0; width: 100%; height: 5rem; font-size: 0.75em; text-align: center; align-items: center; display: flex; flex-direction: column; justify-content: center; } #footer div { display: flex; align-items: center; } #footer p { margin: 0 0 0 1em; color: gray; } #footer a { color: #bd2a2a; text-decoration: #bd2a2a; cursor: pointer; margin: 0 0 0 1em; } #footer a:hover { color: rgba(23, 20, 105, 0.4); } .app-header, .app-header-secondary { font-family: 'diavlo', sans-serif; color: #7d0b0b; } h3 { color: gray; } button { font-family: 'sitewide-sans-serif', sans-serif; } .error { border: 1px solid #bd2a2a !important; background-color: rgba(189, 42, 42, 0.1) !important; } #join-error, #name-error, #size-error { color: #bd2a2a; font-size: 0.9em; height: 2em; margin: 0; font-weight: bold; } #join-game-container span { display: flex; flex-direction: column; } #join-game-container form { margin-bottom: 2em; } #join-game-container input[type=text], #create-game-container input[type=text] { margin-right: 0.5em; margin-bottom: 0; } .app-btn { background-color: #f8f8f8; color: #171469; border: 1px solid #d3d3d3; width: 10em; padding: 1em; border-radius: 3px; margin-bottom: 1em; } .card { text-align: center; cursor: pointer; position: relative; color: gray; border: 1px solid black; box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.4); border-radius: 3px; user-select: none; } .card:hover { background-color: #e8e8e8; } .card-top { display: flex; align-items: flex-start; justify-content: space-between; height: 50%; border-bottom: 1px solid gray; } .card-bottom { display: flex; display: -webkit-flex; justify-content: flex-end; height: 50%; align-items: flex-start; } .card-top p { margin: 0; font-size: 2.5em; pointer-events: none; } .card-top p.card-role { font-size: 1em; pointer-events: none; } .card-bottom p { pointer-events: none; font-size: 3em; margin: 0; } .card-quantity { pointer-events: none; font-weight: bold; color: #7d0b0b; font-size: 2.5em; margin: 0; position: absolute; left: 0; right: 0; top: 32%; width: 1.5em; background-color: white; margin-left: auto; margin-right: auto; } .card:hover .card-quantity, .card:active .card-quantity { background-color: #e8e8e8; } .card-role { color: gray; margin: 0; } #card-select { display: flex; display: -webkit-flex; -webkit-flex-wrap: wrap; margin-bottom: 3em; justify-content: center; } .app-btn-secondary { background-color: white; border-radius: 3px; color: #7d0b0b; border: 1px solid #7d0b0b; width: 10em; padding: 0.5em; margin-right: 1em; } .app-btn:hover, .app-btn:focus { cursor: pointer; background-color: rgba(23, 20, 105, 0.15); } .app-btn-secondary:hover, .app-btn-secondary:focus { cursor: pointer; background-color: rgba(0, 0, 0, 0.15); } #main-buttons { margin-top: 4em; display: flex; flex-direction: column; align-items: center; justify-content: center; } #card-select-header { display: flex; justify-content: center; margin-bottom: 1em; flex-direction: column; } #card-select-header h3 { margin: 0; font-size: 1.2em; color: #7d0b0b; } #card-select-header button { margin-right: 1em; width: 10em; padding: 0.8em; } #card-select-header span { display: flex; align-items: center; } #reset-btn { /*background-color: transparent;*/ /*color: #7d0b0b;*/ /*border-radius: 5px;*/ /*border: 1px solid #7d0b0b;*/ /*width: 8em;*/ /*padding: 0.5em;*/ /*margin: 0 1em 0 0;*/ /*cursor: pointer;*/ } #reset-btn:hover { background-color: rgba(24, 9, 82, 0.15); } #create-game-container, #join-game-container { display: inline-block; text-align: left; margin: 3em 0.5em; } #create-game-container button { margin-right: 1em; } #game-size { border-radius: 5px; padding: 0.3em 0.5em; margin-right: 0.5em !important; } #create-game-container, #lobby-container, #join-game-container, #game-container, #launch, #message-box { animation: fadein 0.8s ease-in; } a { text-decoration: none; color: inherit; } input[type=text] { background-color: transparent; border: 1px solid #171469; caret-color: gray; margin: 0.5em 0 1em 0; color: gray; padding: 0.7em; height: 1.2em; width: 9em; border-radius: 5px; font-size: 1.1em; } input[type=number] { background-color: transparent; border: 1px solid #171469; border-radius: 5px; caret-color: gray; margin: 0.5em 0 1em 0; color: gray; padding: 0.7em; height: 1.2em; width: 4em; font-size: 1.1em; } input[type=text]:hover { background-color: rgba(23, 20, 105, 0.15); } label { margin-bottom: 1em; font-size: 1em; display: flex; flex-direction: column; } #message-box { height: 2em; max-width: 25em; margin: 1em auto; border-bottom: 1px solid #7d0b0b; padding: 0.5em; } /* lobby */ #lobby-container { padding: 1em; max-width: 26em; margin: 0 auto; } .lobby-player { color: #7d0b0b; border-radius: 3px; font-size: 1em; background-color: rgba(23, 20, 105, 0.1); padding: 0.3em; margin: 0.5em 0; text-align: left; box-shadow: 2px 2px 7px rgba(0, 0, 0, 0.3); } #game-code { font-family: "Courier New", serif; } .highlighted { border: 2px solid #7d0b0b; } .disabled { opacity: 0.7; color: gray; background-color: white; border: 1px solid gray; pointer-events: none; } .hidden { display: none; } #lobby-subheader { text-align: left; margin-bottom: 2em; } #join-count, #deck-size { font-size: 1.5em; } .lobby-player p { margin: 0; } #launch-btn { margin-top: 2em; } /* GAME */ @keyframes flip-up { 0% { transform: rotateY(0deg); } 100% { transform: rotateY(-180deg); } } @keyframes flip-down { 0% { transform: rotateY(0deg); } 100% { transform: rotateY(180deg); } } #game-card { background-color: transparent; display: flex; flex-direction: column; cursor: pointer; justify-content: space-between; max-width: 17em; border-radius: 3px; height: 23em; margin: 0 auto 2em auto; width: 72%; box-shadow: 0 13px 17px rgba(0,0,0,0.6); perspective: 1000px; transform-style: preserve-3d; } #game-card img { width: 250px; top: 20px; position: absolute; z-index: 4; } .placeholder { width: 150px; height: 150px; } .village h2 { color: #171469; } .wolf h2 { color: #7d0b0b; } .flip-up { animation: flip-up 0.7s; animation-fill-mode: forwards; animation-direction: reverse; } .flip-down { animation: flip-down 0.7s; animation-fill-mode: forwards; } #game-card h2 { font-size: 1.7em; font-family: 'diavlo', sans-serif; margin: 0.3em 0 0.4em 0; } #game-card p { padding: 0.5em; font-size: 0.7em; } .game-container { margin-top: 1em; } /* This container is needed to position the front and back side */ .game-card-inner { position: relative; width: 95%; height: 97%; margin: auto auto; border-radius: 3px; text-align: center; border: 2px solid rgba(59, 59, 59, 0.5); } /* Position the front and back side */ .game-card-front, .game-card-back { background-color: #f0f0f0; position: absolute; display: flex; flex-direction: column; justify-content: space-between; align-items: center; width: 100%; height: 100%; -webkit-perspective: 0; -webkit-backface-visibility: hidden; -webkit-transform: translate3d(0,0,0); visibility:visible; backface-visibility: hidden; } .game-card-back { transform: rotateY(180deg); } .game-card-front p:first-of-type { margin: 0.7em; border: 1px solid gray; border-radius: 3px; } .killed-btn { border-radius: 5px; width: 13em; font-size: 1em; margin: 0 } #players-remaining { font-size: 1.5em; color: gray; width: 6em; margin-bottom: 0.5em; } #clock { font-size: 1.5em; width: 3.8em; margin-bottom: 0.5em; } #flip-instruction { color: gray; margin: 0; } #game-header { display: flex; margin: 0 auto; max-width: 35em; justify-content: center; } #play-pause { width: 2.5em; height: 2.5em; cursor: pointer; } #play-pause:hover { opacity: 0.5; } #play-pause:hover { } #play-pause:active, #play-pause:focus { opacity: 0.4; transform: scale(0.90); } /* end splash */ #end-container { margin: 0 auto; display: inline-block; text-align: left; } #end-container .winner-header { display: flex; align-items: center; margin: 0; font-size: 30px; } #end-container .evil-subheader { font-family: 'diavlo', sans-serif; color: #7d0b0b; margin: 0 0.3em; font-size: 1.5em; } #end-container .evil-header { display: flex; align-items: center; font-size: 20px; margin-bottom: 2em; } #end-container p { font-weight: bold; margin-right: 0.3em; font-size: 50px; } #end-container button { margin-top: 3em; } #end-container .winner-village { font-family: 'diavlo', sans-serif; color: #171469; } #end-container .winner-wolf { font-family: 'diavlo', sans-serif; color: #7d0b0b; } #learn-container h2 { font-family: 'diavlo', sans-serif; color: #7d0b0b; font-size: 40px; } #learn-container button { margin-top: 1em; } #roles { display: flex; flex-wrap: wrap; } .modal-role { width: 22em; position: relative; } .modal-role p:first-of-type { margin-top: 0; color: gray; } .modal-role h2 { margin-bottom: 0; } .modal-role img { position: absolute; top: -10px; left: 110px; } .modal { position: fixed; z-index: 1; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; background-color: rgb(0,0,0); background-color: rgba(0,0,0,0.4); } .modal-header { border-radius: 5px; display: flex; justify-content: space-between; background-color: white; color: gray; } .modal-header h2 { margin-top: 2em; margin-bottom: 0; color: black; } .modal-footer { padding: 1em; background-color: white; color: white; } .modal-content { border-radius: 5px; position: relative; background-color: #fefefe; margin: 1em auto; padding: 0; border: 1px solid #888; box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19); animation-name: animatetop; animation-duration: 0.4s } .role-wolf { color: #7d0b0b; font-family: 'diavlo', sans-serif; } .role-village { color: #171469; font-family: 'diavlo', sans-serif; } .quantity-village { color: #171469; } .quantity-wolf { color: #7d0b0b; } @keyframes animatetop { from {top: -300px; opacity: 0} to {top: 0; opacity: 1} } .close { margin-top: 0.2em; color: black; float: right; font-size: 46px; height: 1em; display: flex; align-items: center; font-weight: bold; } .close:hover, .close:focus { color: black; text-decoration: none; cursor: pointer; } \ No newline at end of file +@media(max-width: 750px) { + .app-header { + font-size: 45px; + margin: 2em 0 0.5em 0; + } + + .app-header-secondary { + font-size: 35px; + margin: 0.3em 0; + } + + h3 { + font-size: 20px; + } + + .app-content { + width: 92%; + } + + .card { + padding: 0.5em; + width: 8em; + height: 11.5em; + font-size: 0.9em; + } + + .modal { + width: 92%; + } + + .modal-content { + width: 90%; + } + + .modal-body { + padding: 1em; + } + + .modal-header { + padding: 0 1em; + } + + .modal-role { + margin-right: 2em; + } + + #learn-container { + margin: 3em 1em; + } + + .app-title img { + width: 27em; + } +} + +@media(min-width: 750.01px) { + .app-header { + font-size: 70px; + margin: 0.5em 0; + } + + .app-header-secondary { + font-size: 50px; + margin: 0.3em 0; + } + + .card { + width: 7em; + height: 10.5em; + padding: 1em; + font-size: 1.1em; + margin: 0.5em; + } + + h3 { + font-size: 30px; + } + + .app-content { + width: 80%; + } + + #learn-container { + margin: 3em; + } + + .modal-body { + padding: 2em 4em; + } + + .modal { + width: 92%; + } + + .modal-content { + width: 90%; + } + + .modal-header { + padding: 0 3em; + } + + .modal-role { + margin-right: 3em; + } + + .app-title img { + width: 35em; + } + + #main-buttons a { + max-width: 15em; + } + + #card-select { + justify-content: flex-start; + } + +} + +@font-face { + font-family: 'diavlo'; + src: url("../assets/fonts/Diavlo_LIGHT_II_37.otf") format("opentype"); +} + +@font-face { + font-family: 'diavlo-bold'; + src: url("../assets/fonts/Diavlo_BOOK_II_37.otf") format("opentype"); +} + +@font-face { + font-family: 'sitewide-sans-serif'; + src: url("../assets/fonts/manrope-light.otf") format("opentype"); +} + +html, body { + margin: 0 auto; + width: 100%; + font-family: 'sitewide-sans-serif', sans-serif; +} + +@keyframes fadein { + from { + opacity: 0; + + } + to { + opacity: 1; + } +} + +@keyframes slide-fade { + from { + opacity: 0; + margin-right: 0.5em; + + } + to { + opacity: 1; + margin-right: 0; + } +} + +.app-content { + text-align: center; + margin: 0 auto; +} + +.app-title .app-header { + width: 6em; + display: flex; + font-family: diavlo-bold, sans-serif; +} + +.app-title { + display: flex; + align-items: center; + flex-direction: column; + line-height: 0.95; +} + +.app-title h1:nth-child(1) { + margin: 0; + animation: slide-fade 0.7s ease-in-out; + animation-fill-mode: backwards; + animation-direction: normal; +} + +.app-title h1:nth-child(2) { + margin: 0 0 0 1.5em; + animation: slide-fade 0.7s ease-in-out; + animation-delay: 0.4s; + animation-fill-mode: backwards; + animation-direction: normal; +} + +.app-title .title-question-mark { + color: #171469; +} + +#footer { + position: absolute; + bottom: 0; + width: 100%; + height: 5rem; + font-size: 0.75em; + text-align: center; + align-items: center; + display: flex; + flex-direction: column; + justify-content: center; +} + +#footer div { + display: flex; + align-items: center; +} + +#footer p { + margin: 0 0 0 1em; + color: gray; +} + +#footer a { + color: #bd2a2a; + text-decoration: #bd2a2a; + cursor: pointer; + margin: 0 0 0 1em; +} + +#footer a:hover { + color: rgba(23, 20, 105, 0.4); +} + +.app-header, .app-header-secondary { + font-family: 'diavlo', sans-serif; + color: #7d0b0b; +} + +h3 { + color: gray; +} + +button { + font-family: 'sitewide-sans-serif', sans-serif; +} + +.error { + border: 1px solid #bd2a2a !important; + background-color: rgba(189, 42, 42, 0.1) !important; +} + +#join-error, #name-error, #size-error { + color: #bd2a2a; + font-size: 0.9em; + height: 2em; + margin: 0; + font-weight: bold; +} + +#join-game-container span { + display: flex; + flex-direction: column; +} + +#join-game-container form { + margin-bottom: 2em; +} + +#join-game-container input[type=text], #create-game-container input[type=text] { + margin-right: 0.5em; + margin-bottom: 0; +} + +.app-btn { + background-color: #f8f8f8; + color: #171469; + border: 1px solid #d3d3d3; + width: 10em; + padding: 1em; + border-radius: 3px; + margin-bottom: 1em; +} + +.card { + text-align: center; + cursor: pointer; + position: relative; + margin: 0.3em; + color: gray; + border: 1px solid black; + box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.4); + border-radius: 3px; + user-select: none; +} + +.card:hover { + background-color: #e8e8e8; +} + +.card-top { + display: flex; + align-items: flex-start; + justify-content: space-between; + height: 50%; + border-bottom: 1px solid gray; +} + +.card-bottom { + display: flex; + display: -webkit-flex; + justify-content: flex-end; + height: 50%; + align-items: flex-start; +} + +.card-top p { + margin: 0; + font-size: 2.5em; + pointer-events: none; +} + +.card-top p.card-role { + font-size: 1em; + pointer-events: none; +} + +.card-bottom p { + pointer-events: none; + font-size: 3em; + margin: 0; +} + +.card-quantity { + pointer-events: none; + font-weight: bold; + color: #7d0b0b; + font-size: 2.5em; + margin: 0; + position: absolute; + left: 0; + right: 0; + top: 32%; + width: 1.5em; + background-color: white; + margin-left: auto; + margin-right: auto; +} + +.card:hover .card-quantity, .card:active .card-quantity { + background-color: #e8e8e8; +} + +.card-role { + color: gray; + margin: 0; +} + +#card-select { + display: flex; + display: -webkit-flex; + -webkit-flex-wrap: wrap; + margin-bottom: 3em; +} + +.app-btn-secondary { + background-color: white; + border-radius: 3px; + color: #7d0b0b; + border: 1px solid #7d0b0b; + width: 10em; + padding: 0.5em; + margin-right: 1em; +} + +@keyframes press-down { + from { box-shadow: 3px 3px 8px rgba(0, 0, 0, 0.4); } + to { box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.5); } +} + +.app-btn:hover, .app-btn:focus { + cursor: pointer; + background-color: rgba(23, 20, 105, 0.15); +} + +#main-buttons .app-btn:hover, #main-buttons .app-btn:focus { + box-shadow: none !important; + cursor: pointer; + background-color: rgba(23, 20, 105, 0.15); + animation: press-down 0.1s; + animation-fill-mode: forwards; + animation-direction: normal; +} + +.app-btn-secondary:hover, .app-btn-secondary:focus { + cursor: pointer; + background-color: rgba(0, 0, 0, 0.15); +} + +#main-buttons { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; +} + +#main-buttons button { + width: 100%; + padding: 1.2em; + font-size: 1em; + box-shadow: 2px 3px 8px rgba(0, 0, 0, 0.4); + color: #7d0b0b; +} + +#main-buttons a { + width: 75%; +} + +#card-select-header { + display: flex; + width: 100%; + justify-content: center; + margin-bottom: 1em; + flex-direction: column; +} + +#card-select-header h3 { + margin: 0; + font-size: 1.2em; + color: #7d0b0b; +} + +#create-game-container button { + width: 50%; + padding: 0.8em; + height: 4em; + max-width: 15em; +} + +#game-start a button { + width: 100%; +} + +#game-start { + display: flex; + width: 100%; + margin-bottom: 2em; +} + +#game-start a { + width: 50%; + margin-right: 0.3em; + max-width: 12em; +} + +#game-start button { + margin-left: 0.3em; +} + +#game-start a button { + margin-right: 0.3em; + margin-left: 0; +} + +#card-select-header button:nth-child(1) { + margin-right: 0.3em; +} + +#card-select-header button:nth-child(2) { + margin-left: 0.3em; +} + +#card-select-header span { + display: flex; + align-items: center; +} + +#reset-btn { + /*background-color: transparent;*/ + /*color: #7d0b0b;*/ + /*border-radius: 5px;*/ + /*border: 1px solid #7d0b0b;*/ + /*width: 8em;*/ + /*padding: 0.5em;*/ + /*margin: 0 1em 0 0;*/ + /*cursor: pointer;*/ +} + +#reset-btn:hover { + background-color: rgba(24, 9, 82, 0.15); +} + +#create-game-container, #join-game-container { + display: inline-block; + text-align: left; + margin: 3em 0.5em; +} + +#game-size { + border-radius: 5px; + padding: 0.3em 0.5em; + margin-right: 0.5em !important; +} + +#create-game-container, #lobby-container, #join-game-container, #game-container, #launch, #message-box { + animation: fadein 0.8s ease-in; +} + +a { + text-decoration: none; + color: inherit; +} + +input[type=text] { + background-color: transparent; + border: 1px solid #171469; + caret-color: gray; + margin: 0.5em 0 1em 0; + color: gray; + padding: 0.9em; + height: 1.2em; + width: 12em; + border-radius: 5px; + font-size: 1.1em; +} + +input[type=number] { + background-color: transparent; + border: 1px solid #171469; + border-radius: 5px; + caret-color: gray; + margin: 0.5em 0 1em 0; + color: gray; + padding: 0.9em; + height: 1.2em; + width: 5em; + font-size: 1.1em; +} + +input[type=text]:hover { + background-color: rgba(23, 20, 105, 0.15); +} + +label { + margin-bottom: 1em; + font-size: 1em; + display: flex; + flex-direction: column; +} + +#message-box { + height: 2em; + max-width: 25em; + margin: 1em auto; + border-bottom: 1px solid #7d0b0b; + padding: 0.5em; +} + + +/* lobby */ + +#lobby-container { + padding: 1em; + max-width: 26em; + margin: 0 auto; +} + +.lobby-player { + color: #7d0b0b; + border-radius: 3px; + font-size: 1em; + background-color: rgba(23, 20, 105, 0.1); + padding: 0.3em; + margin: 0.5em 0; + text-align: left; + box-shadow: 2px 2px 7px rgba(0, 0, 0, 0.3); +} + +#game-code { + font-family: "Courier New", serif; +} + +.highlighted { + border: 2px solid #7d0b0b; +} + +.disabled { + opacity: 0.7; + color: gray; + background-color: white; + border: 1px solid gray; + pointer-events: none; + +} + +.hidden { + display: none; +} + +#lobby-subheader { + text-align: left; + margin-bottom: 2em; +} + +#join-count, #deck-size { + font-size: 1.5em; +} + +.lobby-player p { + margin: 0; +} + +#launch-btn { + margin-top: 2em; +} + +/* GAME */ + +@keyframes flip-up { + 0% { + transform: rotateY(0deg); + } + 100% { + transform: rotateY(-180deg); + } +} + +@keyframes flip-down { + 0% { + transform: rotateY(0deg); + } + 100% { + transform: rotateY(180deg); + } +} + + +#game-card { + background-color: transparent; + display: flex; + flex-direction: column; + cursor: pointer; + justify-content: space-between; + max-width: 17em; + border-radius: 3px; + height: 23em; + margin: 0 auto 2em auto; + width: 72%; + box-shadow: 0 13px 17px rgba(0,0,0,0.6); + perspective: 1000px; + transform-style: preserve-3d; +} + +#game-card img { + width: 250px; + top: 20px; + position: absolute; + z-index: 4; +} + +.placeholder { + width: 150px; + height: 150px; +} + +.village h2 { + color: #171469; +} + +.wolf h2 { + color: #7d0b0b; +} + +.flip-up { + animation: flip-up 0.7s; + animation-fill-mode: forwards; + animation-direction: reverse; +} + +.flip-down { + animation: flip-down 0.7s; + animation-fill-mode: forwards; +} + +#game-card h2 { + font-size: 1.7em; + font-family: 'diavlo', sans-serif; + margin: 0.3em 0 0.4em 0; +} + +#game-card p { + padding: 0.5em; + font-size: 0.7em; +} + +.game-container { + margin-top: 1em; +} + +/* This container is needed to position the front and back side */ +.game-card-inner { + position: relative; + width: 95%; + height: 97%; + margin: auto auto; + border-radius: 3px; + text-align: center; + border: 2px solid rgba(59, 59, 59, 0.5); +} + +/* Position the front and back side */ +.game-card-front, .game-card-back { + background-color: #f0f0f0; + position: absolute; + display: flex; + flex-direction: column; + justify-content: space-between; + align-items: center; + width: 100%; + height: 100%; + -webkit-perspective: 0; + -webkit-backface-visibility: hidden; + -webkit-transform: translate3d(0,0,0); + visibility:visible; + backface-visibility: hidden; +} + +.game-card-back { + transform: rotateY(180deg); +} + +.game-card-front p:first-of-type { + margin: 0.7em; + border: 1px solid gray; + border-radius: 3px; +} + +.killed-btn { + border-radius: 5px; + width: 13em; + font-size: 1em; + margin: 0 +} + +#players-remaining { + font-size: 1.5em; + color: gray; + width: 6em; + margin-bottom: 0.5em; +} + +#clock { + font-size: 1.5em; + width: 3.8em; + margin-bottom: 0.5em; +} + +#flip-instruction { + color: gray; + margin: 0; +} + +#game-header { + display: flex; + margin: 0 auto; + max-width: 35em; + justify-content: center; +} + +#play-pause { + width: 2.5em; + height: 2.5em; + cursor: pointer; +} + +#play-pause:hover { + opacity: 0.5; +} + +#play-pause:hover { +} + +#play-pause:active, #play-pause:focus { + opacity: 0.4; + transform: scale(0.90); +} + +/* end splash */ + +#end-container { + margin: 0 auto; + display: inline-block; + text-align: left; +} + +#end-container .winner-header { + display: flex; + align-items: center; + margin: 0; + font-size: 30px; +} + +#end-container .evil-subheader { + font-family: 'diavlo', sans-serif; + color: #7d0b0b; + margin: 0 0.3em; + font-size: 1.5em; +} + +#end-container .evil-header { + display: flex; + align-items: center; + font-size: 20px; + margin-bottom: 2em; +} + + +#end-container p { + font-weight: bold; + margin-right: 0.3em; + font-size: 50px; +} + +#end-container button { + margin-top: 3em; +} + +#end-container .winner-village { + font-family: 'diavlo', sans-serif; + color: #171469; +} + +#end-container .winner-wolf { + font-family: 'diavlo', sans-serif; + color: #7d0b0b; +} + +#learn-container h2 { + font-family: 'diavlo', sans-serif; + color: #7d0b0b; + font-size: 40px; +} + +#learn-container button { + margin-top: 1em; +} + +#roles { + display: flex; + flex-wrap: wrap; +} + +.modal-role { + width: 22em; + position: relative; +} + +.modal-role p:first-of-type { + margin-top: 0; + color: gray; +} + +.modal-role h2 { + margin-bottom: 0; +} + +.modal-role img { + position: absolute; + top: -10px; + left: 110px; +} + +.modal { + position: fixed; + z-index: 1; + left: 0; + top: 0; + width: 100%; + height: 100%; + overflow: auto; + background-color: rgb(0,0,0); + background-color: rgba(0,0,0,0.4); +} + +.modal-header { + border-radius: 5px; + display: flex; + justify-content: space-between; + background-color: white; + color: gray; +} + +.modal-header h2 { + margin-top: 2em; + margin-bottom: 0; + color: black; +} + +.modal-footer { + padding: 1em; + background-color: white; + color: white; +} + +.modal-content { + border-radius: 5px; + position: relative; + background-color: #fefefe; + margin: 1em auto; + padding: 0; + border: 1px solid #888; + box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19); + animation-name: animatetop; + animation-duration: 0.4s +} + +.role-wolf { + color: #7d0b0b; + font-family: 'diavlo', sans-serif; +} + +.role-village { + color: #171469; + font-family: 'diavlo', sans-serif; +} + +.quantity-village { + color: #171469; +} + +.quantity-wolf { + color: #7d0b0b; +} + +@keyframes animatetop { + from {top: -300px; opacity: 0} + to {top: 0; opacity: 1} +} + +.close { + margin-top: 0.2em; + color: black; + float: right; + font-size: 46px; + height: 1em; + display: flex; + align-items: center; + font-weight: bold; +} + +.close:hover, +.close:focus { +color: black; +text-decoration: none; +cursor: pointer; +} diff --git a/views/create_game.html b/views/create_game.html index ff8e44f..aed5ad8 100644 --- a/views/create_game.html +++ b/views/create_game.html @@ -46,10 +46,12 @@