mirror of https://github.com/bra1n/townsquare.git
475 lines
12 KiB
SCSS
475 lines
12 KiB
SCSS
/*! HTML5 Boilerplate v7.3.0 | MIT License | https://html5boilerplate.com/ */
|
|
|
|
/* main.css 2.0.0 | MIT License | https://github.com/h5bp/main.css#readme */
|
|
/*
|
|
* What follows is the result of much research on cross-browser styling.
|
|
* Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
|
|
* Kroc Camen, and the H5BP dev community and team.
|
|
*/
|
|
|
|
/* ==========================================================================
|
|
Base styles: opinionated defaults
|
|
========================================================================== */
|
|
|
|
@font-face {font-family: "Papyrus";
|
|
src: url("../fonts/papyrus.eot"); /* IE9*/
|
|
src: url("../fonts/papyrus.eot?#iefix") format("embedded-opentype"), /* IE6-IE8 */
|
|
url("../fonts/papyrus.woff2") format("woff2"), /* chrome firefox */
|
|
url("../fonts/papyrus.woff") format("woff"), /* chrome firefox */
|
|
url("../fonts/papyrus.ttf") format("truetype"), /* chrome firefox opera Safari, Android, iOS 4.2+*/
|
|
url("../fonts/papyrus.svg#PapyrusW01") format("svg"); /* iOS 4.1- */
|
|
}
|
|
|
|
html, body {
|
|
font-size: 1.2em;
|
|
line-height: 1.4;
|
|
background: url('../img/background.jpg') center center;
|
|
background-size: cover;
|
|
color: white;
|
|
height: 100%;
|
|
font-family: 'Roboto Condensed', sans-serif;
|
|
-webkit-font-smoothing: subpixel-antialiased;
|
|
}
|
|
|
|
/*
|
|
* Remove text-shadow in selection highlight:
|
|
* https://twitter.com/miketaylr/status/12228805301
|
|
*
|
|
* Vendor-prefixed and regular ::selection selectors cannot be combined:
|
|
* https://stackoverflow.com/a/16982510/7133471
|
|
*
|
|
* Customize the background color to match your design.
|
|
*/
|
|
|
|
::-moz-selection {
|
|
background: #b3d4fc;
|
|
text-shadow: none;
|
|
}
|
|
|
|
::selection {
|
|
background: #b3d4fc;
|
|
text-shadow: none;
|
|
}
|
|
|
|
/*
|
|
* A better looking default horizontal rule
|
|
*/
|
|
|
|
hr {
|
|
display: block;
|
|
height: 1px;
|
|
border: 0;
|
|
border-top: 1px solid #ccc;
|
|
margin: 1em 0;
|
|
padding: 0;
|
|
}
|
|
|
|
/*
|
|
* Remove the gap between audio, canvas, iframes,
|
|
* images, videos and the bottom of their containers:
|
|
* https://github.com/h5bp/html5-boilerplate/issues/440
|
|
*/
|
|
|
|
audio,
|
|
canvas,
|
|
iframe,
|
|
img,
|
|
svg,
|
|
video {
|
|
vertical-align: middle;
|
|
}
|
|
|
|
/*
|
|
* Remove default fieldset styles.
|
|
*/
|
|
|
|
fieldset {
|
|
border: 0;
|
|
margin: 0;
|
|
padding: 0;
|
|
}
|
|
|
|
/*
|
|
* Allow only vertical resizing of textareas.
|
|
*/
|
|
|
|
textarea {
|
|
resize: vertical;
|
|
}
|
|
|
|
/* ==========================================================================
|
|
Browser Upgrade Prompt
|
|
========================================================================== */
|
|
|
|
.browserupgrade {
|
|
margin: 0.2em 0;
|
|
background: #ccc;
|
|
color: #000;
|
|
padding: 0.2em 0;
|
|
}
|
|
|
|
/* ==========================================================================
|
|
Author's custom styles
|
|
========================================================================== */
|
|
|
|
$token: 150px;
|
|
|
|
.square {
|
|
width: 100%;
|
|
height: 100%;
|
|
position: relative;
|
|
border-radius: 50%;
|
|
box-sizing: border-box;
|
|
padding: 20px;
|
|
|
|
// player circle
|
|
.circle {
|
|
background: url('../img/demon-head2.png') center center no-repeat;
|
|
background-size: 10%;
|
|
}
|
|
|
|
&.public .circle {
|
|
background-image: url('../img/demon-head.png');
|
|
}
|
|
|
|
// Player token
|
|
.player {
|
|
margin-bottom: 10px;
|
|
|
|
.shroud {
|
|
content: " ";
|
|
background: url('../img/shroud.png') center -10px no-repeat;
|
|
background-size: auto 100%;
|
|
position: absolute;
|
|
margin-left: -2/6 * $token;
|
|
width: 2/3 * $token;
|
|
height: 2/3 * $token;
|
|
left: 50%;
|
|
top: 0;
|
|
cursor: pointer;
|
|
opacity: 0;
|
|
transition: opacity 200ms;
|
|
z-index: 2;
|
|
&:hover { opacity: 1; }
|
|
}
|
|
|
|
&.dead .shroud { opacity: 1; }
|
|
&.dead .name { color: #999; }
|
|
}
|
|
|
|
&.public .player.dead {
|
|
.shroud { display: none; }
|
|
&:after {
|
|
background: url('../img/vote.png') center center no-repeat;
|
|
background-size: 40%;
|
|
height: $token + 3px;
|
|
}
|
|
&.traveller:after { filter: grayscale(100%); }
|
|
&.no-vote:after { display: none; }
|
|
}
|
|
|
|
// Role token
|
|
.token {
|
|
border-radius: 50%;
|
|
height: $token + 3px;
|
|
width: $token + 3px;
|
|
background: url('../img/token.png') center center;
|
|
background-size: 100%;
|
|
text-align: center;
|
|
position: relative;
|
|
color: black;
|
|
margin: auto;
|
|
font-weight: 600;
|
|
text-shadow:
|
|
-1px -1px 0 #fff,
|
|
1px -1px 0 #fff,
|
|
-1px 1px 0 #fff,
|
|
1px 1px 0 #fff,
|
|
0 0 5px rgba(0,0,0,0.75);
|
|
padding-top: $token * 0.7;
|
|
box-sizing: border-box;
|
|
font-family: 'Papyrus', serif;
|
|
border: 3px solid black;
|
|
box-shadow: 0 0 10px rgba(0,0,0,0.5);
|
|
cursor: pointer;
|
|
|
|
&:before {
|
|
content: " ";
|
|
background-size: 100%;
|
|
position: absolute;
|
|
width: 100%;
|
|
height: 100%;
|
|
left: 0;
|
|
top: 0;
|
|
}
|
|
|
|
span {
|
|
position: absolute;
|
|
width: 100%;
|
|
height: 100%;
|
|
background-size: 100%;
|
|
left: 0;
|
|
top: 0;
|
|
pointer-events: none;
|
|
&.leaf-left { background-image: url('../img/leaf-left.png'); }
|
|
&.leaf-orange { background-image: url('../img/leaf-orange.png'); }
|
|
&.leaf-right { background-image: url('../img/leaf-right.png'); }
|
|
&.leaf-top1 { background-image: url('../img/leaf-top1.png'); }
|
|
&.leaf-top2 { background-image: url('../img/leaf-top2.png'); }
|
|
&.leaf-top3 { background-image: url('../img/leaf-top3.png'); }
|
|
&.leaf-top4 { background-image: url('../img/leaf-top4.png'); }
|
|
&.leaf-top5 { background-image: url('../img/leaf-top5.png'); }
|
|
}
|
|
}
|
|
|
|
&.public .token {
|
|
background-image: url('../img/life.png');
|
|
&:before, &:after, span { display: none; }
|
|
}
|
|
|
|
&.public .player.dead .token {
|
|
background-image: url('../img/death.png');
|
|
}
|
|
|
|
&.public .player.traveller .token {
|
|
filter: grayscale(100%);
|
|
}
|
|
|
|
// Player name
|
|
.name {
|
|
font-size: 120%;
|
|
line-height: 120%;
|
|
text-shadow:
|
|
-2px -2px 0 #000,
|
|
2px -2px 0 #000,
|
|
-2px 2px 0 #000,
|
|
2px 2px 0 #000,
|
|
0 0 10px rgba(0,0,0,0.75);
|
|
}
|
|
|
|
// Reminder token
|
|
.reminder {
|
|
background: url('../img/reminder.png') center center;
|
|
background-size: 100%;
|
|
width: $token / 2;
|
|
height: $token / 2;
|
|
color: black;
|
|
font-size: 50%;
|
|
font-weight: bold;
|
|
display: block;
|
|
margin: 5px ($token / -4) 0;
|
|
text-align: center;
|
|
position: relative;
|
|
box-sizing: border-box;
|
|
padding-top: $token * 0.3;
|
|
border-radius: 50%;
|
|
border: 3px solid black;
|
|
box-shadow: 0 0 10px rgba(0,0,0,0.5);
|
|
transition: opacity 200ms;
|
|
cursor: pointer;
|
|
|
|
&:before, &:after {
|
|
content: " ";
|
|
position: absolute;
|
|
left: 0;
|
|
top: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
background-size: 100%;
|
|
background-position: center 0;
|
|
background-repeat: no-repeat;
|
|
background-image: url('../img/icon-plus.png');
|
|
transition: opacity 200ms;
|
|
}
|
|
|
|
&:after {
|
|
background-image: url('../img/icon-x.png');
|
|
opacity: 0;
|
|
}
|
|
|
|
&.add {
|
|
opacity: 0;
|
|
&:after { display: none; }
|
|
}
|
|
|
|
&:hover:before { opacity: 0; }
|
|
&:hover:after { opacity: 1; }
|
|
}
|
|
.circle li:hover .reminder.add, { opacity: 1; }
|
|
.circle li:hover .reminder.add:before { opacity: 1; }
|
|
|
|
&.public .reminder { display: none; }
|
|
|
|
// Controls
|
|
.controls {
|
|
position: absolute;
|
|
right: 0;
|
|
top: 0;
|
|
}
|
|
}
|
|
|
|
/* ==========================================================================
|
|
Helper classes
|
|
========================================================================== */
|
|
|
|
/*
|
|
* Hide visually and from screen readers
|
|
*/
|
|
|
|
.hidden {
|
|
display: none !important;
|
|
}
|
|
|
|
/*
|
|
* Hide only visually, but have it available for screen readers:
|
|
* https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
|
|
*
|
|
* 1. For long content, line feeds are not interpreted as spaces and small width
|
|
* causes content to wrap 1 word per line:
|
|
* https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
|
|
*/
|
|
|
|
.sr-only {
|
|
border: 0;
|
|
clip: rect(0, 0, 0, 0);
|
|
height: 1px;
|
|
margin: -1px;
|
|
overflow: hidden;
|
|
padding: 0;
|
|
position: absolute;
|
|
white-space: nowrap;
|
|
width: 1px;
|
|
/* 1 */
|
|
}
|
|
|
|
/*
|
|
* Extends the .sr-only class to allow the element
|
|
* to be focusable when navigated to via the keyboard:
|
|
* https://www.drupal.org/node/897638
|
|
*/
|
|
|
|
.sr-only.focusable:active,
|
|
.sr-only.focusable:focus {
|
|
clip: auto;
|
|
height: auto;
|
|
margin: 0;
|
|
overflow: visible;
|
|
position: static;
|
|
white-space: inherit;
|
|
width: auto;
|
|
}
|
|
|
|
/*
|
|
* Hide visually and from screen readers, but maintain layout
|
|
*/
|
|
|
|
.invisible {
|
|
visibility: hidden;
|
|
}
|
|
|
|
/*
|
|
* Clearfix: contain floats
|
|
*
|
|
* For modern browsers
|
|
* 1. The space content is one way to avoid an Opera bug when the
|
|
* `contenteditable` attribute is included anywhere else in the document.
|
|
* Otherwise it causes space to appear at the top and bottom of elements
|
|
* that receive the `clearfix` class.
|
|
* 2. The use of `table` rather than `block` is only necessary if using
|
|
* `:before` to contain the top-margins of child elements.
|
|
*/
|
|
|
|
.clearfix:before,
|
|
.clearfix:after {
|
|
content: " ";
|
|
/* 1 */
|
|
display: table;
|
|
/* 2 */
|
|
}
|
|
|
|
.clearfix:after {
|
|
clear: both;
|
|
}
|
|
|
|
/* ==========================================================================
|
|
EXAMPLE Media Queries for Responsive Design.
|
|
These examples override the primary ('mobile first') styles.
|
|
Modify as content requires.
|
|
========================================================================== */
|
|
|
|
@media only screen and (min-width: 35em) {
|
|
/* Style adjustments for viewports that meet the condition */
|
|
}
|
|
|
|
@media print,
|
|
(-webkit-min-device-pixel-ratio: 1.25),
|
|
(min-resolution: 1.25dppx),
|
|
(min-resolution: 120dpi) {
|
|
/* Style adjustments for high resolution devices */
|
|
}
|
|
|
|
/* ==========================================================================
|
|
Print styles.
|
|
Inlined to avoid the additional HTTP request:
|
|
https://www.phpied.com/delay-loading-your-print-css/
|
|
========================================================================== */
|
|
|
|
@media print {
|
|
*,
|
|
*:before,
|
|
*:after {
|
|
background: transparent !important;
|
|
color: #000 !important;
|
|
/* Black prints faster */
|
|
box-shadow: none !important;
|
|
text-shadow: none !important;
|
|
}
|
|
a,
|
|
a:visited {
|
|
text-decoration: underline;
|
|
}
|
|
a[href]:after {
|
|
content: " (" attr(href) ")";
|
|
}
|
|
abbr[title]:after {
|
|
content: " (" attr(title) ")";
|
|
}
|
|
/*
|
|
* Don't show links that are fragment identifiers,
|
|
* or use the `javascript:` pseudo protocol
|
|
*/
|
|
a[href^="#"]:after,
|
|
a[href^="javascript:"]:after {
|
|
content: "";
|
|
}
|
|
pre {
|
|
white-space: pre-wrap !important;
|
|
}
|
|
pre,
|
|
blockquote {
|
|
border: 1px solid #999;
|
|
page-break-inside: avoid;
|
|
}
|
|
/*
|
|
* Printing Tables:
|
|
* https://web.archive.org/web/20180815150934/http://css-discuss.incutio.com/wiki/Printing_Tables
|
|
*/
|
|
thead {
|
|
display: table-header-group;
|
|
}
|
|
tr,
|
|
img {
|
|
page-break-inside: avoid;
|
|
}
|
|
p,
|
|
h2,
|
|
h3 {
|
|
orphans: 3;
|
|
widows: 3;
|
|
}
|
|
h2,
|
|
h3 {
|
|
page-break-after: avoid;
|
|
}
|
|
}
|