/*
Utility.css contains CSS classes which are not design relevant for the specific wiki
Rather there are functional and best practice CSS constructs which without modification
can be helpful on other wikis too (see especially Categoy:MultiWiki)
See detailed documentation in Dev/mediawiki
*/

/* ---------------------------- */
/* 1. General purpose Utilities */

.width-100 { width: 100%; }

.justify-left { justify-content: left !important; }
.justify-center { justify-content: center !important; }
.justify-right { justify-content: right !important; }

.margin-left-0 { margin-left: 0 !important; }
.margin-left-5 { margin-left: 5px !important; }
.margin-left-10 { margin-left: 10px !important; }
.margin-left-20 { margin-left: 20px !important; }
.margin-left-30 { margin-left: 30px !important; }
.margin-right-0 { margin-right: 0 !important; }
.margin-right-5 { margin-right: 5px !important; }
.margin-right-10 { margin-right: 10px !important; }
.margin-right-20 { margin-right: 20px !important; }
.margin-right-30 { margin-right: 30px !important; }
.margin-top-0 { margin-top: 0 !important; }
.margin-top-5 { margin-top: 5px !important; }
.margin-top-10 { margin-top: 10px !important; }
.margin-top-20 { margin-top: 20px !important; }
.margin-top-30 { margin-top: 30px !important; }
.margin-bottom-0 { margin-bottom: 0 !important; }
.margin-bottom-5 { margin-bottom: 5px !important; }
.margin-bottom-10 { margin-bottom: 10px !important; }
.margin-bottom-20 { margin-bottom: 20px !important; }
.margin-bottom-30 { margin-bottom: 30px !important; }

.padding-left-0 { padding-left: 0 !important; }
.padding-left-5 { padding-left: 5px !important; }
.padding-left-10 { padding-left: 10px !important; }
.padding-left-20 { padding-left: 20px !important; }
.padding-left-30 { padding-left: 30px !important; }
.padding-right-0 { padding-right: 0 !important; }
.padding-right-5 { padding-right: 5px !important; }
.padding-right-10 { padding-right: 10px !important; }
.padding-right-20 { padding-right: 20px !important; }
.padding-right-30 { padding-right: 30px !important; }
.padding-top-0 { padding-top: 0 !important; }
.padding-top-5 { padding-top: 5px !important; }
.padding-top-10 { padding-top: 10px !important; }
.padding-top-20 { padding-top: 20px !important; }
.padding-top-30 { padding-top: 30px !important; }
.padding-bottom-0 { padding-bottom: 0 !important; }
.padding-bottom-5 { padding-bottom: 5px !important; }
.padding-bottom-10 { padding-bottom: 10px !important; }
.padding-bottom-20 { padding-bottom: 20px !important; }
.padding-bottom-30 { padding-bottom: 30px !important; }

.vspacer-0 { display: block; width: 100%; overflow: auto; float: none; height: 0; }
.vspacer-1 { display: block; width: 100%; overflow: auto; float: none; height: 1px; }
.vspacer-2 { display: block; width: 100%; overflow: auto; float: none; height: 2px; }
.vspacer-3 { display: block; width: 100%; overflow: auto; float: none; height: 3px; }
.vspacer-4 { display: block; width: 100%; overflow: auto; float: none; height: 4px; }
.vspacer-5 { display: block; width: 100%; overflow: auto; float: none; height: 5px; }
.vspacer-10 { display: block; width: 100%; overflow: auto; float: none; height: 10px; }
.vspacer-20 { display: block; width: 100%; overflow: auto; float: none; height: 20px; }
.vspacer-30 { display: block; width: 100%; overflow: auto; float: none; height: 30px; }
.vspacer-50 { display: block; width: 100%; overflow: auto; float: none; height: 50px; }

.pos-1px-up { position: relative; top: -1px; }
.pos-1px-down { position: relative; top: 1px; }
.pos-2px-up { position: relative; top: -2px; }
.pos-2px-down { position: relative; top: 2px; }
.pos-3px-up { position: relative; top: -3px; }
.pos-3px-down { position: relative; top: 3px; }

.text-align-center {
	text-align: center;
}

.vertical-align-middle {
	vertical-align: middle;
}

.nowrap {
	white-space: nowrap;
}

.clear-float {
	clear: both;
	float: none;
	overflow: auto;
}

/* ------------------------------- */
/* 2. Manually place anchor Utiliy */

.manually-placed-anchor {
	position: relative;
	top: -40px;
}

