body {
	background-color: #F9FAFB;
}


/* top hero */
.jb-hero {
	position:relative;
	width:100%;
	background: linear-gradient(to right, #4338ca, #3b82f6);
	color: #fff;
	padding: 5rem 1.5rem;
	text-align: center;
	z-index:150;
}

.grid-two-columns {
	position: relative;
	display: grid;
	grid-template-columns: 1fr 1fr; /* two equal columns */
	gap: 1rem; /* space between columns */
}

.column {
	padding: 1rem;
}



.jb-hero h1 {
	font-size: 2.5rem;
	margin-bottom: 1rem;
	line-height: 1.3;
}

.hero-tagline {
	font-size: 1.5rem;
	font-weight: 400;
	max-width: 700px;
	margin: 0 auto 2rem;
	color: #e0e7ff;
}

.hero-tagline-demo {
	font-size: 1.7rem;
	font-weight: 400;
	max-width: 700px;
	margin: 0 auto 2rem;
	color: orange;
}

.hero-cta {
	display: inline-block;
	background-color: white;
	color: #4f46e5;
	padding: 0.75rem 1.5rem;
	font-weight: 600;
	border-radius: 6px;
	text-decoration: none;
	transition: background 0.3s;
}

	.hero-cta:hover {
		background-color: #f1f5f9;
	}




div.footer {
	position: relative;
	top:10px;
	margin-bottom:20px;
}


.cookiebanner {
	position: fixed;
	height: 50px;
	bottom: 0;
	left: 0;
	width: 100%;
	background-color: white;
	color: white;
	padding: 7px;
	text-align: center;
	font-size: 14px;
	display: none; /* Initially hidden */
	z-index: 500;
	border: 1px solid #CCC;
	background-color: #F0F0F0;
}

p.cookietext {
	color:black;
}

p.organized {
	font-size:23pt;
	color: #6a5acd;
}

div.datacontainer {
	position: relative;
	top: 0px;
	margin: 5px;
	min-height: 900px;
	z-index: 140;
	margin-bottom:50px;
}


/* start jsonbason */

#controls {
	display: flex;
	margin-top:10px;
	gap: 10px;
	margin-bottom: 12px;
}

button {
	padding: 6px 12px;
	font-size: 14px;
	cursor: pointer;
}

table {
	width: 100%;
	border-collapse: collapse;
	margin-top: 10px;
}

th, td {
	border: 1px solid #ccc;
	padding: 8px;
	text-align: left;
	transition: background-color 0.3s, color 0.3s;
}

th {
	background-color: #f4f4f4;
	cursor: pointer;
	user-select: none;
}

	th.sorted {
		font-weight: bold;
		background-color: #e9f1ff;
	}

.sort-indicator {
	font-size: 12px;
	color: #666;
	margin-left: 6px;
}

thead input {
	width: 100%;
	padding: 4px;
	font-size: 14px;
	box-sizing: border-box;
}

thead th > div {
	display: flex;
	align-items: center;
	gap: 4px;
}

thead button {
	font-size: 12px;
	padding: 2px 6px;
	cursor: pointer;
}


tbody tr:nth-child(even) {
	background-color: #F0F0F0;
}

/* Dark Mode Styles */
body.dark-mode {
	background-color: #121212;
	color: #e0e0e0;
}

	body.dark-mode th,
	body.dark-mode td {
		border-color: #444;
	}

	body.dark-mode th {
		background-color: #1f1f1f;
	}

		body.dark-mode th.sorted {
			background-color: #2c3e50;
		}

	body.dark-mode tbody tr:nth-child(even) {
		background-color: #1a1a1a;
	}

	body.dark-mode input,
	body.dark-mode button {
		background-color: #2b2b2b;
		color: #e0e0e0;
		border: 1px solid #444;
	}

.switch {
	position: relative;
	display: inline-block;
	width: 46px;
	height: 24px;
}

	.switch input {
		opacity: 0;
		width: 0;
		height: 0;
	}

