/* ----------------------------------------------------------------
 Never Boring v1.0
 https://freddie.uncharted-sky.org
 DO NOT STEAL, MODIFY, USE, CLAIM, OR REDISTRIBUTE ANY OF MY CODES!
 Coding and content © Kupo; Created July 2025
---------------------------------------------------------------- */

@import url('https://fonts.googleapis.com/css2?family=Figtree:ital,wght@0,300..900;1,300..900&family=National+Park:wght@200..800&display=swap');
@import url('https://fonts.cdnfonts.com/css/kg-happy');

:root {
	/* >> color palette >> */
	--bg: #FAFAFA;
	--text: #4A4B4C;

	/*>>  accent colors >> */
	--brown: #B89984;
	--red: #C92A3E;
	--yellow: #E7B620;

	--dark: #434343;
	--muted: #7C8D8E;
	--light: #F5F5F5;
	--stats: #F0F1F2;
	--white: #FFFFFF;

	/*>> accent colors rgb >> */
	--brownRGB: 184, 153, 132;
	--redRGB: 201, 42, 62;
	--yellowRGB: 231, 182, 32;

	--darkRGB: 33, 37, 41;
	--mutedRGB: 124, 141, 142;
	--lightRGB: 238, 238, 238;
	--whiteRGB: 255, 255, 255;

	/* >> lovely fonts >> */
	--sans: 'Figtree', sans-serif;
	--h16: 'KG HAPPY', sans-serif;
	--big: 'National Park', sans-serif;

	/* >> images that get a lot of use >> */
	--sbg: url("../assets/img/sbg.png");
}

::-webkit-scrollbar-track { background: var(--muted); border: 7px solid var(--bg); }
::-webkit-scrollbar-thumb { background: var(--yellow); 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: rgba(var(--yellowRGB), .75); color: var(--light); }
::-moz-selection { background: rgba(var(--yellowRGB), .75); color: var(--light); }

/* -----------------------------------
>>  [  --- basic elements ---  ]
------------------------------------*/

body {
	background: var(--bg) url("../assets/img/bg.png") top center;
	color: var(--text);
	font: 500 16px var(--sans);
	letter-spacing: .25px;
	line-height: 1.85em;
	overflow-x: hidden;
	text-align: justify;
}

.mb-4h {
    margin-bottom: 2.25rem !important;
}

.mb-5h {
	margin-bottom: 3.75rem !important;
}

/* -----------------------------------
>>  [  --- header & nav styles ---  ]
------------------------------------*/

header {
	background: url("../assets/img/header.png") top center;
	height: 635px;
	width: 100vw;
}

/* -----------------------------------
>>  [  --- content elements ---  ]
------------------------------------*/

main {
	margin: 10px 0 75px 0;
	text-shadow: 2px 2px var(--bg);
}

	main .stats {
		background: var(--stats) var(--sbg);
		border-bottom: 2px solid rgba(var(--mutedRGB), .25);
		border-radius: .35rem;
		border-top: 2px solid rgba(var(--mutedRGB), .25);
		justify-self: center;
		padding: 30px 0;
		position: relative;
		width: 77%;
	}

		main .stats .deco1 {
			left: 20px;
			position: absolute;
			top: -17px;
			z-index: 7;
		}

		main .stats .deco2 {
			right: 20px;
			position: absolute;
			bottom: -15px;
			z-index: 7;
		}

		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 {
			font-size: 1.025em;
			padding: 10px 20px;
		}

			main .stats .info p {
				text-indent: 0;
			}

			main .stats .info a {
				font-size: 1em;
			}

				main .stats .info 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 {
						bottom: 0;
						height: 100%;
						left: 0;
						opacity: .85;
					}

main .sidebar {

}

	main .sidebar .nav a {
		color: #DA482D;
		font-family: "KG HAPPY", sans-serif;
		font-size: 1.725em;
		letter-spacing: 1px;
		line-height: 1.75em;
		margin-bottom: 7px;
		padding: 0;
		position: relative;
		text-align: right;
		text-decoration: none;
		text-transform: uppercase;
	}

		main .sidebar .nav a:after {
			background: var(--dark);
			bottom: 0;
			content: "";
			display: block;
			left: 0;
			position: absolute;
			right: 0;
			top: 100%;
			transition: all 0.1s cubic-bezier(0, 0.59, 1, 0.26);
			z-index: -1;
		}

		main .sidebar .nav a::first-letter {
			color: #555;
			font-size: 1.15em;
		}

		main .sidebar .nav a:hover {
			/* shaking animation here */
		}

			main .sidebar .nav a:hover:after {
				background: var(--dark);
				bottom: 0;
				content: "";
				display: block;
				left: -3px;
				position: absolute;
				right: -7px;
				top: 0;
				z-index: -1;
			}

			main .sidebar .nav a:hover::first-letter {
				color: #E3E3E3;
				font-size: 1.15em;
			}

		main .sidebar .nav-item:nth-child(odd) {
			transform: rotate(3deg);
		}

		main .sidebar .nav-item:nth-child(even) {
			padding-right: 13px;
			transform: rotate(-3deg);
		}

	/* main .sidebar a {
		display: block;
		font-size: 1.85em;
		line-height: 1.25em;
		text-align: right;
		text-decoration: none;
	} */

