/* Universal Reset (consider using a normalization if needed) */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video, main, progress, meter {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%; /* Ensures scaling is appropriate */
	font: inherit;
	vertical-align: baseline;
}

/* Global body styling */
body {
	-webkit-text-size-adjust: none; /* Prevents font resizing on mobile Safari */
	font-family: Arial, Helvetica, sans-serif;
	font-size: 16px;
	color: #333;
	line-height: 1.5;
	position: relative;
	background: #f7f7f7 linear-gradient(to right, #cce3d4, #e5ede0); /* Combined shorthand */
}

/* Optional: Ensure line-height consistency for all elements */
* {
	line-height: 1.5;
}

/* Box Model */

*, *:before, *:after {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

a {
	color: #000;
	text-decoration: none;
}

a:hover {
	text-decoration: none;
	color: #34ca00;
}

/* Define CSS variables for reusability */
:root {
	--font-size-h1: 36px;
	--font-size-h2: 28px;
	--font-size-h3: 22px;
	--line-height-heading: 1.2;

	/* Mobile adjustments */
	--font-size-h1-mobile: 28px;
	--font-size-h2-mobile: 24px;
	--font-size-h3-mobile: 20px;
}

h1:first-child {
    margin-top: 0; /* Remove top margin for the first h1 on the page */
}

/* Remove top margin from the first h1 or h2 in any section */
.file-feed-content > h1:first-child,
.file-feed-content > h2:first-child {
    margin-top: 0;
}

/* Remove top margin from the first h1 or h2 in any feed */
article > h1:first-child,
article > h2:first-child,
section > h1:first-child,
section > h2:first-child {
    margin-top: 0;
}

/* Apply common heading styles */
h1, h2, h3 {
	line-height: var(--line-height-heading);
	font-weight: bold;
}

/* Individual heading styles */
h1 {
	font-size: var(--font-size-h1);
	margin: 0 0 0px; /* Top margin removed globally */
}

h2 {
	font-size: var(--font-size-h2);
	margin: 15px 0 10px;
}

h3 {
	font-size: var(--font-size-h3);
	margin: 10px 0 10px;
}

/* Mobile adjustments */
@media (max-width: 768px) {
	h1 {
		font-size: var(--font-size-h1-mobile);
		margin: 0 0 10px; /* Top margin still removed */
	}
	h2 {
		font-size: var(--font-size-h2-mobile);
		margin: 10px 0 8px;
	}
	h3 {
		font-size: var(--font-size-h3-mobile);
		margin: 8px 0 8px;
	}
}

/* Further adjustment for smaller screens (e.g., phones) */
@media (max-width: 480px) {
	h1 {
		font-size: 26px;
		margin: 0 0 8px; /* No top margin */
	}
	h2 {
		font-size: 22px;
		margin: 10px 0 6px;
	}
	h3 {
		font-size: 20px;
		margin: 8px 0 6px;
	}
}

.base-wrapper {
	height: auto !important;
	display: flex;
	justify-content: space-between;
	flex-wrap: nowrap;
	border-top: 2px solid #34ca00;
	border-bottom: 2px solid #34ca00;
	border-radius: .5em;
	background: #fff;
	box-shadow: rgba(0, 0, 0, 0.08) 0px 4px 12px;
	padding: 17px;
	margin-left: auto;
	margin-right: auto;
	margin-top:1em;
	gap: 1em;
	text-align: left;
	max-width:1400px;
}
.base-content {
	height: auto !important;
	float: left;
	align-self: start;
	min-width: 0px;
	width:100%;
}
.base-sidebar {
	height: auto !important;
	flex:0 0 350px;
	float: left;
	max-width:350px;
	width:100%;
	align-self: start;
}
.side-right {
	flex: 0 0 350px;
	align-self: start;
}
hr {
	border: 0;
	border-top: solid 1px #dedede;
	margin-top:2.5em;
	margin-bottom: 2em;
}

.subtext {
	color:#292929;
	font-size: 18px;
}
@media (max-width: 480px) {
	.subtext {
		font-size: 18px;
	}
}

.subtext_nomargin {
	color:#292929;
}
@media (max-width: 480px) {
	.subtext {
		font-size: 18px;
		line-height: 26px;
	}
}
.row-err {
	all: unset;
	font: inherit;
	line-height: normal;
	display: block;
	margin: 1rem 0;
	padding: 0.8rem 1rem;
	color: #eee;
	background-color: #a11;
}

/* Footer */

#footer {
	margin-top: 0;
	margin-left: auto;
	margin-right: auto;
	padding-left:25px;
	padding-right:25px;
	max-width: 1400px;
	width:100%;
	justify-content: space-around;
}

