MediaWiki:Common.css

From The Portal Wiki
Revision as of 16:43, 10 February 2024 by Anisomorphism (talk | contribs)

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
/* CSS placed here will be applied to all skins */

/*************************/
/*   Table of Contents   */
/*************************/
/*
0.  Temp/Scratch
1.  MediaWiki Overrides
2.  Body Styling
3.  Table Styling
4.  Template Styling
5.  Custom Object Styling
6.  Per-Page Styling
7.  Mobile Styling
8.  New Styling (6-23-2023)
*/





/***********************/
/*   0. Temp/Scratch   */
/***********************/

/* LEFTOVER START */

/*
@import url('https://fonts.googleapis.com/css?family=Rubik:400,700&display=swap&subset=latin-ext');
*/

h2 {
    /* clear: both; */ /* This might have broken some page layouts. */
}

.mw-ui-icon-element {
/*
    padding-bottom: 0;
*/
}

/* LEFTOVER END */


/******************************/
/*   1. MediaWiki Overrides   */
/******************************/

/* Font */
@import url('https://fonts.googleapis.com/css?family=Open+Sans:400,400i,700,700i&display=swap&subset=latin-ext');

html, body {
    font-family: 'Open Sans', sans-serif;
}

/* Body Font Size */
.mw-body-content {
    font-size: unset;
}

.vector-body {
	font-size: 1em;
}

/* Logo */
.mw-logo-wordmark {
    color: black;
}

/* Sidebar Font Size */
.vector-menu-portal .vector-menu-content li a,
.vector-menu-portal h3 {
    font-size: 14px;
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
    border-bottom: 1px solid #d5d5d5;
    margin-bottom: 0.5em;
    font-weight: bold;
}

.mw-body h1, .mw-body-content h1 {
    font-size: 2em;
}

.mw-body h1, .mw-body-content h1, .mw-body-content h2 {
/*
    font-family: 'Rubik';
*/
    font-weight: bold;
/*
    padding-bottom: 0.3em;
*/
    margin-bottom: 0.3em;
}

.mw-body h1, .mw-body-content h1 {
    font-size: 2em;
}

.mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 {
    margin-top: 0.6em;
}

.content .mw-parser-output > h1, .content .mw-parser-output > h2, .content .mw-parser-output > h3, .content .mw-parser-output > h4, .content .mw-parser-output > h5, .content .section-heading, .content .in-block {
    margin-bottom: 0.75em;
}

/* Lists */
.content li {
    margin-bottom: 5px;
}

/* Images */
img {
    max-width: 100%;
    height: auto;
}

div.floatright img {
    margin-left: 2em;
    margin-bottom: 2em;
}

.img-50 img {
    border-radius: 5px;
    max-width: 50%;
}

.img-cover img {
    border-radius: 5px;
    width: 250px;
    max-width: 100%;
}

.max-width img {
    max-width: 512px;
}

.img-50 p,
.img-cover p {
    text-align: center;
}

/* Quote */
q {
    font-weight: bold;
    font-size: 130%;
    font-style: italic;
}

q::before,
q::after {
    font-size: 200%;
    font-weight: bold;
    font-family: serif;
    opacity: 0.5;
}

/* Blockquote */
.vector-body blockquote,
blockquote {
    padding: 1.5em;
    border: 1px solid #ddd;
    border-left: 4px solid #ddd;
    background: #fdfdff;
    /* background: #d8ecff; */
    border-radius: 4px;
    /* border-color: #a3d3ff; */
    box-shadow: 0 4px 16px 0 rgba(0, 0, 0, 0.1); /* 0.2 opacity was a little heavy. Bumped it down to 0.1. Relates to krfdyh */
    margin: 1.5em; 
}

/* Menu Panel rework */
.skin-vector:not(.skin-vector-legacy) #mw-panel .vector-menu-content li {
    padding: 0;
}

.skin-vector:not(.skin-vector-legacy) #mw-panel .vector-menu-content li a {
    color: black !important;
    display: inline-block;
    width: 100%;
    height: 100%;
    padding: .6em;
    padding-left: 0.25em;
    text-decoration: none;
    transition: background .25s ease-in-out;
}

.skin-vector:not(.skin-vector-legacy) #mw-panel .vector-menu-content li a:hover {
    background: #c7c7c7;
}

