/* ----------------------------------------------------------------
 Strings v1.0
 https://henry.uncharted-sky.org
 DO NOT STEAL, MODIFY, USE, CLAIM, OR REDISTRIBUTE ANY OF MY CODES!
 Coding and content © Kupo; Created April 2025
---------------------------------------------------------------- */

@import url('https://fonts.googleapis.com/css2?family=National+Park:wght@200..800&family=Playfair+Display:ital,wght@0,400..900;1,400..900&family=Rubik:ital,wght@0,300..900;1,300..900&display=swap');

:root {
	/* >> color palette >> */
	--bg: #E0E1E2;
	--text: #656565;
	--dtext: #505050;
	--content: #EAE9E8;

	/*>>  accent colors >> */
	--brown: #B89984;
	--darkbrown: #9B7C67;
	--hotpink: #E44F77;
	--pink: #CF9589;
	--red: #C92A3E;

	--dark: #212529;
	--muted: #B9B2BA; /* #B3AEB4 */
	--light: #EEEEEE;
	--stats: #F0F1F2;
	--white: #FFFFFF;

	/*>> accent colors rgb >> */
	--brownRGB: 184, 153, 132;
	--darkbrownRGB: 155, 124, 103;
	--hotpinkRGB: 228, 79, 119;
	--pinkRGB: 207, 149, 137;
	--redRGB: 201, 42, 62;

	--bgredRGB: 174, 62, 61;
	--linkbgRGB: 236, 64, 122;

	--darkRGB: 33, 37, 41;
	--mutedRGB: 185, 178, 186;
	--lightRGB: 238, 238, 238;
	--whiteRGB: 255, 255, 255;

	/* >> lovely fonts >> */
	--sans: 'Rubik', sans-serif;
	--serif: 'Playfair Display', serif;
	--big: 'National Park', sans-serif;

	/* >> images that get a lot of use >> */
	--noise: url("../assets/img/bg.png");
	--blnoise: url("../assets/img/nbg.png");
	--brnoise: url("../assets/img/lbg.png");
}

::-webkit-scrollbar-track { background: var(--muted); border: 7px solid var(--bg); }
::-webkit-scrollbar-thumb { background: var(--pink); border: 5px solid var(--bg); }
::-webkit-scrollbar-corner { background: var(--bg); border: 1px solid var(--bg); }
::-webkit-scrollbar { background: var(--bg); height: 15px; width: 15px; }

::selection { background: var(--pink); color: var(--light); }
::-moz-selection { background: var(--pink); color: var(--light); }

/* -----------------------------------
>>  [  --- basic elements ---  ]
------------------------------------*/

body {
	background-color: var(--bg);
	background-image: linear-gradient(to bottom, rgba(var(--brownRGB), .35), rgba(var(--bgredRGB), .3)), var(--noise);
	background-attachment: fixed, fixed;
	color: var(--text);
	font: 400 1rem/1.775em var(--sans);
	letter-spacing: .65px;
	text-align: justify;
}

.container {
	border-left: 1px dashed rgba(var(--brownRGB), .5);
	border-right: 1px dashed rgba(var(--brownRGB), .5);
}

/* -----------------------------------
>>  [  --- header & nav styles ---  ]
------------------------------------*/

header {
	background: url("../assets/img/header.jpg") no-repeat center/cover;
	border-bottom: 8px solid var(--dark);
	border-top: 6px solid var(--dark);
	height: 550px;
	position: relative;
}

	header .sitetitle {
		background: url("../assets/img/title.png") no-repeat;
		height: 290px;
		left: 50px;
		position: absolute;
		top: 45px;
		width: 570px;
	}

.navbar {
	background: var(--dark) var(--blnoise);
	border-radius: .5rem;
	margin: -35px auto 0 auto;
	width: fit-content;
}

	.nav-item {
		padding: 0 1.25rem;
	}

		.nav-link {
			font-size: 1.25em;
			text-transform: lowercase;
		}

/* -----------------------------------
>>  [  --- content elements ---  ]
------------------------------------*/