#footer .groups {
	display: flex;
	justify-content: space-between;
}

@media (max-width: 980px) {
	#footer .groups {
		flex-direction: column;
	}
}

#footer a {
	color: #afafaf;
	text-decoration: underline;
}

#footer a:hover {
	color: #fff;
	text-decoration: underline;
}

#logo_footer {
	display: inline-block;
	flex: none;
	align-self: center;
	height: 40px;
	vertical-align: middle;
}

#logo_footer a {
	display: block;
	text-decoration: none;
	vertical-align: middle;
	height: 100%;
}

#logo_footer img {
	display: block;
	height: 100%;
	width: auto;
}

#footer .titlegroup {
	font-size: 15px;
	min-width: 0;
	margin-top:20px;
}

#footer .titlegroup > div:first-child {
	color: #fff;
	font-weight: bold;
	margin-bottom: 5px;
}

#footer .titlegroup ul {
	list-style: none;
	margin: 0;
	padding: 0;
	line-height: 2em;
}


/* Site Search 
|||||||||||||||||||
|||SIMPLIFY||||||||*/

#site-search {
	flex: auto;
	display: flex;
	justify-content: flex-end;
	min-width: 0;
	color: #444;
	/* overflow: hidden; */
	white-space: nowrap;
	height: 40px;
	position: relative;
}

#site-search .cat,
#site-search input,
#site-search ul.ac,
#site-search button.search {
	border: 1px solid #e0e0e0;
}

#site-search form {
	display: contents;
}

#site-search .cat {
	display: flex;
	align-items: center;
	gap: 0.6em;
	padding: 0 0.5em 0 0.9em;
	border-radius: 8px;
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
	background: #fafafa;
	cursor: pointer;
}

#site-search .cat:hover {
	background: #eee;
}

#site-search .input-ac-holder {
	flex: auto;
	min-width: 0;
	display: flex;
	position: relative;
}

#site-search input {
	flex: auto;
	min-width: 0;
	border-left: none !important;
	border-right: none !important;
	padding: 0 0.5em;
	font-size: 16px;
	font-weight: normal;
}

/* REMOVED #site-search */
/* WILL RELOCATE */

ul.ac:empty,
input:not(:focus):not(:hover) + ul.ac:not(:hover) {
	display: none;
}

ul.ac {
	position: absolute;
	padding: 0 0.7em;
	cursor: pointer;
	top: 100%;
	left: 0;
	min-width: 100%;
	margin: 0;
	z-index: 1;
	background: white;
	font-family: sans-serif;
	font-size: inherit;
	border-top: none !important;
}

ul.ac li:hover {
	background: #e8e8e8;
}
/* END REMOVED #site-search */

#site-search button {
	all: unset;
	font: inherit;
	flex: none;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
}

#site-search button.search {
	background: #444;
	color: #eee;
	width: 2.8em;
	border-radius: 8px;
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
	border-left: none;
}

#site-search button.search:hover {
	background: #555;
	color: white;
}

/* Containers */

.container {
	margin-left: auto;
	margin-right: auto;
	max-width: 1400px;
	width:100%;
}

/* Footer */

#copyright {
	color: #aaa;
	padding: 0 0 0 0;
	text-align: center;
}

#footer-wrapper {
	padding: 3em 0 4em 0;
	background-color: #252525;
	margin-top: 4em;
	height:300px;
}

