/*
Template Name: Nonprofitx | Charity & Donation Website Template
Author: Pillarix
Author URI: https://wrapbootstrap.com/user/pillarix
Version: 1.0
*/
/*
-- Body
-- Custom Classes
-- Side Navbar
-- Index 
-- Projects
-- About
-- Volunteer
-- Contact
-- Post-1
-- Post-2
-- Post-3
-- Admin
-- Footer
*/
@import url("https://fonts.googleapis.com/css2?family=Barlow:wght@100;200;300;400;500;600;700;800&amp;family=DM+Sans:opsz,wght@9..40,100;9..40,200;9..40,300;9..40,400;9..40,500;9..40,600&amp;family=Homemade+Apple&amp;display=swap");

/* Body */
body {
	font-family: "DM Sans", sans-serif;
}
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: "Barlow", sans-serif;
}
.handwriting-font {
	font-family: "Homemade Apple", cursive;
}
a {
	text-decoration: none;
	color: #1b1b1b;
}
a:hover {
	color: #ffc107;
}

/* Custom Classes */
.charity-nav a.nav-link {
	padding-top: 29px !important;
	padding-bottom: 29px !important;
	color: #ffffff !important;
}
.w-15 {
	width: 15% !important;
}

/* Side Navbar */
.sidebar-nav .nav-link.active {
	color: #ffc107;
}

/* Index */
.bg-homepage {
	background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),
		url(../img/new_banner.jpg);
	background-position: top;
	background-repeat: no-repeat;
	background-size: cover;
}
.provide-img {
	width: 50px;
}
.provide {
	margin-top: -8rem;
}
.school-video {
	background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),
		url(../img/school.jpg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	height: 750px;
}

/* Projects */
.bg-project {
	background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),
		url(../img/bg-project.jpg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
.bg-volunteer {
	background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),
		url(../img/bg-volunteer.jpg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

/* About */
.bg-about {
	background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),
		url(../img/new_banner.jpg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
.work-img {
	width: 70px;
}

/* Volunteer */
.bg-volunteer-page {
	background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),
		url(../img/bg-volunteer-page.jpg);
	background-position: top;
	background-repeat: no-repeat;
	background-size: cover;
}

/* Contact */
.bg-contact {
	background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),
		url(../img/bg-contact.jpg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

/* Post-1 */
.bg-post-1 {
	background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),
		url(../img/post/post-1.html);
	background-position: top;
	background-repeat: no-repeat;
	background-size: cover;
}
.b-icon {
	height: 25px;
	width: 25px;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Post-2 */
.bg-post-2 {
	background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),
		url(../img/post/post-2.html);
	background-position: top;
	background-repeat: no-repeat;
	background-size: cover;
}

/* Post-3 */
.bg-post-3 {
	background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),
		url(../img/post/post-3.html);
	background-position: top;
	background-repeat: no-repeat;
	background-size: cover;
}
.comment-img {
	width: 60px;
}

/* Admin */
.icon-sm {
	height: 30px;
	width: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Footer */
.social-icon {
	height: 35px;
	width: 35px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.footer-icon {
	width: 50px;
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
}
footer .footer-top a {
	color: #6c757d;
}
footer .footer-top a:hover {
	color: #ffc107;
}
footer .footer-top .social-icon {
	border: 1px solid #6c757d;
}
footer .footer-top .social-icon:hover {
	border: 1px solid #ffc107;
}

/* Mobile-specific styles to prevent zoom issues */
@media (max-width: 768px) {
	html,
	body {
		-webkit-text-size-adjust: 100%;
		-ms-text-size-adjust: 100%;
		text-size-adjust: 100%;
		overflow-x: hidden;
	}

	/* Ensure proper scaling on mobile */
	.container {
		max-width: 100%;
		padding-left: 15px;
		padding-right: 15px;
	}

	/* Prevent horizontal scrolling */
	.row {
		margin-left: 0;
		margin-right: 0;
	}

	/* Ensure images scale properly */
	img {
		max-width: 100%;
		height: auto;
	}

	/* Ensure text is readable on mobile */
	body {
		font-size: 16px;
		line-height: 1.4;
	}

	/* Adjust heading sizes for mobile */
	h1 {
		font-size: 1.75rem;
	}
	h2 {
		font-size: 1.5rem;
	}
	h3 {
		font-size: 1.25rem;
	}
	h4 {
		font-size: 1.1rem;
	}
	h5 {
		font-size: 1rem;
	}
	h6 {
		font-size: 0.9rem;
	}
}

/* Additional mobile optimizations */
@media (max-width: 576px) {
	.container {
		padding-left: 10px;
		padding-right: 10px;
	}

	/* Ensure buttons are properly sized for touch */
	.btn {
		min-height: 44px;
		padding: 12px 20px;
	}

	/* Improve navigation touch targets */
	.navbar-nav .nav-link {
		padding: 15px 10px;
		min-height: 44px;
		display: flex;
		align-items: center;
	}
}

/* Error message and shake animation styles */
.shake {
	animation: shake 0.5s ease-in-out;
}

@keyframes shake {
	0%,
	100% {
		transform: translateX(0);
	}
	25% {
		transform: translateX(-5px);
	}
	75% {
		transform: translateX(5px);
	}
}

#error-message {
	display: flex;
	align-items: center;
	font-weight: 500;
	opacity: 0;
	animation: fadeIn 0.3s ease-in-out forwards;
}

@keyframes fadeIn {
	from {
		opacity: 0;
		transform: translateY(-10px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Style the error message icon */
#error-message i {
	color: #dc3545;
	font-size: 14px;
}
