/* Reset basic styles */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

/* Ensure full screen height and flexible layout */
body {
	font-family: Arial, sans-serif;
	height: 100vh;
	display: flex;
	flex-direction: column;
	background-color: #ffffff;
	padding-top: 90px;	/* Prevents content from hiding behind the top bar */
}

/* Top navigation bar with links on both sides */
.top-nav {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 30px;
	background-color: ffffff;
	display: flex;
	justify-content: space-between; /* Pushes content to the far left and right */
	align-items: center;
	padding: 0px 24px;
	z-index: 1000;
}

/* Flexbox containers for left and right links */
.nav-left, .nav-right {
	display: flex;
	gap: 15px; /* Space between individual links */
}

.nav-left a {
	color: rgba(0, 0, 0, 0.87);
	text-decoration: none;
	font-size: 14px;
}

.nav-right a {
	color: rgba(0, 0, 0, 0.87);
	text-decoration: none;
	font-size: 13px;
}

.top-nav a:hover {
	text-decoration: underline;
}

/* Top navigation bar with logo on the left and links on the right */
.top-nav1 {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 50px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0 24px;
	background-color: #ffffff;
	z-index: 1000;
}

/* Logo link container styling */
.nav-logo1 {
	text-decoration: none;
	display: inline-block;
	line-height: 1;
}

/* Het logo staat nu op een subtiele, strakke hoogte van 32px */
.nav-logo1 span {
	font-size: 32px;		/* Ietsje kleiner voor de perfecte subtiele hoek-look */
	font-weight: 600;	   /* Strakke, heldere dikte */
	letter-spacing: -0.5px; /* Fijne, subtiele letterafstand */
	line-height: 1;
	display: inline-block;
}