/* Logo */

#logo {
	display: inline-block;
	flex: none;
	align-self: center;
	height: 40px;
}

#logo a {
	display: block;
	text-decoration: none;
	vertical-align: middle;
	height: 100%;
}

#logo img {
	display: block;
	height: 100%;
	width: auto;
}
.divnote {
	font-size: 16px;
	padding:.5em;
	line-height:1.5em;
	background-color:#fafafa;
	font-style: italic;
	color:#444;
}
@media (max-width: 480px) {
	.divnote {
		line-height:2em;
		margin: 0em;
	}
}

/* Font Sizes */
.f11 {
	font-size: 11px;
}
.f12 {
	font-size: 12px;
}
.f13 {
	font-size: 13px;
}
.f14 {
	font-size: 14px;
}
.f15 {
	font-size: 15px;
}
.f16 {
	font-size: 16px;
}
.f18 {
	font-size: 18px;
}
.f20 {
	font-size: 20px;
}
.f22 {
	font-size: 22px;
}
.f24 {
	font-size: 24px;
}
.f26 {
	font-size: 26px;
}
.f28 {
	font-size: 28px;
}

/* |||TEXT OVERFLOW||| */
/* wrap to next line */
.overflow-wrap {
	overflow-wrap: anywhere;
}
/* show ellipsis when text is hidden */
.overflow-ellipsis {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}


/* |||USED AS SPINNER|||*/

.loader {
  border: 16px solid #f3f3f3;
  border-radius: 50%;
  border-top: 16px solid #34ca00;
  width: 100px;
  height: 100px;
  -webkit-animation: spin 2s linear infinite; /* Safari */
  animation: spin 2s linear infinite;
  grid-column: 1 / -1; 
  margin: auto;
}

/* FORMS */

form ::-moz-focus-inner {
	border: 0;
}

form ::placeholder {
	color: #888 !important;
}

form label {
	display: block;
	font-weight: bold;
	margin: 0 0 1em 0;
	font-size: 16px;
	color: #444;
}

form input[type="text"],
form input[type="email"],
form input[type="password"],
form select,
form textarea {
	-webkit-appearance: none;
	display: block;
	width: 100%;
	padding: 10px;
	background-color: #fff;
	border: 1px solid #caced1;
	border-radius: 0.25rem;
	color: #000;
	cursor: auto;
	font-size: 16px;
}

form input[type="text"]:focus,
form input[type="email"]:focus,
form input[type="password"]:focus,
form select:focus,
form textarea:focus {
	border-color: #34ca00;
}

form select {
	appearance: none;
	/*  safari  */
	-webkit-appearance: none;
	/*  other styles for aesthetics */
	width: 100%;
	padding: 10px;
	background-color: #fafafa;
	border: 1px solid #caced1;
	border-radius: 0.25rem;
	color: #000;
	cursor: pointer;
}

.select-w-icon {
  position: relative;
  width: 100px;
}

.select-w-icon select {
	appearance: none;
	/*  safari  */
	-webkit-appearance: none;
	/*  other styles for aesthetics */
	width: 100%;
	padding: 10px;
	background-color: #fafafa;
	border: 1px solid #caced1;
	border-radius: 0.25rem;
	color: #000;
	cursor: pointer;
}

.select-w-icon i {
  position: absolute;
  right: 5%;
  top: 25%;
  cursor: pointer;
  color: #34ca00;
  pointer-events: none;
}

/* Flex form used inside with .flex-input-holder and .flex-btn */
.flex-form {
	display: flex;
	flex-wrap: wrap;
	gap: 1em;
}

.flex-input-holder {
	flex: 1 1 auto;
	position: relative;
}

/* used for if there are 2 inputs and button on same line */
.flex-input {
	position: relative;
	flex: 1 1;
}

/* Button */

/* Button used with .flex-form & .flex-input-holder */
.flex-btn {
	flex: 0 0 content;
}