main {
	background: var(--content) var(--noise);
	background-blend-mode: multiply;
	margin-top: -25px;
	padding: 75px 40px 25px 40px;
}

	main .stats {
		background: var(--stats) var(--noise);
		background-blend-mode: multiply;
		border-bottom: 2px solid rgba(var(--brownRGB), .25);
		border-radius: .5rem;
		border-top: 2px solid rgba(var(--brownRGB), .25);
		justify-self: center;
		padding: 20px 0;
		width: 65%;
	}

		main .stats .fans {
			align-content: center;
			border-left: 1px solid #DADBDC;
			padding: 10px 20px;
			text-align: center;
		}

			main .stats .fans big {
				-webkit-font-smoothing: antialiased;
				color: rgba(var(--brownRGB), .85);
				display: block;
				font: 500 7.75em/6.35rem var(--big);
				letter-spacing: -4.5px;
			}

			main .stats .fans small {
				display: block;
				font-size: .93em;
			}

		main .stats .info {
			padding: 10px 20px;
		}

			main .stats .info p {
				text-indent: 0;
			}

			main .stats .info strong, main .stats .info a {
				font-size: 1em;
			}

			main .stats .info a.img::after, main .showAffiliates a.img::after {
				background: none;
				border-radius: 0;
				bottom: 0;
				content: "";
				height: 0;
				left: 7px;
				position: absolute;
				transition: none;
				width: 0;
				z-index: 0;
			}

				main .stats .info a.img:hover::after, main .showAffiliates a.img:hover::after {
					bottom: 0;
					height: 100%;
					left: 0;
					opacity: .85;
				}

	main img {
		background: rgba(var(--whiteRGB), .45);
		border-radius: .15rem;
		border: 1px solid rgba(var(--brownRGB), .25);
		margin: 3px 1.5px;
		padding: 5px;
	}

		main img:hover {
			opacity: .85;
		}

	main .intro-pic {
		border-radius: 50%;
		float: right;
		height: 185px;
		shape-outside: ellipse();
		width: 185px;
	}

	main .profile {
		font-size: .95em;
		text-align: center;
	}

		main .profile strong {
			font-size: .9em;
			letter-spacing: .5px;
			text-transform: uppercase;
		}

	main ul {
		columns: 2;
		font-size: .95em;
		list-style-type: korean-hangul-formal;
		padding-left: 4.75rem;
	}

		main ul .tracks {
			padding-left: 2.5rem;
		}

		main li {
			margin-bottom: 1px;
			padding-left: 5px;
		}

			main li::marker {
				color: var(--muted);
			}

	main .abminfo {
		font-size: .93em;
	}

	main .members {
		background: var(--stats) var(--noise);
		background-blend-mode: multiply;
		border-bottom: 2px solid rgba(var(--brownRGB), .25);
		border-radius: .5rem;
		border-top: 2px solid rgba(var(--brownRGB), .25);
		color: #808080;
		padding: 20px 0;
	}

	table {
		font-size: .9em;
		text-align: left;
	}

		table th {
			color: var(--brown) !important;
			font-weight: 600;
			letter-spacing: .35px;
		}

		table td {
			color: var(--text) !important;
			vertical-align: middle;
		}

		.table>:not(caption)>*>* {
			background-color: rgba(var(--whiteRGB), .5);
		}

		.table-striped>tbody>tr:nth-of-type(odd)>* {
			--bs-table-color-type: var(--bs-table-striped-color);
			--bs-table-bg-type: rgba(var(--darkRGB), .035);
		}

		.table-responsive {
			border-radius: .25rem;
		}

.sidebar .nav .nav-item {
	padding: 0;
}

/* -----------------------------------
>>  [  --- footer elements ---  ]
------------------------------------*/

footer {
	background: var(--content) var(--noise);
	background-blend-mode: multiply;
	border-bottom: 15px solid var(--dark);
	font-size: .9em;
	padding: 35px 40px 10px 40px;
	text-align: center;
}

	footer p {
		border-top: 1px solid rgba(var(--brownRGB), .15);
	}

/* -----------------------------------
>>  [  --- alert styles ---  ]
------------------------------------*/

.alert-light {
	background: var(--stats) var(--noise);
	background-blend-mode: multiply;
	border: 1px solid rgba(var(--brownRGB), .25);
	color: #777;
	width: 35%;
}

.alert-info {
    background: rgba(var(--pinkRGB), .35) var(--noise);
    background-blend-mode: multiply;
    border: 1px solid rgba(var(--pinkRGB), .25);
    color: var(--red);
    margin: 0 auto 35px auto;
    width: 85%;
}