.skin-vector:not(.skin-vector-legacy) a.feedlink {
    padding-left: 16px !important;
}

@media screen and (min-width: 1200px) {
    .mw-page-container-inner {
        grid-template-columns: 257px 20px minmax(0,1fr);
    }

    .mw-body {
        padding-left: 0;
    }
}

@media screen and (min-width: 1000px) {
    #mw-sidebar-checkbox:not(:checked) ~ .vector-sidebar-container-no-toc ~ .mw-content-container {
        padding-left: 0;
    }
}

/* Diff Page */
.diff-addedline {
    border-color: #a3d3ff;
}

.diff-addedline, .diff-deletedline, .diff-context {
    font-size: 88%;
    line-height: 1.6;
    vertical-align: top;
    white-space: -moz-pre-wrap;
    white-space: pre-wrap;
    border-style: solid;
    border-width: 1px 1px 1px 4px;
    border-radius: 0.33em;
}

/* Highlights */
.highlight {
    background: #ff0;
    font-weight: unset;
}

.highlight-warning {
    background: #fa0;
    font-weight: unset;
}

.highlight-bad,
.highlight-danger,
.highlight-todo {
    background: #f00;
    font-weight: unset;
}

.highlight-good,
.highlight-done {
    background: #0f0;
    font-weight: unset;
}

/* Math */

mjx-container {
    font-size: 85%;
}

/***********************/
/*   2. Body Styling   */
/***********************/

div.math-typesetting p { 
    margin: 0 0 2em; 
    text-indent: 1.5em; 
}

div.math-block mjx-container {
    font-size: 100%;
}


/************************/
/*   3. Table Styling   */
/************************/





/***************************/
/*   4. Template Styling   */
/***************************/

/* Generic Boxes */
.box-generic {
/*    box-shadow: 0 0 4px #999; */ /* Maybe a little softer here? */
    box-shadow: 0 0 4px #d6d6d6;
    box-sizing: border-box;
    border: none;
    border-radius: 3px;
    height: 100%;
    padding: 1em;
}

.box-header h4, 
.box-header h3 {
    margin-top: 0;
    padding-top: 0;
    border-bottom: 3px solid #c7c7c7;
}

.box-header p {
    margin: 0 !important;
}

.box-content {
    padding: 0;
}

.box-content ul {
    margin: 0.3em 0 0 1em;
}

.box-links {
    column-width: 18em;
    padding: 0;
}

.box-links ul {
	margin: 0.3em 0 0 1.16em;
}

/* Grid Templates */
.grid-3-col {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 1em;
}

.grid-2-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1em;
}

@media screen and (max-width: 800px) {
    .grid-3-col,
    .grid-2-col {
        grid-template-columns: 1fr;
    }
}

/* Book Listing */
.book-listing {
    flex: 0 1 300px;
}

.book-listing .book-cover a img {
    transition: transform linear .2s, filter linear .2s;
}

.book-listing .book-cover a img:hover {
    transform: scale(1.025);
    filter: drop-shadow(0px 3px 6px lightgray);
}

.book-listing .book-title h3 {
    padding: 0;
    margin-top: 0.25em;
}

/* CardBook */
.card-book {
    display: grid;
    grid-template-columns: 112px 1fr;
    grid-template-rows: auto 1fr;
    grid-template-areas:
        "img info"
        "followon followon";
    gap: 0.75em;
    padding: 0.75em;
    background: #e9e9e9;
    border-radius: 6px;
}

.card-book-img {
    grid-area: img;
}

.card-book-img img {
    border-radius: 3px;
}

.card-book-info {
    grid-area: info;
}

.card-book-title p,
.card-book-authors p {
    line-height: 1.15;
}

.card-book-title p {
    margin: 0 0 0.25em;
}

.card-book-title a {
    font-weight: bold;
}

.card-book-authors p,
.card-book-description p {
    margin: 0 0 0.5em;
}

.card-book-authors {
    font-size: 0.8em;
}

.card-book-description {
    line-height: 1.3;
}

.card-book-followon {
    grid-area: followon;
    line-height: 1.3;
}

.card-book-followon-heading {
    color: #393939;
    font-weight: bold;
    line-height: 1.3;
    margin: 0 0 0.5em;
}