@media screen and (max-width: 980px) {
	.flex-btn {
		flex: auto;
	}
	.flex-input {
		flex: auto;
	}
}
/* END Buttons used for form input */
div.button-disabled {
	cursor: default;
	background: #d1d1d1;
}
div.button-disabled:hover {
	cursor: default;
	background: #d1d1d1;
}
a.disabled {
	cursor: default;
}
.blank-button {
	background-color: #fff;
	border: 1px solid #34ca00;
	border-radius: 5px;
	box-sizing: border-box;
	color: #000;
	cursor: pointer;
	display: inline-block;
	font-size: 16px;
	font-weight: bold;
	list-style: none;
	margin: 0;
	outline: none;
	position: relative;
	padding:5px 10px 5px 10px;
	text-align: center;
	text-decoration: none;
	transition: color 100ms;
	vertical-align: baseline;
	user-select: none;
	-webkit-user-select: none;
	touch-action: manipulation;
	width:100%;
	min-height:40px;
}
.blank-button:hover {
	background: #f7fff4;
}
input[type="button"],
input[type="submit"],
input[type="reset"],
button,
.button {
	background-color: #34ca00;
	border-radius: 5px;
	border-style: none;
	box-sizing: border-box;
	color: #FFFFFF;
	cursor: pointer;
	display: inline-block;
	font-size: 18px;
	font-weight: bold;
	list-style: none;
	margin: 0;
	outline: none;
	position: relative;
	padding:5px 10px 5px 10px;
	text-align: center;
	text-decoration: none;
	transition: color 100ms;
	vertical-align: baseline;
	user-select: none;
	-webkit-user-select: none;
	touch-action: manipulation;
	width:100%;
}

input[type="button"].icon:before,
input[type="submit"].icon:before,
input[type="reset"].icon:before,
button.icon:before,
.button.icon:before {
	position: relative;
	margin-right: 0.5em;
	top: 0.05em;
}

input[type="button"]:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
button:hover,
.button:hover {
	background: #5bcf33;
}

input[type="button"]:active,
input[type="submit"]:active,
input[type="reset"]:active,
button:active,
.button:active {
	background: #20b0e5;
}

input[type="button"]:disabled,
input[type="submit"]:disabled,
input[type="reset"]:disabled,
button:disabled,
.button:disabled {
	background: #34ca00;
	opacity: .4;
}

/* INPUTS */

input[type="button"].alt,
input[type="submit"].alt,
input[type="reset"].alt,
button.alt,
.button.alt {
	background: #f1f1f1;
	background: rgba(0, 0, 0, 0.05);
	color: #444;
}

input[type="button"].alt:hover,
input[type="submit"].alt:hover,
input[type="reset"].alt:hover,
button.alt:hover,
.button.alt:hover {
	background: #e8e8e8;
	background: rgba(0, 0, 0, 0.085);
}

input[type="button"].alt:active,
input[type="submit"].alt:active,
input[type="reset"].alt:active,
button.alt:active,
.button.alt:active {
	background: #e4e4e4;
	background: rgba(0, 0, 0, 0.15);
}

input[type="button"].big,
input[type="submit"].big,
input[type="reset"].big,
button.big,
.button.big {
	font-size: 38px;
	padding: 0.5em;
}

/* Medium 
||||RE-EVALUATE||||*/

@media screen and (max-width: 980px) {

	/* Off-Canvas Navigation */

	#page-wrapper {
		-moz-backface-visibility: hidden;
		-webkit-backface-visibility: hidden;
		-ms-backface-visibility: hidden;
		backface-visibility: hidden;
		-moz-transition: -moz-transform 0.5s ease;
		-webkit-transition: -webkit-transform 0.5s ease;
		-ms-transition: -ms-transform 0.5s ease;
		transition: transform 0.5s ease;
		padding-bottom: 1px;
	}
}

/* HIDE CSS */

.hide1440 {

}
@media (max-width: 1440px) {
	.hide1440 {
		display: none !important;
	}
}

.hide1280 {

}
@media (max-width: 1280px) {
	.hide1280 {
		display: none !important;
	}
}