/* -----------------------------------
>>  [  --- form styles ---  ]
------------------------------------*/

form {
	margin: 0 auto;
	padding: 20px 0 0 0;
	width: 75%;
}

	fieldset {
		background: var(--stats) var(--noise);
		background-blend-mode: multiply;
		border-bottom: 2px solid rgba(var(--brownRGB), .25);
		border-radius: .5rem;
		border-top: 2px solid rgba(var(--brownRGB), .25);
		margin-bottom: 1.85rem;
		padding: 35px 30px 15px 30px;
	}

		legend {
			background: var(--brown) var(--brnoise);
			border-radius: .5rem;
			color: var(--light);
			font: italic 800 1.5em/1.35em var(--serif);
			letter-spacing: 1.25px;
			margin: -53px 0 0 10px;
			padding: 0 .85rem .25rem .85rem;
			text-transform: lowercase;
			width: fit-content;
		}

		fieldset p {
			font-size: .95em;
		}

		label strong {
			color: rgba(var(--redRGB), .85);
			font-size: .9975em;
		}

		.form-control, .form-select {
			background-color: rgba(var(--whiteRGB), .35);
			border: 1px solid rgba(var(--brownRGB), .15);
			color: var(--text);
			font-size: 1rem;
			line-height: 1.75em;
		}

		.req {
			color: var(--brown);
			font: 600 1em/1.75em var(--big);
			margin: 0 1px;
		}

		.form-check-input:checked {
			background-color: rgba(var(--pinkRGB), .85);
			border-color: var(--pink);
		}

.forms-div {
	background: var(--stats) var(--noise);
	background-blend-mode: multiply;
	border-radius: .375rem;
	border: 1px solid rgba(var(--brownRGB), .25);
	color: #777;
	margin: 1.5rem auto 3rem auto;
	padding: 1rem;
	width: 30%;
}

/* >> button styles >> */

.btn {
	border: 0;
	border-radius: .35rem;
	color: var(--light);
	font-family: var(--big);
	font-weight: 500;
	letter-spacing: .65px;
	margin: 0 2.5px;
}

	.btn-success {
		background: #809f85 var(--noise);
		background-blend-mode: multiply;
	}

		.btn-success:hover {
			background: #738F77 var(--noise);
			background-blend-mode: multiply;
		}

	.btn-danger {
		background: rgba(var(--redRGB), .87) var(--noise);
		background-blend-mode: multiply;
	}

		.btn-danger:hover {
			background: rgba(var(--redRGB), .95) var(--noise);
			background-blend-mode: multiply;
		}

/* -----------------------------------
>>  [  --- link styles ---  ]
------------------------------------*/

main a, footer a {
	color: var(--hotpink);
	font-size: 1.05em;
	overflow: hidden;
	position: relative;
	text-decoration: none;
	text-wrap-mode: nowrap !important;
}

	main a::after, footer a::after {
		background: rgba(var(--linkbgRGB), .17);
		border-radius: .15rem;
		bottom: -3px;
		box-decoration-break: clone;
		content: "";
		height: calc(100% - 5px);
		left: 7px;
		position: absolute;
		transition: 0.35s cubic-bezier(0.25, 0.1, 0, 2.05);
		width: calc(100% - 2.5px);
		z-index: 0;
	}

		main a:hover::after, footer a:hover::after {
			bottom: -1px;
			height: 100%;
			left: -3px;
			width: calc(100% + 6px);
		}

	main .members a {
		text-transform: lowercase;
	}

.sidebar a {
	background: var(--brown) var(--brnoise);
	border-radius: .35rem;
	color: var(--light);
	display: block;
	font-size: .985em;
	margin: 0 0 6px 0;
	padding: 7px 13px;
	text-transform: lowercase;
}

	.sidebar a::after {
		background: none;
		border-radius: 0;
		bottom: 0;
		content: "";
		height: calc(100% - 0px);
		left: 7px;
		position: absolute;
		transition: none;
		width: calc(100% - 0px);
		z-index: 0;
	}

	.sidebar a:hover {
		background: rgba(var(--redRGB), .75) url("../assets/img/lhbg.png");
		color: var(--light);
	}

		.sidebar a:hover::after {
			bottom: 0;
			height: 100%;
			left: 0;
			width: 100%;
		}

			.sidebar a .nav-icon {
				display: table-cell;
				font-size: 1.085em;
				line-height: 1.75em;
				padding-right: 5px;
				transition: 0.2s ease-in-out;
				vertical-align: middle;
				width: 10px;
			}

			.sidebar a .nav-txt {
				border-left: 1px solid var(--darkbrown);
				display: table-cell;
				font-weight: 400;
				letter-spacing: 1px;
				line-height: 1.75em;
				padding-left: 10px;
				text-transform: lowercase;
				vertical-align: middle;
			}

				.sidebar a:hover .nav-txt {
					border-left: 1px solid var(--red);
					display: table-cell;
					font-weight: 400;
					letter-spacing: 1px;
					line-height: 1.75em;
					padding-left: 10px;
					text-transform: lowercase;
					vertical-align: middle;
				}