.slider {
	position: absolute;
	cursor: pointer;
	background-color: #ccc;
	border-radius: 34px;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	transition: 0.4s;
}

	.slider::before {
		content: "";
		position: absolute;
		height: 18px;
		width: 18px;
		border-radius: 50%;
		background-color: white;
		bottom: 3px;
		left: 3px;
		transition: 0.4s;
	}

input:checked + .slider {
	background-color: #36454F;
}

	input:checked + .slider::before {
		transform: translateX(22px);
	}

.code-wrapper {
	margin: 0 auto;
	top: 10px;
	font-family: monospace;
	width: fit-content;
	max-width: 100%;
}

.copy-btn-wrapper {
	position: absolute;
	top: 0px;
	right: 0;
	padding: 3px; /* Adds space around the button */
	z-index: 2;
}

.copy-btn {
	background-color: #444;
	color: #fff;
	border: none;
	padding: 6px 10px;
	border-radius: 4px;
	cursor: pointer;
	font-size: 12px;
}

	.copy-btn:hover {
		background-color: #666;
	}

.code-container {
	position:relative;
	background-color: #2d2d2d;
	border-radius: 8px;
	overflow-x: auto;
	display: flex;
	flex-direction: column;
	padding-left: 0;
	padding-top: 8px; /* top space inside the code box */
	padding-bottom: 8px;
}

.line {
	display: flex;
}

.number {
	background-color: #1e1e1e;
	color: #888;
	padding: 0 12px;
	width: 40px;
	text-align: right;
	user-select: none;
	border-right: 1px solid #444;
}

.code {
	color: #ccc;
	padding: 0 12px;
	white-space: pre;
}

/* Syntax Highlighting */
.keyword {
	color: #f08d49;
}

.string {
	color: #9cdcfe;
}

.property {
	color: #569cd6;
}

.object {
	color: #c586c0;
}

.function {
	color: #dcdcaa;
}

.punctuation {
	color: #ffffff;
}

span#cleartable {
	position:absolute;
	right:0;
}

.comment {
	color: #6a9955; /* Typical VS Code-style green comment */
}

.keyword {
	color: #569cd6; /* blue-ish for const */
	font-weight: bold;
}

.variable {
	color: #9cdcfe;
}

 .value {
	color: #ce9178; /* reddish for strings */
}

/* welcome speech bubble*/
div.welcomemessage {
	position: relative;
}

.circular-sb {
	width: 365px;
	border: 2px solid #CCC;
	padding: 80px 20px;
	margin: 30px auto;
	border-radius: 50%;
	text-align: center;
	font-size: 24px;
	font-weight: 900;
	font-family: arial;
	position: relative;
	color: black;
	background-color: white;
	background-color: #F0F0F0;
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.05);
}

.circle1 {
	border: 2px solid #CCC;
	position: absolute;
	width: 25px;
	padding: 20px;
	border-radius: 50%;
	right: -15px;
	bottom: 23px;
	background-color: white;
	background-color: #F0F0F0;
}

.circle2 {
	border: 2px solid #CCC;
	position: absolute;
	width: 5px;
	padding: 10px 15px;
	border-radius: 50%;
	right: -60px;
	bottom: 5px;
	background-color: white;
	background-color: #F0F0F0;
}

.circle3 {
	border: 2px solid #CCC;
	position: absolute;
	width: 25px;
	padding: 20px;
	border-radius: 50%;
	left: -10px;
	bottom: 10px;
	background-color: white;
}

div.pitorian {
	position: relative;
	top:27px;
	bottom: 0;
	left: 5px;
	width:30px;
	z-index: 0;
}


@media (max-width: 1275px) {
	.grid-two-columns {
		grid-template-columns: 1fr; /* stack columns */
	}

}

div#darkmode {
	position:relative;
	top:0;
	
}

@media (max-width: 670px) {

	#customCode {
		width:550px;
	}
}


@media (max-width: 570px) {


	#customCode {
		width: 350px;
	}

}


@media (max-width: 380px) {


	#customCode {
		width: 300px;
	}

	.column {
		width:350px;
	}


}


