MediaWiki:Common.css: Difference between revisions

From Blue Archive Wiki
Jump to navigation Jump to search
Content added Content deleted
mNo edit summary
mNo edit summary
 
(40 intermediate revisions by the same user not shown)
Line 1: Line 1:
/* CSS placed here will be applied to all skins */
/* CSS placed here will be applied to all skins */

@import url("/w/index.php?title=Template:CharacterCard/style.css&action=raw&ctype=text/css");
@import url("/w/index.php?title=MediaWiki:XPtable.css&action=raw&ctype=text/css");



/*** Damage and Armor colors ***/
/*** Damage and Armor colors ***/
:root {
:root {
--normal: #485582;

--explosive: #930008;
--explosive: #930008;
--light: #930008;
--light: #930008;
Line 14: Line 20:
--siege: #794394;
--siege: #794394;
--structure: #794394;
--structure: #794394;

--sonic: #794394;
--elastic: #794394;
}
}


.normal {color: var(--normal);}
.explosive {color: var(--explosive);}
.explosive {color: var(--explosive);}
.light {color: var(--light);}
.light {color: var(--light);}
Line 24: Line 34:
.siege {color: var(--siege);}
.siege {color: var(--siege);}
.structure {color: var(--structure);}
.structure {color: var(--structure);}
.sonic {color: var(--sonic);}
.elastic {color: var(--elastic);}


.bg-normal {background-color: var(--normal);}
.bg-explosive {background-color: var(--explosive);}
.bg-explosive {background-color: var(--explosive);}
.bg-light {background-color: var(--light);}
.bg-light {background-color: var(--light);}
Line 33: Line 46:
.bg-siege {background-color: var(--siege);}
.bg-siege {background-color: var(--siege);}
.bg-structure {background-color: var(--structure);}
.bg-structure {background-color: var(--structure);}
.bg-sonic {background-color: var(--sonic);}
.bg-elastic {background-color: var(--elastic);}

/* GL typing aliases */
.piercing {color: var(--penetration);}
.bg-piercing {background-color: var(--penetration);}


.bg-element {
.bg-element {
Line 40: Line 59:
}
}



/* Japanese font fallback */
html, body {
font-family: sans-serif, meiryo, meiryo ui, Yu Gothic, YuGothic;
}

*:lang(ja) {
font-family: meiryo, meiryo ui, Yu Gothic, YuGothic, sans-serif;
}




Line 64: Line 92:
background-color: #ecf5f9;
background-color: #ecf5f9;
}
}

.skill-additional {
width: 100%;
min-width: 575px;
max-width: 900px;
padding-left: 16px;
box-sizing: border-box;
}

table.skilltable tr.summary {
table.skilltable tr.summary {
background-color:#d9edfb;
background-color:#d9edfb;
Line 85: Line 122:
min-width: 0;
min-width: 0;
}
}
}

span.skillvalue {
color:#007eff;
font-weight:bold
}
}


Line 455: Line 497:
display: grid;
display: grid;
gap: 10px;
gap: 10px;
grid-template-areas: "splash gacha twitter"
grid-template-areas: "splash gacha raid"
"splash raid twitter"
"splash gacha updates"
"splash updates twitter"
"splash gacha twitter"
"mechanics mechanics mechanics"
"mechanics mechanics mechanics"
"modes modes modes";
"modes modes modes"
"basics basics basics";
grid-template-columns: 1fr 320px 320px;
grid-template-columns: 1fr 320px 320px;
margin: 0 auto;
margin: 0 auto;
Line 473: Line 516:
"mechanics"
"mechanics"
"modes"
"modes"
"basics"
"twitter";
"twitter";
grid-template-columns: 1fr;
grid-template-columns: 1fr;
Line 524: Line 568:
flex-direction: column;
flex-direction: column;
justify-content: space-between;
justify-content: space-between;
/*background-image: url('https://static.miraheze.org/bluearchivewiki/3/39/Fp-background.jpg');*/
background-image: url('https://static.miraheze.org/bluearchivewiki/3/39/Fp-background.jpg');
background-image: url('https://static.miraheze.org/bluearchivewiki/7/78/BG_CS_PV4_043.jpg');
background-position: center;
background-position: center;
background-size: cover;
background-size: cover;
Line 580: Line 623:


.fp-item-twitter {
.fp-item-twitter {
background: none;
/* background: none; */
grid-area: twitter;
grid-area: twitter;
}
}
Line 590: Line 633:
.fp-item-modes {
.fp-item-modes {
grid-area: modes;
grid-area: modes;
}

.fp-item-basics {
grid-area: basics;
}
}


Line 626: Line 673:
.fp-links-wrapper a .link-image.link-raid {
.fp-links-wrapper a .link-image.link-raid {
background-image: url('https://static.miraheze.org/bluearchivewiki/9/9c/Fp-link-raid.png');
background-image: url('https://static.miraheze.org/bluearchivewiki/9/9c/Fp-link-raid.png');
}

.fp-links-wrapper a .link-image.link-eliminateraid {
background-image: url('https://static.miraheze.org/bluearchivewiki/8/81/Fp-link-eliminateraid.gif');
}

.fp-links-wrapper a .link-image.link-multifloorraid {
background-image: url('https://static.miraheze.org/bluearchivewiki/4/43/Fp-link-multifloorraid.png');
}

.fp-links-wrapper a .link-image.link-jfe {
background-image: url('https://static.miraheze.org/bluearchivewiki/a/ad/Fp-link-jfe.png');
}
}


Line 670: Line 729:
.fp-links-wrapper a .link-image.link-shop{
.fp-links-wrapper a .link-image.link-shop{
background-image: url('https://static.miraheze.org/bluearchivewiki/6/61/Fp-link-shop.png');
background-image: url('https://static.miraheze.org/bluearchivewiki/6/61/Fp-link-shop.png');
}

.fp-links-wrapper a .link-image.link-affection{
background-image: url('https://static.miraheze.org/bluearchivewiki/2/2b/Fp-link-affection.png');
}
}


Line 679: Line 742:


/* Twitter widget fix */
/* Twitter widget fix */
/*.fp-item-twitter .tabs-content {
iframe#twitter-widget-0, .twitter-timeline {
width: 100%;
}
iframe#twitter-widget-0, .twitter-timeline {
height: 100%!important;
height: 100%!important;
}
}

@media (min-width: 1200px) {
@media (min-width: 1200px) {
.fp-item-twitter {
.fp-item-twitter {
min-height: 800px;
min-height: 600px;
}
}
}
}*/




Line 696: Line 761:
float:right;
float:right;
clear:right;
clear:right;
margin-top: 0;
margin-left: 24px!important;
margin-left: 24px!important;
text-align:center;
text-align:center;
Line 801: Line 867:
}
}


.character .portrait-birthday a.image::after {
.character .portrait-birthday section>article[aria-hidden="false"]:first-child a::after {
display: block;
display: block;
content: "";
content: "";
Line 808: Line 874:
background: url(https://static.miraheze.org/bluearchivewiki/9/9a/Icon_Momotalk_BirthdayHat.png);
background: url(https://static.miraheze.org/bluearchivewiki/9/9a/Icon_Momotalk_BirthdayHat.png);
position: absolute;
position: absolute;
top: 8px;
top: 16px;
right: 99px;
right: 99px;
transform: rotate(18deg);
transform: rotate(18deg);
}
}

/* .character-images .tabber__section {
width: 312px;
} */


.character-images div.video {
.character-images div.video {
Line 1,159: Line 1,221:
}
}


table .tbd img {
table .tbd img,
table tr.tbd td.bg-element {
opacity: 0.6;
opacity: 0.6;
}
}


.related-portrait,
.related-portrait,
.related-portrait img,
.related-characters div img {
.related-characters div img {
border-radius: 50%;
border-radius: 50%;
Line 1,417: Line 1,481:
flex-wrap: wrap;
flex-wrap: wrap;
row-gap: 6px;
row-gap: 6px;
align-items: flex-start;
}
}


Line 1,644: Line 1,709:
position: absolute;
position: absolute;
text-align: center;
text-align: center;
line-height: normal;
line-height: 1;
color: #ecf5f9;
color: #ecf5f9;
text-shadow: 0 0 1px #466398;
text-shadow: 0 0 2px #466398;
}
}


Line 1,682: Line 1,747:
bottom:0;
bottom:0;
right: -24px;
right: -24px;
}



/* Vector skin fixes */
body {
height: auto!important;
}

#footer {
overflow: auto;
padding-bottom: 0.1em;
}



/* Darkmode fixes */
.client-darkmode figure[typeof~='mw:File/Thumb'] > a:first-child > *:first-child:not(.mw-broken-media),
.client-darkmode figure[typeof~='mw:File/Frame'] > a:first-child > *:first-child:not(.mw-broken-media),
.client-darkmode figure[typeof~='mw:File/Thumb'] > span:first-child > *:first-child:not(.mw-broken-media),
.client-darkmode figure[typeof~='mw:File/Frame'] > span:first-child > *:first-child:not(.mw-broken-media) {
border: 1px solid #303439;
background-color:#222222;
}


/* Generic flexbox container */
.flex-cards {
display: flex;
flex-flow: row wrap;
gap: 32px 32px;
}

/* Protect table row from being hidden */
table.mw-collapsed tr.protected {
display: table-row !important;
}
}

Latest revision as of 03:12, 29 April 2024

/* CSS placed here will be applied to all skins */

@import url("/w/index.php?title=Template:CharacterCard/style.css&action=raw&ctype=text/css");
@import url("/w/index.php?title=MediaWiki:XPtable.css&action=raw&ctype=text/css");


/*** Damage and Armor colors ***/
:root {
    --normal:       #485582;

	--explosive: 	#930008;
	--light: 		#930008;
	
	--penetration: 	#bf8901;
	--heavy: 		#bf8901;
	
	--mystic: 		#226f9c;
	--special: 		#226f9c;
	
	--siege: 		#794394;
	--structure: 	#794394;

    --sonic: 		#794394;
	--elastic: 	    #794394;
}

.normal 	{color: var(--normal);}
.explosive 	{color: var(--explosive);}
.light 		{color: var(--light);}
.penetration{color: var(--penetration);}
.heavy 		{color: var(--heavy);}
.mystic 	{color: var(--mystic);}
.special 	{color: var(--special);}
.siege		{color: var(--siege);}
.structure 	{color: var(--structure);}
.sonic		{color: var(--sonic);}
.elastic 	{color: var(--elastic);}

.bg-normal   	{background-color: var(--normal);}
.bg-explosive 	{background-color: var(--explosive);}
.bg-light 		{background-color: var(--light);}
.bg-penetration	{background-color: var(--penetration);}
.bg-heavy 		{background-color: var(--heavy);}
.bg-mystic 		{background-color: var(--mystic);}
.bg-special 	{background-color: var(--special);}
.bg-siege		{background-color: var(--siege);}
.bg-structure 	{background-color: var(--structure);}
.bg-sonic		{background-color: var(--sonic);}
.bg-elastic 	{background-color: var(--elastic);}

/* GL typing aliases */
.piercing       {color: var(--penetration);}
.bg-piercing	{background-color: var(--penetration);}

.bg-element {
	color:#fff;
	font-weight:bold; 
	text-align: center;
}


/* Japanese font fallback */
html, body {
    font-family: sans-serif, meiryo, meiryo ui, Yu Gothic, YuGothic;
}

*:lang(ja) {
    font-family: meiryo, meiryo ui, Yu Gothic, YuGothic, sans-serif;
}


table.batable {
    background-color: #ecf5f9;
}

table.batable th.mainheader {
    background-color: #2d4c72;
    color: #ffffff;
}

table.batable th.bigheader {
    background-color: #d9edfb;
    color: #000000;
}


/*** SkillTable and EXSkillTable ***/
table.skilltable {
	width: 100%;
	min-width: 575px;
	max-width: 900px;
	background-color: #ecf5f9;
}

.skill-additional {
    width: 100%;
    min-width: 575px;
    max-width: 900px;
    padding-left: 16px;
    box-sizing: border-box;
}

