MediaWiki:Common.css

From Almost a Hero Wiki
Jump to navigation Jump to search

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.
/*——————————————————————AAH WIKI STYLES——————————————————————-*/
/*—————-——CSS placed here will be applied to all skins————————*/

/*————————-—————Big thanks to the Sun Haven wiki——————————————*/
/*————-————I used them as a reference for many things—————————*/

/*———————————————————-——TABLE OF CONTENTS—————————————————————*/
/*———            Use CTRL+F to go to a section             ———*/
/*———                                                      ———*/
/*———     # FONTS                                          ———*/
/*———     # IMPORTED CLASSES                               ———*/
/*———     # GLOBAL VARIABLES                               ———*/
/*___     # BASIC THEME CONFIG                             ___*/
/*———     # ARTICLE BODY                                   ———*/
/*———     # PORTABLE INFOBOX                               ———*/
/*———     # NAVBOX                                         ———*/
/*———     # Template Specific                              ———*/
/*———     # MISC                                           ———*/
/*———     # TESTING                                        ———*/
/*———————————————————————————————————————————-————————————————*/

/*_—————————————————————IMPORTED CLASSES——————————————————————*/
@import url("/index.php?action=raw&ctype=text/css&title=MediaWiki:PageLayout.css");
@import url("/index.php?action=raw&ctype=text/css&title=MediaWiki:Vector.css");
@import url("/index.php?action=raw&ctype=text/css&title=MediaWiki:Tables.css");

/* For convenience on list of imported stuff:
   /MediaWiki:PageLayout.css	   [Header, navigation, and general spacing of body]
   /MediaWiki:Vector.css           [wiki.gg Recommended to add -- what is this?]
   /MediaWiki:Tables.css           [Styles for Tables]
*/

/*———————————————————————————FONTS——————————-—————————————————*/
@import url("https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible&display=swap");

@font-face {
  font-family : "AlmostaHero-Ultimate";
  src         : url("https://commons.wiki.gg/images/4/48/AlmostaHero-Ult.ttf") format("truetype");
}

/*—————————————————————BASE THEME CONFIG——————————————————————*/
/** These styles will be applied globally, and will use variables 
  * to apply the correct colors on text,
  * backgrounds, buttons, etc.
 **/
/* Page Background */
html,
body {
  font-family : Atkinson Hyperlegible,
  sans-serif;
  color       : var(--theme-text-color);
  min-height  : 100%;
}

.mw-body {
  min-height : 60vh;
}

.mw-footer {
  background    : var(--theme-dropdown-background);
  margin-bottom : 16px;
}

.mw-footer li {
  color : var(--theme-dropdown-text);
}

#mw-page-base {
  background : transparent;
}

/* Header Section: Page, Dicussion, etc. */

#mw-head .vector-menu-tabs {
  background : none;
}

#mw-head .vector-menu-tabs-legacy {
  padding-left : 0;
}

#mw-head .mw-list-item.selected {
  background : var(--theme-header-selected);
  border     : none;
  box-shadow : 0 -2px 1px 1px rgba(0, 0, 0, 0.15);
}

#mw-head .mw-list-item.selected a {
  color : var(--theme-header-foreground);
}

/***** Header - replaces text with icons on mobile, moves logo to top ******/
#p-logo {
  position : absolute;
  /* width: 100%; */
}

#p-logo a {
  margin          : auto;
  background-size : contain;
}

@media only screen and (max-width : 768px) {
  #mw-head .vector-menu-dropdown .vector-menu-content {
    left : -30px;
  }

  #p-logo {
    top : 50px;
  }

  .mw-body {
    margin-top : 215px;
  }

  .vector-search-box {
    float    : right;
    width    : 50%;
    position : absolute;
    top      : 0;
    right    : 0;
  }

  .vector-search-box-inner {
    width : 100%;
  }
}

@media only screen and (min-width : 768px) {
  #mw-head {
    margin-top : 100px;
  }

  #p-logo {
    top : 50px;
  }
}