/* ----------------------- */
/* 3. Scroll-Table Utility */

.wikitable-auto-wrapper {
	position: relative;
}

.wikitable-auto-wrapper > .table-content {
	max-width: 100%;
	overflow-x: auto;
}

.wikitable-auto-wrapper table {
	margin: 0 !important;
}
	
.wikitable-auto-wrapper.scroll-overflow-mobile {
	padding-bottom: 11px;
}

.wikitable-auto-wrapper.scroll-overflow-mobile > .before,
.wikitable-auto-wrapper.scroll-overflow-mobile > .after {
    display: block;
    width: 100%;
    padding: 0 0 0 14px;
    color: #fff;
    border-radius: 4px;
	background: linear-gradient( to right,#3fb8eb 30%,transparent);
	font-size: 11px;
	font-weight: bold;
	line-height: 14px;
	letter-spacing: 2px;
}

.wikitable-auto-wrapper.scroll-overflow-mobile > .before:before,
.wikitable-auto-wrapper.scroll-overflow-mobile > .after:before {
	content: 'SWIPE';
}

.wikitable-auto-wrapper.scroll-overflow-mobile > .before:after,
.wikitable-auto-wrapper.scroll-overflow-mobile > .after:after {
	content: 'â–· â–· â–·';
	position: relative;
	left: 10px;
	top: -1px;
	font-size: 12px;
}

/* ---------------- */
/* 4. No-JS classes */

html.client-js .show-for-nojs-only,
html.client-js .hide-for-js-only,
html.client-nojs .show-for-js-only,
html.client-nojs .hide-for-nojs-only {
	display: none !important;
}

/* ------------------ */
/* 5. Columns Utility */

.use-2-columns, .use-3-columns {
	column-gap: 20px;
	column-rule: 1px solid #ddd;
	width: 100%;
	margin: 15px 0;
}

.use-2-columns {
	column-count: 2;
}

.use-3-columns {
	column-count: 3;
}

.use-2-columns .keep-together, .use-3-columns .keep-together {
	display: inline-block;
	vertical-align: top;
}

.use-3-columns.strict-list-columns > ul,
.use-3-columns.strict-list-columns > ol {
	display: inline-block;
}

/* Responsive */
@media (max-width: 590px) {
	.use-3-columns {
		column-count: 2;
	}
}

@media (max-width: 450px) {
	.use-2-columns, .use-3-columns {
		column-count: 1;
	}
}

/* -------------------------------- */
/* 6. Edit Preview improve editform */

body.action-submit #editform {
	position: relative;
	z-index: 1000;
	background: #f6f3f4;
	padding: 10px;
	border: 1px solid #ccc;
}

/* -------------------- */
/* 7. Mbox Box info-box */

#mw-content-text .info-box {
	padding: 5px 21px;
	margin: 13px 0 13px -2px;
	border: 1px solid #e0e0e0;
	background: white;
	border-radius: 8px;
	box-shadow: 2px 2px 5px rgba(0, 0, 0, .09);
	display: flow-root;
}

@media (max-width: 650px) {
	#mw-content-text .info-box.ib-for-thumb {
		clear: both;
	}
}

#mw-content-text .info-box.has-icon {
	padding-left: 55px;
	position: relative;
}

#mw-content-text .info-box.has-icon .info-box-icon {
	position: absolute;
	left: 15px;
	top: min( calc( 50% - 20px ), 17px );
	width: 30px;
	height: 40px;
}

#mw-content-text .info-box.has-icon .info-box-icon i {
	font-size: 18px;
	text-align: center;
	padding: 10px 0;
	width: 100%;
}

#mw-content-text .info-box.has-icon .info-box-icon > span,
#mw-content-text .info-box.has-icon .info-box-icon > span > :is(a,span),
#mw-content-text .info-box.has-icon .info-box-icon > span > :is(a,span) > img
{
	display: inline-block;
	height: inherit;
	width: inherit;
	object-fit: contain;
	border-radius: 5px;
}

/* -------------------------------- */
/* 8. Intro paragraph and IntroLike */

.intro-like, .pre-intro-p { margin-top: 1.5em; }
.intro-like, .post-intro-p { margin-bottom: 1.5em; }

.intro-like > :first-child,
.pre-intro-p + *,
.pre-intro-p + .hidden-thumbnail + * {
	padding-top: 1em !important;
	border-top-left-radius: 9px;
	border-top-right-radius: 9px;
	box-shadow: inset 5px 5px 8px -2px rgb(0 0 0 / 9%) !important;
}

