/*CSS All*/
:root 
{
    --primary-color: #23ad10;
    --black-color: #23292c;
    --white-color: #fff;
    --text-color: #777;
}

html, body, div, span, applet, object, iframe,
p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%; /* Consistent with style-about.css reset */
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}


/*Header*/
/*Navbar*/
#nav
{
	padding: 5px;
	background-color: var(--white-color);
	box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.1);
}

#nav .logo
{
    font-family: "Zilla Slab", sans-serif;
    font-size: 25px;
    font-weight: bolder;
    text-decoration: none;
    color: var(--black-color);
}

#nav .logo i
{
    color: var(--primary-color);
}

#nav ul li a
{
    color: var(--black-color);
    font-size: 16px;
    line-height: 16px;
    padding: 10px 12px;  
    margin: 16px 8px;
}

#nav ul li .active
{
    color: var(--white-color);
    background: var(--primary-color);
    border-radius: 5px;
}

#nav ul li a:hover
{
    color: var(--white-color);
    background: var(--primary-color);
    border-radius: 5px;
}

#nav .icons i,
#nav .icons div
{
    cursor: pointer;
    height: 30px;
    width: 30px;
    line-height: 30px;
    text-align: center;
    font-size: 14px;
    border-radius: 50%;
    color: var(--black-color);
    background-color: #eee;
    margin-left: 5px;
}

#nav .icons i:hover,
#nav .icons div:hover
{
    background-color: var(--primary-color);
    color: var(--white-color);
    transform: rotate(360deg);
}

#nav .tab-active
{
    color: var(--primary-color);
}

.modal-search .modal-sch-main
{
    border-radius: 10px;
}

.modal-search .search-btn
{
    background-color: var(--primary-color);
    border-color: var(--primary-color);
}

.modal-search .search-btn i
{
    color: var(--white-color);
}

.modal-search .search-btn:hover
{
    opacity: 0.8;
}

/*Back to top*/
#myBtn 
{
    display: none;
    position: fixed;
    bottom: 20px;
    right: 30px;
    z-index: 99;
    font-size: 18px;
    border: none;
    outline: none;
    background-color: var(--primary-color);
    color: white;
    cursor: pointer;
    padding: 15px;
    border-radius: 50%;
}
  
#myBtn:hover 
{
    opacity: 0.8;
}

/*Main*/
/*Banner*/
.page-banner
{
    padding: 150px 0 75px;
    background: url("../img/Banners/page-ban.jpg") center center no-repeat;
    background-size: cover;
}

.page-banner h1
{
    color: var(--white-color);
}

.page-banner p
{
    font-size: 22px;
    color: #999999;
}

.page-banner h1,
.page-banner p
{
    text-align: left;
    margin-bottom: 20px;
}

.page-banner-list
{
    margin: 16px 0;
}

.page-banner-list li
{
    list-style: none;
    display: inline;
}

.page-banner-list li a
{
    color: var(--text-color);
    font-size: 15px;
    text-decoration: none;
}

.page-banner-list li a:hover
{
    opacity: 0.8;
}

.page-banner-list i
{
    color: var(--text-color);
    font-size: 12px;
    padding: 0 2px;
}

/* Custom styles for the blog page */
.blog-container {
    padding-top: 50px;
    padding-bottom: 50px;
}

.blog-post {
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease-in-out;
}

.blog-post:hover {
    transform: translateY(-5px);
}

.blog-post .card-img-top {
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
    height: 250px; /* Adjust as needed */
    object-fit: cover;
}

.blog-post .card-title {
    font-size: 1.8rem; /* Adjusted from 1.8rem to 22px for consistency with about page h1/h2 */
    font-weight: 600;
    margin-bottom: 15px;
    color: #333;
}

.blog-post .card-text {
    font-size: 1rem; /* Adjusted to 16px for consistency with about page p */
    line-height: 1.6;
    color: #555;
}

.blog-post .btn-primary {
    background-color: var(--primary-color); /* Use primary color */
    border-color: var(--primary-color);
    transition: background-color 0.3s ease, border-color 0.3s ease;
}

/* Darken on hover, manually set */
.blog-post .btn-primary:hover {
    background-color: #1f9c0e; /* A slightly darker green than #23ad10 */
    border-color: #1f9c0e;
}

/* Review Section */
.review-section {
    padding: 50px 0;
    background-color: #f8f8f8;
    border-top: 1px solid #eee;
}

.review-section h2 {
    text-align: center;
    margin-bottom: 40px;
    font-size: 3.2rem; /* Adjusted from 3.2rem to 38px for consistency */
    color: var(--black-color);
    font-weight: 700;
}

.review-form {
    background-color: var(--white-color);
    padding: 30px;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    margin-bottom: 40px;
}

.review-form h3 {
    font-size: 2.5rem; /* Adjusted from 2.5rem to 25px for consistency */
    margin-bottom: 25px;
    color: var(--black-color);
    text-align: center;
}

.review-form .form-group label {
    font-size: 1.6rem; /* Adjusted to 16px for consistency */
    color: var(--black-color);
    margin-bottom: 8px;
}