/****************************************************************/


/* Overwrite margin for dropdowns */
#mw-head .vector-menu-dropdown .mw-list-item {
  margin  : 0;
  padding : 2px;
}

#mw-head .vector-menu-tabs,
#mw-head .vector-menu-tabs a,
#mw-head .vector-menu-dropdown .vector-menu-heading {
  background-image : none;
}

#mw-head .vector-menu-dropdown .vector-menu-heading::after {
  mask             : url(/skins/Vector/resources/skins.vector.styles/images/arrow-down.svg?9426f) 100% 50% no-repeat;
  background-color : var(--theme-header-link);
}

#mw-head .mw-list-item a, .vector-menu-heading-label {
  color : var(--theme-header-link);
}

#mw-head .mw-list-item a:hover {
  color : var(--theme-header-foreground-hover);
}

#mw-head .vector-menu-dropdown .vector-menu-content {
  border : none;
}

#mw-head .vector-menu-dropdown .vector-menu-content-list li {
  box-shadow    : none;
  border        : none;
  border-radius : 0;
}

/* Search Bar */
.vector-search-box-input {
  background-color : var(--theme-background);
  color            : var(--theme-text-color);
  border           : none;
  padding          : 16px 8px;
  margin-top       : -8px;
  box-shadow       : 1px 1px 1px 1px rgb(0, 0, 0, .25);
}

.vector-search-box-input::placeholder {
  color : var(--theme-text-color-highlight);
}

.vector-search-box-input:focus {
  outline : 1px solid var(--theme-text-color-highlight);
}

.vector-search-box .searchButton {
  mask       : no-repeat center url(/skins/Vector/resources/skins.vector.styles.legacy/images/search.svg?bbf78);
  background : var(--theme-text-color-highlight);
  margin-top : -5px;
}

/* Search Suggestions Dropdown */
.suggestions-results, .suggestions-special, .oo-ui-menuSelectWidget {
  background   : var(--theme-dropdown-background);
  border-color : var(--theme-dropdown-border-color);
}

.suggestions-result {
  background : var(--theme-dropdown-background);
  color      : var(--theme-dropdown-text);
}

.suggestions-result:hover, .suggestions-special:hover, .oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted {
  background : var(--theme-dropdown-hover);
}

.suggestions a.mw-searchSuggest-link,
.suggestions a.mw-searchSuggest-link:hover,
.suggestions a.mw-searchSuggest-link:active,
.suggestions a.mw-searchSuggest-link:focus,
.suggestions-special .special-query,
.suggestions-special .special-label {
  color : var(--theme-dropdown-text);
}

.mw-search-profile-tabs {
  background : var(--theme-dropdown-background);
}

.search-types .current a {
  color : var(--theme-text-color);
}

.mw-search-result-data {
  color : var(--theme-code-comment);
}

/* Banner on the user's profile*/
.horse-userprofile {
  background : var(--theme-table-td-background);
}

/* Basic Content Styles */
#content {
  color      : var(--theme-text-color);
  background : var(--theme-background);
}

/* Create space on either side only for desktop */
@media only screen and (min-width : 768px) {
  #content {
    margin-right            : 16px;
    border-top-right-radius : 6px;
  }

  .mw-footer {
    margin-right               : 16px;
    margin-bottom              : 32px;
    border-bottom-left-radius  : 6px;
    border-bottom-right-radius : 6px;
  }
}

html {
  background            : var(--theme-site-background);
  background-attachment : fixed;
  overflow-y            : scroll;
}

body {
  font-size   : var(--font-size);
  line-height : var(--line-height);
  background  : 0 0;
  display     : contents;
}

.mw-body {
  border     : none;
  box-shadow : 6px 8px 8px 8px rgba(0, 0, 0, .4);
}

.mw-body h1,
.mw-body-content h1,
.mw-body-content h2,
h3,
h4,
h5,
h6 {
  font-family : AlmostaHero-Ultimate, sans-serif;
  color       : var(--theme-text-color)
}

