/* Reset */
body,
h1,
p,
form,
button {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

/* Body styling */
body {
	font-family: Arial, sans-serif;
	background-color: #f8f8f8 !important;
	color: #333;
	justify-content: center;
	align-items: center;
	padding-bottom: 100px;
	height: 100%;
}

/* Survey container */
#survey-container {
	background: #fff;
	padding: 20px 40px;
	border-radius: 8px;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
	margin-left: 30px;
	margin-right: 30px;
	margin-top: 30px;
	max-width: 95%;
}

/* Form and question container */
#survey-form,
#contact-form {
	display: flex;
	flex-direction: column;
	gap: 15px;
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
	padding: 33px 0px;
	border-top: 1px solid #dee2e6 !important;
	border-bottom: 1px solid #dee2e6 !important;
	margin-top: 30px;
	margin-bottom: 25px;
}

div#pre-form {
	margin-left: auto;
	margin-right: auto;
	width: 600px;
}

#question-container {
	margin-bottom: 15px;
}

/* Button styling */
button {
	padding: 10px 15px;
	background-color: #007bff;
	color: #fff;
	border: none;
	border-radius: 4px;
	cursor: pointer;
	font-size: 16px;
}

button:hover {
	background-color: #0056b3;
}

#footer {
	padding: 10px 0;
	font-size: 12px;
}

img {
	max-width: 100%;
	height: auto;
}

#pre-header {
	padding: 10px;
	background: rgb(0, 0, 0);
	background: linear-gradient(0deg, rgba(0, 0, 0, 1) 0%, rgba(49, 50, 79, 1) 100%);
}

#pre-header img {
	width: 150px;
	height: 25px;
}

#header {
	width: 100%;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
}

.centered-text {
	font-family: "Prompt", sans-serif;
	font-weight: 600;
	position: absolute;
	color: #fff; /* Adjust this to your desired text color */
	text-align: center;
	text-transform: uppercase; /* Make the text all caps */
	text-shadow: 2px 2px 4px #000;
	line-height: 35px;
	padding: 0px 30px;
}
span.bigger {
	font-size: 39px !important;
	line-height: 60px;
}

span.smaller {
	font-size: 26px !important;
}

#header {
	width: 100%;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
}

#header img {
	width: 100%;
}

#survey-container button {
	width: 250px;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}

.is-invalid {
	border-color: #dc3545;
}

.text-danger {
	color: #dc3545 !important;
	font-size: 0.875em;
}

.custom-alert {
	position: fixed;
	top: 20px;
	left: 50%;
	transform: translateX(-50%);
	padding: 15px 20px;
	border-radius: 5px;
	font-size: 16px;
	z-index: 10000;
	text-align: center;
	max-width: 400px;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
	opacity: 0;
	transition: opacity 0.3s ease-in-out;
}

.custom-alert.neutral {
	background-color: #f5f5f5;
	color: #333;
	border: 1px solid #ddd;
}

.custom-alert.success {
	background-color: #d4edda;
	color: #155724;
	border: 1px solid #c3e6cb;
}

.custom-alert.danger {
	background-color: #f8d7da;
	color: #721c24;
	border: 1px solid #f5c6cb;
}

@media (max-width: 320px) {
	.centered-text {
		position: absolute;
		color: #fff; /* Adjust this to your desired text color */
		text-align: center;
		text-transform: uppercase; /* Make the text all caps */
		text-shadow: 2px 2px 4px #000;
		line-height: 18px;
		max-width: 280px;
	}

	span.bigger {
		font-size: 20px !important;
	}

	span.smaller {
		font-size: 13px !important;
	}
}
@media (min-width: 600px) {
	#pre-header {
		padding: 12px;
	}

	#pre-header img {
		width: 119px;
		height: 20px;
	}

	span.bigger {
		font-size: 58px !important;
		line-height: 81px;
	}

	span.smaller {
		font-size: 37px !important;
	}

	.centered-text {
		position: absolute;
		color: #fff; /* Adjust this to your desired text color */
		text-align: center;
		text-transform: uppercase; /* Make the text all caps */
		text-shadow: 2px 2px 4px #000;
		line-height: 48px;
		max-width: 550px;
	}
}

@media (min-width: 700px) {
	#pre-header {
		padding: 25px;
	}

	#pre-header img {
		width: 215px;
		height: 36px;
	}

	span.bigger {
		font-size: 80px !important;
	}

	span.smaller {
		font-size: 53px !important;
	}
	.centered-text {
		position: absolute;
		color: #fff; /* Adjust this to your desired text color */
		text-align: center;
		text-transform: uppercase; /* Make the text all caps */
		text-shadow: 2px 2px 4px #000;
		line-height: 60px;
		max-width: 700px;
	}
}

@media (min-width: 1200px) {
	#survey-container {
		margin-left: auto;
		margin-right: auto;
		max-width: 1280px;
	}
}

@media (max-width: 768px) {
	#survey-container {
		padding: 25px;
		margin-left: 0px;
		margin-right: 0px;
		max-width: 100%;
		margin-top: 0px;
	}

	.form-group label {
		font-size: 14px; /* Smaller font for labels */
	}

	button {
		width: 100%; /* Buttons take full width on mobile */
		padding: 12px;
	}

	#footer {
		font-size: 10px;
		padding: 5px;
	}

	#header img {
		width: 100%;
		height: auto;
	}

	div#pre-form {
		margin-left: 0px;
		margin-right: 0px;
		width: 100%;
	}

	body {
		padding-bottom: 0px;
	}
}

@media (max-width: 480px) {
	.centered-text span.bigger {
		font-size: 24px; /* Adjust font size for header overlay */
		max-width: 430px;
	}

	#header img {
		height: auto;
	}
}