.hide1200 {

}
@media (max-width: 1200px) {
	.hide1200 {
		display: none !important;
	}
}

.hide980 {

}
@media (max-width: 980px) {
	.hide980 {
		display: none !important;
	}
}

.hide780 {

}
@media (max-width: 780px) {
	.hide780 {
		display: none !important;
	}
}

.hide580 {

}
@media (max-width: 580px) {
	.hide580 {
		display: none !important;
	}
}

.hide480 {

}
@media (max-width: 480px) {
	.hide480 {
		display: none !important;
	}
}

.hide380 {

}
@media (max-width: 380px) {
	.hide380 {
		display: none !important;
	}
}
/*||||IF CSS IS REQUIRED, THEN CONSIDER DEPRECIATED, TO BE PHASED OUT||||*/

b, strong {
	font-weight: bold;
}

i, em {
	font-style: italic;
}

/*||||FIND ALTERNATE METHOD, OR REMOVE BUTTON||||*/

button.reqp {
	background-color: #fff;
	color:#000; 
	font-size:15px;
	text-align: right;
}
button.reqp:hover {
	background-color: #fff;
	color:#34ca00; 
	font-size:15px;
	text-align: right;
}

/*||||CAN FIND USE IN REDISTRIBUTABLES||||*/

.linkbox {
	font-size: 18px;
	padding:15px;
	background-color:#fff;
	color:#444;
	border:1px solid #ccc;
	margin-bottom:1em;
}
.inlinkbox {
	margin-bottom:.5em;
}

/*||||SIDEBAR LINKS|||| */
.sb-links {
	background-color: #fafafa;
	font-size: 14px;
	text-transform: uppercase;
	line-height: 2.5em;
}
.sb-links:hover {
	background-color: #fff;
}

/*||||LISTS||||*/


ol, ul {
	list-style: none;
}
ol.decimal {
	margin-top:1em;
	list-style-type: decimal;
	padding-left: 2em;
}
ol.disc {
	margin-top:1em;
	list-style-type: disc;
	padding-left: 2em;
}
ol.decimal li {
	margin-bottom:1em;
}
ul.decimal {
	margin-top:1em;
	list-style-type: decimal;
	padding-left: 2em;
}
ul.disc {
	margin-top:1em;
	list-style-type: disc;
	padding-left: 2em;
}
ul.decimal li {
	margin-bottom:1em;
}
ul.disc li {
	margin-bottom:8px;
}

/*||||flex float left split col||||*/

.flex-left-right {
	display: flex;
	flex-wrap: nowrap;
}
.flex-balance {
	flex: 1 0%;
}
.flex-separator {
	flex: none;
	width: var(--sep-size);
}
@media (max-width: 1200px) {
	.flex-wrap768 {
		flex-wrap: wrap;
	}
	.flex-expand768 {
		flex: 1 100%;
	}
	.flex-expand768.flex-separator {
		height: var(--sep-size);
	}
}
.flex-lr-left {
	float: left;
}
.flex-left-right > div {
	flex-wrap: nowrap;
}

/* |||| MORE FLEX (used on details page) |||| */
.flex-holder {
	display: flex;
}
.row {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	width: 100%;
	flex-grow: 1;
}
.column {
	flex: 1;
}
.column-left {
	min-width: 100px;
	text-align: end;
	margin-right: 0.5em;
}
@media screen and (max-width: 768px) {
	.flex-holder {
		display: block;
	}
}

/*||||DOWNLOAD PAGE - INSTALL||||*/

.flex-install {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	text-align: center;
	gap:2em;
}

.flex-install > div {
	font-size: 16px;
	width: 275px;
}

/*||||SHOULD WORK BY DEFAULT, REMOVE||||*/

#registerForm input,
#registerForm .captcha {
	margin-bottom: 1em;
}
#loginForm input,
#loginForm .captcha {
	margin-bottom: 1em;
}

/*||||HOME INDEX COL ROW||||*/