/* Colored letters for the logo */
.nav-logo1 span:nth-child(1) { color: #34A853; }
.nav-logo1 span:nth-child(2) { color: #EA4335; }
.nav-logo1 span:nth-child(3) { color: #FBBC05; }
.nav-logo1 span:nth-child(4) { color: #34A853; }
.nav-logo1 span:nth-child(5) { color: #4285F4; }
.nav-logo1 span:nth-child(6) { color: #EA4335; }

/* Navigation links on the right */
.nav-right1 {
	display: flex;
	gap: 15px; 
}

.top-nav1 a {
	color: rgba(0, 0, 0, 0.87);
	text-decoration: none;
	font-size: 13px; 
}

.top-nav1 a:hover {
	text-decoration: underline;
}

/* Container that fills the screen and centers the search box */
.main-container {
	flex: 1;
	display: flex;
	justify-content: center;
	align-items: center;
}

/* Centered general card */
.general-container {
	font-size: 18px;
	line-height: 1.2;
	text-align: justify;
	padding: 20px;
	margin-top: -40px; 
	noborder: 2px solid red;
	width:min(95vw, 800px);
}

/* Styling for the main heading */
.general-container h2 {
	text-align: center;
	font-size: 2rem;
	color: #202124;
	margin-bottom: 20px;
	font-weight: 400;
}

.general-container ul {
	list-style-position: outside;
	margin-left: 15px;
}

.general-container li {
	margin-bottom: 10px;
}

.general-item {
	text-align: center;
	font-weight: bold;
	color: #202124;
	margin-top: 20px;
	margin-bottom: 10px;
}

.general-text {
	color: #202124;
	margin-bottom: 10px;
}

.general-container a {
	text-decoration: underline dotted;
	color: #34A853;
}

.general-container a:hover {
	text-decoration: underline;
}


/* Centered contact card */
.contact-container {
	text-align: center;
	padding: 20px;
	margin-top: -40px; 
}

/* Styling for the main heading */
.contact-container h2 {
	font-size: 2rem;
	color: #202124;
	margin-bottom: 20px;
	font-weight: 400;
}

/* Details styling */
.contact-details {
	font-size: 18px;
	color: #4d5156;
	line-height: 1.6;
}

.contact-name {
	font-weight: bold;
	color: #202124;
}

.contact-chat {
	margin-top: 40px;
	font-weight: bold;
	color: #202124;
}

.contact-details a {
	text-decoration: underline dotted;
	color: #34A853;
}

.contact-details a:hover {
	text-decoration: underline;
}

.contact-details img {
	width: 100%;
	height: auto;
	border: 2px solid black;
}

/* Centered contact card */
.donate-container {
	text-align: center;
	padding: 20px;
	margin-top: -40px; 
	width:min(95vw, 800px);
}

/* Styling for the main heading */
.donate-container h2 {
	font-size: 2rem;
	color: #202124;
	margin-bottom: 20px;
	font-weight: 400;
}

/* Details styling */
.donate-details {
	font-size: 18px;
	color: #4d5156;
	line-height: 1.6;
	align-items: center;
}

.donate-name {
	font-weight: bold;
	color: #202124;
	margin-bottom: 10px;
}

.donate-text {
	text-align: justify;
	margin-bottom: 10px;
}

.donate-qr {
	margin-top: 40px;
	margin-bottom: 20px;
	font-weight: bold;
	color: #202124;
}

.donate-details a {
	text-decoration: underline dotted;
	color: #34A853;
}

.donate-details a:hover {
	text-decoration: underline;
}

.donate-img img {
	height: auto;
	width:min(95%, 400px);
	border: 2px solid black;
}

/* Centered game card */
.game-container {
	text-align: center;
	padding: 20px;
	margin-top: -40px;
	width:min(95vw, 400px);
}

/* Styling for the main heading */
.game-container h2 {
	font-size: 2rem;
	color: #202124;
	margin-bottom: 20px;
	font-weight: 400;
}

/* Details styling */
.game-details {
	font-size: 18px;
	color: #4d5156;
	line-height: 1.6;
}

.game-text {
	font-weight: bold;
	color: #202124;
	text-align: justify;
}

.game-text span:nth-child(1) { color: #34A853; }
.game-text span:nth-child(2) { color: #EA4335; }
.game-text span:nth-child(3) { color: #FBBC05; }
.game-text span:nth-child(4) { color: #4285F4; }

.game-img img {
	width: 100%;
	height: auto;
}

/* Container for the search bar and logo */
.search-container {
	text-align: center;
	width: 100%;
	max-width: 584px;
	padding: 20px;
	margin-top: -40px; /* Optical centering correction */
	margin-bottom: 150px;
}

@media (max-width: 768px) {
	.search-container {
		margin-bottom: 20px;
	}
}
/* Styling for the title/logo */
h1 {
	font-size: 5rem;
	margin-bottom: -5px; /* Verkleind zodat de slogan er dicht onder staat */
	font-weight: 600;
	letter-spacing: -1px;
}

/* Subtle Google-style colors for the logo effect */
h1 span:nth-child(1) { color: #34A853; }
h1 span:nth-child(2) { color: #EA4335; }
h1 span:nth-child(3) { color: #FBBC05; }
h1 span:nth-child(4) { color: #34A853; }
h1 span:nth-child(5) { color: #4285F4; }
h1 span:nth-child(6) { color: #EA4335; }

/* Styling voor de nieuwe slogan */
.slogan {
	font-size: 18px;
	color: #70757a; /* Zelfde subtiele grijs als de footer */
	letter-spacing: 1px;
	text-transform: lowercase; /* Zorgt dat het altijd in kleine letters staat */
	margin-bottom: 30px; /* Ruimte tussen slogan en zoekbalk */
}

/* Search box wrapper */
.search-box {
	position: relative;
	display: flex;
	align-items: center;
}

/* Search input field */
.search-input {
	width: 100%;
	padding: 14px 20px;
	font-size: 16px;
	border: 1px solid #dfe1e5;
	border-radius: 24px;
	outline: none;
	transition: box-shadow 0.2s;
}

/* Shadow effect on hover or focus */
.search-input:focus, 
.search-input:hover {
	box-shadow: 0 1px 6px rgba(32,33,36,0.28);
	border-color: rgba(223,225,229,0);
}

/* Buttons container below search bar */
.button-container {
	margin-top: 25px;
}

.search-btn {
	background-color: #f8f9fa;
	border: 1px solid #f8f9fa;
	border-radius: 4px;
	color: #3c4043;
	font-size: 14px;
	margin: 5px;
	padding: 10px 16px;
	cursor: pointer;
	transition: border 0.1s, color 0.1s;
}

.search-btn:hover {
	border: 1px solid #dadce0;
	color: #202124;
	background-color: #f8f9fa;
}

/* Responsive adjustments for narrow screens */
@media (max-width: 768px) {
	.search-btn {
		font-size: 12px;
		margin: 3px;
		padding: 8px 14px;
	}
}

/* Centered search card */
.search-container {
	width:min(95vw, 600px);
	text-align: center;
	padding: 20px;
	margin-top: -40px;
}

/* Styling for the main heading */
.search-container h2 {
	font-size: 2rem;
	color: #202124;
	margin-bottom: 20px;
	font-weight: 400;
}

.search-container img {
	width: 50%;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

/* Details styling */
.search-details {
	font-size: 18px;
	color: #4d5156;
	line-height: 1.2;
	text-align: justify;
}

.search-details p {
	margin-bottom:20px;
}

.search-details li {
	margin-bottom:10px;
}

.search-bold {
	font-weight: bold;
	color: #202124;
}

/* Position your div right above footer */
.bottom-left-boxOLD {
	position: fixed;
	left: 30px;          /* Distance from the left edge */
	bottom: 68px;        /* Footer height (60px) + desired gap (20px) */
	z-index: 99;         /* Keeps it on top of other content */
	color: #70757a;
}

/* Position your div right above footer */
.bottom-left-box {
	position: absolute;  /* Changed from fixed to absolute */
	left: 30px;          /* Matches your footer's horizontal padding */
	bottom: 100%;        /* Automatically pins it exactly to the top edge of the footer */
	margin-bottom: 20px;  /* Your desired gap above the footer */
	z-index: 99;         
	color: #70757a;
}

/* Responsive adjustments for narrow screens */
@media (max-width: 768px) {
	.bottom-left-box {
		left: 15px;          /* Matches your footer's horizontal padding */
		margin-bottom: 10px;  /* Your desired gap above the footer */
	}
}
/* Bottom navigation bar (footer) */
.footer-nav {
	position: relative;  /* CRITICAL: Anchors the absolute box to this container */
	background-color: #f2f2f2;
	display: grid;
	grid-template-columns: 1fr auto 1fr; /* Splits footer into 3 equal zones */
	align-items: center;
	padding: 15px 24px;
	border-top: 1px solid #e4e4e4;
}

.footer-nav a, .footer-copyright {
	color: #70757a;
	font-size: 14px;
	text-decoration: none;
}

.footer-nav a:hover {
	text-decoration: underline;
}

.footer-left {
	display: flex;
	gap: 27px;
}

.footer-copyright {
	text-align: center;
	white-space: nowrap;
}

.footer-right {
	display: flex;
	justify-content: flex-end;
	gap: 27px;
}

/* Responsive adjustments for narrow screens */
@media (max-width: 768px) {
	.footer-nav {
		grid-template-columns: 1fr;	/* Collapses the 3 columns into 1 */
		justify-items: center;		/* Centers the elements horizontally */
		gap: 15px;			/* Adds space between the stacked rows */
		text-align: center;
	}

	.footer-left, .footer-right {
		justify-content: center;	/* Overrides flex-end to center the links */
	}
}

.terms-container {
	font-family: sans-serif;
	text-align: justify;
	width:min(95vw, 600px);
	margin: 0 auto;
	padding: 20px;
	line-height: 1.6;
	color: #333;
}

.terms-container h2 {
	border-bottom: 2px solid #ccc;
	padding-bottom: 10px;
	text-align: center;
}

.terms-container ul {
	list-style-position: outside;
	margin-left: 15px;
}

.terms-container a {
	text-decoration: underline dotted;
	color: #34A853;
}

.terms-container a:hover {
	text-decoration: underline;
}

