/* Minimal reset + used styles for yuanguangsi.com */
/* Original main.css was 102KB. This trimmed version is ~10KB. */

*,*::before,*::after { box-sizing: border-box; }
body { font-family: "Poppins", sans-serif; color: #899399; font-size: 16px; margin: 0; }
h1,h2,h3,h4,h5,h6 { font-family: "Poppins", sans-serif; color: #121121; margin-top: 0; font-weight: 600; }
h2 { font-size: 32px; }
h4 { font-size: 20px; line-height: 1.6; }
p { line-height: 1.8; }
a { color: inherit; text-decoration: none; }
a:hover { color: #d88e7d; }
img { max-width: 100%; height: auto; }
ul { list-style: none; padding: 0; margin: 0; }

/* Grid system */
.container { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 15px; }
.row { display: flex; flex-wrap: wrap; margin: 0 -15px; }
[class*="col-"] { padding: 0 15px; }
.align-items-center { align-items: center; }
.text-center { text-align: center; }
.text-end { text-align: right; }
.text-md-end { text-align: right; }
.d-lg-none { display: none; }
@media (max-width: 991px) { .d-lg-none { display: block; } }

.col-6 { width: 50%; }
.col-12 { width: 100%; }
.col-md-4 { width: 33.333%; }
.col-md-6 { width: 50%; }
.col-md-8 { width: 66.666%; }
.col-lg-2 { width: 16.666%; }
.col-lg-3 { width: 25%; }
.col-lg-4 { width: 33.333%; }
.col-lg-6 { width: 50%; }
.col-lg-10 { width: 83.333%; }
.col-xl-2 { width: 16.666%; }
.col-xl-6 { width: 50%; }
.col-xl-10 { width: 83.333%; }
.g-0 { --bs-gutter-x: 0; --bs-gutter-y: 0; margin: 0; }
.g-0 > [class*="col-"] { padding: 0; }
@media (max-width: 767px) {
  .col-md-4,.col-md-6,.col-md-8,
  .col-lg-2,.col-lg-3,.col-lg-4,.col-lg-6,.col-lg-10,
  .col-xl-2,.col-xl-6,.col-xl-10 { width: 100%; }
}

/* Utilities */
.pt-15 { padding-top: 15px; }.pt-30 { padding-top: 30px; }.pt-90 { padding-top: 90px; }.pt-120 { padding-top: 120px; }
.pb-10 { padding-bottom: 10px; }.pb-30 { padding-bottom: 30px; }.pb-45 { padding-bottom: 45px; }.pb-80 { padding-bottom: 80px; }.pb-90 { padding-bottom: 90px; }.pb-120 { padding-bottom: 120px; }
.mb-15 { margin-bottom: 15px; }.mb-20 { margin-bottom: 20px; }.mb-25 { margin-bottom: 25px; }.mb-30 { margin-bottom: 30px; }.mb-40 { margin-bottom: 40px; }
.mt-40 { margin-top: 40px; }
.pl-65 { padding-left: 65px; }
.f-left { float: left; }.f-right { float: right; }.fix { overflow: hidden; }
.text-truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.w-img img, .w-img { width: 100%; }

/* Sidebar */
.sidebar__area { position: fixed; top: 0; left: 0; width: 300px; height: 100%; z-index: 9999; background: #fff; padding: 30px; transform: translateX(-100%); transition: all 0.3s; }
.sidebar__area.sidebar-opened { transform: translateX(0); }
.sidebar__wrapper { position: relative; padding: 20px; background: #ffffff; }
.sidebar__close { position: absolute; top: 22px; right: 20px; }
.sidebar__close-btn { background: none; border: none; font-size: 20px; cursor: pointer; }
.sidebar__content { margin-top: 30px; }
.sidebar__logo { margin-bottom: 40px; }
.sidebar__logo img { max-width: 180px; }
/* .mobile-menu is inside the hidden sidebar, no need for display:none */
.sidebar-toggle-btn { position: relative; top: 10px; cursor: pointer; }
.side-menu-icon { text-align: right; }
.info-toggle-btn { cursor: pointer; }
.body-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); z-index: 9998; display: none; }
.body-overlay.opened { display: block; }

/* Header / Menu */
.menu-area { background: #ffffff; }
.menu-area-4 { background-color: #fff; }
.menu-area-padding { padding: 30px 0; padding-top: 20px; background: #ffffff; }
.menu-bg-4 { background: #ffffff; }
.menu-area.sticky { position: fixed; top: 0; left: 0; width: 100%; z-index: 999; background: #fff; box-shadow: 0 2px 10px rgba(0,0,0,0.1); transition: all 0.3s; }
.sticky { position: fixed; width: 100%; top: 0; animation: sticky 2s; box-shadow: 0px 10px 25px 0px rgba(0,0,0,0.15); z-index: 9999; }
@keyframes sticky { from { top: -100px; } to { top: 0; } }
.main-menu ul { display: flex; gap: 20px; }
.main-menu ul li a { padding: 10px 0; display: block; font-weight: 500; }
.main-menu ul li a.active { color: #d88e7d; }
.logo img { max-height: 50px; }

/* Slider */
.slider-area_4 { height: 600px; display: flex; align-items: center; z-index: 1; background-size: cover; background-repeat: no-repeat; background-position: center top; }
.flider-3 h2 { color: #333; }

/* About */
.about-area { padding: 120px 0 90px; }
.about-img img { width: 100%; border-radius: 8px; }
.fabout { padding-left: 0; }
.fabout__text { margin-bottom: 20px; }

/* Causes / Halls */
.causes-area { background: #f9f9f9; padding: 30px 0; }
.causes-single { margin-bottom: 30px; }
.causes { padding: 10px; border: 1px solid #e7e7e8; }
.causes-image img { width: 100%; border-radius: 8px 8px 0 0; }
.causes-content { background: #fff; padding: 25px; border-radius: 0 0 8px 8px; }
.causes-content h5 { margin-bottom: 10px; }

/* Team / Books */
.team-area { padding: 120px 0 80px; }
.team-item { text-align: center; margin-bottom: 40px; border: 1px solid #e5e5e5; padding: 20px; }
.team-thumb img { width: 100%; border-radius: 8px; }
.team-content { margin-top: 35px; margin-bottom: 15px; }
.team-content h4 { margin-top: 15px; font-size: 16px; }
.tp-el-title { font-size: 20px; line-height: 1.3; margin-bottom: 10px; }

/* Join us */
.join-us-area-overlay { background: #1a1a2e; color: #fff; padding: 120px 0; text-align: center; position: relative; z-index: 1; background-size: cover; background-position: center; background-repeat: no-repeat; }
.join-us-area { background-size: cover; background-position: center; background-repeat: no-repeat; }
.section-title-white h2, .section-title-white h6 { color: #fff; }

/* Events */
.events-d_area { background: #f2edff; padding: 30px 0; }
.events-d_area.light-bg { background: #f2edff; }
.sd-single-eve { height: 485px; padding: 20px; box-shadow: 0px 16px 32px 0px rgba(0,0,0,0.06); position: relative; z-index: 1; overflow: hidden; }
.s-gray-bg { background: #dedede; }
.event_up-bg { position: absolute; width: 100%; height: 100%; top: 0; z-index: -1; left: 0; right: 0; }
.sd_date { text-transform: uppercase; color: #d88e7d; font-weight: 700; letter-spacing: 2px; font-size: 14px; display: block; margin-bottom: 15px; }

/* Section title */
.section-title { text-align: center; margin-bottom: 60px; }
.section-title h2 { font-size: 36px; }

/* Footer */
.black-bg { background: #121121; color: #ccc; }
.footer-area { padding: 90px 0 45px; }
.footer-title { color: #fff; font-size: 20px; margin-bottom: 25px; }
.footer-widget p { line-height: 1.8; }
.fotter_text { line-height: 1.8; }
.footer-post { }
.single-footer-post { margin-bottom: 25px; }
.single-footer-post span { display: block; font-size: 14px; color: #aaa; }
.single-footer-post h4 { color: #fff; font-size: 16px; margin: 5px 0 0; }
.copyright-area { border-top: 1px solid rgba(255,255,255,0.1); padding: 15px 0 10px; }
.copyright p { font-size: 14px; }
.footer-line img { width: 100%; }
.copy-right_useful_link { text-align: right; }

/* Line-height utilities */
.lh-180 { line-height: 1.8; }
.lh-200 { line-height: 2; }
.w-220 { width: 220px; }

/* BG helpers */
.grey-bg { background: #f9f9f9; }
.white-bg { background: #fff; }
.light-bg { background: #f2edff; }

/* Sidebar meanmenu override - white theme */
.sidebar__area .mean-bar { background: #fff; border-bottom: 1px solid #eee; }
.sidebar__area .meanmenu-reveal { background: #fff; color: #333; }
.sidebar__area .meanmenu-reveal span { background: #333; }
.sidebar__area .mean-nav { background: #fff; }
.sidebar__area .mean-nav ul li a { color: #333; background: #fff; border-top: 1px solid #eee; }
.sidebar__area .mean-nav ul li a:hover { color: #d88e7d; background: #fafafa; }