.hcolumn {
	float: left;
	width: 33.33%;
	padding: 1em;
}

.hrow {
	margin-top: 2em;
	margin-left: auto;
	margin-right: auto;
	max-width: 1400px;
	align-content: center;
}

.hrow:after {
	content: "";
	display: table;
	clear: both;
}


/*||||THUMBS UP||||*/

.fa-thumbs-up {
	color:#34ca00; 
	font-size:16px; 
}

/*||||COMMON MODULE BOXES||||*/

.tile-box {
	padding: 1em;
	border: 1px solid #ddd;
	min-height: 250px;
	vertical-align: middle;
	border-radius: 0.5em;
}


.infobox {
	box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 6px -1px, rgba(0, 0, 0, 0.06) 0px 2px 4px -1px;
	background-color: #fafafa;
	border-radius: 1em;
	padding: 1em 1em;
	font-style: italic;
	line-height: 1.5em;
	color: #444;
	margin-top: 5px;
}

/*||||TABS||||*/

.tabset > input[type="radio"] {
	position: absolute;
	left: -200vw;
}

.tabset .tab-panel {
	display: none;
}

.tabset > input:first-child:checked ~ .tab-panels > .tab-panel:first-child,
.tabset > input:nth-child(3):checked ~ .tab-panels > .tab-panel:nth-child(2),
.tabset > input:nth-child(5):checked ~ .tab-panels > .tab-panel:nth-child(3),
.tabset > input:nth-child(7):checked ~ .tab-panels > .tab-panel:nth-child(4),
.tabset > input:nth-child(9):checked ~ .tab-panels > .tab-panel:nth-child(5),
.tabset > input:nth-child(11):checked ~ .tab-panels > .tab-panel:nth-child(6) {
	display: block;
}

.tabset > label {
	position: relative;
	display: inline-block;
	font-weight: bold;
	padding: 0.5em 1.1em;
}

.tabset > label::after {
	content: "";
	position: absolute;
}

input:focus-visible + label {
	outline: 2px solid rgba(0,102,204,1);
	border-radius: 3px;
}

.tabset > label:hover {
	cursor: pointer;
	color: #34ca00;
}

.tabset > input:focus + label,
.tabset > input:checked + label {
	border-left:1px solid #eee;
}

.tabset > label:hover::after,
.tabset > input:focus + label::after,
.tabset > input:checked + label::after {
	background: #34ca00;
}

.tabset > input:checked + label {
	border-color: #eee;
	border-bottom: 2px solid#34ca00;
}

.tab-panel {
	border-top: 1px solid #ccc;
}
.tabset {
}

/* DROPDOWN MENU */

.menu-dropdown > button {
	all: unset;
	padding: 0 !important;
	cursor: pointer;
	width: 30px;
	margin-left: 20px;
	text-align: center;
}
.menu-dropdown > button i {
	font-size: 26px;
	vertical-align: middle;
}



.menu-dropdown ul.dropdown {
	all: unset;
	font: inherit;
	position: absolute;
	top: 100%;
	min-width: 12em;
	display: none;
	flex-direction: column;
	list-style: none;
	margin: 0;
	padding: 0;
	background: #fff;
	border: 1px solid #e0e0e0;
	box-shadow: 0 1px 8px rgb(0 0 0 / 10%);
}

.menu-dropdown ul.dropdown-left {
	left: 0;
}

.menu-dropdown ul.dropdown-right {
	right: 0;
}

/* 
@media (hover: hover) {
	.menu-dropdown:not(:hover) ul.dropdown {
		display: none;
	}
}

@media (hover: hover) {
	.menu-dropdown:not(.menu-active) ul.dropdown {
		display: none;
	}
}
*/

.menu-dropdown ul.dropdown li {
	all: unset;
	font: inherit;
	flex: 1 !important;
}

.menu-dropdown ul.dropdown li a {
	all: unset;
	font: inherit;
	display: block !important;
	cursor: pointer;
	padding: 0 10px;
	line-height: 2.5;
}