.review-form .form-control {
    font-size: 1.6rem; /* Adjusted to 16px for consistency */
    padding: 10px 15px;
    border-radius: 5px;
    border: 1px solid #ddd;
    box-shadow: none; /* Remove default bootstrap shadow */
}

.review-form .form-control:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 0.2rem rgba(35, 173, 16, 0.25); /* Custom focus shadow */
}

.review-form .rating-stars {
    font-size: 2.5rem; /* Adjusted to 25px for consistency */
    color: #ccc; /* Default star color */
    cursor: pointer;
    margin-bottom: 15px;
}

.review-form .rating-stars .fas {
    color: #ffd700; /* Gold color for filled stars */
}

.review-form .btn-submit-review {
    width: 100%;
    padding: 12px 0;
    font-size: 1.8rem; /* Adjusted to 18px for consistency */
    font-weight: 600;
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    border-radius: 5px;
    transition: background-color 0.3s ease, border-color 0.3s ease;
}

.review-form .btn-submit-review:hover {
    background-color: #1f9c0e; /* Darken on hover, manually set */
    border-color: #1f9c0e;
}

.review-message {
    text-align: center;
    margin-top: 15px;
    font-size: 1.6rem; /* Adjusted to 16px for consistency */
    font-weight: 500;
}

.review-message.success {
    color: var(--primary-color);
}

.review-message.error {
    color: #dc3545; /* Bootstrap danger color */
}


/* User Reviews Display */
.user-review {
    border-bottom: 1px dashed #eee;
    padding-bottom: 25px;
    margin-bottom: 25px;
}

.user-review:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.user-review .review-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.user-review .reviewer-name {
    font-size: 1.8rem; /* Adjusted to 18px for consistency */
    font-weight: 600;
    color: var(--black-color);
}

.user-review .review-date {
    font-size: 1.3rem; /* Adjusted to 13px for consistency */
    color: var(--text-color);
}

.user-review .review-rating .fas {
    color: #ffd700; /* Gold color for filled stars */
    font-size: 1.6rem; /* Adjusted to 16px for consistency */
}

.user-review .review-text {
    font-size: 1.6rem; /* Adjusted to 16px for consistency */
    line-height: 1.7;
    color: var(--text-color);
    margin-top: 10px;
}


/*Footer*/
footer
{
    padding-top: 70px;
    background-color: #252428;
}

footer h3
{
    color: var(--white-color);
    margin-bottom: 15px; /* Consistent with about page */
    line-height: 28px; /* Consistent with about page */
    font-size: 22px; /* Consistent with about page */
}

footer p
{
    color: var(--text-color);
    line-height: 1.6;
    margin: 10px 0;
    text-align: justify;
}

#up-footer .ft-mt
{
    margin-bottom: 50px;
}

#up-footer .footer-socials
{
    margin-bottom: 20px;
}

#up-footer .footer-socials a
{
    font-size: 30px;
    text-decoration: none;
    color: var(--white-color);
    font-family: "Zilla Slab", sans-serif;
    font-weight: bolder;
}

#up-footer .footer-socials a i
{
    color: var(--primary-color);
    padding-right: 3px;
}

#up-footer .socials-list a i
{
    color: var(--white-color);
    padding-right: 4px;
    font-size: 16px;
}

#up-footer .socials-list a
{
    color: var(--text-color); /* Corrected from var(--white-color) to var(--text-color) for consistency */
    text-decoration: none;
    
}

#up-footer .socials-list a:hover
{
    opacity: 0.7;
}

#up-footer .contact-list i
{
    width: 30px;
    display: inline-block;
}

#down-footer
{
    border-top: 1px solid #3f4141;
}

#down-footer p
{
    margin: 0;
    padding: 20px 0;
    text-align: center;
}

#down-footer a
{
    color: var(--primary-color);
}

#down-footer a:hover
{
    text-decoration: none;
    opacity: 0.8;
}
/* Responsive adjustments */
@media (max-width: 768px) {
    .section-title h2 { /* Targeting h2 specifically */
        font-size: 30px !important; /* Force font size to be consistent with about page's equivalent */
    }

    .blog-post .card-title {
        font-size: 20px !important; /* Force font size to be consistent */
    }

    .review-form h3 {
        font-size: 22px !important; /* Force font size to be consistent */
    }
}

@media (max-width: 576px) {
    .section-title h2 { /* Targeting h2 specifically */
        font-size: 25px !important; /* Force font size to be consistent */
    }

    .blog-post .card-title {
        font-size: 16px !important; /* Force font size to be consistent */
    }

    .review-form h3 {
        font-size: 18px !important; /* Force font size to be consistent */
    }

    .review-form .btn-submit-review {
        font-size: 16px !important; /* Force font size to be consistent */
        padding: 10px 0;
    }

    .user-review .reviewer-name {
        font-size: 16px !important; /* Force font size to be consistent */
    }

    .user-review .review-text {
        font-size: 14px !important; /* Force font size to be consistent */
    }
}