table.skilltable tr.summary {
	background-color:#d9edfb;
}
table.skilltable tr.summary td {
	text-align:center;
}
@media (max-width: 1500px) {
	table.skilltable {
		width: calc(100% - 350px);
	}
}
@media (max-width: 1200px) {
	table.skilltable {
		width: 100%;
		clear: both;
	}
}
@media (max-width: 720px) {
	table.skilltable {
		min-width: 0;
	}
}

span.skillvalue {
    color:#007eff; 
    font-weight:bold
}


/* CharacterTable */
table.charactertable {
	background-color:#ecf5f9;
}

table.charactertable th {
	background-color:#2d4c72;
	color:white;
}

table.charactertable td:first-child img
{
	min-width: 40px;
}

td.rarity {
    position: relative;
}

.pool-event td.rarity,
.pool-limited td.rarity,
.pool-anniversary td.rarity {
    padding-bottom: 10px;
    padding-top: 0;
}

.pool-event td.rarity::after,
.pool-limited td.rarity::after,
.pool-anniversary td.rarity::after {
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 11px;
    background-color: rgb(162 169 177 / 66%);
    color: white;
    font-size: 10px;
    line-height: 11px;
}

.pool-event td.rarity::after {
    content: "Event";
}
.pool-limited td.rarity::after {
    content: "Limited";
}
.pool-anniversary td.rarity::after {
    content: "Anniversary";
}


/* CharacterStatCalc */
.character-stattable {
	width: 100%;
	min-width: 575px;
	max-width: 900px;
}	
	
.stattable-controls {
	font-size: 15px;
	line-height: 38px;
}

.stattable-controls td>div {
	float: right;
}
	
.stattable-controls .stattable-level-selector,
.stattable-controls .stattable-equipment-selector,
.stattable-controls .chart-affection-level {
	margin: 2px 0 1px;
	position: relative;
}
	
.stattable-controls .stattable-level,
.stattable-controls .stattable-tier,
.stattable-controls input {
	width: 44px;
	font-size: 17px;
	border: none;
	background-color: rgba(255, 255, 255, 1);
	border-radius: 3px;
	
}	

.stattable-controls input {
	padding: 0 0 0 4px;
	width: 40px;
}

.stattable-controls .inactive,
.statchart .equipment.inactive
{
	filter: grayscale(1);
}

.stattable-equipment-selector .inactive,
.statchart-controls .inactive,
.statchart .equipment.inactive {
	opacity: 0.5;
}

.stattable-controls img {
	padding: 0 1px;
	margin: -3px 0 0 0;
	vertical-align: middle;
}

.stattable-controls .affection>img {
	padding: 0 5px;
}

	
.stattable-controls img:hover {
	filter: drop-shadow(0 2px 2px rgb(0 0 0 / 25%));
	transform: translateY(-1px);
	transition: .15s;
	cursor: pointer;
}


@media (min-width: 1200px) {
	table.character-stattable th {
		width: 16%;
	}
	
	table.character-stattable td[class^="stat-"] {
		width: 9%;
	}
	
}	


.stattable-controls .stattable-equipment-selector .equipment-item,
.stattable-controls div.affection {
    display: inline-block;
}

.stattable-controls .stattable-equipment-selector .equipment-item > img {
    width: 44px;
    height: auto;
}

.stattable-controls div.affection > img {
	width: 32px;
    height: auto;
}

.character-stattable td[class^="stat-"] {
	cursor: help;
}


/* StatChart */
#statchart-controls {
	background-color: #f8f9fa;
	border: 1px solid #a2a9b1;
	margin: auto;
}

#statchart-controls .stattable-controls td>div {
	float: none!important;
}

#statchart-controls .stattable-controls td {
	padding: 0.2em 0.4em;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap:8px 20px;
}

.statchart {
	background-color: #ecf5f9;
}

.statchart thead {
	position: sticky;
	top:0px;
	z-index: 50;
}

.statchart th {
	background-color:#2d4c72;color:white;
}

.statchart td {
	position: relative;
}

.statchart th.equipment,
.statchart th.gear {
	max-width: 60px;
	box-sizing: border-box;
}

.statchart .rank-1:after,
.statchart .rank-2:after,
.statchart .rank-3:after,
.statchart .rank-4:after {
	content: "";
    display: flex;
    align-items: center;
    background-size: 30px;
    background-position: center 55%;
    background-repeat: no-repeat;
    width: 36px;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    z-index: -1;
}

.statchart .rank-1:after {
	background-image: url('https://static.miraheze.org/bluearchivewiki/thumb/e/e4/RankIcon_1.png/60px-RankIcon_1.png');
}
.statchart .rank-2:after {
	background-image: url('https://static.miraheze.org/bluearchivewiki/thumb/6/68/RankIcon_2.png/60px-RankIcon_2.png');
}
.statchart .rank-3:after {
	background-image: url('https://static.miraheze.org/bluearchivewiki/thumb/6/68/RankIcon_3.png/60px-RankIcon_3.png');
}
.statchart .rank-4:after {
	background-image: url('https://static.miraheze.org/bluearchivewiki/thumb/6/6b/RankIcon_4.png/60px-RankIcon_4.png');
}


.statchart th.equipment,
.statchart th.weapon,
.statchart th.gear {
	font-stretch: ultra-condensed;
	font-size: x-small;
}

.statchart th.stat {
	width: 100px;
	min-width: 85px;
	box-sizing: border-box;
}

.statchart td[class^="stat-"] {
	z-index: 1;
	text-align: center;
	text-shadow: 0 0 1px #ecf5f9, 0 0 2px #ecf5f9, 0 0 4px #ecf5f9;
}


.statchart td[class*="percentile-"]:before {
	content: "";
	position: absolute;
	top:0;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: #d9edfb;
	z-index: -2;
	transition: 0.6s;
    border-right: 1px solid #cbe7fb;
}