.menu-dropdown ul.dropdown li a:hover {
	background: #eee;
	border-bottom: none !important;
}

/* Upload Page */

.flex-upload-content {
	flex: 1 1 auto;
}

@media screen and (max-width: 980px) {
	.flex-upload-content {
		flex: 1 1 100%;
	}
}

.collapsible {
	background-color: #f2f2f2;
	color: #444;
	cursor: pointer;
	padding: 10px;
	width: 100%;
	border: none;
	text-align: left;
	outline: none;
	font-size: 15px;
	margin-top: 1em;
}
.active, .collapsible:hover {
	background-color: #ebebeb;
}
.content {
	padding: 0 18px;
	display: none;
	overflow: hidden;
	background-color: #f1f1f1;
	text-align: left;
}
.content {
	padding: 0 18px;
	background-color: white;
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.2s ease-out;
}
.collapsible:after {
	content: '\02795'; /* Unicode character for "plus" sign (+) */
	font-size: 13px;
	color: white;
	float: right;
	margin-left: 5px;
}
.active:after {
	content: "\2796"; /* Unicode character for "minus" sign (-) */
}

/* filerow.php */

#filerow-content {
	display: inline-block;
	padding: 10px;
	gap: 10px;
	border-top: 2px solid #f2f2f2;
	line-height: 1.3em;
	width: 100%;
}
#col-one{
	display: inline-block;
	width: 40%;
	padding-right: 10px;
}
#col-two-three{
	display: inline-block;
	width: 60%;
	float: right;
	top: 0;
}
#col-two{
	width: 60%;
	display: inline-block;
	color: #666
}
#col-three{
	width: 40%;
	float: right;
	display: flex;
	justify-content: end;
}
.button-filerow {
	background-color: #34ca00;
	border-radius: 5px;
	border-style: none;
	box-sizing: border-box;
	color: #FFFFFF;
	cursor: pointer;
	display: inline-block;
	font-size: 16px;
	font-weight: bold;
	list-style: none;
	margin: 0;
	outline: none;
	position: relative;
	padding:5px 10px 5px 10px;
	text-align: center;
	text-decoration: none;
	transition: color 100ms;
	vertical-align: baseline;
	user-select: none;
	-webkit-user-select: none;
	touch-action: manipulation;
	width:fit-content;
	height:32px;
}
.button-filerow:hover {
	color:#fff;
	background-color: #446cff;
}
.new-tag {
	font-size:11px;
	padding:2px;
	border-radius: 2px;
	background-color:#00b30b;
	color:#fff;
	font-weight:bold;
}
.mb5 {
	margin-bottom: 5px;
}
@media (max-width: 580px) {
	#col-one{
		display: block;
		width: 100%;
		margin: 0;
	}
	#col-two-three{
		display: block;
		width: 100%;
		margin: 0;
	}
	.flex-test {
		display: inline-block;
	}
	.filerow-title {
		margin-bottom: 0 !important;
	}
}

/* account form response errors */

.submit-err {
	padding:10px;
	background-color:#f5ffc0;
	font-size:1em;
	font-weight:600;
	margin: 1em;
}

.submit-err-fail {
	padding:10px;
	background-color:#ffd3d3;
	font-size:1em;
	font-weight:600;
	margin: 1em;
}

/* Item Box */

.itembox {
	padding: 20px;
	background-color: #fafafa;
	margin-top:40px;
	box-shadow: rgba(9, 30, 66, 0.25) 0px 4px 8px -2px, rgba(9, 30, 66, 0.08) 0px 0px 0px 1px;
}

.itembox h3 {
	margin-top: 2em;
	}

.side-right {
    /* Add any styles for the sidebar container */
}

.trending-header, .articles-header {
    margin-bottom: 0.5em;
}

.link-rank {
    color: #999;
    margin-right: 5px;
    text-align: center;
    min-width: 16px;
    padding: 3px 10px;
    background-color: #ededed;
}

.ad-container {
    min-height: 250px;
}

