@charset "utf-8";

@import 'https://fonts.googleapis.com/css?family=Roboto:400,500,700';
@import 'https://fonts.googleapis.com/css?family=Raleway:400,600,700';
@import 'https://fonts.googleapis.com/css2?family=Hind+Siliguri:wght@400;500;600;700&display=swap';

@font-face {
	font-family: geetanjalibold;
	src: url(../css/GeetanjaliUni-Bold.woff) format('woff');
	font-weight: 400;
	font-style: normal;
}

@font-face {
	font-family: shree;
	src: url(../css/SHREE0592.eot);
	src: url(../css/SHREE0592.eot?#iefix) format('embedded-opentype'), url(../css/SHREE0592.woff) format('woff'), url(../css/SHREE_BAN_OTF_0592.ttf) format('truetype'), url(../css/shree0592.svg#shree) format('svg');
	font-weight: 400;
	font-style: normal;
	font-stretch: normal;
	unicode-range: U+0020-25CA;
}

/* CSS Document */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

html,
body {
	height: 100%;
}

body {
	font-family: 'Hind Siliguri', 'Roboto', Arial, Helvetica, sans-serif;
	font-size: 16px;
	background: #fcf8f2;
	background-image:
		radial-gradient(circle at 10% 10%, rgba(245, 158, 11, 0.12) 0%, transparent 45%),
		radial-gradient(circle at 90% 15%, rgba(157, 15, 29, 0.12) 0%, transparent 45%),
		radial-gradient(circle at 50% 85%, rgba(217, 119, 6, 0.08) 0%, transparent 50%),
		linear-gradient(180deg, #fefbf6 0%, #f7eee2 100%);
	background-attachment: fixed;
	color: #2d3748;
	line-height: 1.6;
}

a,
a:hover {
	text-decoration: none;
}

/* Base Container */
.template {
	padding-top: 20px;
	padding-bottom: 40px;
}

.container-fluid {
	width: 1070px;
	max-width: 95%;
	margin: 0 auto;
}

/* Carousel Controls Light Background */
.carousel-control-prev,
.carousel-control-next {
	width: 38px;
	height: 38px;
	top: 50%;
	bottom: auto;
	transform: translateY(-50%);
	background: rgba(28, 28, 28, 0.173);
	border-radius: 50%;
	opacity: 0.95;
	transition: all 0.3s ease;
	box-shadow: 0 4px 14px rgba(255, 255, 255, 0.15), 0 2px 6px rgba(157, 15, 29, 0.1);
	margin: 0 15px;
	z-index: 5;
}

.carousel-control-prev:hover,
.carousel-control-next:hover {
	opacity: 1;
	background: #2b2b2b60;
	border-color: #9d0f1d;
	transform: translateY(-50%) scale(1.08);
	box-shadow: 0 6px 18px rgba(62, 62, 62, 0.25), 0 0 10px rgba(26, 26, 26, 0.164);
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
	width: 18px;
	height: 18px;

}

/* Banner Styling */
.ad {
	border-radius: 16px;
	text-align: center;
	margin: 0 0 25px 0;
	overflow: hidden;
	box-shadow: 0 12px 32px -8px rgba(157, 15, 29, 0.22), 0 4px 12px rgba(245, 158, 11, 0.15);
	border: 3px solid #ffffff;
	position: relative;
	background: #fff;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.ad:hover {
	transform: translateY(-2px);
	box-shadow: 0 16px 40px -10px rgba(157, 15, 29, 0.28), 0 6px 16px rgba(245, 158, 11, 0.2);
}

.ad img {
	max-width: 100%;
	height: auto;
	display: block;
	margin: 0 auto;
	cursor: default;
}

.ad .mob {
	display: none;
}

/* Bengali Headings Banner Card */
.heading-card {
	background: linear-gradient(135deg, #ffffff 0%, #fffbf2 100%);
	border-radius: 16px;
	padding: 22px 25px;
	margin-bottom: 25px;
	box-shadow: 0 8px 24px -6px rgba(157, 15, 29, 0.12), 0 2px 8px rgba(217, 119, 6, 0.1);
	border: 1px solid rgba(217, 119, 6, 0.25);
	position: relative;
	overflow: hidden;
	text-align: center;
}

.heading-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: linear-gradient(90deg, #9d0f1d 0%, #f59e0b 50%, #9d0f1d 100%);
}

.heading-card h3 {
	color: #8b101c;
	font-size: 1.45rem;
	line-height: 1.65;
	font-weight: 700;
	margin-bottom: 14px;
	text-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);
}

.heading-badge {
	display: inline-block;
	background: linear-gradient(135deg, #9d0f1d 0%, #c01525 100%);
	color: #ffffff !important;
	font-size: 1.15rem;
	font-weight: 600;
	padding: 8px 24px 6px;
	border-radius: 30px;
	box-shadow: 0 4px 14px rgba(157, 15, 29, 0.25), 0 0 0 2px rgba(245, 158, 11, 0.4);
	letter-spacing: 0.3px;
}

.heading-badge i {
	color: #fbbf24;
	margin-right: 8px;
}

/* Main Form Body Container */
.cont-body {
	padding: 0;
	margin: 0 auto 30px auto;
	max-width: 1070px;
}

.form-container {
	background: #ffffff;
	border-radius: 20px;
	padding: 35px 40px;
	box-shadow: 0 20px 45px -12px rgba(157, 15, 29, 0.15), 0 0 25px rgba(245, 158, 11, 0.1);
	border: 1px solid rgba(243, 213, 189, 0.8);
	position: relative;
	overflow: hidden;
}

/* Decorative festive top bar for form */
.form-container::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: linear-gradient(90deg, #9d0f1d 0%, #d97706 35%, #fbbf24 50%, #d97706 65%, #9d0f1d 100%);
}

.txt-bengali,
.alert {
	font-family: 'geetanjalibold';
}

/* Form Group & Labels */
.form-group {
	margin-bottom: 1.5rem;
}

.form-group label {
	font-size: 1.5rem;
	color: #8b101c;
	font-weight: 700;
	display: flex;
	align-items: center;
	gap: 8px;
}

.form-group label i {
	color: #d97706;
	font-size: 1.1rem;
	width: 24px;
	text-align: center;
}

.required {
	color: #e11d48;
	font-weight: bold;
	font-size: 1.3rem;
	margin-left: 2px;
}

/* Form Controls / Input Fields */
.form-control {
	display: block;
	width: 100%;
	height: auto;
	padding: 10px 15px;
	font-size: 1.2rem;
	line-height: 1.5;
	color: #1f2937;
	background-color: #ffffff;
	background-clip: padding-box;
	border: 2px solid #c97d46;
	border-radius: 10px;
	transition: all 0.25s ease-in-out;
	box-shadow: 0 2px 8px rgba(157, 15, 29, 0.08), inset 0 1px 2px rgba(0, 0, 0, 0.02);
}

.form-control::placeholder {
	color: #8896ab;
	font-size: 1.5rem;
	padding: 0 5px;
}

.form-control:hover {
	border-color: #9d0f1d;
	background-color: #ffffff;
	box-shadow: 0 3px 10px rgba(157, 15, 29, 0.12);
}

.form-control:focus {
	color: #111827;
	background-color: #ffffff;
	border-color: #9d0f1d;
	outline: 0;
	box-shadow: 0 0 0 4px rgba(157, 15, 29, 0.2), 0 4px 14px rgba(217, 119, 6, 0.15);
}

textarea.form-control {
	min-height: 110px;
	resize: vertical;
}

/* Custom File Upload Box */
.file-upload-wrapper {
	position: relative;
	border: 2px dashed #e2b997;
	background: linear-gradient(135deg, #fffdfa 0%, #fff9f2 100%);
	border-radius: 14px;
	padding: 20px;
	text-align: center;
	transition: all 0.3s ease;
	cursor: pointer;
}

.file-upload-wrapper:hover,
.file-upload-wrapper.dragover {
	border-color: #9d0f1d;
	background: #fff5f5;
	box-shadow: 0 6px 16px rgba(157, 15, 29, 0.08);
}

.file-upload-icon {
	font-size: 2.2rem;
	color: #9d0f1d;
	margin-bottom: 8px;
}

.file-upload-text {
	font-size: 1.15rem;
	color: #8b101c;
	font-weight: 600;
	margin-bottom: 10px;
}

.file-format-badges {
	display: flex;
	justify-content: center;
	gap: 8px;
	flex-wrap: wrap;
	margin-top: 8px;
}

.badge-format {
	font-size: 0.82rem;
	font-weight: 700;
	padding: 4px 10px;
	border-radius: 6px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.badge-pdf {
	background: #fee2e2;
	color: #991b1b;
	border: 1px solid #fca5a5;
}

.badge-doc {
	background: #dbeafe;
	color: #1e40af;
	border: 1px solid #93c5fd;
}

.badge-audio {
	background: #fef3c7;
	color: #92400e;
	border: 1px solid #fde68a;
}

/* Custom file input styling */
input[type="file"].form-control {
	padding: 5px;
	cursor: pointer;
	background: #ffffff;
}

input[type="file"]::file-selector-button {
	background: linear-gradient(135deg, #9d0f1d 0%, #7f1d1d 100%);
	color: #ffffff;
	border: none;
	padding: 8px 16px;
	border-radius: 6px;
	font-weight: 600;
	margin-right: 12px;
	cursor: pointer;
	transition: background 0.2s ease;
}

input[type="file"]::file-selector-button:hover {
	background: linear-gradient(135deg, #c01525 0%, #9d0f1d 100%);
}

/* Alert Error Box Styling */
.alert {
	border-radius: 10px;
	padding: 12px 18px;
	font-size: 1.05rem;
	font-weight: 600;
	margin-top: 8px;
	margin-bottom: 16px;
	display: flex;
	align-items: center;
	gap: 10px;
}

.alert-danger {
	color: #991b1b;
	background-color: #fef2f2;
	border: 1px solid #fecaca;
	border-left: 5px solid #dc2626;
	box-shadow: 0 4px 12px rgba(220, 38, 38, 0.08);
}

.alert-danger::before {
	content: '\f06a';
	font-family: 'FontAwesome';
	font-size: 1.2rem;
	color: #dc2626;
}

/* Buttons Section */
.row-button {
	margin-top: 32px;
	text-align: center;
	display: flex;
	justify-content: center;
	gap: 15px;
	flex-wrap: wrap;
}

.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	text-align: center;
	vertical-align: middle;
	user-select: none;
	border: 1.5px solid transparent;
	padding: 12px 36px 8px;
	font-size: 1.35rem;
	line-height: 1.4;
	border-radius: 30px;
	cursor: pointer;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	letter-spacing: 0.3px;
}

.btnsubmit {
	color: #ffffff !important;
	background: linear-gradient(135deg, #b91c1c 0%, #9d0f1d 50%, #800c18 100%);
	border-color: rgba(245, 158, 11, 0.4);
	box-shadow: 0 8px 20px -4px rgba(157, 15, 29, 0.4), 0 0 12px rgba(245, 158, 11, 0.25);
	position: relative;
	overflow: hidden;
}

.btnsubmit::after {
	content: '';
	position: absolute;
	top: -50%;
	left: -50%;
	width: 200%;
	height: 200%;
	background: linear-gradient(60deg, transparent, rgba(255, 255, 255, 0.2), transparent);
	transform: rotate(30deg);
	transition: all 0.6s ease;
}

.btnsubmit:hover {
	background: linear-gradient(135deg, #dc2626 0%, #b91c1c 50%, #9d0f1d 100%);
	transform: translateY(-2px);
	box-shadow: 0 12px 25px -4px rgba(157, 15, 29, 0.5), 0 0 18px rgba(245, 158, 11, 0.4);
}

.btnsubmit:hover::after {
	left: 100%;
}

.btnsubmit:active {
	transform: translateY(1px);
	box-shadow: 0 4px 12px rgba(157, 15, 29, 0.3);
}

.btnreset {
	background: #ffffff;
	color: #4b5563;
	border: 1.5px solid #d1d5db;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
}

.btnreset:hover {
	background: #fef2f2;
	color: #dc2626;
	border-color: #fca5a5;
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(220, 38, 38, 0.15);
}

.btnreset:active {
	transform: translateY(1px);
}

/* Loader Section */
.loader-container {
	padding: 50px;
	text-align: center;
}

.loader {
	display: inline-block;
	width: 55px;
	aspect-ratio: 1;
	border-radius: 50%;
	border: 7px solid #fef3c7;
	border-right-color: #9d0f1d;
	border-top-color: #f59e0b;
	animation: l2 1s infinite linear;
}

@keyframes l2 {
	to {
		transform: rotate(1turn);
	}
}

/* Thank You Section */
.thank-you-message {
	min-height: 250px;
	align-items: center;
	justify-content: center;
	margin: auto;
	display: flex;
	flex-direction: column;
	text-align: center;
	padding: 30px;
	background: linear-gradient(135deg, #fffdfa 0%, #fff7ed 100%);
	border-radius: 16px;
	border: 2px solid #fde68a;
	box-shadow: 0 10px 30px rgba(217, 119, 6, 0.15);
}

.thank-you-message h4 {
	color: #8b101c;
	font-size: 1.6rem;
	font-weight: 700;
	margin-top: 15px;
	line-height: 1.5;
}

/* Responsive Media Queries */
@media only screen and (max-width: 768px) {
	.container-fluid {
		width: 100%;
		padding: 0 15px;
	}

	.cont-body {
		width: 100%;
	}

	.form-container {
		padding: 22px 18px;
		border-radius: 16px;
	}

	.form-group {
		margin-bottom: 1rem;
	}

	.heading-card {
		padding: 16px 14px;
		margin-bottom: 15px;
	}

	.heading-card h3 {
		font-size: 1rem;
	}

	.heading-badge {
		font-size: 1rem;
		padding: 6px 16px;
	}

	.btn {
		width: 100%;
		padding: 12px 20px;
		font-size: 1.25rem;
	}

	.row-button {
		flex-direction: column;
		gap: 10px;
	}

	.ad {
		margin-bottom: 15px;

		.mob {
			display: block;
			margin: auto;
		}
	}

	.ad .desktop {
		display: none;
	}

	.carousel-control-prev,
	.carousel-control-next {
		width: 36px;
		height: 36px;
		margin: 0 5px;
	}

	.carousel-control-prev-icon,
	.carousel-control-next-icon {
		width: 18px;
		height: 18px;
	}
}