 @import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');


 .poppins-thin {
   font-family: "Poppins", sans-serif;
   font-weight: 100;
   font-style: normal;
 }

 .poppins-extralight {
   font-family: "Poppins", sans-serif;
   font-weight: 200;
   font-style: normal;
 }

 .poppins-light {
   font-family: "Poppins", sans-serif;
   font-weight: 300;
   font-style: normal;
 }

 .poppins-regular {
   font-family: "Poppins", sans-serif;
   font-weight: 400;
   font-style: normal;
 }

 .poppins-medium {
   font-family: "Poppins", sans-serif;
   font-weight: 500;
   font-style: normal;
 }

 .poppins-semibold {
   font-family: "Poppins", sans-serif;
   font-weight: 600;
   font-style: normal;
 }

 .poppins-bold {
   font-family: "Poppins", sans-serif;
   font-weight: 700;
   font-style: normal;
 }

 .poppins-extrabold {
   font-family: "Poppins", sans-serif;
   font-weight: 800;
   font-style: normal;
 }

 .poppins-black {
   font-family: "Poppins", sans-serif;
   font-weight: 900;
   font-style: normal;
 }

 .poppins-thin-italic {
   font-family: "Poppins", sans-serif;
   font-weight: 100;
   font-style: italic;
 }

 .poppins-extralight-italic {
   font-family: "Poppins", sans-serif;
   font-weight: 200;
   font-style: italic;
 }

 .poppins-light-italic {
   font-family: "Poppins", sans-serif;
   font-weight: 300;
   font-style: italic;
 }

 .poppins-regular-italic {
   font-family: "Poppins", sans-serif;
   font-weight: 400;
   font-style: italic;
 }

 .poppins-medium-italic {
   font-family: "Poppins", sans-serif;
   font-weight: 500;
   font-style: italic;
 }

 .poppins-semibold-italic {
   font-family: "Poppins", sans-serif;
   font-weight: 600;
   font-style: italic;
 }

 .poppins-bold-italic {
   font-family: "Poppins", sans-serif;
   font-weight: 700;
   font-style: italic;
 }

 .poppins-extrabold-italic {
   font-family: "Poppins", sans-serif;
   font-weight: 800;
   font-style: italic;
 }

 .poppins-black-italic {
   font-family: "Poppins", sans-serif;
   font-weight: 900;
   font-style: italic;
 }

 :root {

   --primary: #c37f23;
   --primary-dark: #c37f23;
   --primary-light: #FFF1EC;
   --secondary: #0B1B33;
   --secondary-light: #132743;
   --accent: #FFC93C;
   --green: #2FAE60;

   /* Neutrals (light -> dark) */
   --light: #F7F8FB;
   --gray-100: #F2F3F5;
   --gray-300: #DCE0E6;
   --gray-500: #8A93A3;
   --gray-700: #525C6B;
   --dark: #0B1B33;
   --white: #FFFFFF;
   --border: #dddddd;

   /* Typography */
   --font-head: "Poppins", sans-serif;
   --font-body: "Poppins", sans-serif;
   --atf-ff-fontawesome: "Font Awesome 7 free";

   /* Border radius scale */
   --radius-sm: 8px;
   --radius-md: 16px;
   --radius-lg: 28px;
   --radius-pill: 100px;
   /* fully rounded pills/buttons */

   /* Elevation (box-shadow) scale */
   --shadow-sm: 0 4px 16px rgba(11, 27, 51, .06);
   --shadow-md: 0 12px 40px rgba(11, 27, 51, .10);
   --shadow-lg: 0 24px 60px rgba(11, 27, 51, .16);

   /* Shared transition timing used across hover/interactive states */
   --transition: all .35s cubic-bezier(.4, 0, .2, 1);
 }


 *,
 *::before,
 *::after {
   box-sizing: border-box;
 }

 html {
   scroll-behavior: smooth;
 }

 body {
   font-family: var(--font-body);
   color: #000d26;
   font-size: 16px;
   line-height: 1.75;
   background: var(--white);
   overflow-x: hidden;
   font-weight: 500;
 }

 h1,
 h2,
 h3,
 h4,
 h5,
 h6 {
   font-family: var(--font-head);
   color: var(--secondary);
   font-weight: 700;
   line-height: 1.25;
   margin: 0 0 0;
 }

 p {
   margin: 0 0 1rem;
 }

 a {
   color: inherit;
   text-decoration: none;
   transition: var(--transition);
 }

 a:hover {
   color: var(--primary);
 }

 img {
   max-width: 100%;
   height: auto;
   display: block;
 }

 ul {
   margin: 0;
   padding: 0;
   list-style: none;
 }

 button {
   font-family: var(--font-body);
   cursor: pointer;
 }

 :focus-visible {
   outline: 2px solid var(--primary);
   outline-offset: 2px;
 }

 .container {
   max-width: 1260px;
 }

 a,
 button {
   color: inherit;
   outline: none;
   border: none;
   background: transparent;
 }

 button:hover {
   cursor: pointer;
 }

 button:focus {
   outline: 0;
 }

 input[type="text"],
 input[type="email"],
 input[type="tel"],
 input[type="number"],
 input[type="password"],
 input[type="url"],
 textarea {
   outline: none;
   height: 56px;
   width: 100%;
   line-height: 56px;
   font-size: 16px;
   padding-left: 25px;
   padding-right: 25px;
   color: var(--secondary);
   border: 1px solid rgba(255, 255, 255, 0.1);
   background-color: var(--white);
   border-radius: 15px;
 }

 input[type="text"]::-webkit-input-placeholder,
 input[type="email"]::-webkit-input-placeholder,
 input[type="tel"]::-webkit-input-placeholder,
 input[type="number"]::-webkit-input-placeholder,
 input[type="password"]::-webkit-input-placeholder,
 input[type="url"]::-webkit-input-placeholder,
 textarea::-webkit-input-placeholder {
   /* Chrome/Opera/Safari */
   color: var(--gray-700);
   font-size: 16px;
 }

 input[type="text"]::-moz-placeholder,
 input[type="email"]::-moz-placeholder,
 input[type="tel"]::-moz-placeholder,
 input[type="number"]::-moz-placeholder,
 input[type="password"]::-moz-placeholder,
 input[type="url"]::-moz-placeholder,
 textarea::-moz-placeholder {
   /* Firefox 19+ */
   color: var(--gray-700);
   font-size: 16px;
 }

 input[type="text"]:-moz-placeholder,
 input[type="email"]:-moz-placeholder,
 input[type="tel"]:-moz-placeholder,
 input[type="number"]:-moz-placeholder,
 input[type="password"]:-moz-placeholder,
 input[type="url"]:-moz-placeholder,
 textarea:-moz-placeholder {
   /* Firefox 4-18 */
   color: var(--gray-700);
   font-size: 16px;
 }

 input[type="text"]:-ms-input-placeholder,
 input[type="email"]:-ms-input-placeholder,
 input[type="tel"]:-ms-input-placeholder,
 input[type="number"]:-ms-input-placeholder,
 input[type="password"]:-ms-input-placeholder,
 input[type="url"]:-ms-input-placeholder,
 textarea:-ms-input-placeholder {
   /* IE 10+  Edge*/
   color: var(--gray-700);
   font-size: 16px;
 }

 input[type="text"]::placeholder,
 input[type="email"]::placeholder,
 input[type="tel"]::placeholder,
 input[type="number"]::placeholder,
 input[type="password"]::placeholder,
 input[type="url"]::placeholder,
 textarea::placeholder {
   /* MODERN BROWSER */
   color: var(--gray-700);
   font-size: 16px;
 }

 input[type="text"]:focus,
 input[type="email"]:focus,
 input[type="tel"]:focus,
 input[type="number"]:focus,
 input[type="password"]:focus,
 input[type="url"]:focus,
 textarea:focus {
   border: 1px solid var(--primary);
   font-size: 16px;
 }

 input[type="text"]:focus::placeholder,
 input[type="email"]:focus::placeholder,
 input[type="tel"]:focus::placeholder,
 input[type="number"]:focus::placeholder,
 input[type="password"]:focus::placeholder,
 input[type="url"]:focus::placeholder,
 textarea:focus::placeholder {
   opacity: 0;
 }

 textarea {
   line-height: 1.4;
   padding-top: 17px;
   padding-bottom: 17px;
 }

 input[type="color"] {
   appearance: none;
   -moz-appearance: none;
   -webkit-appearance: none;
   background: none;
   border: 0;
   cursor: pointer;
   height: 100%;
   width: 100%;
   padding: 0;
   border-radius: 50%;
 }

 section {
   position: relative;
 }

 .section-pad {
   padding: 70px 0;
 }

 .section-pad-sm {
   padding: 70px 0;
 }

 @media(max-width:991px) {
   .section-pad {
     padding: 70px 0;
   }

   .section-pad-sm {
     padding: 70px 0;
   }
 }

 @media(max-width:575px) {
   .section-pad {
     padding: 70px 0;
   }

   .section-pad-sm {
     padding: 50px 0;
   }
 }

 .primary-bg {
   background: var(--primary);
 }

 .black-bg {
   background: #102c5e;
 }

 .primary-light {
   background: var(--primary-light);
 }

 .bg-light {
   background: var(--light) !important;
 }

 .bg-dark-section {
   background: var(--secondary) !important;
   color: rgba(255, 255, 255, .75);
 }

 .bg-dark-section h1,
 .bg-dark-section h2,
 .bg-dark-section h3,
 .bg-dark-section h4 {
   color: var(--white);
 }

 .bg-primary-soft {
   background: var(--primary-light) !important;
 }

 .text-green {
   color: var(--green) !important;
 }

 .gray-300 {
   color: var(--gray-300) !important;
 }

 .gray-100 {
   color: var(--gray-100) !important;
 }

 .abstract-bg-1 {
   width: 100vw;
   background-color: #ff9999;
   background-image:
     radial-gradient(at 0% 0%, hsla(253, 16%, 7%, 1) 0, transparent 50%),
     radial-gradient(at 50% 0%, hsla(225, 39%, 30%, 1) 0, transparent 50%),
     radial-gradient(at 100% 0%, hsla(339, 49%, 30%, 1) 0, transparent 50%),
     radial-gradient(at 0% 100%, hsla(339, 49%, 30%, 1) 0, transparent 50%),
     radial-gradient(at 100% 100%, hsla(253, 16%, 7%, 1) 0, transparent 50%);
   background-size: cover;
 }

 .abstract-bg-2 {
   background: linear-gradient(135deg, var(--secondary), var(--secondary-light), var(--dark));
   position: relative;
   overflow: hidden;
   z-index: 1;
 }

 .abstract-bg-2::before {
   content: '';
   position: absolute;
   top: -10%;
   left: -10%;
   width: 50vw;
   height: 50vw;
   background: radial-gradient(circle, rgba(242, 84, 45, 0.4) 0%, transparent 70%);
   /* --primary glow */
   filter: blur(50px);
   z-index: -1;
 }

 .abstract-bg-2::after {
   content: '';
   position: absolute;
   bottom: -10%;
   right: -10%;
   width: 60vw;
   height: 60vw;
   background: radial-gradient(circle, rgb(16 44 94) 0%, transparent 70%);
   /* --accent glow */
   filter: blur(60px);
   z-index: -1;
 }

 .atf-cover-bg {
   position: relative;
   z-index: 1;
 }

 .atf-cover-bg::before {
   content: "";
   width: 100%;
   height: 100%;
   top: 0;
   left: 0;
   position: absolute;
   background: rgba(0, 0, 0, 0.4);
   z-index: -1;
 }

 /* shape */
 .shape-1 {
   position: absolute;
   right: 14%;
   bottom: -11px;
   width: 4%;
   background-size: cover;
   background-position: center;
   z-index: 0;
   object-fit: cover;
   animation: floatX 4s ease-in-out infinite .8s;
 }

 .shape-2 {
   position: absolute;
   right: -116px;
   top: 5%;
   background-size: cover;
   background-position: center;
   z-index: 1;
   object-fit: cover;
   animation: floatX 4s ease-in-out infinite .8s;
   width: 15%;
 }

 .about-shape-1 {
   position: absolute;
   right: 0;
   bottom: 0;
   width: 40%;
   background-size: cover;
   background-position: center;
   z-index: 3;
   object-fit: cover;
 }

 .about-shape-2 {
   position: absolute;
   right: 6%;
   bottom: 32%;
   width: 28%;
   background-size: cover;
   background-position: center;
   z-index: 3;
   object-fit: cover;
   animation: floatX 4s ease-in-out infinite .8s;
 }

 .causes-shape-1 {
   position: absolute;
   right: -2px;
   top: 0;
   width: 40%;
   background-size: cover;
   background-position: center;
   z-index: 3;
   object-fit: cover;
 }

 .causes-shape-2 {
   position: absolute;
   left: 0%;
   bottom: 0%;
   width: 40%;
   background-size: cover;
   background-position: center;
   z-index: 3;
   object-fit: cover;
 }

 .cta-shape-1 {
   position: absolute;
   left: 28%;
   bottom: 0%;
   width: 62%;
   background-size: cover;
   background-position: center;
   z-index: 3;
   object-fit: cover;
 }

 .event-shape-1 {
   position: absolute;
   right: 0%;
   bottom: 0%;
   width: 62%;
   background-size: cover;
   background-position: center;
   z-index: 0;
   object-fit: cover;
 }

 .client-shape-1 {
   position: absolute;
   left: 6%;
   bottom: 0%;
   width: 43%;
   background-size: cover;
   background-position: center;
   z-index: 0;
   object-fit: cover;
   animation: floatX 4s ease-in-out infinite .8s;
 }

 .client-shape-2 {
   position: absolute;
   left: 0%;
   top: 0%;
   width: 50%;
   background-size: cover;
   background-position: center;
   z-index: -1;
   object-fit: cover;
   opacity: 0.43;
 }

 .footer-shape-2 {
   position: absolute;
   left: 0%;
   bottom: 0%;
   width: 45%;
   background-size: cover;
   background-position: center;
   z-index: -1;
   object-fit: cover;
   opacity: 0.43;
 }

 /*---------------------------------
   COMMON CLASSES
---------------------------------*/
 .atf_attach_bg {
   background-position: center !important;
   background-size: cover !important;
   background-repeat: no-repeat !important;
 }

 .fix {
   overflow: hidden;
 }

 .clear {
   clear: both;
 }

 .p-relative {
   position: relative;
 }

 .p-absolute {
   position: absolute;
 }

 .bg_fixed {
   background-attachment: fixed;
   background-position: center;
   background-size: cover;
   background-repeat: no-repeat;
 }

 .atf-title-hover {
   background-position: 0 95%;
   background-repeat: no-repeat;
   background-size: 0% 1px;
   display: inline;
 }

 .atf-title-hover:hover {
   color: var(--primary);
   background-size: 100% 2px;
   background-image: linear-gradient(180deg, var(--primary) 0%, var(--primary) 100%);
 }

 /* Custom cursor — replaces the native pointer with a two-part
   dot + ring cursor; positions are updated via JS on mousemove. */
 .cursor_body {
   position: fixed;
   top: 0;
   left: 0;
   pointer-events: none;
   z-index: 9999;
 }

 .cursor_body .cursor-in,
 .cursor_body .cursor-out {
   position: absolute;
   top: 0;
   left: 0;
   transform: translate(-50%, -50%);
   border-radius: 50%;
   pointer-events: none;
   will-change: transform;
 }

 /* Inner dot */
 .cursor_body .cursor-in {
   width: 10px;
   height: 10px;
   background-color: var(--primary);
   transition: all 0.25s ease-out;
 }

 /* Outer ring */
 .cursor_body .cursor-out {
   width: 40px;
   height: 40px;
   border: 1px solid var(--primary);
   opacity: 0.5;
   transition: all 0.2s ease;
 }

 /* ==========================================================================
   3. SECTION HEADING
   Reusable heading kit used at the top of every content block:
   eyebrow label (.sub-title) + big heading (.sec-title) + intro text.
========================================================================== */
 .sub-title {
   display: inline-flex;
   align-items: center;
   gap: 8px;
   font-family: var(--font-head);
   font-weight: 600;
   font-size: 14px;
   letter-spacing: .5px;
   text-transform: uppercase;
   color: #000d26;
   background: #d89835b8;
   padding: 8px 20px 8px 14px;
   border-radius: 10px;
   margin-bottom: 0px;
 }

 .sub-title i {
   font-size: 16px;
 }

 .bg-dark-section .sub-title {
   background: rgba(255, 255, 255, .08);
   color: var(--accent);
 }

 .sec-title {
   font-size: 36px;
   margin-bottom: 16px;
   letter-spacing: 0px;
 }

 .sec-desc {
   max-width: 600px;
   font-size: 17px;
 }

 .mx-auto-block {
   margin-left: auto;
   margin-right: auto;
 }

 /* h1,
 h2 {
   letter-spacing: -2px;
 } */

 @media(max-width:767px) {
   .sec-title {
     font-size: 30px;
     letter-spacing: 0px;
   }

   h1,
   h2 {
     letter-spacing: 0px;
   }
 }


 .atf-themes-btn {
   display: -webkit-inline-box;
   display: -ms-inline-flexbox;
   display: inline-flex;
   -webkit-box-align: center;
   -ms-flex-align: center;
   align-items: center;
   -webkit-box-pack: center;
   -ms-flex-pack: center;
   justify-content: center;
   gap: 10px;
   position: relative;
   background-color: #000d26;
   font-size: 16px;
   font-weight: 500;
   padding: 5px 5px 5px 15px;
   text-align: center;
   border-radius: 10px;
   line-height: 1;
   z-index: 2;
   overflow: hidden;
   white-space: nowrap;
   border: 1px solid #c37f23;
 }

 .atf-themes-btn .btn-text {
   color: var(--white);
   overflow: hidden;
 }

 .atf-themes-btn .btn-text span {
   display: -webkit-box;
   display: -ms-flexbox;
   display: flex;
   line-height: 1;
   text-shadow: 0 30px 0;
   -webkit-backface-visibility: hidden;
   backface-visibility: hidden;
   -webkit-transform: translateY(0);
   -ms-transform: translateY(0);
   transform: translateY(0);
   -webkit-transition: 0.4s ease-in-out;
   transition: 0.4s ease-in-out;
 }

 .atf-themes-btn .btn-icon {
   display: -webkit-inline-box;
   display: -ms-inline-flexbox;
   display: inline-flex;
   -webkit-box-pack: center;
   -ms-flex-pack: center;
   justify-content: center;
   -webkit-box-align: center;
   -ms-flex-align: center;
   align-items: center;
   font-size: 16px;
   line-height: 1;
   width: 30px;
   height: 30px;
   overflow: hidden;
   background-color: #d89835;
   border-radius: 50%;
 }

 .atf-themes-btn .btn-icon i {
   color: var(--white);
   -webkit-transform: rotate(45deg);
   -ms-transform: rotate(45deg);
   transform: rotate(45deg);
   -webkit-transition: all 0.3s ease-in-out;
   transition: all 0.3s ease-in-out;
 }

 .atf-themes-btn.btn-dark {
   background-color: var(--primary-dark);
 }

 .atf-themes-btn.btn-dark .btn-icon {
   background-color: var(--white);
 }

 .atf-themes-btn.btn-dark .btn-icon i {
   color: var(--primary-dark);
 }

 .atf-themes-btn.transparent-btn {
   background-color: transparent;
   border: 1px solid var(--border);
 }

 .atf-themes-btn.transparent-btn .btn-text {
   color: var(--primary);
 }

 .atf-themes-btn.transparent-btn:hover {
   border-color: var(--primary-dark);
 }

 .atf-themes-btn:hover .btn-text span {
   -webkit-transform: translateY(-30px);
   -ms-transform: translateY(-30px);
   transform: translateY(-30px);
 }

 .atf-themes-btn:hover .btn-icon i {
   -webkit-transform: rotate(0);
   -ms-transform: rotate(0);
   transform: rotate(0);
 }

 .atf-themes-btn-lg {
   font-size: 20px;
   padding: 7px 7px 7px 44px;
   gap: 14px;
 }

 .atf-themes-btn-lg .btn-icon {
   font-size: 27px;
   width: 59px;
   height: 59px;
 }

 .themes-btn {
   display: -webkit-inline-box;
   display: -ms-inline-flexbox;
   display: inline-flex;
   -webkit-box-align: center;
   -ms-flex-align: center;
   align-items: center;
   -webkit-box-pack: center;
   -ms-flex-pack: center;
   justify-content: center;
   gap: 10px;
   position: relative;
   font-size: 16px;
   font-weight: 500;
   text-align: center;
   line-height: 1;
   z-index: 2;
 }

 .themes-btn .btn-text {
   color: var(--primary);
   overflow: hidden;
 }

 .themes-btn .btn-text span {
   display: -webkit-box;
   display: -ms-flexbox;
   display: flex;
   line-height: 1;
   text-shadow: 0 30px 0;
   -webkit-backface-visibility: hidden;
   backface-visibility: hidden;
   -webkit-transform: translateY(0);
   -ms-transform: translateY(0);
   transform: translateY(0);
   -webkit-transition: 0.4s ease-in-out;
   transition: 0.4s ease-in-out;
 }

 .themes-btn .btn-icon {
   display: -webkit-inline-box;
   display: -ms-inline-flexbox;
   display: inline-flex;
   -webkit-box-pack: center;
   -ms-flex-pack: center;
   justify-content: center;
   -webkit-box-align: center;
   -ms-flex-align: center;
   align-items: center;
   font-size: 20px;
   line-height: 1;
   width: 30px;
   height: 30px;
   overflow: hidden;
   background-color: var(--primary-dark);
   border-radius: 50%;
 }

 .themes-btn .btn-icon i {
   color: var(--white);
   -webkit-transform: rotate(-45deg);
   -ms-transform: rotate(-45deg);
   transform: rotate(-45deg);
   -webkit-transition: all 0.3s ease-in-out;
   transition: all 0.3s ease-in-out;
   font-size: 14px;
 }

 .themes-btn:hover .btn-text span {
   -webkit-transform: translateY(-30px);
   -ms-transform: translateY(-30px);
   transform: translateY(-30px);
 }

 .themes-btn:hover .btn-icon {
   background-color: var(--primary);
 }

 .themes-btn:hover .btn-icon i {
   -webkit-transform: rotate(0);
   -ms-transform: rotate(0);
   transform: rotate(0);
 }

 /* ==========================================================================
   5. PRELOADER
   Full-screen loading screen shown before the page paints:
   overlay fade-out, bouncing-ball loader and animated logo text.
========================================================================== */
 /* ==========================================
   1. MAIN WRAPPER & STATES
   ========================================== */
 .atf-preloader {
   position: fixed;
   top: 0;
   inset-inline-start: 0;
   width: 100%;
   height: 100%;
   background-color: var(--secondary);
   z-index: 100000000;
   color: var(--primary-light);
   user-select: none;
 }

 .atf-preloader.is-loading .atf-preloader-hop-inner,
 .atf-preloader.is-loading .atf-preloader-hop-shadow {
   animation-play-state: running;
 }

 .atf-preloader.is-loaded {
   pointer-events: none;
 }

 .atf-preloader.is-loaded .atf-preloader-hop-shadow {
   display: none;
 }

 .atf-preloader.is-loaded .atf-preloader-text {
   opacity: 0;
   visibility: hidden;
 }

 .atf-preloader.is-loaded .atf-preloader-hop-inner {
   animation: fadeLeftToRight 0.7s linear;
 }

 .atf-preloader .atf-preloader-overlay {
   position: fixed;
   top: 0;
   inset-inline-start: 0;
   width: 100%;
   height: 100%;
   background-color: var(--secondary);
   z-index: 99999999;
   opacity: 1;
   animation: atf-fade-out 2s forwards;
 }

 /* ==========================================
   2. LAYOUT & FLEXBOX SETUP
   ========================================== */
 .atf-preloader .atf-preloader-inner,
 .atf-preloader .atf-preloader-hop-wrap {
   display: flex;
   align-items: center;
   justify-content: center;
 }

 .atf-preloader .atf-preloader-inner {
   width: 100%;
   height: 100%;
 }

 .atf-preloader .atf-preloader-hop-wrap {
   gap: 10px;
   position: relative;
   inset-inline-start: 0;
   transform: translateX(16px);
 }

 .atf-preloader .atf-preloader-hop-inner-wrap {
   position: absolute;
   width: 10px;
   height: 100%;
   top: 50%;
   inset-inline-start: -16px;
   transform: translate(-100%, -50%);
   z-index: 10000;
 }

 @media only screen and (min-width: 1025px) {
   .atf-preloader .atf-preloader-hop-wrap {
     transform: none;
   }

   .atf-preloader .atf-preloader-hop-inner-wrap {
     inset-inline-start: -30px;
   }
 }

 /* ==========================================
   3. SHADOW & BOUNCING BALLS
   ========================================== */
 .atf-preloader .atf-preloader-hop-shadow {
   position: absolute;
   width: 16px;
   height: 4px;
   inset-inline-start: 50%;
   transform: translateX(-50%);
   background-color: var(--primary-light);
   bottom: 0;
   border-radius: 50%;
   filter: blur(12px);
   box-shadow: 0 4px 20px 0 #20e7b7;
   transition: 0.7s cubic-bezier(0.77, 0, 0.175, 1);
   animation: atf-shadow-blur 1s linear infinite paused;
 }

 .atf-preloader .atf-preloader-hop-inner {
   position: absolute;
   width: 8px;
   height: 8px;
   border-radius: 50%;
   background-color: var(--primary-light);
   box-shadow: 0 0 12px 0 #fdfdf9;
   transition: 0.7s cubic-bezier(0.77, 0, 0.175, 1);
   animation: atf-bounce-anim 1s linear infinite paused;
 }

 .atf-preloader .atf-preloader-hop {
   position: absolute;
   width: 14px;
   height: 14px;
   bottom: 50%;
   inset-inline-start: 50%;
   transform: translate(-50%, 50%);
   border-radius: 50%;
   background-color: rgba(0, 255, 194, 0.1);
   box-shadow: 0 0 20px 0 #20e7b7;
   filter: blur(10px);
 }

 /* ==========================================
   4. TEXT & LETTER DELAYS
   ========================================== */
 .atf-preloader .atf-preloader-text {
   font-size: 20px;
   position: relative;
   transform: translateY(-0.03em);
   transition: 0.3s;
   font-weight: 500;
 }

 @media only screen and (max-width: 767px) {
   .atf-preloader .atf-preloader-text {
     font-size: 16px;
   }
 }

 #atf-hopeful-anim span {
   position: relative;
   transition: all 0.3s ease;
   display: inline-block;
   animation: atf-hopeful-anim 1.15s ease infinite;
   transform-origin: 100% 50%;
   transform-style: preserve-3d;
 }

 /* Short Delay Loop Mapping */
 #atf-hopeful-anim span:nth-child(1) {
   animation-delay: 0s;
 }

 #atf-hopeful-anim span:nth-child(2) {
   animation-delay: 0.05s;
 }

 #atf-hopeful-anim span:nth-child(3) {
   animation-delay: 0.1s;
 }

 #atf-hopeful-anim span:nth-child(4) {
   animation-delay: 0.15s;
 }

 #atf-hopeful-anim span:nth-child(5) {
   animation-delay: 0.2s;
 }

 #atf-hopeful-anim span:nth-child(6) {
   animation-delay: 0.25s;
 }

 #atf-hopeful-anim span:nth-child(7) {
   animation-delay: 0.3s;
 }

 #atf-hopeful-anim span:nth-child(8) {
   animation-delay: 0.35s;
 }

 #atf-hopeful-anim span:nth-child(9) {
   animation-delay: 0.4s;
 }

 #atf-hopeful-anim span:nth-child(10) {
   animation-delay: 0.45s;
 }

 #atf-hopeful-anim span:nth-child(11) {
   animation-delay: 0.5s;
 }

 #atf-hopeful-anim span:nth-child(12) {
   animation-delay: 0.55s;
 }

 #atf-hopeful-anim span:nth-child(13) {
   animation-delay: 0.6s;
 }

 #atf-hopeful-anim span:nth-child(14) {
   animation-delay: 0.65s;
 }

 #atf-hopeful-anim span:nth-child(15) {
   animation-delay: 0.7s;
 }

 #atf-hopeful-anim span:nth-child(16) {
   animation-delay: 0.75s;
 }

 #atf-hopeful-anim span:nth-child(17) {
   animation-delay: 0.8s;
 }

 #atf-hopeful-anim span:nth-child(18) {
   animation-delay: 0.85s;
 }

 #atf-hopeful-anim span:nth-child(19) {
   animation-delay: 0.9s;
 }

 #atf-hopeful-anim span:nth-child(20) {
   animation-delay: 0.95s;
 }

 #atf-hopeful-anim span:nth-child(21) {
   animation-delay: 1s;
 }

 #atf-hopeful-anim span:nth-child(22) {
   animation-delay: 1.05s;
 }

 #atf-hopeful-anim span:nth-child(23) {
   animation-delay: 1.15s;
 }

 /* ==========================================
   5. OPTIMIZED KEYFRAMES
   ========================================== */
 @keyframes atf-fade-out {

   0%,
   50% {
     opacity: 1;
   }

   to {
     opacity: 0;
   }
 }

 @keyframes atf-shadow-blur {

   0%,
   to {
     filter: blur(12px);
     transform: translate(-50%) scale(0.6);
     opacity: 0.4;
   }

   30% {
     filter: blur(2px);
     transform: translate(-50%, -0.5rem) scale(1);
     opacity: 1;
   }
 }

 @keyframes fadeLeftToRight {
   0% {
     filter: blur(0);
     transform: translate(0) scale(1);
     opacity: 1;
   }

   30% {
     transform: translate(-3000%, 0);
   }

   40% {
     transform: translate(-2000%, 0);
   }

   60% {
     transform: translate(0%);
   }

   to {
     filter: blur(12px);
     transform: translate(1000%, 0) scale(7);
     opacity: 0.4;
   }
 }

 @keyframes atf-bounce-anim {

   0%,
   to {
     transform: translateY(calc(-50% - 1rem)) scaleX(1.4);
   }

   3% {
     transform: translateY(calc(-50% - 0.95rem)) scale(1.1, 1.05);
   }

   5% {
     transform: translateY(calc(-50% - 0.9rem)) scale(1.2, 1.1);
   }

   8% {
     transform: translateY(calc(-50% - 0.8rem)) scale(0.98, 1.15);
   }

   12% {
     transform: translateY(calc(-50% - 0.7rem)) scale(0.95, 1.2);
   }

   16% {
     transform: translateY(calc(-50% - 0.5rem)) scale(0.92, 1.25);
   }

   20%,
   48% {
     transform: translateY(calc(-50% - 0.2rem)) scale(0.9, 1.4);
   }

   24% {
     transform: translateY(calc(-50% + 0.4rem)) scale(0.9, 1.7);
   }

   26% {
     transform: translateY(calc(-50% + 0.8rem)) scale(0.9, 1.4);
   }

   28% {
     transform: translateY(calc(-50% + 0.95rem)) scale(1.2, 0.7);
   }

   30% {
     transform: translateY(calc(-50% + 1rem)) scale(1.5, 0.3);
   }

   32% {
     transform: translateY(calc(-50% + 0.8rem)) scale(1.4, 0.4);
   }

   36% {
     transform: translateY(calc(-50% + 0.5rem)) scale(1.2, 0.8);
   }

   42% {
     transform: translateY(calc(-50% + 0.2rem)) scaleY(1.2);
   }

   54% {
     transform: translateY(calc(-50% - 0.3rem)) scale(0.92, 1.3);
   }

   62% {
     transform: translateY(calc(-50% - 0.5rem)) scale(0.95, 1.2);
   }

   68% {
     transform: translateY(calc(-50% - 0.6rem)) scale(0.97, 1.15);
   }

   75% {
     transform: translateY(calc(-50% - 0.7rem)) scale(0.98, 1.1);
   }

   80% {
     transform: translateY(calc(-50% - 0.8rem)) scale(0.99, 1.08);
   }

   85% {
     transform: translateY(calc(-50% - 0.9rem)) scaleY(1.05);
   }

   90% {
     transform: translateY(calc(-50% - 0.95rem)) scale(1.2, 1.03);
   }

   95% {
     transform: translateY(calc(-50% - 0.98rem)) scale(1.1, 1.01);
   }
 }

 @keyframes atf-hopeful-anim {

   0%,
   24%,
   36% {
     transform: translate3D(0, 0, 0) scale(1) rotateY(0);
   }

   12% {
     transform: translate3D(2px, -2px, 2px) scale(1.16) rotateY(6deg);
   }

   100% {
     transform: scale(1);
   }
 }

 /* ==========================================================================
   6. TOPBAR
   Slim top utility bar (social links / contact info) shown above
   the main navigation on desktop.
========================================================================== */
 /* --------------------------------------------------------------------------
   BOOTSTRAP NAVIGATION OVERRIDES — START
   Custom header, main menu, search overlay and mobile
   hamburger menu, layered on top of the Bootstrap navbar.
-------------------------------------------------------------------------- */
 /* header top */
 .atf-top-header {
   position: relative;
   z-index: 1;
   padding: 0px 0;
   display: flex;
   justify-content: center;
   align-items: center;
   transition: all 0.4s ease;
   overflow: hidden;
 }

 .header-social-title.text-white {
   padding-right: 55px;
   font-size: 14px;
 }

 .header-social-divider {
   width: 35px;
   height: 1px;
   background-color: #fbf2f2;
   position: absolute;
   right: 125px;
   top: 17px;
 }

 .atf-header-top-social {
   font-size: 16px;
   display: flex;
   flex-wrap: wrap;
   justify-content: flex-start;
   align-items: center;
   gap: 10px;
   transition: all 0.4s ease;
   color: var(--white);
   text-align: center;
 }

 .atf-header-top-social ul {
   position: relative;
   display: flex;
   align-items: center;
   gap: 10px;
 }

 .atf-header-top-social ul li {
   list-style: none;
 }

 .atf-header-top-social ul li a {
   color: rgba(255, 255, 255, 0.8);
   font-size: 16px;
   transition: all 0.5s ease-out;
 }

 .atf-header-top-social ul li a:hover {
   color: var(--white);
 }

 .atf-top-header .atf-top-header-in {
   display: flex;
   flex-wrap: wrap;
   justify-content: flex-start;
   align-items: center;
   transition: all 0.4s ease;
 }

 .atf-top-header-list {
   list-style: none;
   padding: 0;
   margin: 0;
   display: flex;
   flex-wrap: wrap;
 }

 .atf-top-header-list li {
   margin-right: 30px;
   color: rgba(255, 255, 255, 0.9);
   font-size: 16px;
 }

 .atf-top-header-list li a {
   color: rgba(255, 255, 255, 0.8);
   transition: all 0.3s ease-out;
   -webkit-transition: all 0.3s ease-out;
   position: relative;
 }

 .atf-top-header-list li a::after {
   position: absolute;
   width: 0;
   height: 1px;
   bottom: 0;
   left: 0;
   content: "";
   opacity: 0;
   visibility: hidden;
   background: #9fa8ae;
   -webkit-transition: all 0.3s ease-out;
   -moz-transition: all 0.3s ease-out;
   -ms-transition: all 0.3s ease-out;
   -o-transition: all 0.3s ease-out;
   transition: all 0.3s ease-out;
 }

 .atf-top-header-list li a:hover {
   color: var(--white);
 }

 .atf-top-header-list li a:hover::after {
   width: 100%;
   opacity: 1;
   visibility: visible;
 }

 .atf-top-header-list li:last-child {
   margin-right: 0;
 }

 .atf-top-header-list li i {
   margin-right: 10px;
   color: var(--white);
 }

 /* --------------------------------------------------------------------------
   Search Overlay
   Full-screen search panel toggled by the header search icon.
-------------------------------------------------------------------------- */
 .atf-searching-area {
   position: fixed;
   top: 50%;
   left: 50%;
   -webkit-transform: translate(-50%, -50%);
   -ms-transform: translate(-50%, -50%);
   transform: translate(-50%, -50%);
   height: 100%;
   width: 0%;
   background-color: var(--secondary);
   display: flex;
   align-items: center;
   justify-content: center;
   opacity: 0;
   visibility: hidden;
   -webkit-transition: all 0.5s;
   -o-transition: all 0.5s;
   transition: all 0.5s;
   z-index: 1024;

 }

 .atf-searching-area.active {
   opacity: 1;
   visibility: visible;
   width: 100%;
 }

 .atf-searching-area .atf-searching-close-btn {
   position: absolute;
   top: 30px;
   right: 50px;
   -webkit-transform: translateX(-50%);
   -ms-transform: translateX(-50%);
   transform: translateX(-50%);
   width: 40px;
   height: 40px;
   border: 1px solid var(--primary);
   background-color: var(--white);
   color: var(--primary);
   border-radius: 50%;
   -webkit-border-radius: 50%;
   -moz-border-radius: 50%;
   -ms-border-radius: 50%;
   -o-border-radius: 50%;
   display: flex;
   align-items: center;
   justify-content: center;
   -webkit-transition: all 0.5s;
   -o-transition: all 0.5s;
   transition: all 0.5s;
 }

 .atf-searching-area .atf-searching-form button:hover,
 .atf-searching-area .atf-searching-close-btn:hover {
   background-color: var(--primary);
   color: var(--white);
 }

 @media (max-width: 575px) {
   .atf-searching-area .atf-searching-close-btn {
     right: 30px;
   }
 }

 .atf-searching-area .atf-searching-form {
   display: flex;
   width: 500px;
 }

 @media (max-width: 575px) {
   .atf-searching-area .atf-searching-form {
     width: 300px;
   }
 }

 .atf-searching-area .atf-searching-form input {
   border: 1px solid var(--border);
   border-right: none;
   flex-grow: 1;
   -webkit-transition: all 0.5s;
   -o-transition: all 0.5s;
   transition: all 0.5s;
   padding: 12px 18px;
   color: var(--secondary);
   border-radius: 0;
 }

 .atf-searching-area .atf-searching-form input:focus {
   border-color: var(--primary);
 }

 .atf-searching-area .atf-searching-form button {
   width: 60px;
   background-color: var(--primary);
   color: var(--white);
   display: flex;
   justify-content: center;
   align-items: center;
   border-color: var(--white);
 }

 .atf-header-bottom-right {
   gap: 25px;
 }

 .atf-searching-btn {
   background: transparent;
   font-size: 18px;
   color: var(--primary);
   border: none;
 }

 /* header */
 .atf-site-branding img {
   max-width: 190px;
   height: auto;
 }

 .atf-site-branding {
   font-size: 2rem;
 }

 .atf-site-header.atf-style1 {
   display: flex;
   align-items: center;
   flex-wrap: wrap;
   justify-content: space-between;
   transition: all 0.4s ease-out;
   background-color: #102c5e;
 }

 .header .header-top {
   padding: 20px 0
 }

 .atf-site-header.atf-style1.atf-sticky-active {
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   opacity: 1;
   z-index: 990;
   visibility: visible;
   color: var(--secondary);
   background-color: var(--white);
   -webkit-backdrop-filter: blur(16px);
   backdrop-filter: blur(16px);
   box-shadow: 0px 8px 24px rgba(149, 157, 165, 0.2);
   -webkit-animation: 0.95s ease 0s normal forwards 1 running fadeInDown;
   ;
   -khtml-animation: 0.95s ease 0s normal forwards 1 running fadeInDown;
   -moz-animation: 0.95s ease 0s normal forwards 1 running fadeInDown;
   -ms-animation: 0.95s ease 0s normal forwards 1 running fadeInDown;
   -o-animation: 0.95s ease 0s normal forwards 1 running fadeInDown;
   animation: 0.95s ease 0s normal forwards 1 running fadeInDown;
 }

 .atf-site-header.atf-style1.atf-style2.atf-sticky-active {
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   opacity: 1;
   z-index: 990;
   visibility: visible;
   color: var(--secondary);
   background-color: #102c5e;
   -webkit-backdrop-filter: blur(16px);
   backdrop-filter: blur(16px);
   box-shadow: 0px 8px 24px rgba(149, 157, 165, 0.2);
   -webkit-animation: 0.95s ease 0s normal forwards 1 running stickyDown;
   -khtml-animation: 0.95s ease 0s normal forwards 1 running stickyDown;
   -moz-animation: 0.95s ease 0s normal forwards 1 running stickyDown;
   -ms-animation: 0.95s ease 0s normal forwards 1 running stickyDown;
   -o-animation: 0.95s ease 0s normal forwards 1 running stickyDown;
   animation: 0.95s ease 0s normal forwards 1 running stickyDown;
 }

 @keyframes stickyDown {
   0% {
     margin-top: -150px;
   }

   100% {
     margin-top: 0;
   }
 }

 .atf-main-menu nav ul {
   display: flex;
   justify-content: space-between;
   align-items: center;
   transition: all 0.3s ease-out;
 }

 .atf-main-menu>nav>ul>li>a:active,
 .atf-main-menu>nav>ul>li>a:focus,
 .atf-main-menu>nav>ul>li>a:hover {
   color: #d29330;
 }

 .atf-main-menu>nav>ul>li {
   position: relative;
   display: inline-block;
   margin-right: 35px;
 }

 .atf-main-menu>nav>ul>li.menu-icon>a::before {
   content: "\f067";
   font-size: 10px;
   position: absolute;
   top: 50%;
   right: -12px;
   -webkit-transform: translateY(-50%);
   -ms-transform: translateY(-50%);
   transform: translateY(-50%);
   font-family: var(--atf-ff-fontawesome);
   font-weight: 900;
   -webkit-transition: all 0.3s ease-out;
   -moz-transition: all 0.3s ease-out;
   -ms-transition: all 0.3s ease-out;
   -o-transition: all 0.3s ease-out;
   transition: all 0.3s ease-out;
 }

 .atf-main-menu>nav>ul>li.menu-icon>a:hover::before {
   content: "\f068";
   opacity: 1;
 }

 @media only screen and (max-width: 1199px) {
   .atf-main-menu>nav>ul>li.menu-icon>a::before {
     display: none;
   }
 }

 .atf-main-menu>nav>ul>li:last-child {
   margin-right: 0px !important;
 }

 .atf-main-menu>nav>ul>li>a {
   position: relative;
   font-size: 16px;
   font-weight: 600;
   padding: 16px 0;
   display: block;
   color: #FFFFFF;
   text-transform: capitalize;
   -webkit-transition: all 0.3s ease-out;
   -moz-transition: all 0.3s ease-out;
   -ms-transition: all 0.3s ease-out;
   -o-transition: all 0.3s ease-out;
   transition: all 0.3s ease-out;
   text-transform: capitalize;
 }

 /*-------------------------------
# dropdwon menu 
--------------------------------*/
 .atf-main-menu>nav>ul>li .sub-menu li .sub-menu,
 .atf-main-menu>nav>ul>li .sub-menu {
   position: absolute;
   top: 100%;
   left: 0;
   padding: 10px 0;
   display: block;
   min-width: 220px;
   visibility: hidden;
   transform: scaleY(0);
   transform-origin: top center;
   background: var(--white);
   border-top: 3px solid #d89835;
   box-shadow: 0px 10px 30px 0px rgba(25, 25, 26, 0.1);
   z-index: 6;
   transition: all 0.3s ease-out;
 }

 .atf-main-menu>nav>ul>li .sub-menu li:hover>.sub-menu,
 .atf-main-menu>nav>ul>li:hover>.sub-menu {
   transform: scaleY(1);
   visibility: visible;
 }

 .atf-main-menu>nav>ul>li .sub-menu li {
   position: relative;
   display: block;
   text-align: left;
   padding-left: 20px;
 }

 .atf-main-menu>nav>ul>li .sub-menu li>a {
   font-weight: 600;
   padding: 5px 0px;
   display: inline-block;
   text-transform: capitalize;
   text-align: left;
   position: relative;
   font-size: 16px;
   -webkit-transition: all 0.3s ease-out;
   -moz-transition: all 0.3s ease-out;
   -ms-transition: all 0.3s ease-out;
   -o-transition: all 0.3s ease-out;
   transition: all 0.3s ease-out;
 }

 .atf-main-menu>nav>ul>li .sub-menu li:hover>a {
   color: var(--secondary);
 }

 .atf-main-menu>nav>ul>li .sub-menu li>a:hover {
   transform: initial;
 }

 .atf-main-menu>nav>ul>li .sub-menu li>a::after {
   height: 2px;
   background: #d89835;
 }

 .atf-main-menu>nav>ul>li .sub-menu li:hover>a::after {
   opacity: 1;
   transform-origin: left center;
   transform: scaleX(1);
 }

 .atf-main-menu>nav>ul>li .sub-menu li>a::after {
   content: "";
   width: 100%;
   position: absolute;
   bottom: 6px;
   left: 0;
   transform-origin: right center;
   transition: -webkit-transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
   transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
   transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
   transform: scaleX(0);
 }

 /* Arrow icon insert style */
 .atf-main-menu>nav>ul>li.menu-item-children>a::after {
   content: "\f107";
   font-family: var(--atf-ff-fontawesome);
   font-weight: 900;
   display: inline-block;
   margin-left: 5px;
   transition: transform 0.3s ease-in-out;
   font-size: 14px;
 }

 /* Hover korle icon rotate hobe */
 .atf-main-menu>nav>ul>li.menu-item-children:hover>a:after {
   transform: rotate(180deg);
 }

 .atf-main-menu>nav>ul>li .sub-menu li .sub-menu {
   right: auto;
   left: 220px;
   top: 10%;
   border-top: none;
   border-left: 2px solid var(--primary);
 }

 @media only screen and (max-width: 1199px) {
   .atf-main-menu>nav>ul>li {
     margin-right: 30px;
   }

   .atf-site-header.atf-style1 {
     padding: 0px 0;
   }
 }

 /* sub-menu animation */
 @media only screen and (min-width:1199px) {
   .sub-menu {
     opacity: 0;
     visibility: hidden;
     -webkit-transform: translateY(10px);
     transform: translateY(10px);
     -webkit-transition: opacity 350ms ease, -webkit-transform 350ms ease;
     transition: opacity 350ms ease, -webkit-transform 350ms ease;
     transition: opacity 350ms ease, transform 350ms ease;
     transition: opacity 350ms ease, transform 350ms ease, -webkit-transform 350ms ease;
   }

   .sub-menu li {
     opacity: 0;
     -webkit-transform: translateY(10px);
     transform: translateY(10px);
     -webkit-transition: opacity 350ms ease, -webkit-transform 350ms ease;
     transition: opacity 350ms ease, -webkit-transform 350ms ease;
     transition: opacity 350ms ease, transform 350ms ease;
     transition: opacity 350ms ease, transform 350ms ease, -webkit-transform 350ms ease;
   }

   .menu-item-children:hover .sub-menu {
     opacity: 1;
     visibility: visible;
     -webkit-transform: translateY(0);
     transform: translateY(0);
   }

   .menu-item-children:hover .sub-menu li {
     opacity: 1;
     -webkit-transform: translateY(0);
     transform: translateY(0);
   }

   .menu-item-children:hover .sub-menu li:nth-child(1) {
     -webkit-transition-delay: 100ms;
     transition-delay: 100ms;
   }

   .menu-item-children:hover .sub-menu li:nth-child(2) {
     -webkit-transition-delay: 200ms;
     transition-delay: 200ms;
   }

   .menu-item-children:hover .sub-menu li:nth-child(3) {
     -webkit-transition-delay: 300ms;
     transition-delay: 300ms;
   }

   .menu-item-children:hover .sub-menu li:nth-child(4) {
     -webkit-transition-delay: 400ms;
     transition-delay: 400ms;
   }

   .menu-item-children:hover .sub-menu li:nth-child(5) {
     -webkit-transition-delay: 500ms;
     transition-delay: 500ms;
   }

   .menu-item-children:hover .sub-menu li:nth-child(6) {
     -webkit-transition-delay: 600ms;
     transition-delay: 600ms;
   }

   .menu-item-children:hover .sub-menu li:nth-child(7) {
     -webkit-transition-delay: 700ms;
     transition-delay: 700ms;
   }

   .menu-item-children:hover .sub-menu li:nth-child(8) {
     -webkit-transition-delay: 800ms;
     transition-delay: 800ms;
   }

   .menu-item-children:hover .sub-menu li:nth-child(9) {
     -webkit-transition-delay: 900ms;
     transition-delay: 900ms;
   }

   .menu-item-children:hover .sub-menu li:nth-child(10) {
     -webkit-transition-delay: 1000ms;
     transition-delay: 1000ms;
   }

   .menu-item-children:hover .sub-menu li:nth-child(11) {
     -webkit-transition-delay: 1100ms;
     transition-delay: 1100ms;
   }

   .menu-item-children:hover .sub-menu li:nth-child(12) {
     -webkit-transition-delay: 1200ms;
     transition-delay: 1200ms;
   }

   .menu-item-children:hover .sub-menu li:nth-child(13) {
     -webkit-transition-delay: 1300ms;
     transition-delay: 1300ms;
   }

   .menu-item-children:hover .sub-menu li:nth-child(14) {
     -webkit-transition-delay: 1400ms;
     transition-delay: 1400ms;
   }

   .menu-item-children:hover .sub-menu li:nth-child(15) {
     -webkit-transition-delay: 1500ms;
     transition-delay: 1500ms;
   }

   .menu-item-children:hover .sub-menu li:nth-child(16) {
     -webkit-transition-delay: 1600ms;
     transition-delay: 1600ms;
   }

   .menu-item-children:hover .sub-menu li:nth-child(17) {
     -webkit-transition-delay: 1700ms;
     transition-delay: 1700ms;
   }

   .menu-item-children:hover .sub-menu li:nth-child(18) {
     -webkit-transition-delay: 1800ms;
     transition-delay: 1800ms;
   }

   .menu-item-children:hover .sub-menu li:nth-child(19) {
     -webkit-transition-delay: 1900ms;
     transition-delay: 1900ms;
   }

   .menu-item-children:hover .sub-menu li:nth-child(20) {
     -webkit-transition-delay: 2000ms;
     transition-delay: 2000ms;
   }
 }

 /* --------------------------------------------------------------------------
   Mobile Menu — Hamburger Panel
   Slide-in off-canvas panel (trigger button + panel shell).
-------------------------------------------------------------------------- */
 .atf-hamburger-logo img {
   width: 190px;
   height: auto;
 }

 .atf-main-menu-bars button {
   font-size: 18px;
   padding: 10px 15px;
   border-radius: 5px;
   color: #d89835;
   background-color: #000d26;
   transition: 0.3s;
 }

 .atf-hamburger {
   position: fixed;
   background: var(--white);
   width: 500px;
   right: 0;
   top: 0;
   padding: 50px 40px;
   height: 100%;
   opacity: 0;
   visibility: hidden;
   -webkit-transform: translateX(100%);
   -moz-transform: translateX(100%);
   -ms-transform: translateX(100%);
   -o-transform: translateX(100%);
   transform: translateX(100%);
   -webkit-transition: 0.3s 0.3s ease-out;
   -moz-transition: 0.3s 0.3s ease-out;
   -ms-transition: 0.3s 0.3s ease-out;
   -o-transition: 0.3s 0.3s ease-out;
   transition: 0.3s 0.3s ease-out;
   overflow-y: scroll;
   overscroll-behavior-y: contain;
   scrollbar-width: none;
   z-index: 1088;
   overflow-y: auto !important;
   /* Hamburger scroll */
   overscroll-behavior: contain;
   -webkit-overflow-scrolling: touch;
 }

 body.menu-open {
   overflow: hidden !important;
   /* Stop background scroll */
 }

 .atf-hamburger-overlay.atf-hamburger-overlay-open {
   pointer-events: auto;
   touch-action: none;
 }

 @media only screen and (max-width: 574px) {
   .atf-hamburger {
     width: 100% ! important;
     padding: 35px 30px;
   }
 }

 @media only screen and (max-width: 400px) {
   .atf-hamburger {
     width: 100% ! important;
     padding: 35px 30px;
   }
 }

 .atf-hamburger-open {
   opacity: 1;
   visibility: visible;
   -webkit-transform: translateX(0);
   -moz-transform: translateX(0);
   -ms-transform: translateX(0);
   -o-transform: translateX(0);
   transform: translateX(0);
 }

 .atf-hamburger-close-toggle {
   font-size: 30px;
   color: var(--atf-text-body);
 }

 .atf-hamburger-close-toggle:hover {
   color: var(--primary);
 }

 @media only screen and (min-width: 992px) and (max-width: 1199px),
 only screen and (min-width: 768px) and (max-width: 991px),
 (max-width: 575px) {
   .atf-hamburger-header {
     margin-bottom: 40px;
     border-bottom: 1px solid var(--border);
     padding-bottom: 30px;
   }
 }

 .atf-hamburger-title {
   font-size: 35px;
 }

 .atf-hamburger-info span {
   font-size: 16px;
   display: block;
   margin-bottom: 5px;
   color: var(--secondary);
 }

 .atf-hamburger-sm-title {
   font-size: 25px;
   margin-bottom: 15px;
 }

 .atf-hamburger-social a {
   font-size: 14px;
   width: 40px;
   height: 40px;
   line-height: 40px;
   text-align: center;
   border-radius: 8px;
   display: inline-block;
   color: var(--secondary);
   border: 1px solid rgba(2, 11, 24, 0.1);
   margin-right: 5px;
   transition: all 0.3s ease-out;
 }

 .atf-hamburger-social a:hover {
   color: var(--white);
   background: var(--primary);
 }

 .atf-hamburger-overlay {
   position: fixed;
   top: 0;
   left: 0;
   z-index: 888;
   width: 100%;
   height: 100%;
   visibility: hidden;
   opacity: 0;
   transition: 0.45s ease-in-out;
   background: rgba(24, 24, 24, 0.4);
 }

 .atf-hamburger-overlay-open {
   opacity: 0.7;
   visibility: visible;
 }

 /* --------------------------------------------------------------------------
   Mobile Menu — Nested Menu List
   Accordion-style nested <ul> links inside the hamburger panel.
-------------------------------------------------------------------------- */
 .atf-hamburger-menu ul {
   list-style: none;
 }

 .atf-hamburger-menu ul li {
   position: relative;
 }

 .atf-hamburger-menu ul li>a {
   padding: 8px 0;
   display: block;
   font-size: 16px;
   font-weight: 500;
   -webkit-transition: all 0.3s ease-out;
   -moz-transition: all 0.3s ease-out;
   -ms-transition: all 0.3s ease-out;
   -o-transition: all 0.3s ease-out;
   transition: all 0.3s ease-out;
 }

 .atf-hamburger-menu ul li>a:hover {
   color: var(--secondary);
 }

 .atf-hamburger-menu ul li:not(:last-child)>a {
   border-bottom: 1px solid rgba(1, 15, 28, 0.1);
 }

 .atf-hamburger-menu ul li.active>a {
   color: var(--secondary);
 }

 .atf-hamburger-menu ul li.active>.atf-menu-close {
   color: var(--secondary);
   border-color: var(--secondary);
 }

 .atf-hamburger-menu ul li.active>.atf-menu-close i {
   -webkit-transform: rotate(90deg);
   -moz-transform: rotate(90deg);
   -ms-transform: rotate(90deg);
   -o-transform: rotate(90deg);
   transform: rotate(90deg);
 }

 .atf-hamburger-menu ul li .sub-menu {
   display: none;
   padding-left: 15px;
   position: relative;
 }

 .atf-hamburger-menu ul li .sub-menu li {
   padding-left: 15px;
   position: relative;
 }

 .atf-hamburger-menu ul li .sub-menu li::before {
   content: '';
   background: var(--primary);
   left: 0;
   top: 20px;
   width: 8px;
   height: 8px;
   position: absolute;
   border-radius: 50%;
 }

 .atf-hamburger-menu ul li .sub-menu.atf-mega-menu {
   padding-left: 0;
 }

 .atf-menu-close {
   position: absolute;
   right: 0;
   top: 7.5px;
   border: 1px solid rgba(1, 15, 28, 0.0);
   height: 30px;
   width: 30px;
   text-align: center;
   font-size: 12px;
   line-height: 29px;
   -webkit-transition: 0.3s 0.3s ease-out;
   -moz-transition: 0.3s 0.3s ease-out;
   -ms-transition: 0.3s 0.3s ease-out;
   -o-transition: 0.3s 0.3s ease-out;
   transition: 0.3s 0.3s ease-out;
 }

 .atf-menu-close:hover {
   border: 1px solid var(--secondary);
 }

 .call-to-action-icon {
   width: 50px;
   height: 50px;
   background: var(--primary);
   text-align: center;
   line-height: 50px;
   margin-right: 15px;
   font-size: 18px;
   color: var(--white);
   border-radius: 50%;
 }

 .call-to-action-phone {
   font-size: 15px;
   font-weight: 400;
 }

 .call-to-action-text h3 {
   font-weight: 500;
   font-size: 16px;
 }

 /* --------------------------------------------------------------------------
   BOOTSTRAP NAVIGATION OVERRIDES — END
-------------------------------------------------------------------------- */

 /* ==========================================================================
   8. HERO
   Homepage hero/banner: heading, CTA buttons, stats strip,
   floating info cards and the circular rotating badge.
========================================================================== */
 .hero {
   background: var(--primary-light);
   padding: 70px 0;
   overflow: hidden;
   position: relative;
 }

 .hero-shape {
   position: absolute;
   border-radius: 50%;
   background: var(--primary-light);
   z-index: 0;
 }

 .hero-badge {
   display: inline-flex;
   align-items: center;
   gap: 10px;
   padding: 10px 20px 10px 10px;
   border-radius: var(--radius-pill);
   box-shadow: var(--shadow-sm);
   font-size: 14px;
   font-weight: 600;
   color: var(--secondary-light);
   margin-bottom: 24px;
   background: rgba(255, 255, 255, 0.32);
 }

 .hopeful-content .hero-badge {
   display: inline-flex;
   align-items: center;
   gap: 10px;
   padding: 10px 20px 10px 10px;
   border-radius: var(--radius-pill);
   box-shadow: var(--shadow-sm);
   font-size: 15px;
   font-weight: 600;
   color: var(--gray-100);
   margin-bottom: 24px;
   background: rgba(255, 255, 255, 0.32);
 }

 .hero-badge img {
   width: 32px;
   height: 32px;
   border-radius: 50%;
   object-fit: cover;
 }

 .hero h1 {
   font-size: 58px;
   margin-bottom: 22px;
   line-height: 1.1;
 }

 .hero h1 .highlight {
   color: var(--primary);
   position: relative;
   display: inline-block;
 }

 .hero-desc {
   font-size: 18px;
   max-width: 520px;
   margin-bottom: 34px;
 }

 .hero-cta {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   gap: 22px;
   margin-bottom: 50px;
 }

 .hero-play {
   display: flex;
   align-items: center;
   gap: 14px;
   font-family: var(--font-head);
   font-weight: 700;
   color: var(--secondary);
 }

 .play-btn {
   width: 56px;
   height: 56px;
   border-radius: 50%;
   background: var(--white);
   color: var(--primary);
   display: flex;
   align-items: center;
   justify-content: center;
   box-shadow: var(--shadow-md);
   animation: playPulse 2.2s infinite;
   border: 1px solid var(--primary-dark);
 }

 @keyframes playPulse {
   0% {
     box-shadow: 0 0 0 0 rgba(242, 84, 45, .4);
   }

   70% {
     box-shadow: 0 0 0 16px rgba(242, 84, 45, 0);
   }

   100% {
     box-shadow: 0 0 0 0 rgba(242, 84, 45, 0);
   }
 }

 .hero-stats {
   display: flex;
   gap: 0;
   /* max-width: 560px; */
 }

 .hero-stats .stat-item {
   flex: 1;
   border: 1px solid #000e28;
   border-radius: var(--radius-md);
   line-height: 1;
   padding: 15px 0;
   text-align: center;
 }

 .stat-item .counter-number {
   font-family: var(--font-head);
   font-weight: 600;
   font-size: 40px;
   color: #d89835;
   display: flex;
   align-items: baseline;
   justify-content: center;
   gap: 2px;
   line-height: 1.1;
   margin-bottom: 6px;
 }

 .hero-stats .stat-item h3 {
   font-size: 34px;
   margin-bottom: 2px;
   color: var(--primary);
 }

 .hero-stats .stat-item span {
   font-size: 16px;
   color: #00173c;
   font-weight: 600;
 }

 .hero-img-wrap {
   position: relative;
   z-index: 1;
 }

 .hero-img-wrap img.main-img {
   border-radius: 50%;
   border: 10px solid var(--primary-light);
   box-shadow: 0 6px 18px rgba(0, 0, 0, 0.28);
   object-fit: cover;
 }

 .hero-float-card {
   position: absolute;
   background: var(--white);
   border-radius: var(--radius-md);
   box-shadow: var(--shadow-lg);
   padding: 18px 22px;
   display: flex;
   align-items: center;
   gap: 14px;
 }

 .hero-float-card .ico {
   width: 50px;
   height: 50px;
   border-radius: 50%;
   background: var(--primary);
   color: var(--white);
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 20px;
   flex-shrink: 0;
 }

 .hero-float-card strong {
   display: block;
   font-family: var(--font-head);
   color: var(--secondary);
   font-size: 18px;
   line-height: 1.1;
 }

 .hero-float-card span {
   font-size: 14px;
   color: var(--gray-700);
 }

 .hero-float-card.card-top {
   top: 8%;
   left: 0%;
   animation: floatY 4s ease-in-out infinite;
 }

 .hero-float-card.card-bottom {
   bottom: 7%;
   right: 0%;
   animation: floatY 4s ease-in-out infinite .8s;
 }

 @keyframes floatY {

   0%,
   100% {
     transform: translateY(0);
   }

   50% {
     transform: translateY(-16px);
   }
 }

 @keyframes floatX {

   0%,
   100% {
     transform: translateX(-16px);
   }

   50% {
     transform: translateX(0px);
   }
 }

 .hero-wave {
   position: absolute;
   left: 0;
   right: 0;
   bottom: -1px;
   line-height: 0;
   z-index: 1;
 }

 @media(max-width:1199px) {
   .hero h1 {
     font-size: 46px;
   }

   .hero-float-card {
     padding: 12px 16px;
   }

   .hero-float-card.card-top {
     left: 0;
   }

   .hero-float-card.card-bottom {
     right: 0;
   }
 }

 @media(max-width:767px) {
   .hero h1 {
     font-size: 34px;
   }

   .hero-stats {
     flex-wrap: wrap;
     gap: 20px !important;
   }

   .hero-stats .stat-item {
     flex: 0 0 45%;
   }

   .hero-float-card {
     display: none;
   }
 }

 /**----------------------------------------
START: Hero CSS
----------------------------------------*/
 .hopeful-spacing-x {
   -webkit-margin-start: 16px;
   margin-inline-start: 16px;
   -webkit-margin-end: 16px;
   margin-inline-end: 16px;
 }

 .atf-hopeful-section {
   position: relative;
 }

 /* "Hopeful" hero variant: a two-column split hero — dark content
   panel on the left (.hopeful-left-box) and an image panel on the
   right (.hopeful-right-box) — used on an alternate homepage layout. */
 .hopeful-area {
   display: -webkit-box;
   display: -ms-flexbox;
   display: flex;
   -ms-flex-wrap: wrap;
   flex-wrap: wrap;
   min-height: 792px;
 }

 @media only screen and (min-width: 1200px) and (max-width: 1399px),
 only screen and (min-width: 992px) and (max-width: 1199px) {
   .hopeful-area {
     min-height: 700px;
   }
 }

 .hopeful-left-box {
   background-color: var(--secondary);
   border-radius: 12px;
   padding: 70px;
   width: calc(50% - 15px);
   -webkit-margin-end: 15px;
   margin-inline-end: 15px;
   position: relative;
   z-index: 1;
   display: -webkit-box;
   display: -ms-flexbox;
   display: flex;
   -webkit-box-align: center;
   -ms-flex-align: center;
   align-items: center;
   overflow: hidden;
 }

 .hopeful-left-box::before {
   content: "";
   position: absolute;
   top: 5%;
   inset-inline-start: 5%;
   width: 350px;
   height: 350px;
   border-radius: 50%;
   background: var(--primary);
   -webkit-filter: blur(65px);
   filter: blur(65px);
   opacity: 0.26;
   z-index: -1;
   backdrop-filter: blur(10px);
 }

 @media only screen and (min-width: 1400px) and (max-width: 1600px) {
   .hopeful-left-box {
     -webkit-padding-end: 40px;
     padding-inline-end: 40px;
   }
 }

 @media only screen and (min-width: 1200px) and (max-width: 1399px),
 only screen and (min-width: 992px) and (max-width: 1199px) {
   .hopeful-left-box {
     -webkit-padding-start: 50px;
     padding-inline-start: 50px;
     -webkit-padding-end: 40px;
     padding-inline-end: 40px;
   }
 }

 @media only screen and (min-width: 768px) and (max-width: 991px),
 only screen and (min-width: 576px) and (max-width: 767px),
 (max-width: 575px) {
   .hopeful-left-box {
     width: 100%;
     -webkit-margin-end: 0;
     margin-inline-end: 0;
     margin-bottom: 15px;
     padding: 60px 0;
   }
 }

 .hopeful-content {
   max-width: 635px;
   width: 100%;
   -webkit-margin-start: auto;
   margin-inline-start: auto;
 }

 .hopeful-content .sub-title {
   display: -webkit-inline-box;
   display: -ms-inline-flexbox;
   display: inline-flex;
   -webkit-box-align: center;
   -ms-flex-align: center;
   align-items: center;
   gap: 8px;
   color: var(--white);
   font-size: 14px;
   line-height: 1;
   letter-spacing: 1.4px;
   text-transform: uppercase;
   font-weight: 600;
   border: 1px dashed var(--border);
   padding: 6px 10px;
   margin-bottom: 20px;
   border-radius: 4px;
 }

 .hopeful-content .sub-title i {
   color: var(--primary);
   font-size: 22px;
 }

 .hopeful-content .hopeful-title {
   color: var(--white);
   line-height: 1.135;
   margin-bottom: 15px;
 }

 .hopeful-content .hopeful-title span {
   display: inline-block;
   color: var(--primary);
   font-weight: 700;
   -webkit-text-fill-color: transparent;
   -webkit-text-stroke-color: var(--gray-500);
   -webkit-text-stroke-width: 1px;
   letter-spacing: 1px;
 }

 @media only screen and (min-width: 1400px) and (max-width: 1600px) {
   .hopeful-content .hopeful-title {
     font-size: 58px;
   }
 }

 @media only screen and (min-width: 1200px) and (max-width: 1399px) {
   .hopeful-content .hopeful-title {
     font-size: 52px;
   }
 }

 @media only screen and (min-width: 992px) and (max-width: 1199px) {
   .hopeful-content .hopeful-title {
     font-size: 45px;
   }
 }

 @media only screen and (min-width: 768px) and (max-width: 991px),
 only screen and (min-width: 576px) and (max-width: 767px) {
   .hopeful-content .hopeful-title {
     font-size: 45px;
   }
 }

 @media (max-width: 575px) {
   .hopeful-content .hopeful-title {
     font-size: 38px;
   }
 }

 .hopeful-content .hopeful-link {
   font-size: 75px;
   color: var(--white);
   display: -webkit-inline-box;
   display: -ms-inline-flexbox;
   display: inline-flex;
   line-height: 1;
   padding: 10px 30px 15px 0;
   -webkit-border-end: 1px dashed var(--border);
   border-inline-end: 1px dashed var(--border);
 }

 .hopeful-content .hopeful-link span {
   overflow: hidden;
 }

 .hopeful-content .hopeful-link i {
   display: -webkit-inline-box;
   display: -ms-inline-flexbox;
   display: inline-flex;
   line-height: 1;
   -webkit-transform: rotate(-45deg) translateX(0);
   -ms-transform: rotate(-45deg) translateX(0);
   transform: rotate(-45deg) translateX(0);
   -webkit-transition: all 0.3s ease-out;
   transition: all 0.3s ease-out;
   text-shadow: -120px 0 0;
 }

 .hopeful-content .hopeful-link:hover i {
   -webkit-transform: rotate(-45deg) translateX(120px);
   -ms-transform: rotate(-45deg) translateX(120px);
   transform: rotate(-45deg) translateX(120px);
 }

 @media only screen and (min-width: 1200px) and (max-width: 1399px) {
   .hopeful-content .hopeful-link {
     font-size: 60px;
   }
 }

 @media only screen and (min-width: 992px) and (max-width: 1199px) {
   .hopeful-content .hopeful-link {
     font-size: 50px;
   }
 }

 @media only screen and (min-width: 768px) and (max-width: 991px),
 only screen and (min-width: 576px) and (max-width: 767px),
 (max-width: 575px) {
   .hopeful-content .hopeful-link {
     font-size: 45px;
   }
 }

 .hopeful-content .hopeful-desc-area {
   max-width: 475px;
   width: 100%;
 }

 .hopeful-content .hopeful-desc {
   color: var(--gray-300);
   font-size: 17px;
   line-height: 1.7;
   max-width: 517px;
 }

 @media only screen and (min-width: 1200px) and (max-width: 1399px),
 (max-width: 575px) {
   .hopeful-content .hopeful-desc {
     font-size: 16px;
   }
 }

 @media only screen and (min-width: 1200px) and (max-width: 1399px) {
   .hopeful-content {
     max-width: 565px;
     -webkit-padding-start: 10px;
     padding-inline-start: 10px;
   }
 }

 @media only screen and (min-width: 992px) and (max-width: 1199px) {
   .hopeful-content {
     -webkit-padding-start: 10px;
     padding-inline-start: 10px;
   }
 }

 @media only screen and (min-width: 768px) and (max-width: 991px),
 only screen and (min-width: 576px) and (max-width: 767px),
 (max-width: 575px) {
   .hopeful-content {
     max-width: 720px;
     margin: 0 auto;
     padding: 0 15px;
   }
 }

 .hopeful-img {
   width: 100%;
   height: 100%;
   border-radius: 12px;
   position: relative;
   overflow: hidden;
 }

 .hopeful-img img {
   width: 100%;
   -o-object-fit: cover;
   object-fit: cover;
   border-radius: 12px;
   height: 100%;
 }

 .hopeful-shape {
   position: absolute;
   top: 0;
   inset-inline-start: 0;
   width: 100%;
   height: 100%;
   z-index: -1;
   pointer-events: none;
 }

 .hopeful-shape img {
   width: 100%;
   height: 100%;
 }

 .hopeful-right-box {
   width: 50%;
   position: relative;
   min-height: 390px;
 }

 @media only screen and (min-width: 768px) and (max-width: 991px),
 only screen and (min-width: 576px) and (max-width: 767px),
 (max-width: 575px) {
   .hopeful-right-box {
     width: 100%;
   }
 }

 .achived-area {
   background-color: rgba(255, 255, 255, 0.42);
   position: absolute;
   bottom: 0;
   inset-inline-start: 0;
   max-width: 460px;
   width: 100%;
   padding: 15px 15px 0 0;
   border-start-end-radius: 12px;
 }

 .customers-achived {
   background-color: rgba(255, 255, 255, 0.42);
   border-radius: 0px 10px 0 0;
   padding: 20px 25px;
 }

 @media only screen and (min-width: 576px) and (max-width: 767px),
 (max-width: 575px) {
   .customers-achived {
     padding: 25px 18px 20px;
   }
 }

 .client-thumb ul {
   display: -webkit-inline-box;
   display: -ms-inline-flexbox;
   display: inline-flex;
   list-style: none;
 }

 .client-thumb ul li {
   line-height: 1;
   -webkit-margin-start: -15px;
   margin-inline-start: -15px;
 }

 .client-thumb ul li img {
   background-color: var(--white);
   border-radius: 50%;
   -webkit-box-shadow: 0 0 0 2px var(--white);
   box-shadow: 0 0 0 2px var(--white);
 }

 .client-number-area {
   text-align: center;
 }

 .client-thumb ul li:first-child {
   -webkit-margin-start: 0;
   margin-inline-start: 0;
 }

 .client-thumb ul li:last-child span {
   width: 55px;
   height: 53px;
   border-radius: 50%;
   background-color: var(--primary);
   color: var(--white);
   display: -webkit-inline-box;
   display: -ms-inline-flexbox;
   display: inline-flex;
   -webkit-box-align: center;
   -ms-flex-align: center;
   align-items: center;
   -webkit-box-pack: center;
   -ms-flex-pack: center;
   justify-content: center;
   font-size: 16px;
   -webkit-box-shadow: 0 0 0 2px var(--white);
   box-shadow: 0 0 0 2px var(--white);
 }

 .client-thumb ul li:last-child span i {
   line-height: 1;
 }

 @media (max-width: 575px) {
   .client-thumb ul li {
     -webkit-margin-start: -16px;
     margin-inline-start: -16px;
   }
 }

 .client-number.counter-number {
   color: var(--secondary);
   font-size: 40px;
   line-height: 0.8;
   letter-spacing: -1.2px;
   font-family: var(--font-head);
   font-weight: 600;
   margin-bottom: 10px;
   justify-content: center;
   display: flex;
   align-items: center;
 }

 @media only screen and (min-width: 576px) and (max-width: 767px),
 (max-width: 575px) {
   .client-number {
     font-size: 30px;
     padding: 20px 0 10px 0;
   }
 }

 .client-text {
   color: var(--secondary);
   font-size: 16px;
   line-height: 1.5;
   letter-spacing: 0;
   margin-bottom: 0;
   font-weight: 400;
 }

 /* --- hero round image CSS --- */
 .hero_round_image {
   position: absolute;
   background: rgba(255, 255, 255, 0.62);
   border-radius: 50%;
   -webkit-backdrop-filter: blur(20px);
   backdrop-filter: blur(20px);
   z-index: 10;
   bottom: 2%;
   left: auto;
   right: 8%;
 }

 .hero_round_text_area {
   position: relative;
   width: 140px;
   animation: spin 15s linear infinite;
   margin: 0 auto;
   padding: 5px;
 }

 .hero_round_text_area .about_round_text text {
   font-size: 22px;
   fill: var(--secondary);
   text-transform: uppercase;
   letter-spacing: 3px;
 }

 .hero_round_image .center-arrow {
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
   font-weight: 700;
   z-index: 20;
   font-size: 22px;
   color: var(--primary);
 }

 .rotate {
   animation: spin 15s linear infinite;
 }

 @keyframes spin {
   0% {
     transform: rotate(0deg);
   }

   100% {
     transform: rotate(360deg);
   }
 }

 /* --- Trusted Company Section --- */
 .trusted-text {
   font-size: 1rem;
   color: var(--white);
   margin-bottom: 10px;
 }

 .logo-item {
   color: var(--gray-300);
   font-size: 1.2rem;
   font-weight: 700;
   display: flex;
   align-items: center;
   gap: 8px;
 }

 /* --------------------------------------------------------------------------
   Hero Slick Slider (Home Three variant)
   Full-screen image slider hero used on the alternate homepage,
   including slide content animation delays and nav arrows.
-------------------------------------------------------------------------- */
 .atf-home-overlay {
   background: rgba(0, 0, 0, 0.5);
   height: 100%;
   width: 100%;
 }

 .atf-slider-content {
   padding-top: 200px;
   padding-bottom: 200px;
 }

 .atf-slider-content .sub-title {
   display: inline-flex;
   align-items: center;
   gap: 10px;
   padding: 10px 20px 10px 10px;
   border-radius: var(--radius-pill);
   box-shadow: var(--shadow-sm);
   font-size: 14px;
   font-weight: 600;
   color: var(--gray-100);
   margin-bottom: 24px;
   background: rgba(255, 255, 255, 0.32);
 }

 .atf-slider-content .sub-title img {
   width: 32px;
   height: 32px;
   border-radius: 50%;
   object-fit: cover;
 }

 .atf-slider-content .slider-title {
   color: var(--white);
   font-size: 58px;
   font-weight: 700;
   line-height: 1;
   text-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
   letter-spacing: -2px;
 }

 .atf-slider-content .description {
   color: var(--white);
   font-size: 18px;
   margin: 20px 0 30px;
 }

 .atf-slick-slider-1.slick-arrow-1 .slick-arrow {
   left: 0;
   right: auto;
   opacity: 0;
   border-radius: 50%;
   width: 65px;
   height: 65px;
   line-height: 63px;
 }

 .atf-slick-slider-1.slick-arrow-1 .slick-next {
   right: 0px;
   left: auto;
   opacity: 0;
   border-radius: 50%;
 }

 @media (min-width: 1350px) {
   .atf-slick-slider-1.slick-arrow-1:hover .slick-arrow {
     left: 25px;
     right: auto;
     opacity: 1;
   }

   .atf-slick-slider-1.slick-arrow-1:hover .slick-next {
     right: 25px;
     left: auto;
     opacity: 1;
   }

   .atf-slider-content .slider-title {
     font-size: 52px;
   }
 }

 @media (max-width: 1199px) {
   .atf-slider-content .title {
     font-size: 48px;
   }

   .atf-slider-content .slider-title br {
     display: none;
   }
 }

 @media (max-width: 768px) {

   .atf-slick-slider-1.slick-arrow-1 .slick-arrow,
   .atf-slick-slider-1.slick-arrow-1 .slick-next {
     display: none !important;
   }

   .atf-slick-slider-1.slick-arrow-1 .slick-dots {
     display: block !important;
   }

   .atf-slider-content .slider-title {
     font-size: 44px;
     letter-spacing: 0;
   }
 }

 @media screen and (min-width: 320px) and (max-width: 479px) {
   .atf-slider-content .slider-title {
     font-size: 36px !important;
   }

   .atf-slider-content .description br {
     display: none;
   }
 }

 .achived-area.v2 {
   left: 2%;
   padding: 15px;
   border-radius: 15px 15px 0 0;
 }

 .customers-achived.v2 {
   border-radius: 15px;
 }

 .hero-right-dots {
   position: absolute;
   right: 6%;
   bottom: 0;
   width: 200px;
   height: 190px;
   opacity: 0.25;
   z-index: 325;
   background: var(--primary-light);
   border-top-left-radius: 50%;
   border-top-right-radius: 50%;
   z-index: 0;
 }

 .slick-active .atf-single-slider .sub-title {
   -webkit-animation: 0.5s 0.5s fadeInDown both;
   animation: 0.5s 0.5s fadeInDown both;
 }

 .slick-active .atf-single-slider .slider-title {
   -webkit-animation: 0.5s 0.5s fadeInUp both;
   animation: 0.5s 0.5s fadeInUp both;
 }

 .slick-active .atf-single-slider .description {
   -webkit-animation: 0.5s 0.7s fadeInUp both;
   animation: 0.5s 0.7s fadeInUp both;
 }

 .slick-active .atf-hero-btn {
   -webkit-animation: 0.5s 9s fadeInUp both;
   animation: 0.5s 0.9s fadeInUp both;
 }

 .slick-active .atf-single-slider .achived-area.v2 {
   -webkit-animation: 0.5s 0.7s fadeInUp both;
   animation: 0.5s 0.7s fadeInUp both;
 }

 .slick-active .atf-single-slider .hero_round_image {
   -webkit-animation: 0.5s 0.7s fadeInUp both;
   animation: 0.5s 0.7s fadeInUp both;
 }

 .slick-active .atf-single-slider {
   animation: zoomOutEffect 5s ease forwards;
   transition: all 2s ease;
 }

 @keyframes zoomOutEffect {
   0% {
     transform: scale(1.05);
   }

   100% {
     transform: scale(1);
   }
 }

 /* --------------------------------------------------------------------------
   Marquee / Logo Ticker Strip
   Infinite horizontally-scrolling text/logo strip.
-------------------------------------------------------------------------- */
 .marquee-strip {
   background: var(--secondary);
   padding: 6px 0;
   overflow: hidden;
   white-space: nowrap;
 }

 .marquee-track {
   display: inline-flex;
   animation: marquee 26s linear infinite;
 }

 .marquee-track span {
   font-family: var(--font-head);
   font-weight: 500;
   font-size: 16px;
   color: rgba(255, 255, 255, .85);
   text-transform: uppercase;
   letter-spacing: 1px;
   padding: 0 30px;
   display: inline-flex;
   align-items: center;
   gap: 20px;
 }

 .marquee-track span i {
   color: #d89835;
   font-size: 22px;
 }

 @keyframes marquee {
   from {
     transform: translateX(0);
   }

   to {
     transform: translateX(-50%);
   }
 }

 /* ==========================================================================
   9. PAGE / INNER BANNER
   Breadcrumb / page-title banner used on all inner pages
   (About, Causes, Blog, Contact, etc.).
========================================================================== */
 .breadcrumb {
   background: var(--secondary);
   padding: 130px 0 110px;
   text-align: center;
   position: relative;
   overflow: hidden;
   margin: 0px;
 }

 .breadcrumb__shape_1 {
   position: absolute;
   border-radius: 50%;
   background: var(--accent);
   opacity: .18;
   width: 242px;
   height: 242px;
   top: -68px;
   left: -84px;
   animation: floatY 4s ease-in-out infinite .8s;
 }

 .breadcrumb__shape_2 {
   position: absolute;
   border-radius: 50%;
   background: var(--accent);
   opacity: .18;
   width: 140px;
   height: 140px;
   bottom: -50px;
   right: 8%;
   animation: floatX 4s ease-in-out infinite .8s;
 }

 .breadcrumb .breadcrumb-title {
   display: inline-flex;
   align-items: center;
   gap: 8px;
   font-family: var(--font-head);
   font-weight: 600;
   font-size: 14px;
   letter-spacing: .5px;
   text-transform: uppercase;
   color: var(--gray-300);
   background: rgba(255, 255, 255, 0.12);
   padding: 8px 20px 8px 14px;
   border-radius: var(--radius-pill);
   margin-bottom: 12px;
 }

 .breadcrumb .breadcrumb-sec-title {
   color: var(--white);
   font-size: 46px;
   margin-bottom: 14px;
   position: relative;
 }

 .breadcrumb-list {
   display: flex;
   justify-content: center;
   gap: 8px;
   list-style: none;
   position: relative;
   font-family: var(--font-head);
   font-weight: 600;
 }

 .breadcrumb-list a {
   color: rgba(255, 255, 255, .65);
 }

 .breadcrumb-list a:hover {
   color: var(--primary);
 }

 .breadcrumb-list li:not(:last-child)::after {
   content: "/";
   margin-left: 8px;
   color: rgba(255, 255, 255, .35);
 }

 .breadcrumb-list li.active {
   color: var(--gray-300);
 }

 /* ==========================================================================
   10. ABOUT SECTION
   'About us' image collage + content layout, used in two
   variants across the About and Home pages.
========================================================================== */
 .about-img-group img.img-1 {
   border-radius: var(--radius-lg);
   width: 100%;
   max-width: 420px;
   height: 340px;
   border: 8px solid var(--primary-light);
 }

 .about-img-group img.img-2 {
   border-radius: var(--radius-md);
   border: 1px solid #000d26;
   width: 100%;
   /* position: absolute; */
   bottom: 0;
   right: 0;
   /* max-width: 400px;
   height: 340px; */
   object-fit: contain;
   padding: 20px;
 }

 .about-experience {
   position: absolute;
   top: 35px;
   right: 25px;
   background: var(--primary);
   color: var(--white);
   border-radius: 50%;
   width: 130px;
   height: 130px;
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   text-align: center;
   box-shadow: var(--shadow-lg);
 }

 .about-experience h3 {
   color: var(--white);
   font-size: 34px;
   margin: 0;
 }

 .about-experience span {
   font-size: 13px;
   color: rgba(255, 255, 255, .85);
 }

 .about-list {
   margin: 26px 0;
 }

 .about-list li {
   display: flex;
   align-items: flex-start;
   gap: 14px;
   margin-bottom: 16px;
   font-family: var(--font-head);
   font-weight: 500;
   color: var(--secondary);
 }

 .about-list li i {
   width: 30px;
   height: 30px;
   border-radius: 50%;
   background: var(--primary-light);
   color: var(--primary);
   flex-shrink: 0;
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 14px;
   margin-top: 0px;
   box-shadow: var(--shadow-lg);
 }

 .about-signature {
   display: flex;
   align-items: center;
   gap: 18px;
 }

 .about-signature img {
   width: 60px;
   height: 60px;
   border-radius: 50%;
   object-fit: cover;
 }

 .about-signature strong {
   display: block;
   color: var(--secondary);
   font-family: var(--font-head);
   font-size: 20px;
   line-height: 1.1;
 }

 .about-img-group .about_avatar_2 {
   position: absolute;
   bottom: 40px;
   left: 10px;
   z-index: 1;
   background: var(--primary-light);
   padding: 22px;
   border-radius: 20px;
 }

 .about-img-group .avatars img {
   width: 55px;
   height: 55px;
   border-radius: 50%;
   border: 3px solid var(--white);
   margin-left: -25px;
   box-shadow: 0 6px 18px rgba(0, 0, 0, 0.28);
 }

 .about-img-group .customer-text .title {
   font-weight: 500;
   color: var(--secondary);
   margin-bottom: 10px;
   display: inline-block;
 }

 .customer-text .counter-number {
   font-family: var(--font-head);
   font-size: 28px;
   color: var(--primary);
 }

 /* about two section  */
 /* ===== Section wrapper ===== */
 .about-section {
   position: relative;
   overflow: hidden;
   padding: clamp(48px, 8vw, 110px) 0;
   background: var(--white);
 }

 /* soft brush strokes behind the layout, purely decorative */
 .brush {
   position: absolute;
   background: var(--primary-light);
   opacity: .55;
   filter: blur(1px);
   z-index: 0;
   border-radius: 50% 40% 60% 50% / 40% 50% 50% 60%;
 }

 .brush-right {
   width: 520px;
   height: 520px;
   top: -60px;
   right: -180px;
   transform: rotate(12deg);
 }

 .brush-left {
   width: 380px;
   height: 380px;
   bottom: -120px;
   left: -160px;
   transform: rotate(-10deg);
 }

 .about-inner {
   position: relative;
   z-index: 1;
 }

 /* ===== Image collage columns ===== */
 .about-common {
   position: relative;
   width: 100%;
 }

 .about-common-img {
   border-radius: var(--radius-md);
   object-fit: cover;
   box-shadow: var(--shadow-md);
   display: block;
   width: 100%;
 }

 /* Left collage: big group photo + floating smaller portrait */
 .about-thumb-left {
   position: relative;
   min-height: 340px;
 }

 .about-common-img.img-main {
   width: 88%;
   height: 300px;
   margin-left: auto;
 }

 .about-common-img.img-float {
   position: absolute;
   top: -30px;
   left: 0;
   width: 46%;
   height: 170px;
   border: 6px solid var(--white);
   z-index: 2;
 }

 /* Right collage: classroom photo on top, smiling woman on bottom */
 .about-thumb-right {
   display: flex;
   flex-direction: column;
   gap: 22px;
 }

 .about-common-img.img-top {
   height: 220px;
 }

 .about-common-img.img-bottom {
   height: 170px;
   width: 88%;
   margin-left: auto;
 }

 /* Small bottom-left cluster: heart icon box, hands photo, stats */
 .mini-cluster {
   display: flex;
   align-items: flex-end;
   gap: 18px;
   margin-top: 28px;
 }

 .heart-box {
   width: 76px;
   height: 76px;
   flex: 0 0 auto;
   border-radius: var(--radius-sm);
   border: 1.5px solid var(--gray-300);
   display: flex;
   align-items: center;
   justify-content: center;
   color: var(--primary);
   font-size: 28px;
   animation: floatY 4s ease-in-out infinite;
 }

 .mini-photo {
   width: 130px;
   height: 96px;
   border-radius: var(--radius-sm);
   object-fit: cover;
   box-shadow: var(--shadow-sm);
   flex: 0 0 auto;
 }

 /* ===== Center content ===== */
 .content-col {
   text-align: center;
   padding: 0 8px;
 }

 .stats-row {
   display: flex;
   justify-content: center;
   gap: clamp(20px, 4vw, 56px);
   margin-bottom: 30px;
   flex-wrap: wrap;
 }

 .stat-item {
   text-align: center;
 }

 .stat-number {
   font-family: var(--font-head);
   font-weight: 800;
   color: var(--primary);
   font-size: clamp(1.35rem, 2.4vw, 1.75rem);
   line-height: 1.1;
 }

 .stat-label {
   font-size: .85rem;
   color: var(--gray-700);
   margin-top: 4px;
 }

 /* ===== Responsive breakpoints ===== */

 /* Tablet */
 @media (max-width: 991.98px) {
   .about-common-left {
     min-height: 280px;
   }

   .about-common-left .img-main {
     height: 250px;
   }

   .about-common-left .img-float {
     height: 140px;
     top: -24px;
   }

   .about-common-right .img-top {
     height: 190px;
   }

   .about-common-right .img-bottom {
     height: 150px;
   }

   .content-col {
     order: -1;
     margin-bottom: 24px;
   }
 }

 /* Mobile */
 @media (max-width: 767.98px) {

   .about-common-left,
   .collage-right {
     margin-bottom: 20px;
   }

   .about-common-left {
     min-height: 260px;
   }

   .about-common-left .img-main {
     width: 82%;
     height: 230px;
   }

   .about-common-left .img-float {
     width: 52%;
     height: 130px;
     top: -20px;
   }

   .about-common-right .img-top {
     height: 190px;
   }

   .about-common-right .img-bottom {
     width: 82%;
     height: 150px;
   }

   .mini-cluster {
     justify-content: center;
   }

   .stats-row {
     gap: 24px;
   }

   .brush-right,
   .brush-left {
     opacity: .35;
   }
 }

 @media (max-width: 575.98px) {
   .mini-cluster {
     flex-wrap: wrap;
   }

   .mini-photo {
     width: 110px;
     height: 84px;
   }

   .stat-item {
     width: 40%;
   }
 }

 /* ==========================================================================
   11. COUNTER SECTION
   Dark stats strip with animated counters (donors, funds
   raised, volunteers, campaigns).
========================================================================== */
 .counter-section {
   background: var(--secondary);
   border-radius: var(--radius-lg);
   padding: 60px 40px;
   position: relative;
   overflow: hidden;
 }

 .counter-item {
   text-align: center;
   color: var(--white);
   position: relative;
 }

 .counter-item:not(:last-child)::after {
   content: "";
   position: absolute;
   right: -2px;
   top: 10%;
   height: 80%;
   width: 1px;
   background: rgba(255, 255, 255, .12);
 }

 .counter-icon {
   width: 64px;
   height: 64px;
   border-radius: 50%;
   background: rgba(255, 255, 255, .08);
   color: var(--accent);
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 28px;
   margin: 0 auto 18px;
 }

 .counter-number {
   font-family: var(--font-head);
   font-weight: 800;
   font-size: 44px;
   color: var(--white);
   display: flex;
   align-items: baseline;
   justify-content: center;
   gap: 2px;
 }

 .counter-label {
   font-size: 15px;
   color: rgba(255, 255, 255, .65);
   margin-top: 6px;
 }

 @media(max-width:767px) {
   .counter-item:not(:last-child)::after {
     display: none;
   }

   .counter-item {
     margin-bottom: 30px;
   }
 }

 /* ==========================================================================
   12. CAUSE CARDS
   Donation/cause cards: image, progress bar toward the goal,
   meta info and footer CTA. Also covers the cause details page.
========================================================================== */
 .cause-card {
   background: var(--white);
   border-radius: var(--radius-md);
   overflow: hidden;
   box-shadow: var(--shadow-sm);
   transition: var(--transition);
   height: 100%;
   border: 1px solid var(--gray-100);
 }

 .cause-card:hover {
   box-shadow: var(--shadow-md);
 }

 .cause-img {
   position: relative;
   overflow: hidden;
   height: 230px;
 }

 .cause-img img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   transition: transform .6s ease;
   padding: 10px;
   border-radius: var(--radius-lg);
 }

 .cause-tag {
   position: absolute;
   top: 16px;
   left: 16px;
   background: var(--primary);
   color: var(--white);
   font-size: 12px;
   font-weight: 700;
   padding: 6px 14px;
   border-radius: var(--radius-pill);
   text-transform: uppercase;
   letter-spacing: .4px;
 }

 .cause-body {
   padding: 26px;
 }

 .cause-meta i {
   color: var(--primary);
 }

 .cause-meta {
   display: flex;
   align-items: center;
   gap: 16px;
   font-size: 14px;
   color: var(--gray-700);
   margin-bottom: 12px;
 }

 .cause-meta span {
   display: flex;
   align-items: center;
   gap: 6px;
 }

 .cause-body h3 {
   font-size: 20px;
   margin-bottom: 14px;
 }

 .cause-body h3 a:hover {
   color: var(--primary);
 }

 .progress-wrap {
   margin-top: 18px;
 }

 .progress-labels {
   display: flex;
   justify-content: space-between;
   font-size: 13px;
   font-weight: 600;
   color: var(--secondary);
   margin-bottom: 8px;
 }

 .progress-labels .raised {
   color: var(--primary);
 }

 .progress-track {
   height: 8px;
   background: var(--gray-100);
   border-radius: 20px;
   overflow: hidden;
 }

 .progress-fill {
   height: 100%;
   border-radius: 20px;
   background: linear-gradient(90deg, var(--primary), var(--accent));
   width: 0%;
   transition: width 1.6s cubic-bezier(.4, 0, .2, 1);
 }

 .cause-footer {
   display: flex;
   align-items: center;
   justify-content: space-between;
   margin-top: 30px;
   padding-top: 18px;
   border-top: 1px dashed var(--gray-300);
 }

 .cause-footer .goal {
   font-size: 15px;
   color: var(--gray-700);
 }

 .cause-footer .goal strong {
   color: var(--secondary);
   font-family: var(--font-head);
 }

 .causes_details_tag .cause-tag {
   position: static;
 }

 .causes_details_thumb img {
   object-fit: cover;
   height: 420px;
 }

 .causes_details_thumb_two {
   object-fit: cover;
   height: 300px;
 }

 .causes_details_tag .cause-meta {
   margin: 0;
 }

 .img-anim {
   position: relative;
   overflow: hidden;
   border-radius: var(--radius-md);
 }

 .img-anim img {
   width: 100%;
   height: 100%;
   -o-object-fit: cover;
   object-fit: cover;
   -webkit-transition: -webkit-transform 0.5s;
   transition: -webkit-transform 0.5s;
   transition: transform 0.5s;
   transition: transform 0.5s, -webkit-transform 0.5s;
   -webkit-transform-origin: center center;
   -ms-transform-origin: center center;
   transform-origin: center center;
   -webkit-transform: perspective(0) rotateX(0) rotateY(0) scaleX(1) scaleY(1);
   transform: perspective(0) rotateX(0) rotateY(0) scaleX(1) scaleY(1);
   border-radius: var(--radius-md);
 }

 .img-anim-card:hover .img-anim img {
   -webkit-transform: perspective(600px) rotateX(0deg) rotateY(0.05deg) scaleX(1.1) scaleY(1.1) !important;
   transform: perspective(600px) rotateX(0deg) rotateY(0.05deg) scaleX(1.1) scaleY(1.1) !important;
 }

 /* ==========================================================================
   13. STEPS / PROCESS
   'How it works' step cards with connecting dashed line
   between each step on desktop.
========================================================================== */
 .step-card {
   text-align: center;
   padding: 40px 26px;
   position: relative;
   border-radius: var(--radius-md);
   transition: var(--transition);
   border: 2px solid var(--white);
   box-shadow: 0 6px 18px rgba(0, 0, 0, 0.28);
 }

 .step-card:hover {
   transform: translateY(-8px);
   box-shadow: var(--shadow-lg);
 }

 .step-card:hover .step-num {
   transform: scale(1.1);
 }

 .step-num {
   width: 74px;
   height: 74px;
   border-radius: 50%;
   background: var(--primary-light);
   color: var(--primary);
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 30px;
   margin: 0 auto 24px;
   position: relative;
   transition: var(--transition);
 }

 .step-num::after {
   content: "";
   position: absolute;
   inset: -8px;
   border: 2px dashed var(--gray-300);
   border-radius: 50%;
 }

 .step-card p {
   color: var(--gray-300);
 }

 .step-card h3 {
   font-size: 20px;
   color: var(--gray-100);
 }

 .step-connector {
   position: absolute;
   top: 80px;
   left: 60%;
   width: 100%;
   border-top: 2px dashed var(--gray-300);
   z-index: -1;
 }

 @media(max-width:991px) {
   .step-connector {
     display: none;
   }
 }

 /* ==========================================================================
   14. VOLUNTEER / CTA SPLIT
   Full-width call-to-action band inviting visitors to donate
   or volunteer.
========================================================================== */
 .cta-split {
   background: var(--primary-dark);
   border-radius: var(--radius-lg);
   overflow: hidden;
   position: relative;
 }

 .cta-split-content {
   padding: 70px 60px;
   color: var(--white);
 }

 .cta-split-content .sub-title {
   background: rgba(255, 255, 255, .15);
   color: var(--white);
 }

 .cta-split-content h2 {
   color: var(--white);
 }

 @media(max-width:767px) {
   .cta-split-content {
     padding: 40px 28px;
   }
 }

 /* ==========================================================================
   15. EVENTS
   Upcoming event cards with date badge, meta info and
   the matching event-details page layout.
========================================================================== */
 .event-card {
   background: var(--white);
   border-radius: var(--radius-md);
   overflow: hidden;
   box-shadow: var(--shadow-sm);
   transition: var(--transition);
   height: 100%;
 }

 .event-card:hover {
   box-shadow: var(--shadow-lg);
 }

 .event-img {
   position: relative;
   height: 220px;
   overflow: hidden;
 }

 .event-img img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   transition: transform .6s ease;
 }

 .event-card:hover .event-img img {
   transform: scale(1.08);
 }

 .event-date-badge {
   position: absolute;
   top: 16px;
   left: 16px;
   background: var(--white);
   border-radius: 12px;
   padding: 10px 14px;
   text-align: center;
   box-shadow: var(--shadow-sm);
 }

 .event-date-badge strong {
   display: block;
   font-family: var(--font-head);
   font-size: 22px;
   color: var(--primary);
   line-height: 1;
 }

 .event-date-badge span {
   font-size: 11px;
   text-transform: uppercase;
   color: var(--gray-500);
   font-weight: 700;
 }

 .event-body {
   padding: 24px 26px;
 }

 .event-meta {
   display: flex;
   flex-wrap: wrap;
   gap: 14px;
   font-size: 14px;
   color: var(--gray-700);
   margin-bottom: 12px;
 }

 .event-meta i {
   color: var(--primary);
 }

 .event-meta span {
   display: flex;
   align-items: center;
   gap: 6px;
 }

 .event-body h3 {
   font-size: 20px;
   margin-bottom: 10px;
   padding-bottom: 30px;
   border-bottom: 1px dashed var(--gray-300);
 }

 .event_details_thumb img {
   object-fit: cover;
   height: 420px;
 }

 .event_details_thumb_two {
   object-fit: cover;
   /* height: 300px; */
 }

 .event_details_tag .event-meta {
   margin: 0;
 }

 /* ==========================================================================
   16. TESTIMONIALS
   Donor / volunteer testimonial slider cards.
========================================================================== */
 .testi-section {
   position: relative;
 }

 .testi-card {
   background: var(--white);
   border-radius: var(--radius-md);
   padding: 38px 34px;
   box-shadow: var(--shadow-md);
   margin: 14px 10px 40px;
   position: relative;
   border: 1px solid var(--primary-dark);
 }

 .testi-person strong {
   display: block;
   color: var(--secondary);
   font-family: var(--font-head);
   font-size: 20px;
   margin-bottom: 0;
   line-height: 1.1;
 }

 .testi-stars {
   color: var(--accent);
   margin-bottom: 16px;
   font-size: 14px;
 }

 .testi-text {
   font-style: italic;
   color: var(--gray-700);
   margin-bottom: 24px;
 }

 .testi-person {
   display: flex;
   align-items: center;
   gap: 14px;
 }

 .testi-person img {
   width: 56px;
   height: 56px;
   border-radius: 50%;
   object-fit: cover;
 }

 .testi-person strong {
   display: block;
   color: var(--secondary);
   font-family: var(--font-head);
 }

 .testi-person span {
   font-size: 14px;
   color: var(--gray-700);
 }

 .atf__client_slider_active .slick-dots {
   justify-content: start;
   display: flex;
   padding-left: 20px;
   margin-top: 0;
 }

 .testi-quote {
   color: var(--primary-light);
   font-size: 50px;
   position: absolute;
   top: 8px;
   right: 27px;
 }

 /* ==========================================================================
   17. BLOG
   Blog listing cards (image, meta, excerpt, read-more link).
========================================================================== */
 .blog-card {
   background: var(--white);
   border-radius: var(--radius-md);
   overflow: hidden;
   box-shadow: var(--shadow-sm);
   transition: var(--transition);
   height: 100%;
 }

 .blog-card:hover {
   box-shadow: var(--shadow-md);
 }

 .blog-img {
   height: 230px;
   overflow: hidden;
 }

 .blog-img img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   transition: transform .6s ease;
   padding: 10px;
   border-radius: var(--radius-lg);
 }

 .blog-card:hover .blog-img img {
   transform: scale(1.08);
 }

 .blog-body {
   padding: 26px;
 }

 .blog-meta {
   display: flex;
   gap: 16px;
   font-size: 14px;
   color: var(--gray-700);
   margin-bottom: 12px;
 }

 .blog-meta i {
   color: var(--primary);
 }

 .blog-meta span {
   display: flex;
   align-items: center;
   gap: 6px;
 }

 .blog-body h3 {
   font-size: 20px;
   margin-bottom: 10px;
   padding-bottom: 20px;
   border-bottom: 1px dashed var(--gray-300);
   line-height: 1.4;
 }

 .readmore i {
   color: var(--primary);
 }

 .blog-body h3 a:hover {
   color: var(--primary);
 }

 .blog-readmore {
   font-family: var(--font-head);
   font-weight: 700;
   font-size: 14px;
   color: var(--primary);
   display: inline-flex;
   align-items: center;
   gap: 8px;
   margin-top: 14px;
 }

 .blog-readmore i {
   transition: var(--transition);
 }

 .blog-readmore:hover i {
   transform: translateX(4px);
 }

 /* ==========================================================================
   18. SPONSORS
   Grayscale-to-color sponsor/partner logo grid.
========================================================================== */
 .sponsor-item {
   display: flex;
   align-items: center;
   justify-content: center;
   height: 90px;
   filter: grayscale(1);
   opacity: .6;
   transition: var(--transition);
   border: 1px solid var(--primary);
   border-radius: var(--radius-md);
 }

 .sponsor-item:hover {
   filter: grayscale(0);
   opacity: 1;
 }

 /* ==========================================================================
   19. NEWSLETTER BAND
   Dark rounded band with an inline email subscribe form.
========================================================================== */
 .newsletter-band {
   background: var(--secondary);
   border-radius: var(--radius-lg);
   padding: 56px;
   position: relative;
   overflow: hidden;
 }

 .newsletter-form {
   display: flex;
   gap: 0;
   background: var(--white);
   border-radius: var(--radius-pill);
   padding: 6px;
   max-width: 460px;
 }

 .newsletter-form input {
   flex: 1;
   border: none;
   background: transparent;
   padding: 0 20px;
   font-size: 14px;
   outline: none;
 }

 @media(max-width:767px) {
   .newsletter-band {
     padding: 34px 24px;
     text-align: center;
   }

   .newsletter-form {
     margin: 0 auto;
   }
 }

 .newsletter-form input:focus {
   border: none;
 }

 /* ==========================================================================
   20. FOOTER
   Site footer: about widget, quick links, contact list,
   photo gallery grid and the bottom copyright bar.
========================================================================== */
 .site-footer {
   color: rgba(255, 255, 255, .65);
   padding-top: 100px;
   position: relative;
 }

 .footer-widget h3 {
        color: #ffffff;
    font-size: 24px;
    margin-bottom: 34px;
    position: relative;
    padding-bottom: 10px;
 }

 .footer-widget h3::after {
   content: "";
   position: absolute;
   left: 20px;
   bottom: 0;
   width: 40px;
   height: 3px;
   background: #c37f23;
   border-radius: 20px;
 }

 .footer-widget h3::before {
   content: "";
   position: absolute;
   left: 0;
   bottom: 0;
   width: 12px;
   height: 3px;
   background:  #c37f23;
   border-radius: 20px;
 }

 .footer-widget p {
    font-size: 16px;
    color: white;
 }

 .footer-about-logo {
   margin-bottom: 30px;
   margin-top: -9px;
 }

 .footer-social {
   display: flex;
   gap: 10px;
   margin-top: 22px;
 }

 .footer-social a {
   width: 38px;
   height: 38px;
   border-radius: 50%;
   background: rgba(255, 255, 255, .08);
   display: flex;
   align-items: center;
   justify-content: center;
   color: var(--white);
 }

 .footer-social a:hover {
   background: var(--primary);
 }

 .footer-links li {
   margin-bottom: 12px;
 }

 .footer-links a {
   font-size: 16px;
   display: flex;
   align-items: center;
   gap: 8px;
   color: white;
 }

 .footer-links a::before {
   content: "\f105";
   font-family: "bootstrap-icons";
   color: var(--primary);
 }

 .footer-links a:hover {
   color: var(--white);
   padding-left: 4px;
 }

 .footer-contact li {
   display: flex;
   gap: 12px;
   margin-bottom: 18px;
   font-size: 14px;
 }

 .footer-contact li i {
   color: white;
   font-size: 18px;
   margin-top: -2px;
 }

  .footer-contact span {
   color: white; 
      font-size: 16px;
 }

 

 .footer-gallery {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 8px;
 }

 .footer-gallery img {
   border-radius: 8px;
   aspect-ratio: 1/1;
   object-fit: cover;
 }

 .footer-bottom {
       border-top: 1px solid rgb(195 127 35);
    margin-top: 70px;
    padding: 24px 0;
    font-size: 16px;
    color: white;
    text-align: center;
 }

 .footer-bottom a {
   color: var(--primary-light);
 }

 .footer-bottom-links {
   display: flex;
   gap: 20px;
   justify-content: flex-end;
 }

 @media(max-width:767px) {
   .footer-bottom-links {
     justify-content: flex-start;
     margin-top: 10px;
   }

   .site-footer {
     padding-top: 70px;
   }
 }

 /* Back to top */
 .back-to-top.active {
   -webkit-transform: translateY(0);
   transform: translateY(0);
   opacity: 1;
   visibility: visible;
   right: 3%;
   top: 84%;
   -webkit-transform: scale(1);
   transform: scale(1);
 }

 .back-to-top {
   position: fixed;
   cursor: pointer;
   right: 3%;
   top: 85%;
   background-color: var(--primary);
   box-shadow: 0px 0px 10px rgb(0 0 0 / 31%);
   z-index: 4;
   width: 60px;
   text-align: center;
   height: 60px;
   line-height: 42px;
   border-radius: 50px;
   -webkit-transform: scale(0);
   transform: scale(0);
   visibility: hidden;
   -webkit-transition: .9s;
   transition: .9s;
 }

 .back-to-top::before {
   content: '';
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   z-index: -1;
   background-color: var(--primary);
   opacity: 0;
   visibility: hidden;
   -webkit-transition: .5s;
   transition: .5s;
 }

 .back-to-top i {
   position: absolute;
   top: 50%;
   -webkit-transform: translateY(-50%);
   transform: translateY(-50%);
   left: 0;
   right: 0;
   margin: 0 auto;
   color: var(--white);
   -webkit-transition: .5s;
   transition: .5s;
   font-size: 20px;
 }

 @-webkit-keyframes bounce {

   0%,
   to {
     transform: translateY(5%);
     -webkit-animation-timing-function: ease-in-out;
     animation-timing-function: ease-in-out
   }

   50% {
     transform: translateY(0);
     -webkit-animation-timing-function: ease-in-out;
     animation-timing-function: ease-in-out
   }
 }

 @keyframes bounce {

   0%,
   to {
     transform: translateY(5%);
     -webkit-animation-timing-function: ease-in-out;
     animation-timing-function: ease-in-out
   }

   50% {
     transform: translateY(0);
     -webkit-animation-timing-function: ease-in-out;
     animation-timing-function: ease-in-out
   }
 }


 @-webkit-keyframes pulse {
   0% {
     border-color: #48e9d1;
     box-shadow: 0 0 rgba(72, 233, 209, 0.66);
   }

   70% {
     border-color: #48e9d1;
     box-shadow: 0 0 0 10px rgba(72, 233, 209, 0);
   }

   to {
     border-color: #48e9d1;
     box-shadow: 0 0 0 10px rgba(72, 233, 209, 0);
   }
 }

 @keyframes pulse {
   0% {
     border-color: #48e9d1;
     box-shadow: 0 0 rgba(72, 233, 209, 0.66);
   }

   70% {
     border-color: #48e9d1;
     box-shadow: 0 0 0 10px rgba(72, 233, 209, 0);
   }

   to {
     border-color: #48e9d1;
     box-shadow: 0 0 0 10px rgba(72, 233, 209, 0);
   }
 }

 /* ==========================================================================
   21. SIDEBAR (BLOG / CAUSE DETAILS)
   Reusable sidebar widgets for blog & cause detail pages:
   search box, categories, recent posts, tags and a CTA card.
========================================================================== */
 .sidebar-widget {
   background: var(--primary-light);
   border-radius: var(--radius-md);
   padding: 30px;
   margin-bottom: 30px;
   border: 3px solid var(--white);
   box-shadow: 0 6px 18px rgba(0, 0, 0, 0.28);
 }

 .sidebar-widget h4 {
   font-size: 22px;
   margin-bottom: 26px;
   padding-bottom: 14px;
   border-bottom: 1px solid var(--gray-300);
 }

 .search-widget {
   position: relative;
 }

 .search-widget input {
   width: 100%;
   border: 1px solid var(--gray-300);
   border-radius: var(--radius-pill);
   padding: 14px 55px 14px 22px;
   font-size: 14px;
 }

 .search-widget button {
   position: absolute;
   right: 6px;
   top: 6px;
   width: 42px;
   height: 42px;
   border-radius: 50%;
   background: var(--primary);
   color: var(--white);
   border: none;
 }

 .cat-list li {
   border-bottom: 1px solid var(--gray-300);
 }

 .cat-list li:last-child {
   border: none;
 }

 .cat-list a {
   display: flex;
   justify-content: space-between;
   padding: 12px 2px;
   font-size: 14.5px;
   font-weight: 500;
   color: var(--gray-700);
 }

 .cat-list a:hover {
   color: var(--primary);
   padding-left: 6px;
 }

 .cat-list a span {
   background: var(--white);
   border-radius: 50%;
   width: 26px;
   height: 26px;
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 12px;
 }

 .recent-post-item {
   display: flex;
   gap: 14px;
   margin-bottom: 20px;
 }

 .recent-post-item:last-child {
   margin-bottom: 0;
 }

 .recent-post-item img {
   width: 74px;
   height: 74px;
   border-radius: 10px;
   object-fit: cover;
   flex-shrink: 0;
   border: 3px solid var(--white);
   box-shadow: 0 6px 18px rgba(0, 0, 0, 0.28);
 }

 .recent-post-item h5 {
   font-size: 16px;
   margin-bottom: 1px;
   line-height: 1.4;
 }

 .recent-post-item h5 a:hover {
   color: var(--primary);
 }

 .recent-post-item span {
   font-size: 13px;
   color: var(--gray-500);
 }

 .tag-list {
   display: flex;
   flex-wrap: wrap;
   gap: 8px;
 }

 .tag-list a {
   padding: 8px 16px;
   background: var(--white);
   border-radius: var(--radius-pill);
   font-size: 13px;
   font-weight: 500;
   border: 1px solid var(--gray-300);
 }

 .tag-list a:hover {
   background: var(--primary);
   color: var(--white);
   border-color: var(--primary);
 }

 .sidebar-cta {
   background: #102c5e;
    border-radius: var(--radius-md);
    padding: 15px 10px 30px;
    text-align: center;
    color: var(--white);
    border: 3px solid #c37f23;
   box-shadow: 0 6px 18px rgba(0, 0, 0, 0.28);
 }

 .sidebar-cta h4 {
   color: var(--white);
   border: none;
 }

 .sidebar-cta .heart-sidebar-icon {
   font-size: 40px;
   margin-bottom: 14px;
   display: block;
 }

 /* ==========================================================================
   22. DONATION PAGE
   Multi-step donation form: step indicator, quick amount
   picker, frequency toggle and payment method selector.
========================================================================== */
 .donate-box {
   background: var(--primary-light);
   border-radius: var(--radius-lg);
   padding: 44px;
 }

 /* Step indicator for the multi-step donation form (e.g. Amount -> Details
   -> Payment). Add/remove ".active" on .donate-step to mark progress. */
 .donate-steps {
   display: flex;
   justify-content: space-between;
   margin-bottom: 40px;
   position: relative;
 }

 .donate-steps::before {
   content: "";
   position: absolute;
   top: 22px;
   left: 0;
   right: 0;
   height: 2px;
   background: var(--gray-300);
   z-index: 0;
 }

 .donate-step {
   text-align: center;
   position: relative;
   z-index: 1;
   flex: 1;
 }

 .donate-step .num {
   width: 46px;
   height: 46px;
   border-radius: 50%;
   background: var(--white);
   border: 2px solid var(--gray-300);
   color: var(--gray-500);
   display: flex;
   align-items: center;
   justify-content: center;
   margin: 0 auto 10px;
   font-family: var(--font-head);
   font-weight: 700;
   transition: var(--transition);
 }

 .donate-step.active .num {
   background: var(--primary);
   border-color: var(--primary);
   color: var(--white);
 }

 .donate-step span {
   font-size: 20px;
   font-weight: 600;
   color: var(--gray-500);
 }

 .donate-step.active span {
   color: var(--secondary);
 }

 .amount-grid {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 14px;
   margin-bottom: 24px;
 }

 .amount-opt {
   border: 2px solid var(--gray-300);
   border-radius: var(--radius-sm);
   padding: 18px 10px;
   text-align: center;
   font-family: var(--font-head);
   font-weight: 700;
   font-size: 18px;
   color: var(--secondary);
   cursor: pointer;
   transition: var(--transition);
 }

 .amount-opt:hover {
   border-color: var(--primary);
 }

 .amount-opt.active {
   border-color: var(--primary);
   background: var(--primary-light);
   color: var(--primary);
 }

 .freq-toggle {
   display: flex;
   background: var(--gray-100);
   border-radius: var(--radius-pill);
   padding: 6px;
   margin-bottom: 28px;
 }

 .freq-toggle button {
   flex: 1;
   border: none;
   background: transparent;
   padding: 12px;
   border-radius: var(--radius-pill);
   font-family: var(--font-head);
   font-weight: 600;
   font-size: 17px;
   color: var(--gray-500);
   transition: var(--transition);
 }

 .freq-toggle button.active {
   background: var(--primary);
   color: var(--white);
 }

 .payment-opt {
   border: 2px solid var(--gray-300);
   border-radius: var(--radius-sm);
   padding: 16px 18px;
   display: flex;
   align-items: center;
   gap: 14px;
   margin-bottom: 12px;
   cursor: pointer;
   transition: var(--transition);
 }

 .payment-opt.active {
   border-color: var(--primary);
   background: var(--primary-light);
 }

 .payment-opt img {
   height: 26px;
 }

 .donation-details h4 {
   font-size: 22px;
 }

 .form-check-input {
   margin-top: 0.45em;
 }

 .payment-opt-area .form-check-input {
   margin-top: 0.65em;
 }

 /* Radio button hover ba active state-er border shadow change korar jonno */
 .form-check-input:focus {
   border-color: var(--primary);
   box-shadow: 0 0 0 0.25rem rgba(242, 84, 45, 0.25);
   /* #F2542D er light shadow */
 }

 /* Radio button check hole background color change hobe */
 .form-check-input:checked {
   background-color: var(--primary);
   border-color: var(--primary);
 }

 .payment-opt-area i {
   color: var(--primary-dark);
   margin-left: 6px;
 }

 .donate-box.donation-details {
   border: 3px solid var(--white);
   box-shadow: 0 6px 18px rgba(0, 0, 0, 0.28);
 }

 .secure-icon {
   font-size: 44px;
   color: var(--white);
   width: 75px;
   height: 80px;
   background: var(--primary-dark);
   border-radius: var(--radius-md);
   align-items: center;
   display: flex;
   justify-content: center;
   margin: 0 auto;
   border: 3px solid var(--white);
   box-shadow: 0 6px 18px rgba(0, 0, 0, 0.28);
 }

 /* ==========================================================================
   23. FORMS / CONTACT
   Generic form-control styling with validation states, plus
   the contact info card and address cards used on Contact page.
========================================================================== */
 .form-control-custom {
   width: 100%;
   border: 1px solid var(--gray-300);
   border-radius: var(--radius-sm);
   padding: 15px 20px;
   font-size: 14.5px;
   background: var(--light);
   transition: var(--transition);
 }

 .form-control-custom:focus {
   outline: none;
   border-color: var(--primary);
   background: var(--white);
   box-shadow: inherit;
 }

 .form-label-custom {
   font-family: var(--font-head);
   font-weight: 600;
   font-size: 18px;
   color: var(--secondary-light);
   margin-bottom: 8px;
   display: block;
 }

 .was-validated .form-control-custom:invalid,
 .form-control-custom.is-invalid {
   border-color: #E5484D;
   background: #FFF4F4;
 }

 .was-validated .form-control-custom:valid,
 .form-control-custom.is-valid {
   border-color: var(--green);
 }

 .invalid-feedback-custom {
   color: #E5484D;
   font-size: 12.5px;
   margin-top: 6px;
   display: none;
 }

 .was-validated .form-control-custom:invalid~.invalid-feedback-custom {
   display: block;
 }

 .contact-info-card {
   background: var(--secondary);
   border-radius: var(--radius-lg);
   padding: 44px;
   color: var(--gray-300);
   height: 100%;
 }

 .contact-info-card h3 {
   color: var(--white);
 }

 .contact-info-item {
   display: flex;
   gap: 16px;
   margin-bottom: 26px;
 }

 .contact-info-item .ico {
   width: 52px;
   height: 52px;
   border-radius: 50%;
   background: rgba(255, 255, 255, .1);
   color: var(--accent);
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 20px;
   flex-shrink: 0;
 }

 .contact-info-item strong {
   display: block;
   color: var(--white);
   font-family: var(--font-head);
   font-size: 20px;
   line-height: 1.3;
 }

 .contact-info-item span,
 .contact-info-item a {
   font-size: 14px;
   color: rgba(255, 255, 255, .65);
 }

 .map-frame {
   border-radius: var(--radius-lg);
   overflow: hidden;
   filter: grayscale(.2);
 }

 .map-frame iframe {
   width: 100%;
   height: 420px;
   border: 0;
   display: block;
   border-radius: var(--radius-lg);
 }

 /* contact address */
 .contact-address-card {
   text-align: center;
   padding: 40px 26px;
   position: relative;
   border: 1px solid #102c5e;
   border-radius: var(--radius-md);
   transition: var(--transition);
 }

 .contact-address-card:hover {
   transform: translateY(-8px);
   box-shadow: var(--shadow-lg);
 }

 .contact-address-card:hover .contact-address-icon {
   transform: scale(1.1);
 }

 .contact-address-icon {
   width: 74px;
   height: 74px;
   border-radius: 50%;
   background: var(--primary-light);
   color: var(--primary);
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 30px;
   margin: 0 auto 24px;
   position: relative;
   transition: var(--transition);
 }

 .contact-address-icon::after {
   content: "";
   position: absolute;
   inset: -8px;
   border: 2px dashed #d89835;
   border-radius: 50%;
 }

 .contact-address-card p {
   color: #000d26;
 }

 .contact-address-card h3 {
   font-size: 20px;
   color: var(--secondary);
 }

 .contact-info-card.atf-cover-bg::before {
   border-radius: var(--radius-lg);
 }

 /* ==========================================================================
   24. FAQ
   Accordion-based FAQ list and the matching FAQ category tabs.
========================================================================== */
 .accordion-custom .accordion-item {
   border: 1px solid var(--gray-300);
   border-radius: var(--radius-sm) !important;
   margin-bottom: 16px;
   overflow: hidden;
 }

 .accordion-custom .accordion-button {
   font-family: var(--font-head);
   font-weight: 600;
   font-size: 20px;
   color: var(--secondary);
   padding: 20px 24px;
   background: var(--white);
   box-shadow: none !important;
 }

 .accordion-custom .accordion-button:not(.collapsed) {
   color: var(--primary);
   background: var(--primary-light);
 }

 .accordion-custom .accordion-button::after {
   background-image: none;
   content: "\f4fe";
   font-family: "bootstrap-icons";
   font-size: 16px;
   transition: var(--transition);
   width: auto;
   height: auto;
 }

 .accordion-custom .accordion-button:not(.collapsed)::after {
   content: "\f2ea";
   color: var(--primary);
 }

 .accordion-custom .accordion-body {
   padding: 15px 20px 20px;
   font-size: 16px;
   color: var(--gray-700);
 }

 .faq-tabs .nav-link {
   border: none;
   border-radius: 10px;
   padding: 12px 24px;
   font-family: var(--font-head);
   font-weight: 600;
   color: #000d26;
   margin-right: 8px;
   margin-bottom: 10px;
   background: #c37f2326;
 }

 .faq-tabs .nav-link.active {
   background: var(--primary);
   color: var(--white);
 }

 .faq-contact li {
   display: flex;
   gap: 12px;
   margin-bottom: 18px;
   font-size: 16px;
 }

 .faq-contact li i {
   color: var(--primary);
   font-size: 18px;
   margin-top: -2px;
 }

 /* ==========================================================================
   25. CAUSE DETAILS
   Donor list, tab navigation and share icons for the single
   cause details page.
========================================================================== */
 .donor-list-item {
   display: flex;
   align-items: center;
   gap: 14px;
   padding: 14px 0;
   border-bottom: 1px solid var(--gray-300);
 }

 .donor-list-item:last-child {
   border: none;
 }

 .donor-list-item img {
   width: 60px;
   height: 60px;
   border-radius: 50%;
   object-fit: cover;
 }

 .donor-list-item strong {
   display: block;
   color: var(--secondary);
   font-family: var(--font-head);
   font-size: 18px;
   line-height: 1.2;
 }

 .donor-list-item span {
   font-size: 13px;
   color: var(--gray-500);
 }

 .donor-list-item .amt {
   margin-left: auto;
   font-family: var(--font-head);
   font-weight: 700;
   color: var(--primary);
 }

 .nav-tabs-custom {
   border: none;
   gap: 8px;
   margin-bottom: 30px;
 }

 .nav-tabs-custom .nav-link {
   border: 1px solid var(--gray-300);
   border-radius: var(--radius-pill);
   padding: 12px 26px;
   font-family: var(--font-head);
   font-weight: 600;
   color: var(--secondary);
 }

 .nav-tabs-custom .nav-link.active {
   background: var(--primary);
   border-color: var(--primary);
   color: var(--white);
 }

 .share-icons a {
   width: 40px;
   height: 40px;
   border-radius: 50%;
   background: var(--gray-100);
   display: inline-flex;
   align-items: center;
   justify-content: center;
   margin-right: 8px;
   color: var(--secondary);
 }

 .share-icons a:hover {
   background: var(--primary);
   color: var(--white);
 }

 .share-icons.event-details-share-icon a {
   background: rgba(255, 255, 255, .15);
   color: #fff;
   transition: var(--transition);
 }

 .share-icons.event-details-share-icon a:hover {
   background: var(--white);
   color: var(--primary);
 }

 /* ==========================================================================
   26. VOLUNTEER PAGE
   Volunteer profile cards used on the Volunteers listing page.
========================================================================== */
 .volunteer-card {
   text-align: center;
   background: #000d2678;
   border-radius: var(--radius-md);
   padding: 20px;
   transition: var(--transition);
   border: 3px solid #c37f23;
   box-shadow: 0 6px 6px rgb(195 127 35);
 }

 .volunteer-card h3 {
   font-size: 18px;
   color: white;
 }


 .volunteer-card span {
   color: white;
 }

 .volunteer-card:hover {
   box-shadow: var(--shadow-lg);
   transform: translateY(-8px);
 }

 .volunteer-card img {
   /* width: 130px;
   height: 130px; */
   border-radius: 50%;
   object-fit: cover;
   margin: 0 auto 20px;
   border: 5px solid var(--primary-light);
   padding: 5px;
   box-shadow: var(--shadow-lg);
 }

 .about-img-group h3 {
   margin-bottom: 4px;
   font-size: 18px;
   margin: 0;
   text-align: center;
   margin-top: 10px;
 }

 .about-img-group {
   text-align: center;
 }

 .about-img-group span {
   color: #c37f23;
   font-weight: 600;
   font-size: 16px;
 }

 .volunteer-card .social-mini {
   display: flex;
   justify-content: center;
   gap: 8px;
   margin-top: 16px;
 }

 .volunteer-card .social-mini a {
   width: 40px;
   height: 40px;
   border-radius: 50%;
   background: var(--white);
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 14px;
 }

 .volunteer-card .social-mini a:hover {
   background: var(--primary);
   color: var(--white);
 }

 .donate-box.volunteer-box {
   border: 3px solid var(--white);
   box-shadow: 0 6px 18px rgba(0, 0, 0, 0.28);
 }

 /* ==========================================================================
   22. Gallery ---------------------------------------------------------
========================================================================== */

 /* Main gallery card */
 .gallery-card {
   border-radius: var(--radius-md);
   overflow: hidden;
   margin-bottom: 26px;
 }

 /* Image container wrapper */
 .gallery-card__image-wrapper {
   position: relative;
   aspect-ratio: 4/6;
   overflow: hidden;
 }

 .gallery-card__image-wrapper.gallery_two {
   aspect-ratio: inherit;
 }

 .gallery-card__image.gallery_two_img {
   height: 400px;
   max-height: 100%;
 }

 @media only screen and (max-width:991px) {
   .gallery-card__image.gallery_two_img {
     height: 100%;
     max-height: 100%;
   }

   .gallery-card__image-wrapper.gallery_two {
     aspect-ratio: 4/6 ! important;
   }
 }

 /* Gallery image and its hover animation */
 .gallery-card__image {
   width: 100%;
   height: 100%;
   object-fit: cover;
   transition: transform .6s cubic-bezier(.4, 0, .2, 1);
   border: 4px solid var(--white);
   box-shadow: 0 6px 18px rgba(0, 0, 0, 0.28);
   border-radius: var(--radius-md);
 }

 .gallery-card:hover .gallery-card__image {
   transform: scale(1.1);
 }

 /* Gallery overlay (dark blue shadow gradient from bottom) */
 .gallery-card__overlay {
   position: absolute;
   inset: 0;
   background: linear-gradient(0deg, rgba(11, 27, 51, .9), transparent 60%);
   display: flex;
   flex-direction: column;
   justify-content: flex-end;
   padding: 22px;
   opacity: 0;
   transition: var(--transition);
 }

 .gallery-card:hover .gallery-card__overlay {
   opacity: 1;
 }

 /* Category or tag inside the overlay */
 .gallery-card__tag {
   color: var(--accent);
   font-size: .78rem;
   text-transform: uppercase;
   letter-spacing: .04em;
   margin-bottom: 4px;
 }

 /* Title inside the overlay */
 .gallery-card__title {
   font-family: var(--font-head);
   font-weight: 600;
   font-size: 18px;
 }

 .gallery-card__title a {
   color: var(--white);
   text-decoration: none;
 }

 /* Lightbox zoom search icon */
 .gallery-card__zoom-icon {
   position: absolute;
   top: 18px;
   right: 18px;
   width: 55px;
   height: 55px;
   border-radius: 50%;
   background: var(--white);
   color: var(--primary);
   display: flex;
   align-items: center;
   justify-content: center;
   opacity: 0;
   transform: translateY(-8px);
   transition: var(--transition);
   z-index: 2;
 }

 .gallery-card__zoom-icon:hover {
   background: var(--primary);
   color: var(--white);
 }

 .gallery-card:hover .gallery-card__zoom-icon {
   opacity: 1;
   transform: translateY(0);
 }

 /* ==========================================================================
   27. 404 PAGE
   Large stylised error number for the 404 / not-found page.
========================================================================== */
 .error-page {
   text-align: center;
 }

 .error-num {
   font-family: var(--font-head);
   font-weight: 800;
   font-size: 180px;
   line-height: 0.7;
   color: var(--primary-light);
   position: relative;
 }

 .error-num span {
   color: var(--primary);
 }

 @media(max-width:767px) {
   .error-num {
     font-size: 100px;
   }
 }

 /* --------------------------------------------------------------------------
   Coming Soon Page
   Countdown + email-capture layout for the 'Coming Soon' page.
-------------------------------------------------------------------------- */
 .newsletter-form.v2 {
   max-width: 100%;
 }

 .comingsoon-details-social a {
   width: 50px;
   height: 50px;
   font-size: 16px;
   line-height: 50px;
   text-align: center;
   border-radius: 50%;
   margin-right: 10px;
   color: var(--primary-dark);
   background: var(--light);
   -webkit-transition: all 0.3s ease-out;
   -moz-transition: all 0.3s ease-out;
   -ms-transition: all 0.3s ease-out;
   -o-transition: all 0.3s ease-out;
   transition: all 0.3s ease-out;
   border: 1px solid var(--border);
 }

 .comingsoon-details-social a:hover {
   color: var(--white);
   background: var(--primary);
 }

 .coming-mailchamp {
   display: flex;
   gap: 0;
   background: var(--white);
   border-radius: var(--radius-pill);
   padding: 6px;
 }

 @media only screen and (max-width:767px) {

   .atf-error-title-box .title,
   .atf-coming-title-box .title {
     font-size: 28px;
   }
 }

 /* ==========================================================================
   28. PAGINATION
   Circular numbered pagination controls.
========================================================================== */
 .pagination-custom {
   display: flex;
   gap: 10px;
   justify-content: center;
 }

 .pagination-custom a {
   width: 48px;
   height: 48px;
   border-radius: 50%;
   border: 1px solid var(--gray-300);
   display: flex;
   align-items: center;
   justify-content: center;
   font-family: var(--font-head);
   font-weight: 600;
   color: var(--secondary);
 }

 .pagination-custom a.active,
 .pagination-custom a:hover {
   background: var(--primary);
   border-color: var(--primary);
   color: var(--white);
 }

 /* ==========================================================================
   29. BLOG DETAILS
   Single blog post layout: featured image, block-quote style,
   author box and comment thread (with nested replies).
========================================================================== */
 .blog-details-img {
   border-radius: var(--radius-lg);
   margin-bottom: 34px;
 }

 .article-body blockquote {
   background: var(--primary-light);
   border-left: 4px solid var(--primary);
   border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
   padding: 26px 30px;
   font-family: var(--font-head);
   font-weight: 600;
   font-size: 19px;
   color: var(--secondary);
   margin: 30px 0;
 }

 .article-body img {
   object-fit: cover;
   height: 420px;
 }

 .article-body .blog-details-img-2 {
   object-fit: cover;
   height: 300px;
 }

 .author-box {
   display: flex;
   gap: 20px;
   background: var(--primary-light);
   border-radius: var(--radius-md);
   padding: 28px;
   margin-top: 40px;
   align-items: center;
   border: 3px solid var(--white);
   box-shadow: 0 6px 18px rgba(0, 0, 0, 0.28);
 }

 .author-box h4 {
   font-size: 20px;
 }

 .author-box img {
   width: 120px;
   height: 120px;
   border-radius: 50%;
   object-fit: cover;
   flex-shrink: 0;
   border: 3px solid var(--white);
   box-shadow: 0 6px 18px rgba(0, 0, 0, 0.28);
 }

 .comment-item {
   display: flex;
   gap: 18px;
   margin-bottom: 38px;
 }

 .comment-item img {
   width: 90px;
   height: 90px;
   border-radius: 50%;
   object-fit: cover;
   flex-shrink: 0;
   border: 3px solid var(--white);
   box-shadow: 0 6px 18px rgba(0, 0, 0, 0.28);
 }

 .comment-item .reply-btn {
   font-size: 14px;
   font-weight: 700;
   color: var(--primary);
 }

 .comment-item.reply {
   margin-left: 80px;
 }

 .comment-item strong {
   font-size: 20px;
   font-weight: 600;
   color: var(--secondary);
   font-family: var(--font-head);
   line-height: 1.1;
 }

 .comment-form.mt-50 {
   background: var(--primary-light);
   padding: 40px 45px;
   border-radius: var(--radius-md);
   border: 3px solid var(--white);
   box-shadow: 0 6px 18px rgba(0, 0, 0, 0.28);
 }

 .atf-contact-form label {
   font-family: var(--font-head);
   font-weight: 600;
   font-size: 18px;
   color: var(--secondary-light);
   margin-bottom: 8px;
   display: block;
 }

 .atf-contact-form .atf_contact_input input,
 .atf-contact-form .atf_contact_input textarea {
   border-radius: var(--radius-md);
   border: 1px solid rgba(0, 0, 0, 0.1);
   transition: all 0.3s ease-in-out 0s;
   margin: 5px 0;
   padding-left: 20px;
 }

 .atf-contact-form .atf_contact_input input:focus,
 .atf-contact-form .atf_contact_input textarea:focus {
   box-shadow: none;
   border: 1px solid var(--primary);
 }

 .atf-contact-form .atf_contact_input textarea {
   height: 120px;
   width: 100%;
   padding-top: 15px;
   outline: none;
 }

 .atf_contact_input .nice-select::after {
   right: 20px;
 }

 .atf_contact_input .nice-select {
   height: 55px;
   line-height: 55px;
   border-radius: 10px;
   border: 1px solid var(--border);
   color: var(--gray-700);
   float: none;
   padding: 0 20px;
   font-size: 16px;
   margin: 14px 0;
   background: var(--white);
 }

 .atf_contact_input .nice-select.open .list {
   width: 100%;
 }

 /* ==========================================================================
   30. REVEAL ANIMATION BASE STATES (GSAP CONTROLLED)
   Starting (hidden) states for scroll-reveal animations.
   Actual animation/trigger logic lives in the JS (GSAP).
========================================================================== */
 /* These only define the HIDDEN starting state. The actual reveal
   (opacity/transform to 0 / none) is triggered from JS via GSAP
   ScrollTrigger when each element scrolls into view. */
 .reveal-up {
   /* opacity: 0; */
   transform: translateY(50px);
 }

 .reveal-fade {
   /* opacity: 0; */
 }

 .reveal-left {
   /* opacity: 0; */
   transform: translateX(-60px);
 }

 .reveal-right {
   /* opacity: 0; */
   transform: translateX(60px);
 }

 .reveal-scale {
   /* opacity: 0; */
   transform: scale(.85);
 }


 /* ==========================================================================
   31. UTILITY
   Small helper classes and global selection/scrollbar styling.
========================================================================== */
 .rounded-lg-custom {
   border-radius: var(--radius-lg) !important;
 }

 .divider-dot {
   width: 6px;
   height: 6px;
   border-radius: 50%;
   background: var(--primary);
   display: inline-block;
 }

 .object-cover {
   object-fit: cover;
 }

 ::selection {
   background: var(--primary);
   color: var(--white);
 }

 /* Scrollbar */
 ::-webkit-scrollbar {
   width: 10px;
 }

 ::-webkit-scrollbar-track {
   background: var(--gray-100);
 }

 ::-webkit-scrollbar-thumb {
   background: var(--primary);
   border-radius: 10px;
 }

 /* --------------------------------------------------------------------------
   Slick Slider — Shared Arrow & Dot Styles
   Global next/prev arrow and pagination-dot styling reused
   by every Slick carousel in the template.
-------------------------------------------------------------------------- */
 .slick-arrow-2 .slick-arrow {
   cursor: pointer;
   position: absolute;
   top: -120px;
   height: 60px;
   width: 60px;
   line-height: 58px;
   display: block;
   left: auto;
   right: 100px;
   border: 1px solid;
   text-align: center;
   -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
   box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
   border-radius: 50%;
 }

 .slick-arrow-2 .slick-arrow:hover {
   background-color: var(--primary);
   border-color: var(--primary);
   color: var(--white) !important;
 }

 .slick-arrow-2 .slick-next {
   right: 15px;
   background-color: var(--white);
   border-color: #c37f23;
   color: #c37f23 !important;
 }

 .slick-arrow-2 .slick-prev {
   background-color: #c37f23;
   border-color: #c37f23;
   color: var(--white) !important;
 }

 /* slick-arrow */
 .slick-arrow {
   cursor: pointer;
   z-index: 3;
 }

 /* slick-arrow-1 */
 .slick-arrow-1 .slick-arrow {
   background-color: var(--white);
   cursor: pointer;
   position: absolute;
   top: 50%;
   left: 15px;
   right: auto;
   -webkit-transform: translateY(-50%);
   -ms-transform: translateY(-50%);
   transform: translateY(-50%);
   width: 50px;
   height: 50px;
   line-height: 48px;
   display: block;
   border: 1px solid var(--primary);
   border-radius: 50%;
   text-align: center;
   transition: all 0.5s ease-in-out 0s;
   font-size: 20px;
   color: var(--primary) !important;
   z-index: 1;
   opacity: 0;
   visibility: visible;
 }

 .slick-arrow-1 .slick-arrow:hover {
   background-color: var(--primary);
   border-color: var(--primary);
   color: var(--white) !important;
 }

 .slick-arrow-1 .slick-next {
   right: 15px;
   left: auto;
 }

 .slick-arrow-1:hover .slick-arrow {
   opacity: 1;
   visibility: visible;
 }

 .slick-arrow-1-inner.slick-arrow-1:hover .slick-arrow {
   left: 50px;
   right: auto;
 }

 .slick-arrow-1-inner.slick-arrow-1:hover .slick-next {
   right: 50px;
   left: auto;
 }

 @media (min-width: 1350px) {
   .slick-arrow-1:hover .slick-arrow {
     left: -50px;
     right: auto;
   }

   .slick-arrow-1:hover .slick-next {
     right: -50px;
     left: auto;
   }
 }

 /* -----------------------------------
    Slick Slider Dots, Arrow
--------------------------------------*/
 /* Slick dots */
 .slick-dots {
   margin: 30px 0 0px;
   padding: 0;
   display: block;
   text-align: center;
   line-height: 1;
 }

 .slick-dots li {
   display: inline-block;
   list-style: none;
   display: inline-block;
   font-size: 0;
   height: 10px;
   width: 10px;
   border-radius: 100%;
   margin-right: 10px;
   background-color: var(--primary);
   cursor: pointer;
   margin-top: 0;
   -webkit-transition: all 0.3s ease 0s;
   -o-transition: all 0.3s ease 0s;
   transition: all 0.3s ease 0s;
 }

 .slick-dots li button {
   display: none;
 }

 .slick-dots li:hover,
 .slick-dots li.slick-active {
   background-color: var(--primary);
   height: 10px;
   width: 30px;
   margin-bottom: 0px;
   border-radius: 6px;
 }

 /* --------------------------------------------------------------------------
   Slick Slider — End
-------------------------------------------------------------------------- */

 .sec-title.anime-style-3 {
   position: relative;
   display: inline-block;
   padding-bottom: 18px;
   margin-bottom: 25px;
 }

 /* Bottom Line */
 .sec-title.anime-style-3::after {
   content: "";
   position: absolute;
   left: 0;
   bottom: 0;

   width: 100%;
   height: 3px;

   background: #c37f23;
 }

 /* ================================
   PRICING CONTAINER
================================ */

 .package-container {
   width: 100%;
   display: flex;
   justify-content: center;
   align-items: stretch;
   gap: 25px;
   flex-wrap: wrap;
   padding: 30px 15px;
   box-sizing: border-box;
 }


 /* ================================
   PRICING CARD
================================ */

 .packages {
   position: relative;
   width: 320px;
   min-height: 330px;
   padding: 30px 12px 30px;
   box-sizing: border-box;
   display: flex;
   flex-direction: column;
   align-items: center;
   text-align: center;
   color: #fff;
   background: #102c5e;

   border-radius: 24px;
   overflow: hidden;
   transition: transform 0.4s ease, box-shadow 0.4s ease, border-color 0.4s ease;
   border: 3px solid #c37f23;
   box-shadow: 0 6px 18px rgb(195 127 35);
 }


 /* Top Gradient Line */

 .packages::before {
   content: "";
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 4px;
   background: linear-gradient(90deg, #c28026, #c0812b)
 }


 /* Hover */

 .packages:hover {
   transform: translateY(-12px);

   box-shadow:
     0 25px 60px rgba(0, 0, 0, 0.4);

   border-color: rgba(255, 255, 255, 0.2);
 }


 /* ================================
   PLAN HEADER
================================ */

 .plan-header {
   width: 100%;
 }

 .plan-badge {
   display: inline-block;

   padding: 6px 14px;

   margin-bottom: 12px;

   font-size: 11px;
   font-weight: 700;
   letter-spacing: 1.5px;

   color: #00cc99;

   background: rgba(0, 204, 153, 0.1);

   border: 1px solid rgba(0, 204, 153, 0.25);

   border-radius: 50px;
 }


 .plan-header h1 {
   margin: 5px 0;
   font-size: 24px;
   font-weight: 600;
   color: #ffffff;
 }


 .plan-header p {
   margin: 8px 0 0;

   font-size: 14px;

   color: #9ca3af;
 }


 /* ================================
   PRICE
================================ */

 .price-box {
   margin: 15px 0 15px;
 }


 .price-box h2 {
   margin: 0;
   font-size: 26px;
   font-weight: 600;
   color: #ffffff;
 }

 .price-box h5 {
   margin: 0;
   font-size: 18px;
   font-weight: 600;
   color: #ffffff;
 }


 .price-box h2 small {
   font-size: 14px;
   font-weight: 400;

   color: #9ca3af;
 }


 .text2 {
   display: none;
 }


 /* ================================
   FEATURE LIST
================================ */

 .list {
   width: 100%;

   margin: 20px 0 20px;
   padding: 0;

   list-style: none;
 }


 .list li {
   display: flex;
   align-items: center;
   gap: 12px;
   padding: 14px 5px;
   font-size: 18px;
   color: #ffffff;
   border-bottom: 1px solid rgb(195 127 35);
   text-align: left;
   justify-content: center;
   text-align: center;
 }


 .list li:first-child {
   border-top: 1px solid rgb(195 127 35);
 }


 .list li i {
   display: flex;
   align-items: center;
   justify-content: center;

   min-width: 22px;
   height: 22px;
   font-size: 12px;
   color: #ffffff;
   background: rgb(195 127 35);
   border-radius: 50%;
 }


 /* ================================
   BUTTON
================================ */



 .button:hover {
   color: #fff;

   transform: translateY(-3px);
 }


 .button:hover i {
   transform: translateX(5px);
 }


 /* ================================
   TABLET
================================ */

 @media (max-width: 991px) {

   .package-container {
     gap: 20px;
   }

   .packages {
     width: 300px;
     min-height: 370px;
     padding: 30px 22px;
   }

   .plan-header h1 {
     font-size: 29px;
   }

   .price-box h2 {
     font-size: 26px;
   }

 }


 /* ================================
   MOBILE
================================ */

 @media (max-width: 767px) {

   .package-container {
     flex-direction: column;
     align-items: center;

     gap: 20px;

     padding: 20px 15px;
   }

   .packages {
     width: 100%;
     max-width: 380px;

     min-height: auto;

     padding: 30px 22px;
   }

   .packages:hover {
     transform: translateY(-5px);
   }

   .plan-header h1 {
     font-size: 28px;
   }

   .price-box {
     margin: 25px 0 10px;
   }

   .price-box h2 {
     font-size: 26px;
   }

   .list li {
     font-size: 14px;
     padding: 13px 3px;
   }

 }


 /* ================================
   SMALL MOBILE
================================ */

 @media (max-width: 400px) {

   .package-container {
     padding: 15px 10px;
   }

   .packages {
     max-width: 100%;

     padding: 25px 18px;

     border-radius: 20px;
   }

   .plan-header h1 {
     font-size: 25px;
   }

   .price-box h2 {
     font-size: 26px;
   }

   .list li {
     font-size: 13px;
   }

 }

 .atf-cover-bg {
   background-image: linear-gradient(#102c5e, #00062a26), url(../img/banner/02.jpg.jpeg);
   background-position: center;
   background-size: cover;
 }