.sb-links a {
    display: inline-block;      /* Enables proper sizing and truncation */
    max-width: 80%;            /* Set a maximum width based on the container */
    white-space: nowrap;        /* Prevents the text from wrapping to a new line */
    overflow: hidden;           /* Ensures overflow text is hidden */
    text-overflow: ellipsis;    /* Adds the ellipsis to indicate truncated content */
    vertical-align: middle;     /* Ensures proper alignment with other elements */
}

/* TOOLS CSS to retain styling */
.tools-container {
    display: grid;
    margin-top: 2em;
    padding: 0.5em;
    grid-template-columns: repeat(auto-fill, minmax(275px, auto));
    gap: 1em;
    justify-content: center;
}
.tools-tile-box {
    border: 1px solid #e3e3e3;
    padding: 1em;
    background: #fff;
    text-align: left;
    transition: box-shadow 0.3s;
    min-height: 250px;
}
.tools-tile-box:hover {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
.tools-icon-wrapper {
    margin-bottom: 1em;
    margin-top: 1em;
    text-align: center;
}
.tools-tile-title {
    font-size: 18px;
    margin-bottom: 5px;
    font-weight: bold;
}
.tools-tile-footer {
    color: #666;
    margin-top: 20px;
    border-top: 1px solid #eee;
    padding-top: 10px;
    font-style: italic;
    font-size:14px;
}
.tools-icon-large {
    font-size: 48px !important;
}
.tools-upload-icon {
    margin-right: 0.5em;
    color: #34ca00;
}
.tools-description {
    color: #555;
    text-align: left;
    font-size: 16px;
}
/* CSS for command prompt styling */
.cmd-container {
    border: 1px solid #ccc;
    margin-top: 2em;
    background-color: #222;
    color: #eee;
    padding: 1em;
    font-size: 16px;
    font-family: monospace;
}
.cmd-line {
    margin-bottom: 10px;
}
.cmd-path {
    color: #aaa;
}
.cmd-image {
    max-width: 600px;
    border-radius: 1em;
}

/* 404 ERROR */
.not-found-section {
    text-align: center;
    margin-top: 2em;
    margin-bottom: 3em;
}

.logo-image {
    max-width: 134px;
}

.repository-tag {
    color: #777;
    font-weight: bold;
    font-size: 13px;
}
/* Stop links from changing colors on buttons */
a.button {
  color: #fff;
  text-decoration: none;
}

a.button:hover {
  color: #fff; /* Keeps the color the same on hover */
  text-decoration: none; /* Prevents any underline or style changes */
}
/* Figcaption Style */
figcaption {
  color: #777;
  font-style: italic;
}
/* Margins */
.margin-top-large {
    margin-top: 2em;
}
.no-top-margin {
    margin-top: 0;
}
.no-bottom-margin {
    margin-bottom: 0;
}
.margin-bottom-large {
    margin-bottom: 2em;
}
.margin-bottom-small {
    margin-bottom: 1em;
}
/* General Styling */
.bold {
    font-weight: bold;
}

/* AI articles */
#ai-article .article-content h3 {
    margin: 1em 0 0;
    font-size: 18px;
}

#ai-article ul,
#ai-article ol {
	list-style: unset;
	margin-top:1em;
	padding-left: 2em;
}

blockquote {
	border-left: solid 4px;
	font-style: italic;
	margin: 0 0 2rem 0;
	padding: 0.5rem 0 0.5rem 2rem;
}

code {
	border: solid 2px;
	font-family: "Courier New", monospace;
	font-size: 0.9rem;
	margin: 0 0.25rem;
	padding: 0.25rem 0.65rem;
}
/* Box */

	.box {
		border: solid 2px;
		margin-bottom: 2rem;
		padding: 1.5rem;
	}

		.box > :last-child,
		.box > :last-child > :last-child,
		.box > :last-child > :last-child > :last-child {
			margin-bottom: 0;
		}

		.box.alt {
			border: 0;
			border-radius: 0;
			padding: 0;
		}

	.box {
		border-color: #eeeeee;
	}