.pre-intro-p + .hidden-thumbnail {
	display: none !important;
}

.intro-like > *,
.pre-intro-p ~ :not(.post-intro-p):not(.post-intro-p ~ *) {
	font-size: 17px !important;
	color: #656565 !important;
	font-style: italic;
	display: flow-root;
	margin: 30px 0;
	padding: 6px 20px 7px 26px;
	background: #eee;
	margin: 0 !important;
	box-shadow: inset 11px 0 8px -8px rgb(0 0 0 / 9%);
}

.pre-intro-p.hidden ~ *:not(.post-intro-p ~ *) {
	display: none !important;
}

.intro-like > :last-child,
.pre-intro-p ~ :has(+ .post-intro-p) {
	padding-bottom: 1.1em !important;
	border-bottom-left-radius: 9px;
	border-bottom-right-radius: 9px;
}

/* --------------- */
/* 9. Info Tooltip */

.info-tooltip {
	display: inline-block;
	position: relative;
	background-image: url('/w/images/thumb/c/c8/Ambox_notice.png/40px-Ambox_notice.png');
	background-size: contain;
	background-repeat: no-repeat;
	width: 20px;
	height: 20px;
}

.info-tooltip > * {
	display: none;
	position: absolute;
	max-width: 200px;
	width: max-content;
	background: white;
	border: 1px solid #ccc;
	box-shadow: 2px 2px 4px rgba( 0,0,0, .07);
	padding: 5px 10px;
	border-radius: 5px;
	top: -10px;
	left: -10px;
	z-index: 10;
}
.info-tooltip > *:before {
	content: " ";
	background-image: url('/w/images/thumb/c/c8/Ambox_notice.png/40px-Ambox_notice.png');
	width: 22px;
	height: 20px;
	display: inline-block;
	background-size: contain;
	background-repeat: no-repeat;
	position: relative;
	top: 4px;
	left: -1px;
}

.info-tooltip:hover > *, .info-tooltip > *:hover {
	display: block;
}

/* ----------------- */
/* 10. Col Container */