/* -----------------------------------
>>  [  --- general text styles ---  ]
------------------------------------*/

p {
	margin-bottom: 1.5rem;
}

	p:first-of-type {
		text-indent: 20px;
	}

	p:last-of-type {
		margin-bottom: 0;
	}

	#show-affiliates p {
		text-indent: 0;
	}

	p.films {
		font-size: .85em;
	}

.mb-4h {
	margin-bottom: 2.25rem !important;
}

.mb-5h {
	margin-bottom: 3.5rem !important;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--serif);
	font-style: italic;
	font-weight: 800;
	letter-spacing: .75px;
	text-transform: lowercase;
}

	h1 {
		color: var(--dtext);
		font-size: 2.785em;
		text-align: center;
	}

	h2 {
		color: var(--text);
		font-size: 1.785em;
	}

	h3 {
		color: var(--brown);
		text-align: center;
	}

	h4 {
		color: var(--brown);
		display: block;
		float: left;
		font-size: 1.65em;
		margin: .75rem 1.5rem 0 1rem;
	}

	h5 {
		color: var(--text);
		font-size: 1.45em;
	}

	h6 {
		color: var(--brown);
		font-size: 1.45em;
		margin-bottom: 5px;
	}

		h6 .love {
			font-size: .75em;
			font-style: normal;
		}

strong {
	color: var(--red);
	font: 600 1.05em/1.75em var(--sans);
	letter-spacing: -.015px;
}

em {
	color: var(--brown);
	font: italic 400 1.05em/1.75em var(--sans);
}

u {
	font: 400 1.05em/1.75em var(--sans);
	text-decoration: underline var(--hotpink) wavy 1px;
	text-underline-offset: 2px;
}

s, del {
	color: var(--muted);
	font: 400 1.05em/1.75em var(--sans);
	text-transform: lowercase;
}

.text-muted {
	color: var(--muted) !important;
}

.love {
	color: var(--pink);
	font-size: .93em;
}

/* -----------------------------------
>>  [  --- icon font styles ---  ]
------------------------------------*/

.nav-link .ph-bold {
	margin-right: 4px;
	vertical-align: -.075em;
}

main .stats .info .ph-bold, main .members .ph-bold {
	color: var(--muted);
	font-size: .75em;
	margin: 0 7px;
}

main .content .ph-bold {
	color: var(--muted);
	font-size: .9em;
	margin: 0 2px;
}

h1 .iconsax {
	color: var(--muted);
	font-size: .6em;
	vertical-align: .45em;
}

h2 .ph-bold {
	color: var(--muted);
	font-size: .9em;
	vertical-align: -.1em;
}

h5 .ph-bold {
	color: var(--muted);
	font-size: .9em;
	vertical-align: -.1em;
}

.sidebar .ph-bold, .sidebar .ph {
	margin-right: 5px;
	vertical-align: -.13em;
}

/* -----------------------------------
>>  [  --- tooltip & top styles ---  ]
------------------------------------*/

#s-m-t-tooltip {
	background: var(--dark);
	border-radius: .3rem;
	color: var(--bg);
	font: 600 .75em var(--sans);
	letter-spacing: 1.5px;
	margin: 20px 0 0 10px;
	max-width: 500px;
	padding: 7px 10px 7px 11px;
	text-transform: uppercase;
	z-index: 1000;
}