.mw-collapsed .card-book-followon-heading {
    margin: 0;
}

ul.card-book-followon-list {
    margin: 0;
}

.card-book-followon-list-item {
    list-style: none;
    display: grid;
    grid-template-columns: 80px 1fr;
    gap: 0.75em;
    width: 100%;
}

.card-book-followon-list-item:not(:last-child) {
    margin: 0 0 0.75em;
}

.card-book-followon-img {
    border-radius: 3px;
}

.card-book-followon-title p {
    margin: 0;
}

.card-book-followon-title p,
.card-book-followon-authors p {
    line-height: 1.15;
}

/* Flex Container */
.flex-container {
    display: flex;
    flex-wrap: wrap;
    grid-gap: 1em;
}

.flex-container .flex-item {
    flex: 1 1 49%;
}

.skin-vector-legacy .flex-container .flex-item {
	flex: 1 1 32%;
}

/* Projects Container (used on Graph Wall Tome) */
.projects-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 1em;
    margin-bottom: 1em;
}

/* ericism */
.ericism-container {
    display: block;
    grid-template-columns: none;
    margin-bottom: 1em;
    overflow: visible;
/*
    display: grid;
    grid-template-columns: 60% auto;
    margin-bottom: 1em;
*/
}

.ericism {
    margin-right: 30px;
}

.ericism h2 {
    margin-top: unset;
}

.ericism-reference {
    margin-top: 2.3em;
    margin-bottom: auto;
}

.ericism-reference p {
    margin: unset;
}

@media only screen and (min-width: 1280px) {
  
.ericism-reference {
    max-width: 900px;
  }
  
}

/* Stub, Wiki Project, Notice Templates */
.custom-notice {
    border: 1px solid #a2a9b1;
    background-color: #f8f9fa;
    clear: both;
    text-align: center;
    max-width: 600px;
    padding: .5em;
    margin: 0.5em auto;
}

/* Navigation Button template style */
.nav-container {
    display: grid;
    grid-template-columns: auto auto;
}

.nav-container-flex {
    display: flex;
    flex-wrap: wrap;
    gap: 1em;
    margin: 1em 0;
}

.nav-container-flex p {
    margin: 0;
}

.nav-button a {
    color: #fff !important;
    background-color: #36c;
    border-color: #36c;
    padding: 0.5em 4.2em 0.5em 4.2em !important;
    font-weight: bold;
    border-radius: 4px;
    text-align: center;
}

.nav-button a:hover {
    text-decoration: none;
    background-color: #447ff5;
    border-color: #447ff5;
}

.no-prev, .no-next {
    display: none;
}

/* Button Box template */
.button-section h3 {
    margin: 0;
    border: none;
    padding: .5em 0;
}

.button-links {
    display: flex;
    flex-wrap: wrap;
    border: 1px solid #a2a9b1;
    border-radius: 3px;
    background-color: #f8f9fa;
}

.button-object {
    flex: 0 1 100%;
    max-height: 64px;
}

.button-object:not(:last-of-type) {
    border-bottom: 1px solid #a2a9b1;
}

.button-object p {
    display: flex;
    margin: 0;
    max-height: 64px;
}

.button-object a {
    display: block;
    color: black;
    text-decoration: none;
    line-height: 1.15em;
    padding: .85em;
    flex: 1 1 100%;
}

.button-object a.external {
    background-image: none;
    color: black;
}

.button-object.button-collection a {
    font-weight: bold;
    padding: .5em;
    text-align: center;
}

.button-object a {
    transition: background linear .1s;
}

.button-object a:hover {
    background: #c7c7c7;
}

.button-object a:visited,
.button-object a.external:visited {
    color: black;
}

/* Infobox template style */
.infobox {
    border: 1px solid #a2a9b1;
    border-spacing: 3px;
    background-color: #f8f9fa;
    color: black;
    /* @noflip */
    margin: 0 0 0.5em 1em;
    padding: 0.2em;
    /* @noflip */
    float: right;
    /* @noflip */
    clear: right;
    font-size: 88%;
    line-height: 1.5em;
    width: 22em;
}

.infobox caption {
    font-size: 125%;
    font-weight: bold;
    padding: 0.2em;
    text-align: center;
}