.statchart td.percentile-100:before {
	right: 0;
}
.statchart td.percentile-95:before {
	right: 5%;
}
.statchart td.percentile-90:before {
	right: 10%;
}
.statchart td.percentile-85:before {
	right: 15%;
}
.statchart td.percentile-80:before {
	right: 20%;
}
.statchart td.percentile-75:before {
	right: 25%;
}
.statchart td.percentile-70:before {
	right: 30%;
}
.statchart td.percentile-65:before {
	right: 35%;
}
.statchart td.percentile-60:before {
	right: 40%;
}
.statchart td.percentile-55:before {
	right: 45%;
}
.statchart td.percentile-50:before {
	right: 50%;
}
.statchart td.percentile-45:before {
	right: 55%;
}
.statchart td.percentile-40:before {
	right: 65%;
}
.statchart td.percentile-35:before {
	right: 70%;
}
.statchart td.percentile-30:before {
	right: 75%;
}
.statchart td.percentile-25:before {
	right: 80%;
}
.statchart td.percentile-20:before {
	right: 85%;
}
.statchart td.percentile-15:before {
	right: 90%;
}
.statchart td.percentile-10:before {
	right: 95%;
}
.statchart td.percentile-5:before {
	right: 99%;
}




/* UpgradeTable */
table.upgradetable {
	width: 100%; 
	max-width: 640px; 
	text-align:center;
}

table.upgradetable tr th:first-child, 
table.upgradetable tr td:first-child
{
	width: 20%;
}

@media (max-width: 720px) {
	table.upgradetable {
		max-width: none;
		display: table!important;
	}
	
	table.upgradetable td:nth-of-type(n + 2) {
		width: calc(80% / 5);
		font-size: 2.2vw;
	}
	table.upgradetable td img { /* images not wrapped in <a> */
		max-width: 100% !important;
		height: auto !important;
	}
}

@media (max-width: 480px) {
	table.upgradetable td:nth-of-type(n + 2) {
		font-size: 2.5vw;
	}
}


/* Front page stuff */
.fp-container {
    display: grid;
    gap: 10px;
    grid-template-areas: "splash gacha raid"
                         "splash gacha updates"
                         "splash gacha twitter"
                         "mechanics mechanics mechanics"
                         "modes modes modes"
                         "basics basics basics";
    grid-template-columns: 1fr 320px 320px;
    margin: 0 auto;
    width:100%;
}

@media (max-width: 1200px) {
    .fp-container {
        grid-template-areas: "splash "
                             "gacha  "
                             "raid   "
                             "updates"
                             "mechanics"
                             "modes"
                             "basics"
                             "twitter";
        grid-template-columns: 1fr;
        width: 100%;
    }
}

.fp-container p {
    margin: 0;
}

.fp-item {
    background-color: #eaeaea;
    border-radius: 10px;
    overflow: hidden;
    padding: 0;
}

.fp-item-header {
    background-color: #dadada;
    font-weight: bold;
    margin: 0;
    padding: 4px;
    text-align: center;
}

.fp-item-content {
    margin: 0;
    padding: 10px;
}

.fp-item-content a > img {
	display: block;
	margin: auto;
	clear: both;
    max-width: 100%;
    height: auto;
}

.fp-item-content ul {
    margin-left: 0;
}

.fp-item-content ul li {
    margin-left: 1em;
}

.fp-item-splash {
	display: flex;
	align-items: center;
	flex-direction: column;
	justify-content: space-between;
    background-image: url('https://static.miraheze.org/bluearchivewiki/3/39/Fp-background.jpg');
    background-position: center;
    background-size: cover;
    grid-area: splash;
    min-height: 500px;
    position: relative;	
}

@media (max-width: 1200px) {
	.fp-item-splash {
		min-height: 250px;
	}
}

.fp-item-splash .countdown {
    background-color: rgba(255, 255, 255, 0.7);
    border-radius: 15px;
    display: flex;
    justify-content: center;
    margin: 10px;
    padding: 10px;
}

.fp-logo {
	width:calc(100% - 20px);
    margin: 100px auto 10px;
	height:200px; 
	background:url('https://static.miraheze.org/bluearchivewiki/d/d2/Ba_logo_large.png'); 
	background-repeat:no-repeat; 
	background-position:center; 
	background-size:contain; 
	clear:both;
}

.fp-item-splash .countdown .countdown-text {
    margin-left: 10px;
    padding-top: 12px;
    text-align: center;
}

.fp-item-current-gacha {
    grid-area: gacha;
    text-align: center;
}

.fp-item-current-raid {
    grid-area: raid;
    text-align: center;
}

.fp-item-recent-updates {
    grid-area: updates;
}

.fp-item-twitter {
    /* background: none; */
    grid-area: twitter;
}

.fp-item-mechanics { 
    grid-area: mechanics;
}

.fp-item-modes { 
    grid-area: modes;
}

.fp-item-basics { 
    grid-area: basics;
}

.fp-links-wrapper {
    display: flex;
    flex-wrap: wrap;
    grid-area: links;
    justify-content: center;
    padding: 10px;
    row-gap: 10px;
}

.fp-links-wrapper a {
    margin: 0 10px;
}

.fp-links-wrapper .break { 
    flex-basis: 100%;
    height: 0;
}

.fp-links-wrapper a .link-image {
    background-image: url('https://static.miraheze.org/bluearchivewiki/5/58/Fp-link-placeholder.png');
    background-position: center;
    background-size: 100%;
    border-radius: 50%;
    width: 90px;
    height: 90px;
    margin: 0 auto;
}

.fp-links-wrapper a .link-image.link-missions {
    background-image: url('https://static.miraheze.org/bluearchivewiki/6/6d/Fp-link-missions.png');
}

.fp-links-wrapper a .link-image.link-raid {
    background-image: url('https://static.miraheze.org/bluearchivewiki/9/9c/Fp-link-raid.png');
}

.fp-links-wrapper a .link-image.link-eliminateraid {
    background-image: url('https://static.miraheze.org/bluearchivewiki/8/81/Fp-link-eliminateraid.gif');
}

.fp-links-wrapper a .link-image.link-multifloorraid {
    background-image: url('https://static.miraheze.org/bluearchivewiki/4/43/Fp-link-multifloorraid.png');
}

.fp-links-wrapper a .link-image.link-jfe {
    background-image: url('https://static.miraheze.org/bluearchivewiki/a/ad/Fp-link-jfe.png');
}