#top {
	background: rgba(var(--darkRGB), .5);
	border-radius: 50%;
	border: none;
	bottom: 2em;
	color: var(--light);
	display: none;
	height: 35px;
	padding: 5px 0 0 0;
	position: fixed;
	right: 2em;
	text-decoration: none;
	width: 35px;
	z-index: 1000;
}

	#top:hover {
		background: rgba(var(--darkRGB), .75);
	}

/* -----------------------------------
>>  [  --- responsive styles ---  ]
------------------------------------*/

@media only screen and (max-width: 576px) {
	header {
		height: auto;
	}

	header .sitetitle {
		background: url("../assets/img/title.png") no-repeat;
		background-position: center center;
		background-size: contain;
		position: relative;
		width: auto;
		left: auto;
		top: 0;
	}

	.navbar {
		border-radius: 0;
		width: 100%;
	}

	main .stats {
		width: 100%;
	}

		main .stats .fans {
			border-left: 0px solid #DADBDC;
			border-top: 1px solid #DADBDC;
			margin-top: 20px;
			padding: 20px 0 0 0;
		}

	main h1 {
		font-size: 2.25em;
	}

	main h4 {
		float: none;
	}

	main ul {
		columns: 1;
		padding-left: 1.75rem;
	}

		main ul.tracks {
			columns: 1;
			padding-left: 2.5rem;
			text-align: left;
		}

	main .intro-pic {
		border-radius: 50%;
		float: right;
		height: 100px;
		shape-outside: ellipse();
		width: 100px;
	}

	.forms-div {
		width: 100%;
	}

	form {
		width: 100%;
	}

	.alert-light, .alert-info {
		width: 100%;
	}
}

@media only screen and (min-width: 768px) {
	header {
		height: 550px;
	}

	.navbar {
		border-radius: 0;
		width: 100%;
	}

	header .sitetitle {
		background: url("../assets/img/title.png") no-repeat;
		background-position: center center;
		background-size: contain;
		position: relative;
		width: auto;
		left: auto;
		top: 100px;
	}

	main .stats {
		width: 100%;
	}

	main h2 {
		text-align: left;
	}

	main ul {
		columns: 1;
		padding-left: 2.75rem;
	}

		main ul.tracks {
			text-align: left;
		}

	.forms-div {
		width: 60%;
	}

	form {
		width: 100%;
	}

	.alert-light {
		width: 75%;
	}

	.alert-info {
		width: 100%;
	}
}

@media only screen and (min-width: 992px) {
	header {
		background: url("../assets/img/header.jpg") no-repeat center/cover;
		border-bottom: 8px solid var(--dark);
		border-top: 6px solid var(--dark);
		height: 550px;
		position: relative;
	}

		header .sitetitle {
			background: url("../assets/img/title.png") no-repeat;
			background-position: top left;
			background-size: contain;
			position: relative;
			width: auto;
			left: -7px;
			top: 50px;
		}

	.navbar {
		border-radius: .5rem;
		width: fit-content;
	}

		.navbar .nav-item {
			padding: 0 1rem;
		}

	main .stats {
		width: 80%;
	}

	main ul {
		columns: 2;
		padding-left: 2.75rem;
	}

		main ul.tracks {
			columns: 1;
			text-align: left;
		}

		main .site-links li {
			margin-right: 35px;
		}

	.alert-light {
		width: 45%;
	}

	.alert-info {
		width: 90%;
	}

	.forms-div {
		width: 40%;
	}

	form {
		width: 75%;
	}
}

@media only screen and (min-width: 1200px) {
	header {
		background: url("../assets/img/header.jpg") no-repeat center/cover;
		border-bottom: 8px solid var(--dark);
		border-top: 6px solid var(--dark);
		height: 550px;
		position: relative;
	}

		header .sitetitle {
			background: url("../assets/img/title.png") no-repeat;
			height: 290px;
			left: 50px;
			position: absolute;
			top: 45px;
			width: 570px;
		}

	.navbar {
		border-radius: .5rem;
		width: fit-content;
	}

		.navbar .nav-item {
			padding: 0 1.25rem;
		}

		main .stats {
			width: 65%;
		}

		main ul {
			columns: 2;
			padding-left: 4.75rem;
		}

			main ul.tracks {
				columns: 1;
				padding-left: 2.75rem;
				text-align: left;
			}

	.alert-light {
		width: 35%;
	}

	.alert-info {
		width: 85%;
	}

	.forms-div {
		width: 30%;
	}

	form {
		width: 75%;
	}
}