main .content {
	background-image: linear-gradient(rgba(var(--mutedRGB), .37) 33%, rgba(255,255,255,0) 0%);
	background-position: left;
	background-repeat: repeat-y;
	background-size: 2px 4px;
	padding-left: 30px;
}

	main .content p {
		font-size: 1.0775em;
	}

	main .content p:last-of-type {
		margin-bottom: 0;
	}

	main .content .codesBlock img, main .stats .info img {
		background: rgba(var(--whiteRGB), .45) var(--sbg);
		border-radius: .15rem;
		border: 1px solid rgba(var(--mutedRGB), .25);
		margin: 3px 1.5px;
		padding: 5px;
	}

		main img:hover {
			opacity: .85;
		}

	main .content .member {
		background: var(--stats) var(--sbg);
		border-bottom: 2px solid rgba(var(--mutedRGB), .25);
		border-radius: .35rem;
		border-top: 2px solid rgba(var(--mutedRGB), .25);
		color: #808080;
		padding: 25px 0;
	}

		main .content .member .ph-bold {
			color: var(--muted);
			font-size: .75em;
			margin: 0 7px;
		}

		main .content .member del, main .content .member a {
			text-transform: lowercase;
		}

	main ul {
		columns: 2;
		font-size: .975em;
		list-style-type: lower-roman;
		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);
			}

/* -----------------------------------
>>  [  --- footer elements ---  ]
------------------------------------*/

.fhead {
	background: url("../assets/img/fhead.png") center;
	height: 30px;
}

footer {
	background: #E6B741 url("../assets/img/fbg.png") center;
	color: var(--light);
	font-size: .9em;
	font-weight: 500;
	margin-top: -2px;
	padding: 20px 15px 25px 0;
	width: 100vw;
}

	footer strong {
		color: #BB8521;
	}

	footer em {
		font-weight: 500;
	}

/* -----------------------------------
>>  [  --- alert styles ---  ]
------------------------------------*/

.alert-light {
	background: var(--stats) var(--sbg);
	border: 1px solid rgba(var(--mutedRGB), .25);
	color: #666;
	width: 35%;
	word-break: break-word;
}

/* -----------------------------------
>>  [  --- form styles ---  ]
------------------------------------*/

form {
	margin: 0 auto;
	padding: 20px 0 0 0;
	width: 75%;
}

	fieldset {
		background: var(--stats) var(--sbg);
		border-bottom: 2px solid rgba(var(--mutedRGB), .25);
		border-radius: .35rem;
		border-top: 2px solid rgba(var(--mutedRGB), .25);
		margin-bottom: 2rem;
		padding: 35px 30px 15px 30px;
	}

		legend {
			background: #E6B741 url("../assets/img/sbg.png") center;
			background-blend-mode: multiply;
			border-radius: .65rem;
			color: var(--light);
			font: italic 800 1.45em/1.35em var(--sans);
			letter-spacing: .5px;
			margin: -58px 0 0 10px;
			padding: .25rem .85rem;
			text-shadow: none;
			text-transform: lowercase;
			width: fit-content;
		}

		fieldset p {
			font-size: .95em;
		}

		label strong {
			color: rgba(var(--redRGB), .85);
			font-size: .9em;
		}

		.form-control, .form-select {
			background-color: rgba(var(--whiteRGB), .5);
			border: 1px solid rgba(var(--brownRGB), .15);
			color: var(--text);
			font-size: 1rem;
			line-height: 1.75em;
		}

		.req {
			color: #D19A34;
			font: 600 1em/1.75em var(--big);
			margin: 0 1px;
		}

		.form-check-input:checked {
			background-color: rgba(var(--mutedRGB), .85);
			border-color: var(--muted);
		}

.forms-div {
	background: var(--stats) var(--sbg);
	border-radius: .275rem;
	border: 1px solid rgba(var(--mutedRGB), .25);
	color: var(--yellow);
	margin: 1.5rem auto 3rem auto;
	padding: .75rem;
	width: 30%;
}

/* >> button styles >> */