.fp-links-wrapper a .link-image.link-arena {
    background-image: url('https://static.miraheze.org/bluearchivewiki/8/8f/Fp-link-arena.png');
}

.fp-links-wrapper a .link-image.link-commission {
    background-image: url('https://static.miraheze.org/bluearchivewiki/d/df/Fp-link-commission.png');
}

.fp-links-wrapper a .link-image.link-bountyhunt {
    background-image: url('https://static.miraheze.org/bluearchivewiki/3/31/Fp-link-bountyhunt.png');
}

.fp-links-wrapper a .link-image.link-characters {
    background-image: url('https://static.miraheze.org/bluearchivewiki/0/0a/Fp-link-characters.png');
}

.fp-links-wrapper a .link-image.link-cafe{
    background-image: url('https://static.miraheze.org/bluearchivewiki/5/57/Fp-link-cafe.png');
}

.fp-links-wrapper a .link-image.link-equipment{
    background-image: url('https://static.miraheze.org/bluearchivewiki/c/ca/Fp-link-equipment.png');
}

.fp-links-wrapper a .link-image.link-unique-weapons{
    background-image: url('https://static.miraheze.org/bluearchivewiki/a/ac/Fp-link-unique-weapons.png');
}

.fp-links-wrapper a .link-image.link-events{
    background-image: url('https://static.miraheze.org/bluearchivewiki/b/b6/Fp-link-events.png');
}

.fp-links-wrapper a .link-image.link-school_exchange{
    background-image: url('https://static.miraheze.org/bluearchivewiki/e/ec/Fp-link-school-exchange.png');
}

.fp-links-wrapper a .link-image.link-recruitment{
    background-image: url('https://static.miraheze.org/bluearchivewiki/b/b1/Fp-link-recruitment.png');
}

.fp-links-wrapper a .link-image.link-shop{
    background-image: url('https://static.miraheze.org/bluearchivewiki/6/61/Fp-link-shop.png');
}

.fp-links-wrapper a .link-image.link-affection{
  background-image: url('https://static.miraheze.org/bluearchivewiki/2/2b/Fp-link-affection.png');
}

.fp-links-wrapper a .link-text {
    margin-top: 10px;
    text-align: center;
    width: 96px;
}

/* Twitter widget fix */
/*.fp-item-twitter .tabs-content {
    width: 100%;
}
 iframe#twitter-widget-0, .twitter-timeline {
    height: 100%!important;
}
@media (min-width: 1200px) {
	.fp-item-twitter {
		min-height: 600px;
	}
}*/


/*** Template:Character ***/
.character {
	display: table!important;
	background-color:#ecf5f9;
	float:right;
	clear:right;
	margin-top: 0;
	margin-left: 24px!important;
	text-align:center;
	width:320px; 
	box-sizing: border-box;
}

.character th.character-header {
	background-color:#2d4c72;
	color:white;
}

.rarity,
.character-rarity {
	margin: 4px auto 8px auto;
	line-height: 19px;
}

.rarity > img,
.character-rarity > img {
	margin: 0 1px;
}

.character-images {
	width:100%;
}

.character-school,
.character-role {
	width:50%;
}

.character-affinity, .character-equipment {
	width: 100%; 
	border-spacing: 0;
	margin: 0!important;
	display: table!important;
}

.character-affinity td:nth-child(2) {
	border: solid #a2a9b1; border-width: 0 1px;
}

.character-affinity-types > td {
	width: calc(100% / 3);
	padding: 5px 0 4px;
}

.character-affinity-types img {
	filter: grayscale(1.0) opacity(0.9);
}

.character-affinity-values > td {
	padding: 0 0 3px;
}

.character-equipment td {
	width: 20%; 
	padding: 0;
}
.character-equipment .weapon {
	width: 40%; 
	padding-top: 2px; 
	padding-bottom: 0; 
	position:relative;
}