.infobox td,
.infobox th {
    vertical-align: top;
    /* @noflip */
    text-align: left;
}

.infobox.bordered {
    border-collapse: collapse;
}

.infobox.bordered td,
.infobox.bordered th {
    border: 1px solid #a2a9b1;
}

.infobox.bordered .borderless td,
.infobox.bordered .borderless th {
    border: 0;
}

.infobox.sisterproject {
    width: 20em;
    font-size: 90%;
}

.infobox.standard-talk {
    border: 1px solid #c0c090;
    background-color: #f8eaba;
}

.infobox.standard-talk.bordered td,
.infobox.standard-talk.bordered th {
    border: 1px solid #c0c090;
}

/* styles for bordered infobox with merged rows */
.infobox.bordered .mergedtoprow td,
.infobox.bordered .mergedtoprow th {
    border: 0;
    border-top: 1px solid #a2a9b1;
    /* @noflip */
    border-right: 1px solid #a2a9b1;
}

.infobox.bordered .mergedrow td,
.infobox.bordered .mergedrow th {
    border: 0;
    /* @noflip */
    border-right: 1px solid #a2a9b1;
}

h3 + .infobox {
    margin-top: .5em;
}



/********************************/
/*   5. Custom Object Styling   */
/********************************/

/* For objects that are not in Templates. */

.social-icons a.external {
    background: unset;
/*
    padding-right: 0;
*/
    font-size: 30px;
    text-align: center;
}

.button a {
    color: #fff !important;
    background-color: #36c;
    border-color: #36c;
    padding: 0.5em 1em 0.5em 1em !important;
    display: inline-block;
    font-weight: bold;
    border-radius: 2px;
    margin-bottom: 4px;
}

.button a:hover {
    text-decoration: none;
    background-color: #447ff5;
    border-color: #447ff5;
}

.shadow {
    margin: 1em 0;
    padding: 2em;
    border-radius: 0.33em;
    box-shadow: 0 5px 20px 0 rgba(0, 0, 0, 0.12); /* Changed from 0.2 to 0.12. It's not at 0.1, because it should visually feel like it matches with krfdyh, which also has a border */
    margin: 2em;
}

.shadow h2 {
    margin-top: 0;
}

/* responsive video for youtube widget */
.fivefifty {
	max-width: 550px;
}

.video-responsive {
    position: relative;
    padding-bottom:56.25%;
    height:0;
    overflow: hidden;
    max-width: 100%;
}

.video-responsive iframe,
.video-responsive object,
.video-responsive embed {
    position: absolute; 
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}



/***************************/
/*   6. Per-Page Styling   */
/***************************/

/* Style rules specific to a page */

/* Registration */
#userlogin2 .mw-htmlform-field-HTMLInfoField:nth-child(9) {
    margin-top: 1em;
    padding: 1em 0em;
    border-top: 3px solid black;
}

/* Main Page styling */
.page-Main_Page #firstHeading, #contentSub, #contentSub2 {
    display: none;
}

.page-Main_Page .mw-parser-output > h2 {
    font-size: 1.8em;
    border: none;
}

.page-Main_Page .welcome-container {
    padding: 1.25em;
    margin-bottom: .75em;
/*    box-shadow: 0 0 4px #999; */ /* Extra outline seemed unneeded. Feel free to yell at me if you disagree. 🤠 */
    border-radius: 3px;
}

.page-Main_Page .welcome-inner h1 {
    border: none;
    margin: 0;
    line-height: 1em;
}

.page-Main_Page .welcome-inner .welcome-as-seen {
    font-style: italic;
}

.page-Main_Page .welcome-inner .welcome-as-seen p {
    margin: 0;
}

.page-Main_Page .welcome-stats {
    text-align: center;
}

.page-Main_Page .welcome-links {
    display: flex;
    justify-content: space-evenly;
    margin-top: 1em;
}

.page-Main_Page .welcome-links ul {
    font-size: 95%;
    margin: 0;
    list-style: none;
}

.page-Main_Page .welcome-links li {
    margin: 0;
}

.page-Main_Page .intro-container {
    display: flex;
    gap: .75em;
}