h1, h2 {
  border-bottom : 1px solid;
}

ul,
ol {
  margin : 2px 0 2px 1.5em
}
ul {
  list-style-image : none
}
li {
  margin : 0 0 2px
}

a, a:visited {
  color : var(--theme-link-color)
}
a:hover {
  color : var(--theme-link-hover)
}

/* Bad links */
a.new {
  color : var(--theme-link-color-redlink);
}

/* Table links */
.catlinks {
  background : var(--theme-dropdown-background);
  border     : var(--theme-dropdown-border-color);
}

table {
  white-space : unset;
}

::selection {
  background : var(--theme-text-selection);
}

::-moz-selection {
  /* Code for Firefox */
  background : var(--theme-text-selection);
}

#pagehistory li.selected {
  background : var(--theme-dropdown-background);
}

.comment, .history-size {
  color : var(--theme-code-variable);
}

.mw-history-histlinks {
  color : var(--theme-link-color);
}

/* Side Bar Navigation */
#p-logo a {
  /* Makes logo fit above sidebar */
  background-size : contain;
}
#mw-head .vector-menu-portal .vector-menu-heading {
  background-image : none;
}

/* Table of Contents */
.toc {
  background : var(--theme-toc-background);
  border     : 1px solid var(--theme-toc-border-color);
}

.tocnumber, .toctext {
  color : var(--theme-toc-color);
}

.toc .toctogglecheckbox:checked ~ ul {
  /* do not change ToC title size when toggle show/hide. */
  overflow       : hidden;
  display        : block;
  height         : 0;
  border         : 0;
  padding-top    : 0;
  padding-bottom : 0;
  margin         : 0;
}

/* Code Blocks*/
code {
  color      : var(--theme-code-foreground);
  background : var(--theme-code-background);
}

/** Modals **/
.oo-ui-messageDialog-text {
  background : var(--theme-dropdown-background);
}

.oo-ui-messageDialog-message {
  color : var(--theme-dropdown-text);
}

.oo-ui-window-frame {
  border-color : var(--theme-dropdown-border-color);
}

#mw-searchoptions {
  background-color : var(--theme-table-td-background);
}

/*—————————————————————GLOBAL CLASSES——————————————————————*/
.nopadding td {
  padding : 0px;
}


/*———————————————————————ARTICLE BODY————————————————————————*/
/* Fixing the headers stopping at the infobox. */
.page-content h2 {
  overflow : hidden;
}

/* Fixing <gallery> styles */
.gallery.gallery {
  margin : var(--layout-gap) 0;
}

.gallery.mw-gallery-traditional {
  /* Some lengths are hard-coded in html code, so we have to do some tricks. */
  --offset-width  : -5px; /* html width of .gallerybox>div is width of .thumb + 5px */
  --offset-margin : -15px; /* width/height of .thumb is width/height of .thumb img + 15px */
  display         : flex;
  flex-wrap       : wrap;
  gap             : var(--layout-gap);
}
.gallery.mw-gallery-traditional .gallerybox {
  width          : unset !important;
  margin         : 100;
  --offset-left  : calc(0px - var(--offset-margin) - var(--layout-box-padding) - 1px);
  --offset-right : calc(0px - var(--offset-width) - var(--offset-margin) - var(--layout-box-padding) - 1px);
}
.gallery.mw-gallery-traditional .gallerybox > div {
  margin : 0 calc(0px - var(--offset-right)) 0 calc(0px - var(--offset-left));
}
.gallery.mw-gallery-traditional .gallerybox .thumb {
  border        : 1px solid var(--theme-box-border-color);
  border-radius : var(--theme-box-border-radius);
  background    : var(--theme-box-background);
  padding       : var(--layout-box-padding);
  margin        : 0 var(--offset-right) 0 var(--offset-left);
  width         : unset !important;
}
.gallery.mw-gallery-traditional .gallerybox .thumb > div > *:first-child {
  margin : var(--offset-margin);
}
.gallery.mw-gallery-traditional .gallerybox .thumb a {
  display : block;
}
.gallery.mw-gallery-traditional .gallerybox .gallerytext {
  font-size   : var(--font-size-s);
  line-height : var(--line-height-s);
  padding     : 0 1px; /* 1px for border of image. */
  margin      : 4px var(--offset-right) var(--layout-gap) var(--offset-left); /* 5px margin-right for .gallerybox>div */
  text-align  : center;
}
.gallery.mw-gallery-traditional .gallerybox .gallerytext p {
  margin : 0;
}
.gallery.mw-gallery-traditional .gallerycaption {
  flex-basis : 100%; /* the caption should always be on its own line */
}