.col-container {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.col-container.cc-3 > * {
	flex: 0 0 31%;
	margin: 2% 1%;
}

@media (max-width: 730px) {
	.col-container.cc-3 > * {
		flex: 0 0 48%;
	}
}

@media (max-width: 460px) {
	.col-container.cc-3 > * {
		flex: 0 0 88%;
		margin: 2% 6% 5%;
	}
}

.col-container.cc-4 > * {
	flex: 0 0 23%;
	margin: 2% 1%;
}

@media (max-width: 800px) {
	.col-container.cc-4 > * {
		flex: 0 0 31%;
	}
}

@media (max-width: 600px) {
	.col-container.cc-4 > * {
		flex: 0 0 48%;
	}
}

@media (max-width: 430px) {
	.col-container.cc-4 > * {
	    flex: 0 0 88%;
    	margin: 2% 6% 5%;
	}
}

.col-container.cc-5 > * {
	flex: 0 0 18%;
	margin: 1.5% 1%;
}

.col-container i.image
{
	padding-top: 70%;
	width: 100%;
	display: block;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
}
.col-container i.image.image-cover {
	background-size: cover !important;
}
.col-container i.image.image-left {
	background-position: left;	
}

.col-container img.image {
	width: 100%;
	height: 70%;
	display: block;
	object-fit: contain;
}

.col-container img.image.image-cover {
	object-fit: cover;
}

.col-container img.image.image-left {
	object-position: left;
}

/* ------------------ */
/* 11. Colors Schemes */

.cs-red {
	background-color: #ff6e6e !important;
	color: white !important;
}
.cs-red-light {
	background-color: #ffe5e5 !important;
	color: #666 !important;
}

.cs-green {
	background-color: #00d931 !important;
	color: white !important;
}
.cs-green-light {
	background-color: #d4ffd9 !important;
	color: #666 !important;
}
.cs-green-dark {
	background-color: #006100 !important;
	color: white !important;
}

.cs-blue {
	background-color: #37c6ff !important;
	color: white !important;
}
.cs-blue-light {
	background-color: #d9f6ff !important;
	color: #666 !important;
}
.cs-blue-dark {
	background-color: #0228ff !important;
	color: white !important;
}

.cs-yellow {
	background-color: #fff23e !important;
	color: #444 !important;
}
.cs-yellow-light {
	background-color: #fff9a5 !important;
	color: #666 !important;
}

/* ------------------- */
/* 12. Dark Mode Fixes */

/* for https://www.mediawiki.org/wiki/Extension:DarkMode */

.client-darkmode {
    background: unset;
}

/* -------------- */
/* 13. Font Sizes */

.fontsize19 { font-size: 19px; }
.fontsize21 { font-size: 21px; }

/* ----------------------------------------------- */
/* 14. Design fixes for Extension:MultimediaViewer */

.mw-mmv-main .mw-mmv-post-image:not(.mw-mmv-untruncated) .mw-mmv-image-metadata {
	opacity: 0;
	margin-top: 0;
}

/* --------------------------------- */
/* 15. Expand or collapse all button */

html.client-nojs .expand-or-collapse-all-button {
	display: none;
}

/* ------------------------ */
/* 16. VideoLink (Template) */

.video-link {
border: 2px solid #fff;
	box-shadow: 1px 1px 4px rgb(0 0 0/.1);
	border-radius: 5px;
	padding: 3px 1px 3px 5px;
	background: #fff;
	margin: 0 9px 0 4px;
}

.video-link .icons {
	color: #777;	
}

.video-link .icons a {
	display: inline-block;
}

.video-link .icons a:first-child {
	margin-left: 3px;	
}

.video-link .icons a:hover {
	display: inline-block;
	transform: scale(1.3);
}

.video-link .icons a > img {
	height: 1em;
	width: auto;
	vertical-align: top;
	position: relative;
	top: .3em;
}

.video-link .text {
	background: #f4f4f4;
	padding: 0 .4em .04em;
	border-radius: 4px;
}

.video-link .text a {
	padding-left: 0;
	color: #2575c5 !important;
}

.video-link .text .ext-link-to-archive {
	display: none;
}

/* ----------------- */
/* 17. Thumb Gallery */

@media (max-width: 540px) {
	.thumb-gallery {
		display: flex;
		flex-wrap: wrap;
		float: none !important;
		clear: both !important;
		margin: 0 !important;
		justify-content: center;
		gap: 10px;
	}
	
	.thumb-gallery figure {
		display: flex !important;
		flex-direction: column;
		justify-content: space-between;
		margin: 0 !important;
	}
}

/* --------------------------- */
/* 18. ContentImage (Template) */

.content-image-wrapper {
	display: inline-block;
}

.content-image-wrapper img {
	max-width: 100%;
	height: auto;
}

.content-image-wrapper.ciw-w100,
.content-image-wrapper.ciw-w100 * {
	width: 100%;
	display: inline-block;
}

/* ------------------------------ */
/* 19. Community Support Template */

#mw-content-text .info-box.community-support-info.csi-page {
    border: 2px solid #ff9101;
    background: #fff7ef;
}

#mw-content-text .info-box.community-support-info.csi-chapter {
	border-color: #ff9101;	
}

/* --------------------------- */
/* 20. Anti-Spam Email tooltip */

.antispam-email-tooltip {
	position: relative;
}

.antispam-email-tooltip .tooltip {
	display: none;
	position: absolute;
	left: -1px;
	background: white;
	z-index: 10;
	padding: 10px 20px;
	top: 2.2em;
	border-radius: 6px;
	box-shadow: 2px 2px 3px rgba( 0 0 0 / 10% );
}

.antispam-email-tooltip:hover:before {
	content: " ";
	display: inline-block;
	width: 100%;
	height: 3em;
	position: absolute;
}

.antispam-email-tooltip:hover .tooltip {
	width: 300px;
	display: block;
}

.antispam-email-tooltip .tooltip:before {
	content: " ";
	position: absolute;
	top: -14px;
	left: 11px;
	border-width: 7px;
	border-style: solid;
	border-color: transparent transparent white transparent;
}

.antispam-email-tooltip .ul {
	color: red;	
	padding: .6em 0 0 1.5em;
	display: inline-block;	
}
	
.antispam-email-tooltip .ul > span {
	display: list-item;
	list-style: none;
	position: relative;
}

.antispam-email-tooltip .ul > span > i {
	position: absolute;
	top: 0;
	left: -1.3em;
}

.antispam-email-tooltip .ul > span > i:not([class^="fa-"]):before {
	content: "•";
	width: 1em;
	display: inline-block;
	height: 1em;
}

.antispam-email-tooltip .ul > span > i[class^="fa-"] {
	top: 0.4em;
	left: -1.6em;	
}

/*
[[Category:MultiWiki]]
*/