.weapon-text {
	position:absolute; 
	z-index:1; 
	top:0px; 
	left:0px; 
	margin:0; 
	padding:2px 0 0 4px; 
	font-weight: bold; 
	color: #2d4c72;
	filter: drop-shadow(0px 0px 1px #ecf5f9);
}

.weapon-text img {
	margin-right: 2px;
}

.weapon-unique {
    margin-top: 12px;
    margin-bottom: 6px;
}

.character-voice-preview {
    position: relative;
    cursor: pointer;
}

td.character-voice-preview::after {
    background: url(https://static.miraheze.org/bluearchivewiki/8/8e/Icon_sound.png) no-repeat center;
    background-size: contain;
    position: absolute;
    content: '';
    display: block;
    width: 14px;
    right: 5px;
    top: 0;
    bottom: 0;
    opacity: 0.8;
}

.character .portrait-birthday section>article[aria-hidden="false"]:first-child a::after {
    display: block;
    content: "";
    height: 76px;
    width: 52px;
    background: url(https://static.miraheze.org/bluearchivewiki/9/9a/Icon_Momotalk_BirthdayHat.png);
    position: absolute;
    top: 16px;
    right: 99px;
    transform: rotate(18deg);
}

.character-images div.video {
    min-height: 300px;
}

.character-images video {
    display: block;
    height: 300px;
    width: 100%;
    max-width: 480px;
    object-fit: cover;
    margin: auto;
    cursor: pointer;
}

/*** Hide Mainpage title ***/
body.page-Main_Page.action-view h1.firstHeading, body.page-Main_Page.action-submit h1.firstHeading { display: none; }

/* Style for horizontal lists (separator following item).
   @source mediawiki.org/wiki/Snippets/Horizontal_lists
   @revision 8 (2016-05-21)
   @author [[User:Edokter]]
 */
.hlist dl,
.hlist ol,
.hlist ul {
	margin: 0;
	padding: 0;
}

/* Display list items inline */
.hlist dd,
.hlist dt,
.hlist li {
	margin: 0; /* don't trust the note that says margin doesn't work with inline
				* removing margin: 0 makes dds have margins again */
	display: inline;
}

/* Display nested lists inline */
.hlist.inline,
.hlist.inline dl,
.hlist.inline ol,
.hlist.inline ul,
.hlist dl dl,
.hlist dl ol,
.hlist dl ul,
.hlist ol dl,
.hlist ol ol,
.hlist ol ul,
.hlist ul dl,
.hlist ul ol,
.hlist ul ul {
	display: inline;
}

/* Hide empty list items */
.hlist .mw-empty-li {
	display: none;
}

/* Generate interpuncts */
.hlist dt:after {
	content: ": ";
}

/**
 * Note hlist style usage differs in Minerva and is defined in core as well!
 * Please check Minerva desktop (and Minerva.css) when changing
 * See https://phabricator.wikimedia.org/T213239
 */
.hlist dd:after,
.hlist li:after {
	content: " · ";
	font-weight: bold;
}

.hlist dd:last-child:after,
.hlist dt:last-child:after,
.hlist li:last-child:after {
	content: none;
}

/* Add parentheses around nested lists */
.hlist dd dd:first-child:before,
.hlist dd dt:first-child:before,
.hlist dd li:first-child:before,
.hlist dt dd:first-child:before,
.hlist dt dt:first-child:before,
.hlist dt li:first-child:before,
.hlist li dd:first-child:before,
.hlist li dt:first-child:before,
.hlist li li:first-child:before {
	content: " (";
	font-weight: normal;
}

.hlist dd dd:last-child:after,
.hlist dd dt:last-child:after,
.hlist dd li:last-child:after,
.hlist dt dd:last-child:after,
.hlist dt dt:last-child:after,
.hlist dt li:last-child:after,
.hlist li dd:last-child:after,
.hlist li dt:last-child:after,
.hlist li li:last-child:after {
	content: ")";
	font-weight: normal;
}

/* Put ordinals in front of ordered list items */
.hlist ol {
	counter-reset: listitem;
}

.hlist ol > li {
	counter-increment: listitem;
}

.hlist ol > li:before {
	content: " " counter(listitem) "\a0";
}

.hlist dd ol > li:first-child:before,
.hlist dt ol > li:first-child:before,
.hlist li ol > li:first-child:before {
	content: " (" counter(listitem) "\a0";
}

/* Default style for navigation boxes */
.navbox {                     /* Navbox container style */
	box-sizing: border-box;
	border: 1px solid #a2a9b1;
	width: 100%;
	clear: both;
	font-size: 88%;
	text-align: center;
	padding: 1px;
	margin: 1em auto 0;       /* Prevent preceding content from clinging to navboxes */
}

.navbox .navbox {
	margin-top: 0;            /* No top margin for nested navboxes */
}

.navbox + .navbox {
	margin-top: -1px;         /* Single pixel border between adjacent navboxes */
}

.navbox-inner,
.navbox-subgroup {
	width: 100%;
}

.navbox-group,
.navbox-title,
.navbox-abovebelow {
	padding: 0.25em 1em;      /* Title, group and above/below styles */
	line-height: 1.5em;
	text-align: center;
}

th.navbox-group {             /* Group style */
	white-space: nowrap;
	/* @noflip */
	text-align: right;
}

.navbox,
.navbox-subgroup {
	background-color: #fdfdfd; /* Background color */
}

.navbox-list {
	line-height: 1.5em;
	border-color: #fdfdfd;    /* Must match background color */
}

/* cell spacing for navbox cells */
tr + tr > .navbox-abovebelow,
tr + tr > .navbox-group,
tr + tr > .navbox-image,
tr + tr > .navbox-list {    /* Borders above 2nd, 3rd, etc. rows */
	border-top: 2px solid #fdfdfd; /* Must match background color */
}

.navbox th,
.navbox-title {
	background-color: #d9edfb;      /* Level 1 color */
}

.navbox-abovebelow,
th.navbox-group,
.navbox-subgroup .navbox-title {
	background-color: #ecf5f9;      /* Level 2 color */
}

.navbox-subgroup .navbox-group,
.navbox-subgroup .navbox-abovebelow {
	background-color: #e6e6ff;      /* Level 3 color */
}

.navbox-even {
	background-color: #f7f7f7;      /* Even row striping */
}

.navbox-odd {
	background-color: transparent;  /* Odd row striping */
}

.navbox .hlist td dl,
.navbox .hlist td ol,
.navbox .hlist td ul,
.navbox td.hlist dl,
.navbox td.hlist ol,
.navbox td.hlist ul {
	padding: 0.125em 0;       /* Adjust hlist padding in navboxes */
}


/*** Furniture table output through DPL ***/
.furniture-table {
    width: 100%;
    min-width: 575px;
    max-width: 1024px;
}

.furniture-table td.icon {
    text-align: center;
}

.furniture-table td.icon img {
    margin: -4px -6px;
}

.furniture-table img.interaction-portrait {
    border-radius: 50%;
    height: 48px;
    object-fit: cover;
    margin: 1px 4px 1px 0px;
}

.furniture-table-narrow {
    width: 100%;
    min-width: auto;
    max-width: 640px;
}


/*** Strategytable ***/
.strategytable {
    width: 100%;
    max-width: 900px;
}

.strategytable .students {
    width:250px;
    text-align: center;
}

.strategytable .students img {
    margin: 4px;
}

@media (max-width: 720px) {
    .strategytable .students {
        width:170px;
    }
}

@media (max-width: 480px) {
    .strategytable .students img {
        margin: 4px 0;
    }
    .strategytable .students {
        width: auto;
        max-width:78px;
    }
    .strategytable .strategy {
        padding: 0.2em 0.4em;
    }
}


/*** Bannertable ***/
.bannertable {
    width: 100%;
    max-width: 900px;
    text-align: center;
}

.bannertable .image {
    width: 300px;
    position: relative;
}

.bannertable .date {
    width: 100px;
}


.bannertable tr.limited {
    background-color: #fff2ed;
}

.limited td.image::after {
    content: "Limited!";
    display: block;
    height: 24px;
    width: 66px;
    top: 16px;
    left: 10px;
    position: absolute;
    background: #e54933;
    background: repeating-linear-gradient( 115deg, #e15634, #e15634 4px, #e46b41 4px, #e46b41 8px);
    color: white;
    border-radius: 6px;
    border: 2px solid #69290a;
    font-size: 14px;
    font-weight: bold;
    text-shadow: 0px 0px 2px #69290a;
    padding: 0px 0px;
    text-align: center;
    transform: skew(-10deg) rotate(-10deg);
    filter: drop-shadow(1px 1px 1px #00000066);
}

@media (min-width: 1024px) {
    .bannertable .period {
        width: 300px;
    }
}

@media (max-width: 480px) {

}


/*** Generic table styles ***/
table .tbd {
    color:#aaaaaa;
}

table .tbd img,
table tr.tbd td.bg-element {
    opacity: 0.6;
}

.related-portrait,
.related-portrait img,
.related-characters div img {
    border-radius: 50%;
    height: 48px;
    object-fit: cover;
    margin: 1px 4px 1px 0px;
}

td.rarity {
    text-align: center;
}

.limitwidth-1280 {
    width: 100%;
    min-width: 720px;
    max-width: 1280px;
}

.limitwidth,
.limitwidth-1024 {
    width: 100%;
    min-width: 575px;
    max-width: 1024px;
}

.limitwidth-720 {
    width: 100%;
    min-width: 575px;
    max-width: 720px;
}

.limitwidth-nomin {
    min-width: none;
}

.limitwidth-min320 {
    min-width: 320px;
}

.limitwidth-min480 {
    min-width: 480px;
}


/*** Template:ItemCard ***/
img.itemcard {
    margin: -4px 0 -3px;
}

.item-quantity {
    display: inline-block;
    background: rgb(64 110 160 / 10%);
    height: 22px;
    width: 62px;
    border-radius: 11px;
    margin-right: -30px;
    padding: 0 26px 0 2px;
    box-sizing: border-box;
    line-height: 22px;
    text-align: center;
}

.itemcard-block {
    display: inline-block;
    text-align: center;
}

.itemcard-block img.itemcard {
    position: relative;
    margin: -1px 0 0;
    z-index: 2;
}


.itemcard-block > span,
.itemcard-block a {
    display: inline-block;
    position: relative;
}

.itemcard-block span > .item-quantity,
.itemcard-block span > .item-probability {
    display: block;
    position: absolute;
    width: auto;
    bottom: 1px;
    left: 50%;
    transform: translateX(-50%);
    padding: 0 4px;
}

.itemcard-block.quantity.probability span > .item-quantity {
    bottom:20px;
}

/*
.itemcard-block span > .item-quantity {
}
*/

.itemcard-block span > .item-probability {
    line-height: 18px;
    border-radius: 12px;
    color: #fff;
    background-color: #406ea0;
    margin: 0 2px;
}

.itemcard-block span > .item-tier {
    display: block;
    position: absolute;
    box-sizing: border-box;
    background: rgb(64 110 160 / 10%);
    color: #606060;
    bottom: -1px;
    right: 0;
    width: 15px;
    height: 15px;
    padding: 0;
    font-size: 8px;
    line-height: 18px;
    border-radius: 11px;
    z-index: 3;
}

.itemcard-block.quantity > span,
.itemcard-block.probability > span {
    padding-bottom: 20px;
}

.itemcard-block.quantity.probability > span {
    padding-bottom: 40px;
}

.itemcard-block.quantity span > .item-tier,
.itemcard-block.probability span > .item-tier {
    bottom: 19px;
}

.itemcard-block.quantity.probability span > .item-tier {
    bottom: 39px;
}

span.itemcard-block[class*='tier-'] > span > a::before {
    display: block;
    content: "";
    background-color: #b5cbdc;
    background-image: url(https://static.miraheze.org/bluearchivewiki/8/8b/Itembg.png);
    background-size: cover;
    background-blend-mode: overlay;
    position: absolute;
    top: 8%;
    bottom: 8%;
    left: 14%;
    right: 13%;
    z-index: 1;
    border-radius: 6px;
    transform: skewX(-10deg);
}

span.itemcard-block.tier-0 > span > a::before,
span.itemcard-block.tier-1 > span > a::before {
    background-color: #b5cbdc;
}
span.itemcard-block.tier-2 > span > a::before {
    background-color: #77affd;
}
span.itemcard-block.tier-3 > span > a::before {
    background-color: #f97f54;
}
span.itemcard-block.tier-4 > span > a::before {
    background-color: #b757fc;
}

/*** Template:MissionRewards ***/
table.missionrewards {
    background:none;
    border:none;
    border-collapse:separate;
    text-align:center;
}

table.missionrewards span {
    display: block;
    bottom: 1px;
    line-height: 20px;
    border-radius: 12px;
    padding: 0 4px;
    color: #fff;
}

table.missionrewards span.prob {
    background: #406ea0;
}

table.missionrewards span.amount {
    background: #a06c40;
    font-size: 12px;
}


/* Related characters list */
.related-characters div {
    display: inline-flex;
    width: 190px;
    margin: 2px 0;
    flex-direction: row;
    align-items: center;
}


/* TabberNeue */
.character-images .tabber__tabs {
    margin: 0 auto;
}
.itemtable .tabber__panel,
.furnituretable .tabber__panel {
    padding: 6px;
}


/* Generic opacity classes */
.opacity-90 {opacity: 0.9;}
.opacity-80 {opacity: 0.8;}
.opacity-70 {opacity: 0.7;}
.opacity-60 {opacity: 0.6;}
.opacity-50 {opacity: 0.5;}
.opacity-40 {opacity: 0.4;}
.opacity-30 {opacity: 0.3;}
.opacity-20 {opacity: 0.2;}
.opacity-10 {opacity: 0.1;}


/* TimedMediaHandler / VideoJS player */
/* remove CC button in audio player */
.vjs-subs-caps-button {
    display: none;
}

td span.mw-tmh-player.audio {
    vertical-align: middle;
    margin: 3px 0;
}


/* Event stage lists */
.stagetable {
    text-align: center;
}

.stagetable .rewards {
    display: flex;
    flex-wrap: wrap;
    row-gap: 6px;
    align-items: flex-start;
}


table.columns-2 td,
td.columns-2 {
    column-count: 2;
    column-gap: 12px;
    column-rule: 1px solid #a2a9b1;
    display: block;
    border: none;
}

table.columns-2 td ul,
td.columns-2 ul {
    list-style: none;
    margin-left: 0.3em;
}

@media (max-width: 1024px) {
	table.columns-2 td,
    td.columns-2 {
        column-count: 1;
    }

}





/* Mitcher! */
ul.mitchergacha {
  padding-left: 0;
}

ul.mitchergacha li {
    width:100%;
    max-width: 480px;
    border: 1px solid #c8ccd1;
    background-color: #f8f9fa;
    display: block;
    clear: both;
    margin: 1em auto;
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    padding: 1em;
    box-sizing: border-box;
}

ul.mitchergacha li img {
    display: block;
}

@media (max-width: 480px) {
	ul.mitchergacha li img {
        width: 60px!important;
        height: auto!important;
    }
}

#mitcherstats {
    flex-wrap: wrap;
}
#mitcherstats div {
    min-width: 200px;
}

ul.mitchergacha li.onemore {
    background-color: #e0f2ff!important;
    cursor: pointer;
}

ul.mitchergacha li.onemore:hover {
    background-color: #d5ecfd!important;
}

ul.mitchergacha div {
    position: relative;
    z-index: 1;
    transition: 0.2s;
    transform-style: preserve-3d;
}

ul.mitchergacha div.hidden {
    transform: rotateY(360deg);
    display: block!important;
}

ul.mitchergacha div.hidden::before {
    display: block;
    position: absolute;
    top:0;
    left:0;
    right:0;
    bottom:0;
    background-color: #f8f9fa;
    background-image: url("https://static.miraheze.org/bluearchivewiki/thumb/6/6c/Event_Image_Card_813_Back.png/85px-Event_Image_Card_813_Back.png");
    background-size: contain;
    content: '';
    z-index: 2;
}


/* Junby! */
ul.omikuji {
  padding-left: 0;
}

ul.omikuji li {
    width:100%;
    max-width: 480px;
    border: 1px solid #c8ccd1;
    background-color: #f8f9fa;
    display: block;
    clear: both;
    margin: 1em auto;
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    padding: 1em;
    box-sizing: border-box;
}

ul.omikuji li img {
    display: block;
}

@media (max-width: 480px) {
	ul.omikuji li img {
        width: 60px!important;
        height: auto!important;
    }
}

#omikujistats {
    flex-wrap: wrap;
}
#omikujistats div {
    min-width: 200px;
}

#omikujistats div a {
    display: inline-block;
}

ul.omikuji li.onemore {
    background-color: #e0f2ff!important;
    cursor: pointer;
}

ul.omikuji li.onemore:hover {
    background-color: #d5ecfd!important;
}

ul.omikuji li.grade-0 {
    box-shadow:
        inset 0 0 50px #ddd,
        inset 20px 0 80px rgb(49, 49, 49),
        inset 20px 0 300px rgb(49, 49, 49),  
        inset -20px 0 300px rgb(48, 73, 73), 
        0 0 50px #fff, 
        -10px 0 80px rgb(49, 49, 49),     
        10px 0 80px rgb(48, 73, 73);       
}

ul.omikuji li.grade-5 {
    box-shadow:
        inset 0 0 50px #fff,   
        inset 20px 0 80px #f0f,
        inset -20px 0 80px #0ff,
        inset 20px 0 300px #f0f,
        inset -20px 0 300px #0ff,
        0 0 50px #fff,      
        -10px 0 80px #f0f,   
        10px 0 80px #0ff;  
}

/* General visibility */
.hidden {
	display: none;
}

.condensed {
    font-stretch: condensed;
}

.break { 
    flex-basis: 100%;
    height: 0;
}

/* Item group */
div.itemgroup {
    display: inline-block;
    position: relative;
    border: solid #46639880;
    border-width: 0 3px 0 3px;
    border-radius: 8px;
    background-color: #ecf5f9;
    margin: 0 2px;
}

div.itemgroup.tag {
    border-width: 24px 0 3px 0;
}

div.itemgroup.btag {
    border-width: 3px 0 24px 0 ;
}

div.itemgroup.ltag {
    border-width: 0 3px 0 24px;
}

div.itemgroup.rtag {
    border-width: 0 24px 0 3px;
}



div.itemgroup > .tag {
    display: none;
    align-items: center;
    justify-content: center;
    position: absolute;
    text-align: center;
    line-height: 1;
    color: #ecf5f9;
    text-shadow: 0 0 2px #466398;
}

div.itemgroup.tag > .tag,
div.itemgroup.btag > .tag,
div.itemgroup.ltag > .tag,
div.itemgroup.rtag > .tag {
    display: flex;
}

div.itemgroup.tag > .tag {
    height: 24px;
    top:    -24px;
    left:0;
    right:0;
}

div.itemgroup.btag > .tag {
    height: 24px;
    bottom:-24px;
    left:0;
    right:0;
}

div.itemgroup.ltag > .tag {
    width: 24px;
    top:0;
    bottom:0;
    left: -24px;
}

div.itemgroup.rtag > .tag {
    width: 24px;
    top:0;
    bottom:0;
    right: -24px;
}



/* Vector skin fixes */
body {
    height: auto!important;
}

#footer {
    overflow: auto;
    padding-bottom: 0.1em;
}



/* Darkmode fixes */
.client-darkmode figure[typeof~='mw:File/Thumb'] > a:first-child > *:first-child:not(.mw-broken-media), 
.client-darkmode figure[typeof~='mw:File/Frame'] > a:first-child > *:first-child:not(.mw-broken-media), 
.client-darkmode figure[typeof~='mw:File/Thumb'] > span:first-child > *:first-child:not(.mw-broken-media),
.client-darkmode figure[typeof~='mw:File/Frame'] > span:first-child > *:first-child:not(.mw-broken-media) {
    border: 1px solid #303439;
    background-color:#222222;
}


/* Generic flexbox container */
.flex-cards {
    display: flex;
    flex-flow: row wrap;
    gap: 32px 32px;
}

/* Protect table row from being hidden */
table.mw-collapsed tr.protected {
    display: table-row !important;
}