.portable-infobox {
  padding             : 20px 15px 10px 20px;
  margin              : 0 0 1em 1em;
  float               : right;
  background-color    : #fff0;
  border-image-source : url(https://sunhaven.wiki.gg/images/8/84/Infobox_Common.png);
  border-image-slice  : 48;
  border-image-width  : 40px;
  border-image-repeat : round;
  border-width        : unset;
  border-style        : solid;
  display             : inline-block;
  line-height         : 1.6em;
}

.portable-infobox.pi-theme-common, .portable-infobox.pi-theme-Common, .portable-infobox.pi-theme-0 {
  border-image-source : url(https://sunhaven.wiki.gg/images/8/84/Infobox_Common.png);
}
.portable-infobox.pi-theme-uncommon, .portable-infobox.pi-theme-Uncommon, .portable-infobox.pi-theme-1 {
  border-image-source : url(https://sunhaven.wiki.gg/images/2/28/Infobox_Uncommon.png);
}
.portable-infobox.pi-theme-rare, .portable-infobox.pi-theme-Rare, .portable-infobox.pi-theme-2 {
  border-image-source : url(https://sunhaven.wiki.gg/images/a/a3/Infobox_Rare.png);
}
.portable-infobox.pi-theme-epic, .portable-infobox.pi-theme-Epic, .portable-infobox.pi-theme-3 {
  border-image-source : url(https://sunhaven.wiki.gg/images/b/b1/Infobox_Epic.png);
}
.portable-infobox.pi-theme-legendary, .portable-infobox.pi-theme-Legendary, .portable-infobox.pi-theme-4 {
  border-image-source : url(https://sunhaven.wiki.gg/images/7/7a/Infobox_Legendary.png);
}

.portable-infobox .pi-title {
  background-color    : #fff0;
  border-image-slice  : 18;
  border-image-width  : 22px;
  border-image-outset : unset;
  border-image-repeat : repeat;
  border-radius       : 50px;
  border-width        : unset;
  line-height         : auto;
  border-style        : solid;
  font-size           : 23px !important;
  color               : white;
  padding             : 5px 0 5px 0;
  vertical-align      : middle;
  text-align          : center;
  background          : var(--infobox-header-bg);
}

.portable-infobox .pi-title {
  border-image-source : var(--infobox-header-background);
}

.portable-infobox .pi-image {
  width      : auto;
  height     : auto;
  padding    : 5px 0px;
  text-align : center;
}

.portable-infobox .pi-image-thumbnail {
  width                  : 70%;
  height                 : auto;
  image-rendering        : pixelated;
  image-rendering        : -moz-crisp-edges;
  image-rendering        : crisp-edges;
  -ms-interpolation-mode : nearest-neighbor;
}

.portable-infobox.pi-theme-infoitem .pi-image-thumbnail {
  min-width  : 48px;
  max-height : 100px;
  object-fit : contain;
}

.portable-infobox .pi-caption {
  text-align     : center;
  color          : var(--infobox-caption);
  padding-bottom : 5px;
  text-shadow    : 0 0 var(--infobox-caption);
}

.portable-infobox .pi-item-spacing {
  padding-bottom : 4px;
  padding-top    : 4px;
}

.portable-infobox .pi-header {
  background-color : var(--infobox-header-bg);
  color            : white;
  font-size        : 1em;
  line-height      : 1.3em;
  font-weight      : bold;
  text-align       : center;
  border-radius    : 5px;
  margin-top       : 3px;
}

.portable-infobox .pi-data {
  column-gap : 0px;
  box-sizing : border-box;
  word-break : normal;
}

.portable-infobox .pi-data-label {
  font-size     : 0.9em;
  font-weight   : bold;
  text-align    : left;
  padding-right : 1px;
  padding-left  : 0px;
  flex-wrap     : wrap;
  overflow-wrap : normal;
  box-sizing    : content-box;
  margin-top    : 2px;
  flex-basis    : 35%;
}

.pi-horizontal-group .pi-data-label {
  text-align : center;
  border-top : 0px;
}

.portable-infobox .pi-data-value {
  font-size     : 0.9em;
  margin-top    : 2px;
  margin-left   : 2px;
  padding-right : 3px;
  padding-left  : 5px;
  hyphens       : auto;
  line-height   : 1.5em;
  flex-basis    : 65%;
}

.portable-infobox .pi-font {
  font-size : 0.9em;
}

.portable-infobox .pi-border-color {
  border-color : #8e8882
}

.portable-infobox.pi-theme-infoitem .pi-horizontal-group-item[data-source="description"] {
  text-align     : center;
  color          : var(--infobox-caption);
  padding-bottom : 5px;
  text-shadow    : 0 0 var(--infobox-caption);
  width          : 100%;
  font-size      : 14px;
  font-style     : italic;
}

.pi-horizontal-group .pi-data-value[data-source="relationships"] {
  text-align   : left;
  padding-left : 20px;
}

.pi-horizontal-group .pi-data-value[data-source="npcCollpase"] {
  text-align   : left;
  padding-left : 20px;
}

.pi-horizontal-group .pi-data-value[data-source="requires"] {
  text-align   : left;
  padding-left : 20px;
}

.pi-horizontal-group .pi-data-value[data-source="rewards"] {
  text-align   : left;
  padding-left : 20px;
}

.pi-horizontal-group .pi-data-value[data-source="bonus"] {
  text-align   : left;
  padding-left : 20px;
}

/** Anything in @media will apply to mobile */
@media only screen and (max-width : 768px) {
  .portable-infobox {
    width       : 90%;

    /* Only needed because the infobox image has a decoration on the left side */
    margin-left : -5px;
  }
}

/*————————————————————Template Specific———————————————————————*/

/*——————————————————————————MISC—————————————————————————————*/
/* Avoid tabs from going off-screen and needing horizontal scrooling */
.wds-tabs__wrapper {
  display        : flex;
  flex-direction : row;
  width          : 100%;
  flex-wrap      : wrap;
  margin-left    : 0 !important;
}

/** Tabs: <tabber> and infobox <gallery> **/
.tabber__tab[aria-selected=true],
.tabber__tab[aria-selected=true],
.tabber__tab[aria-selected=true],
.tabber__tab[aria-selected=true]:visited {
  color : var(--theme-link-color);
}

.pi-section-navigation .pi-section-tab.pi-section-active,
.pi-section-navigation .pi-section-tab.current,
.pi-media-collection .pi-tab-link.current {
  background    : var(--theme-background);
  border-bottom : 2px solid var(--theme-link-color);
  color         : var(--theme-link-color);
  transition    : .3s ease-in;
}

.pi-section-navigation .pi-section-tab,
.pi-media-collection .pi-tab-link {
  font-weight   : bold;
  border        : 1px solid var(--theme-background);
  border-bottom : 1px solid var(--theme-text-color-highlight);
}

.tabber__tab,
.tabber__tab:visited {
  color : var(--theme-text-color-highlight);
}

.tabber__tab:hover {
  color : var(--theme-link-color-hover)
}

.tabber__indicator {
  background : var(--theme-link-color)
}