.page-Main_Page .eric-section,
.page-Main_Page .community-section {
    background: none;
    border: none;
    border-radius: 3px;
/*    box-shadow: 0 0 4px #999; */ /* Maybe a little softer here? */
    box-shadow: 0 0 4px #d6d6d6;
    padding: 1.25em;
}

.page-Main_Page .eric-section {
    flex: 0 1 100%;
}

.page-Main_Page .community-section {
    flex: 0 1 100%;
    max-width: 33%;
}

.page-Main_Page .eric-section h2,
.page-Main_Page .community-section h2 {
    border-bottom: 3px solid #c7c7c7;
    margin: 0;
}

.page-Main_Page div.floatleft {
    margin: 0.8em 1.25em 0 0;
}

.page-Main_Page div.floatleft img {
    margin: 0;
    box-shadow: 0 0 2px #afafaf;
    border: solid 1px #afafaf;
}

.page-Main_Page .eric-social {
    text-align: center;
    margin-top: .78em;
}

.page-Main_Page .eric-social p {
    margin: 0;
    line-height: 1em;
}

.page-Main_Page .eric-social .social-icons a.external {
    background: unset;
    font-size: 24px;
    line-height: 1em;
    text-align: center;
}

.page-Main_Page .eric-social .social-icons a.external:hover {
    opacity: .85;
}

.eric-social .social-icons a .fa-youtube {
    color: #f00;
}

.eric-social .social-icons a .fa-twitter {
    color: #1da1f2;
}

.eric-social .social-icons a .fa-facebook {
    color: #1877f2;
}

.eric-social .social-icons a .fa-instagram {
    color: #262626;
}

.eric-social .social-icons a .fa-periscope {
    color: #40a4c4;
}

.page-Main_Page .media-section {
    clear: both;
}

.page-Main_Page .eric-section h2, 
.page-Main_Page .eric-section h3,
.page-Main_Page .community-section h2,
.page-Main_Page .community-section h3 {
    margin: 0;
}

/*************************/
/*   7. Mobile Styling   */
/*************************/

/* 
These apply to all skins. Media queries made at Vector breakpoints.

See https://theportal.wiki/wiki/MediaWiki:Mobile.css to apply rules specific to the Minerva skin. 
*/

@media only screen and (max-width : 1000px) {
    div.floatright {
        float: unset;
    }

    div.floatright img {
        margin-left: 0;
    }

    div.mw-collapsible {
        width: 95%!important; /* Temp fix for Defacing the Wall’s wide collapsible boxes on mobile */
    }
    
    .infobox {
        float: none!important;
        width: 100%!important;
        margin: 0 0 1em 0!important;
    }

    .mobile-fullwidth {
        width:100%!important;
    }

    .flex-container .flex-item {
    	flex: 1 1 100%;
    }

    .page-Main_Page .intro-container {
        flex-wrap: wrap;
    }

    .page-Main_Page .community-section {
        max-width: unset;
    }
}

.profile-container img
{
  border-radius: 500px;
  margin: 10px; 
}

/***********************/
/*   8. New Styling    */
/***********************/
.home-splash {
  margin: 0 0 1.5rem;
}

.home-header {
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin: 0 0 1.5rem;
}

.mw-body .home-title h1 {
    margin: 0;
    border: 0;
}

.home-title p,
.home-stats p,
.home-intro p {
    margin: 0;
}

.home-intro p {
    max-width: 650px;
}

.home-intro-link a {
    background: #ededed;
    border-radius: 4px;
    color: black;
    display: block;
    line-height: 1.1;
    padding: 1rem;
}

.home-intro-link a:first-child {
    margin: 0 0 1rem;
}

.home-intro {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
}

.home-section {
    margin: 0 0 3rem;
}

.home-section h2,
.home-section h3 {
    border: 0;
    margin: 0 0 1rem;
    padding: 0;
}

.home-section-info {
    display: flex;
    gap: 1rem;
    margin: 1.5rem 0 0;
}

.home-media {
    flex-basis: 50%;
}

.home-direction, 
.home-resources {
    flex-grow: 1;
    border-radius: 16px;
    box-shadow: 0px 1px 3px rgb(0 0 0 / 10%), 0px 2px 7px hsl(0deg 0% 0% / 5%);
    padding: 1rem;
}

.home-direction {
    flex-basis: 36%;
}

.home-resources {
    flex-basis: 50%;
}