.btn {
	border: 0;
	border-radius: .275rem;
	color: var(--light);
	font-family: var(--big);
	font-weight: 500;
	letter-spacing: .65px;
	margin: 0 2.5px;
}

	.btn-success {
		background: #809F85;
		background-blend-mode: multiply;
	}

		.btn-success:hover {
			background: #738F77;
			background-blend-mode: multiply;
		}

	.btn-danger {
		background: rgba(var(--redRGB), .87);
		background-blend-mode: multiply;
	}

		.btn-danger:hover {
			background: rgba(var(--redRGB), .95);
			background-blend-mode: multiply;
		}

/* -----------------------------------
>>  [  --- general text styles ---  ]
------------------------------------*/

h1 {
	color: #575757;
	font-family: var(--h16);
	font-size: 2.35em;
	letter-spacing: 1.25px;
	text-transform: uppercase;
	text-align: left;
}

	h1::first-letter {
		color: #E6B741;
		font-size: 1.1em;
	}

h2 {
	color: #575757;
	font-family: var(--h16);
	font-size: 1.85em;
	letter-spacing: .75px;
	text-transform: uppercase;
	text-align: left;
}

	h2::first-letter {
		color: #E6B741;
		font-size: 1.1em;
	}

h3 {
	color: #575757;
	font-family: var(--h16);
	text-align: center;
}

	h3::first-letter {
		color: #E6B741;
		font-size: 1.075em;
	}

h4 {
	color: var(--muted);
	display: block;
	float: left;
	font-family: var(--h16);
	font-size: 1.65em;
	margin: 1rem 1.5rem 0 1rem;
	text-transform: lowercase;
}

h5 {
	color: #666;
	font: 400 1.35em / 1.5em var(--h16);
    letter-spacing: .75px;
	margin: 0;
	text-transform: lowercase;
}

	h5::first-letter {
		color: rgba(var(--redRGB), .9);
	}

a {
	border-bottom: 2px solid var(--dark);
	color: var(--red);
	font-size: 1.035em;
	position: relative;
	text-decoration: none;
	padding: 0 2.5px 3px 2.5px;
	transition: all 0.1s cubic-bezier(0, 0.59, 1, 0.26);
	z-index: 1000;
}

	a:before {
		background: var(--dark);
		bottom: 0;
		content: "";
		height: 0%;
		left: 0;
		position: absolute;
		transition: height 250ms;
		width: 100%;
		z-index: -1;
	}

	a.img {
		border-bottom: none;
	}

a:hover {
	color: var(--light);
	position: relative;
	text-shadow: none;
}

	a:hover:before {
		height: 100%;
	}

	a.img:hover:before {
		height: 0%;
	}

strong {
	color: #D19A34;
	font: 800 .925em/1.85em var(--sans);
	letter-spacing: .75px;
	text-transform: uppercase;
}

em {
	color: #7C8D8E;
}

del, s {
	color: #96A3A4;
	letter-spacing: .5px;
}

.love {
	color: var(--red);
	font-size: .9em;
}

/* -----------------------------------
>>  [  --- 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) {
	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;
	}

	form, .forms-div, .alert-light {
		width: 100%;
	}
}

@media only screen and (min-width: 768px) {
	main .stats {
		width: 100%;
	}

	main h2 {
		text-align: left;
	}

	main ul {
		columns: 1;
		padding-left: 2.75rem;
	}

	.forms-div {
		width: 60%;
	}

	form {
		width: 100%;
	}

	.alert-light {
		width: 75%;
	}

	ul.nav li {
		display: inline-block;
	}
}

@media only screen and (min-width: 992px) {
	.col-lg-2h {
		flex: 0 0 auto;
		width: 20%;
	}

	.col-lg-9h {
		flex: 0 0 auto;
		width: 80%;
	}

	main .stats {
		width: 80%;
	}

	main ul {
		columns: 2;
		padding-left: 2.75rem;
	}

		main .site-links li {
			margin-right: 35px;
		}

	.alert-light {
		width: 45%;
	}

	.forms-div {
		width: 40%;
	}

	form {
		width: 75%;
	}
}

@media only screen and (min-width: 1200px) {
	.col-xl-2 {
		flex: 0 0 auto;
		width: 16.66666667%;
	}

	.col-xl-10 {
		flex: 0 0 auto;
		width: 83.33333333%;
	}

	main .stats {
		width: 75%;
	}

	main ul {
		columns: 2;
		padding-left: 4.75rem;
	}

	.alert-light {
		width: 35%;
	}

	.alert-info {
		width: 85%;
	}

	.forms-div {
		width: 30%;
	}

	form {
		width: 80%;
	}
}