pvgttm-web/src/assets/styles/styles.css

975 lines
16 KiB
CSS

/****************************************************************************
* Planar Vagabond's Guide to the Multiverse (planarvagabond.com)
*
* Copyright 2023 Eric Woodward
* Source released under CC0 Public Domain License v1.0
* http://creativecommons.org/publicdomain/zero/1.0/
****************************************************************************/
/*
Old New Palette
color: #e7a07f
bg: #252837
link: #38B1B6
border: #C33F3D
big-font: #C33F3D
black: #1A0608
other: #E8A384
visited: #3d81a5
blockquote: #04778f
New New Palette
color: #FADBB0
bg: #2C0F2A
link: #44FCFC
border: #E94E5C
big-font: #E94E5C
black: #1A0608
other: #F6BC43
visited: #CC45B6
blockquote: #885C68
*/
html {
font-size: 16px;
}
body {
background: #2c0f2a; /* Old browsers */
background: url("/images/site-bg.jpg") bottom fixed;
background-size: cover;
color: #fadbb0;
font-family: sans-serif;
font-size: 100%;
line-height: 1.5em;
font-family: "raleway", "Optima", arial, helvetica, sans-serif;
}
a {
border: 1px solid transparent;
border-bottom: 1px solid #e94e5c;
color: #44fcfc;
font-weight: bold;
padding: 0 0.2rem;
text-decoration: none;
-webkit-transition: 0.3s background-color, 0.3s color, 0.3s border-radius,
0.3s font-weight;
transition: 0.3s background-color, 0.3s color, 0.3s border-radius,
0.3s font-weight;
}
a[target="_blank"]::after {
content: " \29C9";
font-weight: normal;
}
a:hover {
border: 1px solid #e94e5c;
background-color: #44fcfc;
border-radius: 0.3rem;
color: #e94e5c;
text-decoration: none;
text-shadow: 0px 1px 1px rgba(16, 16, 16, 0.6);
}
a:visited {
color: #cc45b6;
}
a:visited:hover {
color: #e94e5c;
}
article img {
max-width: 100%;
}
blockquote {
border-left: 2px solid #885c68;
font-style: italic;
margin: 1em 0;
padding: 0 1em;
}
blockquote cite {
display: block;
text-align: right;
font-style: italic;
}
code,
kbd {
background-color: #885c68;
background-color: rgba(13, 24, 82, 0.5);
color: #ccc;
font-size: 0.9em;
padding: 0.25em;
}
details {
max-height: 4rem;
transition: 0.3s max-height;
}
details[open] {
max-height: 100rem;
}
details > summary {
cursor: pointer;
display: block;
font-weight: bold;
list-style: none;
padding: 1rem 1rem 1rem 2rem;
position: relative;
user-select: none;
}
details[open] > summary::before {
transform: rotate(90deg);
}
details summary::-webkit-details-marker {
display: none;
}
details summary:before {
content: "";
border-width: 0.4rem;
border-style: solid;
border-color: transparent transparent transparent #44fcfc;
position: absolute;
top: 1.3rem;
left: 1rem;
transform: rotate(0);
transform-origin: 0.2rem 50%;
transition: 0.3s transform ease;
}
figcaption {
font-size: 0.75em;
font-style: italic;
}
figure {
margin: 1em auto;
display: block;
text-align: center;
}
figure[data-type="image"] > a {
position: relative;
}
figure[data-type="image"] > a[target="_blank"]::after {
position: absolute;
bottom: 1rem;
right: 1rem;
}
figure img {
width: 100%; /* Scale down */
}
h1 {
color: #e94e5c;
font-size: 1.5em;
line-height: 1.2em;
margin-top: 3rem;
}
h1 svg {
scale: 0.75;
}
h2 {
background-color: rgba(37, 40, 55, 0.6);
color: #e94e5c;
font-size: 1.3em;
line-height: 1.2em;
}
h3 {
color: #e94e5c;
font-size: 1.2em;
line-height: 1.2em;
background-color: rgba(37, 40, 55, 0.6);
padding-left: 0.25rem;
}
h4 {
color: #e94e5c;
font-size: 1.12em;
line-height: 1.2em;
}
h5 {
color: #e94e5c;
font-size: 1.06em;
line-height: 1.2em;
}
h6 {
color: #e94e5c;
font-size: 1em;
}
h1,
h1 a,
h2,
h2 a,
h3,
h3 a,
h4,
h4 a,
h5,
h5 a,
h6,
h6 a {
font-family: "unbounded", "Luminari", impact, arial, helvetica, sans-serif;
font-weight: 500;
}
iframe {
max-width: 100%;
}
li {
margin-bottom: 0.6em;
}
/* turn on for that "authentic" OSE feel! */
/*
ul li::marker {
content: "▶ ";
}
*/
li ul {
margin-top: 0.6em;
}
main img {
max-width: 100%;
}
nav {
max-width: 90%;
}
ol,
ul {
padding-left: 1.2em;
}
pre {
background-color: #885c68;
background-color: rgba(13, 24, 82, 0.5);
color: #ccc;
font-size: 0.9em;
overflow: auto;
padding: 0.25em;
}
pre code,
pre kbd {
background-color: transparent;
}
samp {
font-size: 0.9em;
}
table {
border: 1px solid #f6bc43;
border-collapse: collapse;
}
table caption {
background-color: rgba(37, 40, 55, 0.6);
color: rgba(195, 63, 61, 1);
font-weight: bold;
}
table tr:hover {
background-color: rgba(195, 63, 61, 0.5);
}
table td,
table th {
padding: 0.5rem;
}
/* Classes */
.headlessTableWrapper thead {
display: none;
}
.dividedTableWrapper {
display: inline-block;
overflow-x: auto;
}
.dividedTableWrapper h4 {
text-align: center;
}
.dividedTableWrapper table td {
border: 1px dashed #f6bc43;
}
.dividedTableWrapper table th {
border: 1px dashed #f6bc43;
border-bottom-style: solid;
border-collapse: collapse;
padding: 0.5rem;
}
.feature hr {
border: 1px 0 0 0;
border-color: #885c68;
border-style: solid;
color: #885c68;
max-width: 90%;
}
a.hiddenLink {
border-bottom: transparent;
color: #fadbb0;
font-weight: normal;
}
a.hiddenLink:hover {
color: #e94e5c;
font-weight: bold;
}
.imgWrapper {
float: right;
margin: 0 -0.5rem 0 1rem;
max-width: 50%;
position: relative;
text-align: center;
z-index: 0;
}
.imgWrapper figure > a {
border-color: transparent;
display: inline-block;
padding: 0.5rem 0.5rem 0.25rem;
}
.imgWrapper figure > a:hover {
border-color: #e94e5c;
}
.levelTable table thead tr:first-child th {
border-bottom-style: dashed;
}
.licenseLink {
border-color: transparent;
padding: 0.25rem 0 0 0.25rem;
}
a.licenseLink:hover {
border-color: #e94e5c;
}
.menu-icon {
display: block;
position: absolute;
top: 0.5rem;
left: 0;
width: 26px;
height: 26px;
padding-top: 1rem;
cursor: pointer;
z-index: 9;
}
.menu-icon > span,
.menu-icon > span::before,
.menu-icon > span::after {
display: block;
position: absolute;
width: 100%;
height: 2px;
background-color: #616161;
transition-duration: 0.25s;
}
.menu-icon > span::before {
content: "";
top: -8px;
}
.menu-icon > span::after {
content: "";
top: 8px;
}
.menu-label {
display: block;
position: absolute;
top: 0.5rem;
left: 1rem;
padding-top: 1rem;
cursor: pointer;
z-index: 9;
}
.menu-text {
color: #44fcfc;
font-weight: bold;
padding: 0 0.5rem;
position: absolute;
left: 1.75rem;
top: 0.75rem;
text-transform: uppercase;
z-index: 1;
transition: 0.3s all;
}
.menu-text:hover {
border: 1px solid #e94e5c;
background-color: #44fcfc;
border-radius: 0.3rem;
color: #e94e5c;
text-decoration: none;
text-shadow: 0px 1px 1px rgba(16, 16, 16, 0.6);
}
#menu-toggle {
display: block;
opacity: 0;
margin-top: -1rem;
}
#menu-toggle:checked + .menu-label {
position: fixed;
}
#menu-toggle:checked + .menu-label .menu-icon > span {
transform: rotate(45deg);
}
#menu-toggle:checked + .menu-label .menu-icon > span::before {
top: 0;
transform: rotate(0deg);
}
#menu-toggle:checked + .menu-label .menu-icon > span::after {
top: 0;
transform: rotate(90deg);
}
#menu-toggle:checked ~ .navMenu {
left: 0;
}
#menu-toggle:checked + .menu-label .menu-text {
transform: rotate(90deg);
left: -1rem;
top: 4rem;
}
/* Prevents close toggle from scrolling offscreen */
#menu-toggle:checked + .menu__btn {
position: fixed;
top: 1rem;
}
.menubar {
background: #282c32;
display: static;
max-height: 1px;
}
.navBar {
background: #282c32;
display: none;
}
.navBar ul {
display: flex;
flex-direction: row;
justify-content: space-between;
list-style: none;
margin: -0.5rem 0 0;
padding: 0 1rem;
}
.navBar li {
display: flex;
margin-bottom: 0;
}
.navBar a {
border-bottom: transparent;
color: #44fcfc;
display: flex;
padding: 0.5rem;
width: 100%;
}
.navBar a:visited {
color: #44fcfc;
}
.navBar a:hover {
color: #e94e5c;
}
.navMenu {
align-items: center;
background: #2c0f2a;
box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.4);
display: flex;
flex-direction: column;
justify-content: center;
height: 100%;
left: -100%;
margin: 0;
padding: 0;
position: fixed;
top: 0;
transition-duration: 0.25s;
z-index: 5;
}
.navMenu a {
border: 1px solid transparent;
display: flex;
padding: 0.5rem 1rem;
text-decoration: none;
width: 100%;
}
.navMenu a:visited {
color: #44fcfc;
}
.navMenu li {
margin-bottom: 0;
position: relative;
text-decoration: none;
transition-duration: 0.5s;
white-space: nowrap;
}
.navMenu > ul > li.hasSubMenu > a {
border: 1px solid #e94e5c;
}
.navMenu li.hasSubMenu:hover,
.navMenu li.hasSubMenu:focus-within {
background-color: rgba(233, 78, 92, 0.5);
}
.navMenu ul li ul li.hasSubMenu:hover,
.navMenu ul li ul li.hasSubMenu:focus-within {
background-color: transparent;
}
.navMenu li.hasSubMenu:hover a,
.navMenu li.hasSubMenu:hover a:visited {
color: #44fcfc;
}
.navMenu li.hasSubMenu:hover a:hover,
.navMenu li.hasSubMenu:hover a:visited:hover {
color: #e94e5c;
}
.navMenu li:focus-within a {
outline: none;
}
.navMenu ul {
display: flex;
flex-direction: column;
list-style: none;
margin: 0;
padding-left: 0;
}
.navMenu > ul {
padding: 1rem 2rem 1rem 4rem;
overflow-y: auto;
}
.navMenu > ul > li {
margin-top: 1rem;
}
.navMenu > ul > li:first-child {
margin-top: 0;
}
.navMenu ul li ul {
align-items: stretch;
display: flex;
left: 0;
flex-direction: column;
margin-top: 0;
min-width: 5rem;
opacity: 1;
position: relative;
transition: all 0.5s ease;
visibility: visible;
}
.navMenu ul li ul li {
clear: both;
width: 100%;
}
.navMenu ul li ul li.hasSubMenu a {
padding-left: 2rem;
}
.navMenu ul li ul li.hasSubMenu > a {
padding-left: 1rem;
}
.navMenu-list-link.isCurrentSection {
background-color: #44fcfc;
border: 1px solid #e94e5c;
border-radius: 0.3rem;
color: #1a0608;
text-decoration: none;
}
.navMenu-list-link.isCurrentSection:hover {
background-color: #e94e5c;
}
.navMenu-list-item {
display: inline-block;
line-height: 2em;
margin: 0 0.25em;
text-align: center;
}
.page {
background: #372734;
background: rgba(55, 39, 52, 0.9);
border: 1px solid #2c0f2a;
border-top: none;
border-bottom: none;
display: block;
margin: 0 auto;
max-width: 100%;
min-height: 100vh;
padding: 0;
position: relative;
}
.pageFooter {
border-top: 1px solid #2c0f2a;
margin: 0 auto;
padding: 0.5em 1em;
width: 100%;
}
.pageFooter a {
text-decoration: none;
}
.pageFooter-inner {
font-size: 0.8em;
text-align: center;
width: 100%;
}
.pageFooter-inner p {
text-align: left;
}
.pageHeader {
width: 100%;
}
.pageHeader-titleBlock {
width: 100%;
}
.pageMain {
padding: 2em 1em 1em;
}
a.pageTitle-link,
a.pageTitle-link:visited {
color: #e94e5c;
border-bottom: none;
margin-left: -0.25rem;
}
.pageTitle-link:active,
.pageTitle-link:hover {
border: 1px solid #e94e5c;
}
.siteTitle-text {
max-width: 60%;
}
.timelineTableWrapper td:first-child {
white-space: nowrap;
}
.siteTitle-text {
text-align: left;
}
.table-of-contents {
border: 1px dashed #f6bc43;
display: inline-block;
}
.table-of-contents ul {
display: flex;
flex-direction: column;
list-style: none;
margin: 0 0 0.5rem 0;
padding: 0;
}
.table-of-contents ul li {
display: flex;
flex-direction: column;
margin: 0;
}
.table-of-contents ul li a {
border-bottom: 0;
padding: 0 0.5rem;
text-decoration: none;
width: 100%;
}
.table-of-contents ul li ul {
margin: 0;
}
.table-of-contents ul li ul li a {
padding: 0 0.5rem 0 1.5rem;
font-size: smaller;
}
.toc-container-header {
text-align: center;
background-color: rgba(37, 40, 55, 0.6);
color: rgba(195, 63, 61, 1);
font-weight: bold;
}
/****************************************************************************
* JS Overrides
****************************************************************************/
.js .pubDate.isDone {
-webkit-transition: 0.3s visibility;
transition: 0.3s visibility;
visibility: visible;
}
.no-js .pubDate {
visibility: visible;
}
/*
.searchBox {
margin-left: auto;
white-space: nowrap;
}
*/
.searchBox {
position: absolute;
top: 0;
right: 0;
padding: 1rem;
width: 100%;
text-align: right;
}
.searchBox-query {
background-color: #cc45b6;
border-radius: 0.3rem;
color: #fff;
width: 10em;
}
.siteTitle {
text-align: center;
width: 100%;
}
.siteTitle-link,
.siteTitle-link:visited {
align-items: center;
border: 1px solid transparent;
color: #44fcfc;
border-radius: 1rem;
display: flex;
flex-direction: row;
font-style: normal;
margin: auto;
max-width: 42rem;
padding: 0.2em;
position: relative;
}
.siteTitle-shipIcon {
max-width: 10rem;
fill: #e94e5c;
fill-opacity: 0.5;
-webkit-transition: 0.3s fill, 0.3s fill-opacity;
transition: 0.3s fill, 0.3s fill-opacity;
}
.siteTitle-link:hover .siteTitle-shipIcon {
fill: #1a0608;
fill-opacity: 0.7;
}
.siteTitle-text {
max-width: 48rem;
}
.topAnchor {
border: none;
height: 0;
margin: 0;
padding: 0;
}
.topLink {
border: 1px solid #726f6a;
border-radius: 0.3em;
display: inline-block;
margin: 1em auto;
padding: 0.25em;
text-align: center;
}
.zineIssue-wrapper .table-of-contents {
display: none;
}
/****************************************************************************
* Media Queries
****************************************************************************/
@media all and (min-width: 320px) {
nav {
max-width: 100%;
}
}
@media all and (min-width: 600px) {
h1 {
margin-top: 2rem;
}
.imgWrapper {
max-width: 33%;
}
.menubar {
height: auto;
}
.navBar {
display: block;
}
.siteTitle-text {
text-align: center;
}
}
@media all and (min-width: 960px) {
html {
font-size: 18px;
}
h1 {
color: #e94e5c;
font-size: 2em;
line-height: 1.2em;
margin-top: 3rem;
}
h2 {
background-color: transparent;
color: #e94e5c;
font-size: 1.5em;
line-height: 1.2em;
}
h3 {
color: #e94e5c;
font-size: 1.25em;
line-height: 1.2em;
background-color: rgba(37, 40, 55, 0.6);
padding-left: 0.25rem;
}
h4 {
color: #e94e5c;
font-size: 1.12em;
line-height: 1.2em;
}
h5 {
color: #e94e5c;
font-size: 1.06em;
line-height: 1.2em;
}
h6 {
color: #e94e5c;
font-size: 1em;
}
#menu-toggle:checked + .menu-label {
position: absolute;
}
#menu-toggle:checked + .menu-label .menu-text {
transform: none;
left: 2.25rem;
top: 0.75rem;
}
.navMenu > ul {
padding: 4rem 2rem 1rem 2rem;
}
.navMenu-list-item {
display: inline-block;
line-height: 2em;
margin: 0 0.25em;
text-align: center;
}
.navMenu-search-fieldset {
border: none;
font-size: 0.8em;
padding: 0;
}
.page {
max-width: 960px;
}
.siteTitle {
margin-top: 3rem;
}
}
@media all and (min-width: 1200px) {
#menu-toggle:checked + .menu-label .menu-text {
background: rgba(37, 40, 55, 0.9);
border-radius: 0.3rem;
padding: 0.5rem;
position: fixed;
transform: none;
left: 1.25rem;
top: 0.75rem;
}
}