/*-----------------------------------------------------------------------------------

[Table of contents]

1. Font
2. Css Variable for colors
3. Common CSS
4. Preloader CSS
5. Header - Main Navigation ( section )
6. Hero Slider ( section )
7. Trusted Logo Slider ( section )
8. Features ( section )
9. About us ( section )
10. Modern UI ( section )
11. How it works ( section )
12. Testimonials ( section )
13. Pricing ( section )
14. Faq ( section )
15. Interface ( section )
16. Download app ( section )
17. Latest story ( section )
18. Newsletter ( section )
19. Footer ( section )
20. Animation CSS ( section )


-----------------------------------------------------------------------------------*/
/* --------Font--------------- */
/* Almarai - Arabic */

/* almarai-300 */
@font-face {
    font-family: 'Almarai';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url('../fonts/Almarai/Almarai-Light.ttf') format('truetype');
}

/* almarai-regular */
@font-face {
    font-family: 'Almarai';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/Almarai/Almarai-Regular.ttf') format('truetype');
}

/* almarai-700 */
@font-face {
    font-family: 'Almarai';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('../fonts/Almarai/Almarai-Bold.ttf') format('truetype');
}

/* almarai-800 */
@font-face {
    font-family: 'Almarai';
    font-style: normal;
    font-weight: 800;
    font-display: swap;
    src: url('../fonts/Almarai/Almarai-ExtraBold.ttf') format('truetype');
}

/* -----------Css-variable------ */

:root {
    --light-blue: #F2F7FA;
    /* خلفية فاتحة مائلة للأزرق */

    --main-blue-1: #0B72B5;
    /* الأزرق الأساسي في الهوية */

    --main-blue: #0B72B5;
    /* اللون الرئيسي */

    --bg-dark-blue: #08405E;
    /* خلفية رئيسية داكنة */

    --dark-blue: #08405E;
    /* أزرق كحلي غامق */

    --body-text-blue: #173B4A;
    /* لون النصوص */

    --text-white: #ffffff;
    /* أبيض */

    --bg-white: #ffffff;

    --slider-dots-color: #AFC7D6;
    /* نقاط السلايدر */

    --light-bg: #F2F7FA;
    /* خلفية عامة فاتحة */

    --dark-footer-blue: #08405E;
    --medium-blue: #0A6FA8;

    --main-blue-gradient: linear-gradient(135deg,
            rgba(8, 64, 94, 0.96) 0%,
            rgba(11, 114, 181, 0.92) 50%,
            rgba(10, 111, 168, 0.86) 100%);

    --box-shadow-1: rgba(11, 114, 181, 0.10);
    --box-shadow-2: rgba(8, 64, 94, 0.16);
    --box-shadow-3: rgba(8, 64, 94, 0.20);
    --box-shadow-4: rgba(0, 0, 0, 0.33);

    --border-color: rgba(8, 64, 94, 0.14);
    --border-color-2: #AFC7D6;
}


/* -------- Dark Theme Variables -------- */
body.dark_theme {
    --light-blue: #071b25;

    --main-blue-1: #0B72B5;
    --main-blue: #0B72B5;

    --bg-dark-blue: #03131c;
    --dark-blue: #f5fbff;
    --body-text-blue: #c8d9e2;

    --text-white: #ffffff;
    --bg-white: #0d2633;

    --slider-dots-color: #4f6c7b;
    --light-bg: #0a202b;

    --dark-footer-blue: #03131c;
    --medium-blue: #08405E;

    --main-blue-gradient: linear-gradient(135deg,
            rgba(3, 19, 28, 0.98) 0%,
            rgba(8, 64, 94, 0.96) 50%,
            rgba(11, 114, 181, 0.82) 100%);

    --box-shadow-1: rgba(0, 0, 0, 0.2);
    --box-shadow-2: rgba(0, 0, 0, 0.25);
    --box-shadow-3: rgba(0, 0, 0, 0.3);
    --box-shadow-4: rgba(0, 0, 0, 0.5);

    --border-color: rgba(255, 255, 255, 0.10);
    --border-color-2: rgba(255, 255, 255, 0.14);
}


/* ------Common-Css------------- */

/* Theme transition for all elements */
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
div,
span,
ul,
li,
section,
header,
footer,
button,
input,
textarea {
    transition: background-color 0.4s ease, border-color 0.4s ease, box-shadow 0.4s ease, color 0.4s ease;
}


html {
    scroll-behavior: smooth
}

body {
    margin: 0;
    transition: background-color 0.4s ease, color 0.4s ease;
    padding: 0;
    box-sizing: border-box;
    font-size: 16px;
    line-height: 1.7;
    color: var(--body-text-blue);
    background-color: var(--light-blue);
    font-family: 'Almarai', sans-serif;
}

.page_wrapper {
    width: 100%;
    overflow-x: hidden;
}

a {
    text-decoration: none;
    color: var(--body-text-blue);
    transition: all 0.4s ease;
}

a:hover {
    text-decoration: none;
    color: var(--body-text-blue);
}

ul,
li {
    padding: 0;
    list-style-type: none;
    margin: 0;
}

button:focus,
.btn.focus,
.btn:focus {
    outline: none;
    box-shadow: none;
}

@media screen and (min-width:1200px) {
    .container {
        max-width: 1170px;
    }
}

.section_title {
    text-align: center;
}

/* section heading h2 */
.section_title h2 {
    font-size: 40px;
    font-weight: 700;
    color: var(--dark-blue);
}

.section_title h2 span {
    color: var(--main-blue);
}

.row_am {
    padding: 50px 0;
}

/* purple button */
.blue_btn {
    background-color: var(--main-blue);
    color: var(--text-white);
    border-radius: 50px;
    padding: 10px 40px;
    position: relative;
    overflow: hidden;
    z-index: 1;
    font-weight: 500;
}

.blue_btn::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 0%;
    height: 100%;
    background-color: var(--bg-white);
    border-radius: 50px;
    transition: .6s all;
    z-index: -1;
}

.blue_btn:hover::before {
    width: 100%;
}

.blue_btn:hover {
    color: var(--main-blue);
}

/* white button */
.white_btn {
    padding: 10px 45px;
    border: 1px solid var(--main-blue);
    color: var(--main-blue);
    border-radius: 50px;
    background-color: var(--bg-white);
    font-weight: 700;
    position: relative;
    z-index: 1;
    overflow: hidden;
    font-weight: 500;
}

.white_btn::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 0%;
    height: 100%;
    background-color: var(--bg-dark-blue);
    border-radius: 50px;
    transition: .6s all;
    z-index: -1;
}

.white_btn:hover::before {
    width: 110%;
}

.white_btn:hover {
    color: var(--text-white);
}

.highlited_block .white_btn:hover {
    border-color: var(--bg-white);
}

/* slider controls */
.owl-carousel .owl-dots {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    margin-top: 20px;
}

.owl-carousel .owl-dots button {
    display: block;
    width: 15px;
    height: 15px;
    background-color: var(--slider-dots-color);
    border-radius: 15px;
    margin: 0 5px;
}

.owl-carousel .owl-dots button.active {
    background-color: var(--main-blue);
}

/* -------------Preloader-Css-Start-------------- */

/* Preloader */
#preloader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.9);
    z-index: 999999;
}

#loader {
    display: block;
    position: relative;
    left: 50%;
    top: 50%;
    width: 150px;
    height: 150px;
    margin: -75px 0 0 -75px;
    border-radius: 50%;
    border: 3px solid transparent;
    border-top-color: var(--bg-dark-blue);
    -webkit-animation: spin 2s linear infinite;
    animation: spin 2s linear infinite;
}

#loader:before {
    content: "";
    position: absolute;
    top: 5px;
    left: 5px;
    right: 5px;
    bottom: 5px;
    border-radius: 50%;
    border: 3px solid transparent;
    border-top-color: var(--body-text-blue);
    -webkit-animation: spin 3s linear infinite;
    animation: spin 3s linear infinite;
}

#loader:after {
    content: "";
    position: absolute;
    top: 15px;
    left: 15px;
    right: 15px;
    bottom: 15px;
    border-radius: 50%;
    border: 3px solid transparent;
    border-top-color: var(--dark-blue);
    -webkit-animation: spin 1.5s linear infinite;
    animation: spin 1.5s linear infinite;
}

@-webkit-keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}




/* -----------Header-Css-Start------------------- */
/* header wraper */
header {
    position: absolute;
    width: 100%;
    z-index: 99999;
    transition: .4s all;
}

header.fix_style {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;

    backdrop-filter: blur(5px);
    background-color: var(--light-blue);
    padding: 8px 0;

    opacity: 0;
    visibility: hidden;
    pointer-events: none;

    transform: translate3d(0, -100%, 0);
    z-index: 99999;
}

header.fixed {
    opacity: 1;
    visibility: visible;
    pointer-events: all;

    transform: translate3d(0, 0, 0);
    animation: fadeInDownHeader 0.85s ease both;
}

@keyframes fadeInDownHeader {
    0% {
        opacity: 0;
        transform: translate3d(0, -100%, 0);
    }

    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

header.fixed .navbar {
    padding: 0;
}

header.fix_style .navbar-expand-lg .navbar-nav .nav-link,
header.fixed .navbar-expand-lg .navbar-nav .nav-link {
    color: var(--dark-blue);
}

header.fix_style .navbar-expand-lg .navbar-nav .nav-link:hover,
header.fixed .navbar-expand-lg .navbar-nav .nav-link:hover {
    color: var(--main-blue);
}

header.fixed .navbar-expand-lg .navbar-nav .nav-link.dark_btn,
header.fix_style .navbar-expand-lg .navbar-nav .nav-link.dark_btn {
    color: var(--text-white);
    background-color: var(--main-blue);
    border-color: var(--main-blue);
}

header.fixed .navbar-expand-lg .navbar-nav .nav-link.dark_btn:hover,
header.fix_style .navbar-expand-lg .navbar-nav .nav-link.dark_btn:hover {
    color: var(--main-blue);
    background-color: transparent;
    border-color: var(--main-blue);
}



/* navigation bar */
.navbar {
    padding-left: 0;
    padding-right: 0;
    padding-top: 20px;
    padding-bottom: 8px;
}

.navbar-expand-lg .navbar-nav {
    align-items: center;
}

.navbar-expand-lg .navbar-nav .nav-link {
    padding: 5px 20px;
    font-weight: 500;
    color: var(--text-white);
}

.navbar-expand-lg .navbar-nav .nav-link2 {
    padding: 5px 20px;
    font-weight: 500;
    color: var(--dark-blue);
}


.navbar-expand-lg .navbar-nav .nav-link:hover {
    color: var(--text-white);
}

.navbar-expand-lg .navbar-nav .nav-link.dark_btn {
    color: var(--text-white);
    background-color: var(--main-blue);
    font-size: 16px;
    padding: 9px 40px;
    border-radius: 25px;
    margin-left: 20px;
    position: relative;
    border: 1px solid var(--main-blue);
}

.navbar-expand-lg .navbar-nav .nav-link.dark_btn:hover {
    color: var(--main-blue);
    background-color: transparent;
    border-color: var(--main-blue);
}


.navbar-expand-lg .navbar-nav .nav-link.dark_btn::before,
.navbar-expand-lg .navbar-nav .nav-link.dark_btn::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 42px;
    z-index: -1;
}

.navbar-expand-lg .navbar-nav .nav-link.dark_btn::before {
    animation: pulse-blue-medium-sm 3.5s infinite
}

.navbar-expand-lg .navbar-nav .nav-link.dark_btn::after {
    animation: pulse-blue-small-sm 3.5s infinite
}

.navbar-brand img {
    width: 75px;
}

/* navigation bar dropdown */
.navbar-expand-lg .navbar-nav .has_dropdown {
    display: flex;
    align-items: center;
    position: relative;
    border-radius: 10px 10px 0 0;
    transition: .4s all;
}

.navbar-expand-lg .navbar-nav .has_dropdown:hover {
    background-color: var(--bg-white);
    box-shadow: 0px 4px 10px var(--box-shadow-2);
}

.navbar-expand-lg .navbar-nav .nav-link:hover {
    color: var(--main-blue);
}

.navbar-expand-lg .navbar-nav .has_dropdown .drp_btn {
    position: static;
    margin-inline-start: -8px;
    color: var(--dark-blue);
}

.navbar-expand-lg .navbar-nav .has_dropdown .sub_menu {
    position: absolute;
    top: 100%;
    background-color: var(--bg-white);
    border: 1px solid rgba(9, 113, 183, 0.12);
    border-radius: 0 10px 10px 10px;
    min-width: 210px;
    max-width: 230px;
    margin-top: -10px;
    transition: .4s all;
    opacity: 0;
    pointer-events: none;
    box-shadow: 0px 4px 10px var(--box-shadow-2);
}

.navbar-expand-lg .navbar-nav .has_dropdown .sub_menu ul {
    margin-left: 0;
    padding: 10px 20px;
}

.navbar-expand-lg .navbar-nav .has_dropdown .sub_menu ul li a {
    font-size: 15px;
    position: relative;
    transition: .4s all;
    line-height: 35px;
    font-weight: 500;
}

.navbar-expand-lg .navbar-nav .has_dropdown .sub_menu ul li a::before {
    content: "";
    width: 10px;
    height: 10px;
    display: inline-block;
    border: 2px solid var(--main-blue);
    border-radius: 10px;
    margin-right: 5px;
    position: absolute;
    left: -10px;
    top: 50%;
    transform: translateY(-50%);
    opacity: 0;
    transition: .4s all;
}

.navbar-expand-lg .navbar-nav .has_dropdown .sub_menu ul li a:hover {
    padding-left: 15px;
    color: var(--main-blue);
}

.navbar-expand-lg .navbar-nav .has_dropdown .sub_menu ul li a:hover::before {
    opacity: 1;
    left: 0;
}

.navbar-expand-lg .navbar-nav .has_dropdown:hover>a,
.navbar-expand-lg .navbar-nav .has_dropdown:hover>.drp_btn {
    color: var(--main-blue);
}

.navbar-expand-lg .navbar-nav .has_dropdown:hover .sub_menu {
    opacity: 1;
    pointer-events: all;
    margin-top: -1px;
}


/* navigation toggle menu */
.toggle-wrap {
    padding: 10px;
    position: relative;
    cursor: pointer;

    /*disable selection*/
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.toggle-bar,
.toggle-bar::before,
.toggle-bar::after,
.toggle-wrap.active .toggle-bar,
.toggle-wrap.active .toggle-bar::before,
.toggle-wrap.active .toggle-bar::after {
    -webkit-transition: all .2s ease-in-out;
    -moz-transition: all .2s ease-in-out;
    -o-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
}

.toggle-bar {
    width: 25px;
    margin: 10px 0;
    position: relative;
    border-top: 4px solid var(--bg-white);
    display: block;
}

.toggle-bar::before,
.toggle-bar::after {
    content: "";
    display: block;
    background: var(--bg-white);
    height: 4px;
    width: 30px;
    position: absolute;
    top: -12px;
    right: 0px;
    -ms-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
    -ms-transform-origin: 13%;
    -webkit-transform-origin: 13%;
    transform-origin: 13%;
}

.white_header .toggle-bar,
.white_header .toggle-bar::before,
.white_header .toggle-bar::after {
    border-top: 4px solid var(--bg-white);
}

.toggle-bar::after {
    top: 4px;
}

.toggle-wrap.active .toggle-bar {
    border-top: 6px solid transparent;
}

.toggle-wrap.active .toggle-bar::before {
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.toggle-wrap.active .toggle-bar::after {
    -ms-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}



/* ---------Hero-banner-Css-Start------------------ */
/* hero banner wraper */
.banner_section {
    padding-top: 180px;
    position: relative;
    background: var(--main-blue-gradient);
    overflow: hidden;
}

.banner_section .container {
    position: relative;
    z-index: 2;
}

/* falling small lines / drops */
.falling_lines {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    overflow: hidden;
}

.falling_lines span {
    position: absolute;
    top: -80px;
    width: 2px;
    height: 60px;
    border-radius: 50px;
    background: linear-gradient(to bottom,
            rgba(255, 255, 255, 0),
            rgba(255, 255, 255, 0.80));
    opacity: 0.55;
    animation: fallingLines 7s linear infinite;
}

.falling_lines span:nth-child(1) {
    left: 8%;
    animation-delay: 0s;
    animation-duration: 6s;
}

.falling_lines span:nth-child(2) {
    left: 16%;
    animation-delay: 1.5s;
    animation-duration: 8s;
}

.falling_lines span:nth-child(3) {
    left: 24%;
    animation-delay: 0.8s;
    animation-duration: 7s;
}

.falling_lines span:nth-child(4) {
    left: 33%;
    animation-delay: 2.2s;
    animation-duration: 9s;
}

.falling_lines span:nth-child(5) {
    left: 42%;
    animation-delay: 1s;
    animation-duration: 6.5s;
}

.falling_lines span:nth-child(6) {
    left: 51%;
    animation-delay: 3s;
    animation-duration: 8.5s;
}

.falling_lines span:nth-child(7) {
    left: 60%;
    animation-delay: 0.5s;
    animation-duration: 7.5s;
}

.falling_lines span:nth-child(8) {
    left: 69%;
    animation-delay: 2.8s;
    animation-duration: 9.5s;
}

.falling_lines span:nth-child(9) {
    left: 78%;
    animation-delay: 1.2s;
    animation-duration: 7s;
}

.falling_lines span:nth-child(10) {
    left: 86%;
    animation-delay: 3.5s;
    animation-duration: 8s;
}

.falling_lines span:nth-child(11) {
    left: 92%;
    animation-delay: 0.3s;
    animation-duration: 6.8s;
}

.falling_lines span:nth-child(12) {
    left: 97%;
    animation-delay: 2s;
    animation-duration: 9s;
}

@keyframes fallingLines {
    0% {
        transform: translateY(-80px);
        opacity: 0;
    }

    15% {
        opacity: 0.45;
    }

    85% {
        opacity: 0.25;
    }

    100% {
        transform: translateY(850px);
        opacity: 0;
    }
}

/* wave backgound after banner */
.banner_section::after {
    /*content: "";
    display: block;
    background-image: url(../images/banner-shape.svg);
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    height: 200px;
    background-position: center;
    margin-top: -50px;*/
}

.banner_section .row {
    align-items: center;
}

/* hero banner text */
.banner_section .banner_text {
    margin-top: -50px;
}

/* hero banner heading h1 */
.banner_section .banner_text h1 {
    font-size: 55px;
    color: var(--text-white);
    letter-spacing: -1.5px;
    font-weight: 700;
}

.banner_section .banner_text h1 span {
    color: var(--text-white);
}

.banner_section .banner_text p {
    color: var(--text-white);
}

/* hero banner button */
.banner_section .app_btn {
    display: flex;
    align-items: center;
    margin: 30px 0;
}

/* hero banner list */
.banner_section .app_btn li a {
    display: block;
    padding: 12px 30px;
    background-color: var(--bg-white);
    border: 2px solid var(--main-blue);
    position: relative;
    border-radius: 12px;
    transition: .4s all;
}

.banner_section .app_btn li:last-child {
    margin-left: 25px;
}

.banner_section .app_btn li a img {
    transition: .4s all;
}

.banner_section .app_btn li a .white_img {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    opacity: 0;
}

.banner_section .app_btn li a:hover {
    background-color: var(--main-blue);
    border: 2px solid var(--bg-white);
}

.banner_section .app_btn li a:hover .blue_img {
    opacity: 0;
}

.banner_section .app_btn li a:hover .white_img {
    opacity: 1;
}

/* hero banner users */
.banner_section .used_app {
    display: flex;
    align-items: center;
    margin-top: 35px;
}

.banner_section .used_app ul {
    display: flex;
    align-items: center;
    margin-right: 10px;
}

.banner_section .used_app ul li:not(:first-child) {
    margin-left: -15px;
}

.banner_section .used_app p {
    font-size: 15px;
    line-height: 19px;
    margin-bottom: 0;
    color: var(--text-white);
}

/* hero banner images */
.banner_section .banner_image {
    display: flex;
    position: relative;
    width: 100%;
}

.banner_section .banner_image img {
    max-width: 100%;
}


.owl-carousel .owl-item img {
    max-width: 100%;
    width: auto;
}


/* hero banner shape animation */
.banner_section .banner_shape1,
.banner_shape2,
.banner_shape3 {
    position: absolute;
}

.banner_section .banner_shape1 {
    top: 200px;
    left: -15%;
    animation: mymove 10s infinite;
}

.banner_section .banner_shape2 {
    top: 100px;
    right: -10%;
    animation: mymove 5s infinite;
}

.banner_section .banner_shape3 {
    top: 400px;
    right: -20%;
    animation: mymove 3s infinite;
}


@keyframes mymove {
    50% {
        transform: rotate(180deg);
    }
}



/* ------------Trusted-Section-Css-Start----------- */

/* trusted logos wraper */
.trusted_section {
    margin-top: 40px;
}

.trusted_section .company_logos {
    padding-top: 20px;
}

.trusted_section .company_logos img {
    filter: grayscale(1);
    margin: 0 auto;
    transition: .4s all;
}

.trusted_section .company_logos img:hover {
    filter: grayscale(0);
}



/* ----------Feature-Detail-Section-start------ */

.features_section {
    position: relative;
    overflow: hidden;
    padding: 80px 0 70px;
    background:
        radial-gradient(circle at 8% 12%, rgba(11, 114, 181, 0.06) 0 0.9px, transparent 1.4px) 0 0 / 14px 14px,
        radial-gradient(circle at 92% 18%, rgba(255, 78, 89, 0.06) 0 0.9px, transparent 1.4px) 0 0 / 14px 14px,
        linear-gradient(180deg, #f8fbff 0%, #ffffff 50%, #f4f8fd 100%);
}

.features_section::before,
.features_section::after {
    content: "";
    position: absolute;
    width: 360px;
    height: 360px;
    border: 1px solid rgba(11, 114, 181, 0.08);
    border-radius: 50%;
    pointer-events: none;
}

.features_section::before {
    top: -140px;
    left: -110px;
}

.features_section::after {
    right: -140px;
    bottom: -150px;
}

.features_section .container {
    max-width: 1220px;
    position: relative;
    z-index: 1;
}

.work_process_title .section_kicker {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    color: #ff4e59;
    font-size: 18px;
    font-weight: 800;
    margin-bottom: 12px;
}

.work_process_title .section_kicker::before,
.work_process_title .section_kicker::after {
    content: "";
    width: 36px;
    height: 1px;
    background-color: rgba(255, 78, 89, 0.5);
}

.work_process_title .section_kicker::before {
    box-shadow: -6px 0 0 #ff4e59;
}

.work_process_title .section_kicker::after {
    box-shadow: 6px 0 0 #ff4e59;
}

.work_process_title h2 {
    font-size: 42px;
    line-height: 1.35;
    color: #070b53;
    margin-bottom: 16px;
    font-weight: 800;
}

.work_process_title .goals-intro {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    color: #5d6b7b;
    font-size: 18px;
    line-height: 1.9;
}

.features_section .work_process_title .goals-intro {
    direction: rtl;
    text-align: right;
}

.about_main_desc {
    direction: rtl;
    text-align: right;
}

.goals_intro_item {
    position: relative;
    display: block;
    padding-right: 20px;
}

.goals_intro_item+.goals_intro_item {
    margin-top: 8px;
}

.goals_intro_item::before {
    content: "";
    position: absolute;
    top: 0.75em;
    right: 0;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background-color: var(--main-blue);
}

.work_process {
    margin-top: 54px;
    direction: ltr;
}

.work_steps {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    --work-step-gap: 44px;
    --work-step-node-offset: -31px;
    gap: var(--work-step-gap);
    align-items: stretch;
}

.work_steps::before {
    content: none;
}

.work_step {
    position: relative;
    text-align: center;
    color: #070b53;
    direction: rtl;
    display: flex;
    flex-direction: column;
}

.work_step:not(:last-child)::before {
    content: none;
}

.work_step:not(:last-child)::after {
    content: none;
}

/* Background dots animation for features_section */
.features_section {
    position: relative;
    overflow: hidden;
    padding: 80px 0 70px;
    background:
        radial-gradient(circle at 8% 12%, rgba(11, 114, 181, 0.05) 0 0.9px, transparent 1.4px) 0 0 / 14px 14px,
        radial-gradient(circle at 92% 18%, rgba(255, 78, 89, 0.05) 0 0.9px, transparent 1.4px) 0 0 / 14px 14px,
        linear-gradient(180deg, #f8fbff 0%, #ffffff 50%, #f4f8fd 100%);
    animation: moveBgDots 30s linear infinite;
}

@keyframes moveBgDots {
    from {
        background-position: 0 0, 0 0, 0 0;
    }

    to {
        background-position: 60px 60px, -60px 60px, 0 0;
    }
}

/* Continuous gentle pulse for step icon */
.step_icon {
    animation: iconPulse 4s ease-in-out infinite;
}

@keyframes iconPulse {

    0%,
    100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.04);
    }
}

/* ========================================================
   Entrance Animations (CSS Transitions on Scroll Reveal)
   ======================================================== */

/* Initial hidden state of elements */
.features_section .section_kicker,
.features_section .work_process_title h2,
.features_section .goals-intro,
.features_section .work_step,
.features_section .work_note {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.6s cubic-bezier(0.22, 1, 0.36, 1), transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

/* Cascaded reveals when start-animation is applied */
.features_section.start-animation .section_kicker {
    opacity: 1;
    transform: translateY(0);
}

.features_section.start-animation .work_process_title h2 {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.1s;
}

.features_section.start-animation .goals-intro {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.2s;
}

.features_section.start-animation .work_step:nth-child(1) {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.35s;
    transition-duration: 0.5s;
}

.features_section.start-animation .work_step:nth-child(2) {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.5s;
    transition-duration: 0.5s;
}

.features_section.start-animation .work_step:nth-child(3) {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.65s;
    transition-duration: 0.5s;
}

.features_section.start-animation .work_step:nth-child(4) {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.8s;
    transition-duration: 0.5s;
}

.features_section.start-animation .work_note {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.95s;
}

/* ========================================================
   Step Connectors (SVG Dotted Lines)
   ======================================================== */

.step_connector {
    position: absolute;
    top: calc(50% + 15px);
    right: calc((var(--work-step-gap) * -1) - 10px);
    width: calc(var(--work-step-gap) + 20px);
    height: 20px;
    z-index: 2;
    pointer-events: none;
    opacity: 1;
    /* واضح تماماً منذ البداية */
    transition: opacity 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.conn_horizontal {
    display: block;
    width: 100%;
    height: 100%;
}

.conn_vertical {
    display: none;
    width: 100%;
    height: 100%;
}

/* Drawing masks transition on active/hover */
.step_connector .mask-line {
    stroke-dasharray: 85;
    stroke-dashoffset: 85;
    transition: stroke-dashoffset 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.step_connector.active .mask-line {
    stroke-dashoffset: 0;
}

/* Arrowheads visible by default */
.step_connector .conn_arrow {
    opacity: 1;
    transform: scale(1);
    transform-origin: 85px 10px;
    transition: fill 0.35s ease, opacity 0.4s cubic-bezier(0.22, 1, 0.36, 1), transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

/* ========================================================
   Interactive States (Hover / Active)
   ======================================================== */

.work_step {
    transition: opacity 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}

.step_card {
    transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 0.3s cubic-bezier(0.22, 1, 0.36, 1),
        border-color 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}

.step_icon {
    transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}

.step_number {
    transition: filter 0.3s ease, color 0.3s ease;
}

/* Card hovered state */
.work_step.hovered {
    z-index: 10;
}

.work_step.hovered .step_card {
    transform: translateY(-10px);
    /* يرتفع الكرت قليلًا بمقدار 10px */
    box-shadow: 0 12px 25px rgba(8, 64, 94, 0.20) !important;
    /* يزيد ظل الكرت بشكل ناعم */
}

.work_step.hovered .step_card::before {
    border-color: var(--step-accent);
}

.work_step.hovered .step_icon {
    transform: scale(1.07);
    /* تكبر الدائرة العلوية للأيقونة قليلًا */
    box-shadow: 0 0 0 3px #ffffff, 0 0 15px var(--step-accent-soft);
    /* تظهر إضاءة خفيفة Glow حول الأيقونة */
    animation: none;
    /* Pause continuous pulse on active */
}

.work_step.hovered .step_number {
    filter: saturate(2) brightness(1.1);
    /* رقم المرحلة يصبح أوضح وأكثر تشبعًا */
}

/* Dim other cards */
.work_steps.has-hovered .work_step:not(.hovered) {
    opacity: 0.85;
    /* بقية الكروت تقل شفافيتها قليلًا إلى 0.85 */
}

/* Connectors active state */
.step_connector.active {
    opacity: 1;
    /* تزيد شفافيته من 0.25 إلى 1 */
}

.step_connector.active .conn_fg {
    stroke-width: 3px;
    /* يزيد السمك قليلًا */
    stroke-dasharray: 6 3;
    /* يتحول من خط منقط خفيف إلى خط منقط واضح */
    animation: movingDashes 0.8s linear infinite;
    /* يظهر عليه تأثير حركة كأن الخط يمر فيه ضوء */
}

.step_connector.active-red {
    --conn-color: #ff425c;
}

.step_connector.active-blue {
    --conn-color: #4a6fff;
}

.step_connector.active-purple {
    --conn-color: #8b55f1;
}

.step_connector.active-cyan {
    --conn-color: #1da8ee;
}

.step_connector .conn_fg {
    stroke: var(--conn-color, var(--step-accent));
    transition: stroke 0.3s ease, stroke-width 0.3s ease, stroke-dasharray 0.3s ease;
}

.step_connector .conn_dot {
    fill: var(--conn-color, var(--step-accent));
    display: none;
    /* Only visible when active */
}

.step_connector .conn_arrow {
    fill: var(--conn-color, #d5e3ed);
    transition: fill 0.3s ease, transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.step_connector.active .conn_dot {
    display: block;
}

.step_connector.active .conn_horizontal .conn_dot {
    animation: travelDotH 1.2s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}

.step_connector.active .conn_horizontal .conn_arrow {
    transform: translateX(4px) scale(1.05);
    /* السهم الصغير يتحرك حركة بسيطة باتجاه المرحلة التالية */
}

/* Keyframes for active state */
@keyframes movingDashes {
    to {
        stroke-dashoffset: -18;
    }
}

@keyframes travelDotH {
    0% {
        transform: translateX(0);
        opacity: 0;
    }

    15% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        transform: translateX(85px);
        opacity: 0;
    }
}

/* ========================================================
   Mobile Overrides
   ======================================================== */

@media screen and (max-width: 991px) {

    /* Since tablets wrap cards to 2x2 grid, we hide connectors for diagonal alignments to keep layout clean */
    .work_steps {
        gap: 42px 32px;
    }
}

@media screen and (max-width: 767px) {
    .step_connector {
        top: auto;
        bottom: -32px;
        /* vertical gap is 32px */
        right: auto;
        left: 50%;
        transform: translateX(-50%);
        width: 20px;
        height: 32px;
    }

    .conn_horizontal {
        display: none;
    }

    .conn_vertical {
        display: block;
    }

    .step_connector .conn_vertical .mask-line {
        stroke-dasharray: 85;
        stroke-dashoffset: 85;
        transition: stroke-dashoffset 0.35s cubic-bezier(0.22, 1, 0.36, 1);
    }

    .step_connector.active .conn_vertical .mask-line {
        stroke-dashoffset: 0;
    }

    .step_connector .conn_vertical .conn_arrow {
        transform-origin: 10px 85px;
        opacity: 1;
        transform: scale(1);
    }

    .step_connector.active .conn_vertical .conn_dot {
        animation: travelDotV 1.2s cubic-bezier(0.4, 0, 0.2, 1) infinite;
    }

    .step_connector.active .conn_vertical .conn_arrow {
        transform: translateY(4px) scale(1.05);
        /* السهم الصغير يتحرك للأسفل */
    }
}

@keyframes travelDotV {
    0% {
        transform: translateY(0);
        opacity: 0;
    }

    15% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        transform: translateY(85px);
        opacity: 0;
    }
}

.step_icon {
    position: relative;
    z-index: 2;
    width: 64px;
    height: 64px;
    margin: 0 auto -32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #ffffff;
    border: 1px solid var(--step-accent);
    box-shadow: 0 0 0 3px #ffffff, 0 18px 40px rgba(8, 64, 94, 0.16);
}

.step_icon i {
    color: var(--step-accent);
    font-size: 24px;
}

.step_card {
    position: relative;
    z-index: 1;
    min-height: 230px;
    padding: 58px 15px 26px;
    /* Reduced from 24px */
    margin: 0 10px;
    /* Added margin to decrease width */
    border-radius: 16px;
    background-color: rgba(255, 255, 255, 0.92);
    box-shadow: 0 18px 45px rgba(8, 64, 94, 0.11);
    border: 1px solid rgba(8, 64, 94, 0.05);
    overflow: visible;
    flex-grow: 1;
}

.step_card::before {
    content: "";
    position: absolute;
    top: -1px;
    left: -1px;
    right: -1px;
    height: 50%;
    border: 2px dashed var(--step-accent-soft);
    border-bottom: 0;
    border-radius: 16px 16px 0 0;
    pointer-events: none;
    z-index: 0;
}

.step_card>* {
    position: relative;
    z-index: 1;
}

.step_number {
    display: block;
    font-size: 31px;
    line-height: 1;
    font-weight: 800;
    margin-bottom: 8px;
}

.step_dash {
    display: block;
    width: 24px;
    height: 3px;
    border-radius: 20px;
    margin: 0 auto 16px;
}

.step_card h4 {
    color: #070b53;
    font-size: 20px;
    font-weight: 800;
    margin-bottom: 13px;
}

.step_card p {
    margin: 0;
    color: #59697b;
    font-size: 14px;
    line-height: 1.9;
}

.step_red.work_step::after {
    background: linear-gradient(135deg, #ff4565, #ff7560);
}

.step_red {
    --step-accent: #ff425c;
    --step-accent-soft: rgba(255, 66, 92, 0.42);
    --next-step-accent: #4a6fff;
}

.step_blue.work_step::after {
    background: linear-gradient(135deg, #5d68ff, #3f83ff);
}

.step_blue {
    --step-accent: #4a6fff;
    --step-accent-soft: rgba(74, 111, 255, 0.42);
    --next-step-accent: #8b55f1;
}

.step_purple.work_step::after {
    background: linear-gradient(135deg, #724fff, #b14bf4);
}

.step_purple {
    --step-accent: #8b55f1;
    --step-accent-soft: rgba(139, 85, 241, 0.42);
    --next-step-accent: #1da8ee;
}

.step_cyan.work_step::after {
    background: linear-gradient(135deg, #19a7f4, #25c6ef);
}

.step_cyan {
    --step-accent: #1da8ee;
    --step-accent-soft: rgba(29, 168, 238, 0.42);
    --next-step-accent: #1da8ee;
}

.step_red .step_number,
.step_red .step_card h4 {
    color: #ff425c;
}

.step_blue .step_number {
    color: #4a6fff;
}

.step_purple .step_number {
    color: #8b55f1;
}

.step_cyan .step_number {
    color: #1da8ee;
}

.step_red .step_dash {
    background-color: #ff425c;
}

.step_blue .step_dash {
    background-color: #4a6fff;
}

.step_purple .step_dash {
    background-color: #8b55f1;
}

.step_cyan .step_dash {
    background-color: #1da8ee;
}

.work_note {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    width: fit-content;
    max-width: 680px;
    margin: 50px auto 0;
    padding: 14px 28px;
    border-radius: 12px;
    background-color: rgba(255, 255, 255, 0.94);
    box-shadow: 0 10px 28px rgba(8, 64, 94, 0.11);
    border-inline-end: 3px solid #ff4e59;
    direction: rtl;
}

.work_note i {
    color: #ff4e59;
    font-size: 24px;
    flex: 0 0 auto;
}

.work_note p {
    margin: 0;
    color: #4f6278;
    font-size: 14px;
    font-weight: 700;
}

/* ========================================================
   About Company Section Redesign
   ======================================================== */
.about_app_section {
    position: relative;
    overflow: hidden;
}

.about_app_section .container {
    max-width: 1370px;
}

/* Image Column Wrapper & Floating Snowflake Badge */
.about_img_wrapper {
    position: relative;
    display: block;
    width: 96%;
    margin-inline: auto;
    margin-top: 95px;
}

.about_main_img {
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 0 16px 40px rgba(8, 64, 94, 0.12);
}

.about_main_img img {
    width: 100%;
    height: 520px;
    object-fit: cover;
    transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.about_img_wrapper:hover .about_main_img img {
    transform: scale(1.03);
}

/* Premium Floating Snowflake Badge */
.about_badge {
    position: absolute;
    top: -30px;
    left: -20px;
    background: #ffffff;
    border-radius: 20px;
    padding: 30px 24px;
    box-shadow: 0 8px 15px rgba(8, 64, 94, 0.12);
    width: 160px;
    text-align: center;
    z-index: 10;
    border: 1px solid rgba(8, 64, 94, 0.08);
    animation: floatBadge 6s ease-in-out infinite;
}

@keyframes floatBadge {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-12px);
    }
}

.about_badge .badge_icon {
    font-size: 38px;
    color: var(--main-blue);
    margin-bottom: 12px;
    display: inline-block;
    animation: spinSlow 12s linear infinite;
}

@keyframes spinSlow {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

.about_badge .badge_title {
    font-size: 15px;
    font-weight: 800;
    color: var(--dark-blue);
    margin: 5px 0;
    letter-spacing: 0.5px;
}

.about_badge .badge_sub {
    display: block;
    font-size: 11px;
    color: #6c8297;
    margin-top: 2px;
}

.about_badge .badge_line {
    display: block;
    width: 28px;
    height: 3px;
    background-color: var(--main-blue);
    margin: 12px auto 0;
    border-radius: 2px;
}

/* About Text Layout */
.about_text_content {
    padding-inline-start: 15px;
}

.about_kicker_wrap {
    --kicker-blue: #066bff;
    --kicker-title: #06245f;
    width: min(100%, 520px);
    height: 52px;
    margin: 0 auto 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    text-align: center;
}

.kicker_line {
    flex: 1 1 90px;
    height: 2px;
    min-width: 24px;
}

.kicker_line_start {
    background: linear-gradient(90deg, rgba(6, 107, 255, 0), rgba(6, 107, 255, 0.28) 45%, var(--kicker-blue));
}

.kicker_line_end {
    background: linear-gradient(90deg, var(--kicker-blue), rgba(6, 107, 255, 0.28) 55%, rgba(6, 107, 255, 0));
}

.kicker_diamond {
    width: 8px;
    height: 8px;
    flex: 0 0 8px;
    background-color: var(--kicker-blue);
    transform: rotate(45deg);
}

.about_kicker_pill {
    position: relative;
    z-index: 1;
    display: block;
    background: transparent;
    border: 0;
    color: var(--kicker-title);
    padding: 0;
    border-radius: 0;
    font-size: 32px;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.about_kicker_pill::before,
.about_kicker_pill::after {
    content: none;
}

.about_kicker_pill .pill_dot {
    display: none;
}

.about_main_heading {
    font-size: 38px;
    font-weight: 800;
    color: var(--dark-blue);
    margin-bottom: 22px;
    line-height: 1.35;
    text-align: center;
}

.about_main_desc {
    font-size: 18px !important;
    color: #4a5c6d;
    line-height: 1.85;
    margin-bottom: 35px !important;
}

.vision_main_desc {
    font-size: 18px !important;
    color: #4a5c6d;
    line-height: 1.85;
    margin-bottom: 35px !important;
    margin-top: 15px !important;
}

/* Rich editor text colors use the --color CSS variable generated by Filament. */
.about_main_desc .color[data-color] {
    color: var(--color) !important;
}

/* Premium Card Blocks */
.about_card_block {
    background: #fbfdff;
    border-radius: 18px;
    padding: 18px 24px;
    margin-bottom: 14px;
    box-shadow: 0 8px 15px rgba(8, 64, 94, 0.09);
    border: 1px solid rgba(8, 64, 94, 0.04);
    transition: all 0.3s ease;
}

.about_card_block:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 20px rgba(8, 64, 94, 0.08);
}

.about_card_block .card_block_header {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 14px;
    margin-bottom: 12px;
}

.about_card_block .header_icon_circle {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #f7fbff;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--main-blue);
    font-size: 24px;
    flex-shrink: 0;
    box-shadow: 0 3px 8px rgba(8, 64, 94, 0.06);
    border: 1px solid var(--main-blue);
}

.about_card_block .card_block_title {
    font-size: 22px;
    font-weight: 800;
    color: var(--main-blue);
    margin: 0;
}

.about_card_block .card_block_list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.about_card_block .card_block_list li {
    position: relative;
    padding-left: 24px;
    margin-bottom: 8px;
    font-size: 16px;
    color: #4a5c6d;
    line-height: 1.65;
}

.about_card_block .card_block_list li:last-child {
    margin-bottom: 0;
}

.about_card_block .card_block_list li .list_bullet {
    position: absolute;
    top: 9px;
    left: 2px;
    width: 7px;
    height: 7px;
    background-color: var(--main-blue);
    border-radius: 50%;
}

/* Arabic RTL Overrides for Lists */
.lang-ar .about_card_block .card_block_list li {
    padding-left: 0;
    padding-right: 24px;
    text-align: right;
}

.lang-ar .about_card_block .card_block_list li .list_bullet {
    left: auto;
    right: 2px;
}

/* Timeline Layout (رحلتنا) */
.about_timeline_row {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 4px 0;
}

.about_timeline_row .timeline_line {
    position: absolute;
    top: 18px;
    bottom: 18px;
    right: 85px;
    /* Center in the 20px marker column (64px + 12px + 10px = 86px from right edge) */
    width: 2px;
    height: auto;
    background-color: #e5edf2;
    z-index: 1;
}

.about_timeline_row .timeline_line::before,
.about_timeline_row .timeline_line::after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 8px;
    height: 8px;
    background-color: #ffffff;
    border: 1.5px solid var(--main-blue);
    border-radius: 50%;
    box-shadow: 0 0 0 3px #ffffff;
    z-index: 2;
}

.about_timeline_row .timeline_line::before {
    top: -4px;
}

.about_timeline_row .timeline_line::after {
    bottom: -4px;
}

.about_timeline_row .timeline_node {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 20px 64px;
    grid-template-areas: "description marker year";
    align-items: center;
    column-gap: 12px;
    text-align: right;
}

.about_timeline_row .node_icon_circle {
    grid-area: marker;
    justify-self: center;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background-color: #ffffff;
    border: 4px solid var(--main-blue);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--main-blue);
    font-size: 0;
    margin: 0;
    transition: all 0.3s cubic-bezier(0.22, 1, 0.36, 1);
    box-shadow: 0 4px 10px rgba(8, 64, 94, 0.05);
}

.about_timeline_row .timeline_node:hover .node_icon_circle {
    transform: scale(1.15);
    box-shadow: 0 0 0 5px rgba(11, 114, 181, 0.12);
}

.about_timeline_row .node_year {
    grid-area: year;
    font-size: 16px;
    font-weight: 800;
    color: var(--main-blue);
    margin: 0;
}

.about_timeline_row .node_title {
    display: none;
}

.about_timeline_row .node_desc {
    grid-area: description;
    font-size: 16px;
    color: #6c8297;
    line-height: 1.65;
    margin: 0;
    max-width: none;
    text-align: right;
}

/* Stats Row/Grid */
.about_stats_grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    margin-top: 18px;
}

.about_stat_box {
    background: #fbfdff;
    border-radius: 12px;
    padding: 12px 14px;
    display: flex;
    align-items: center;
    gap: 12px;
    box-shadow: 0 6px 14px rgba(8, 64, 94, 0.08);
    border: 1px solid rgba(8, 64, 94, 0.05);
    transition: all 0.3s ease;
}

.about_stat_box:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 22px rgba(8, 64, 94, 0.08);
}

.about_stat_box .stat_icon_circle {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background-color: #f7fbff;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--main-blue);
    font-size: 21px;
    box-shadow: 0 2px 6px rgba(8, 64, 94, 0.04);
    flex-shrink: 0;
    border: 1px solid var(--main-blue);
}

.about_stat_box .stat_info {
    text-align: start;
}

.about_stat_box .stat_info h3 {
    font-size: 20px;
    font-weight: 800;
    color: var(--main-blue);
    margin: 0 0 2px 0;
    line-height: 1.25;
}

.about_stat_box .stat_info p {
    font-size: 13px;
    color: #6c8297;
    margin: 0;
    font-weight: 700;
}

/* Responsive Media Queries */
@media (max-width: 1199px) {
    .about_stats_grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }
}

@media (max-width: 991px) {
    .about_img_wrapper {
        margin-bottom: 60px;
        max-width: 550px;
        margin-left: auto;
        margin-right: auto;
    }

    .about_badge {
        top: -20px;
        left: -10px;
    }

    .about_text_content {
        padding-inline-start: 0;
    }
}

@media (max-width: 767px) {
    .about_kicker_wrap {
        gap: 10px;
    }

    .about_kicker_pill {
        width: auto;
        font-size: 24px;
    }

    .kicker_diamond {
        width: 7px;
        height: 7px;
        flex-basis: 7px;
    }

    .about_kicker_pill::before,
    .about_kicker_pill::after {
        min-width: 44px;
    }

    .about_timeline_row {
        flex-direction: column;
        align-items: flex-start;
        gap: 32px;
        padding-inline-start: 40px;
        padding-inline-end: 10px;
    }

    .about_timeline_row .timeline_line {
        top: 24px;
        bottom: 24px;
        height: auto;
        width: 2px;
        left: 64px;
        right: auto;
    }

    .lang-ar .about_timeline_row .timeline_line {
        right: 64px;
        left: auto;
    }

    .about_timeline_row .timeline_node {
        flex-direction: row;
        align-items: center;
        text-align: right;
        gap: 20px;
        width: 100%;
    }

    .about_timeline_row .node_icon_circle {
        margin-bottom: 0;
        flex-shrink: 0;
    }

    .about_timeline_row .timeline_node>div:not(.node_icon_circle) {
        text-align: start;
    }

    .lang-ar .about_timeline_row .timeline_node>div:not(.node_icon_circle) {
        text-align: right;
    }

    .about_timeline_row .node_desc {
        max-width: 100%;
    }

    .about_stats_grid {
        grid-template-columns: 1fr;
    }
}

.how_it_works .goals-intro {
    display: table;
    margin: 0 auto 50px auto;
    text-align: right;
}

.how_it_works .goals-intro .goals_intro_item {
    display: block;
    width: 100%;
    text-align: right;
    padding-right: 20px;
}

.how_it_works .container {
    max-width: 1370px;
}

.how_it_works .how_it_inner {
    background-color: var(--bg-white);
    padding: 70px 0;
    padding-bottom: 250px;
    border-radius: 30px;
    box-shadow: 0px 4px 30px var(--box-shadow-1);
}

/* how it works list */
.how_it_works .step_block ul {
    max-width: 1080px;
    margin: 0 auto;
    padding: 10px;
}

.how_it_works .step_block ul li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    margin-bottom: 20px;
}

.how_it_works .step_block ul li::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50px;
    transform: translateX(-50%);
    width: 4px;
    height: calc(100% + 30px);
    background-color: var(--light-bg);
}

.how_it_works .step_block ul li:first-child::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    width: 14px;
    height: 14px;
    background-color: var(--light-bg);
    border-radius: 15px;
}

.how_it_works .step_block ul li:first-child::before {
    top: 0;
}

.how_it_works .step_block ul li:last-child::before {
    height: 50%;
    top: 0;
}

.how_it_works .step_block ul li .step_text,
.how_it_works .step_block ul li .step_img {
    width: 360px;
}

/* how it works image */
.how_it_works .step_block ul li .step_img img {
    max-width: 100%;
}

/* how it works heading h4 */
.how_it_works .step_block ul li .step_text h4 {
    font-size: 20px;
    font-weight: 600;
}

.how_it_works .step_block ul li .step_text .app_icon {
    margin-bottom: 10px;
}

.how_it_works .step_block ul li .step_text .app_icon a {
    display: inline-block;
    width: 40px;
    height: 40px;
    border-radius: 100%;
    background-color: var(--light-bg);
    color: var(--text-white);
    font-size: 20px;
    text-align: center;
    line-height: 40px;
    transition: .4s all;
}

.how_it_works .step_block ul li .step_text .app_icon a:hover {
    background-color: var(--main-blue);
}

.how_it_works .step_block ul li .step_text span {
    font-weight: 600;
}

.how_it_works .step_block ul li .step_text span a {
    color: var(--main-blue);
    text-decoration: underline;
}

.how_it_works .step_block ul li:nth-child(2) {
    flex-direction: row-reverse;
}

.how_it_works .step_block ul li:nth-child(4) {
    flex-direction: row-reverse;
}

.how_it_works .step_block ul li:nth-child(2) .step_text,
.how_it_works .step_block ul li:nth-child(2) .step_img {
    text-align: center;
}

.how_it_works .step_block ul li:nth-child(4) .step_text,
.how_it_works .step_block ul li:nth-child(4) .step_img {
    text-align: center;
}

/* how it works numbers */
.how_it_works .step_block ul li .step_number {
    background-image: url(../img/steps.webp);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    width: 110px;
    height: 110px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}

/* how it works numbers heading h3 */
.how_it_works .step_block ul li .step_number h3 {
    font-size: 30px;
    font-weight: 600;
    color: var(--text-white);
}

/* how it works video  */
.how_it_works .yt_video {
    max-width: 1170px;
    margin: 0 auto;
    margin-top: -200px;
    position: relative;
    overflow: hidden;
}


.how_it_works .yt_video .thumbnil {
    position: relative;
}

.how_it_works .yt_video .thumbnil img {
    max-width: 100%;
    border-radius: 10px;
}

.how_it_works .yt_video .thumbnil a {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    color: var(--text-white);
    font-weight: 600;
    z-index: 999;
    cursor: pointer;
}

.how_it_works .yt_video .thumbnil a span {
    display: block;
    font-weight: 700;
    font-size: 30px;
}

.how_it_works .yt_video .thumbnil a .play_btn {
    background-color: rgba(255, 255, 255, 0.1);
    width: 96px;
    height: 96px;
    border-radius: 100px;
    text-align: center;
    margin: 0 auto;
    line-height: 96px;
    position: relative;
    display: block;
    margin-bottom: 40px;
}

.how_it_works .yt_video .thumbnil a .play_btn img {
    width: 50px;
    position: relative;
    z-index: 999;
}

/* how it works video model   */
.modal {
    z-index: 999999;
}

.modal-backdrop.show {
    z-index: 99999;
    opacity: .7;
}

.youtube-video .modal-dialog {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 100%;
    padding: 0 15px;
    height: 100%;
    max-width: 1240px !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

#video-container {
    position: relative;
    padding-bottom: 50%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
}

iframe#youtubevideo {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
}

.youtube-video .modal-footer {
    border: none;
    text-align: center;
    display: block;
    padding: 0;
}

.youtube-video .modal-content {
    background: none !important;
    border: none;
}

#close-video {
    color: #fff;
    font-size: 30px;
}

/* video banner shape animation */
.thumbnil .banner_shape1,
.banner_shape2,
.banner_shape3 {
    position: absolute;
}

.thumbnil .banner_shape1 {
    top: 100px;
    left: 10%;
    animation: mymove 10s infinite;
}

.thumbnil .banner_shape2 {
    bottom: 50px;
    left: 20%;
    animation: mymove 5s infinite;
}

.thumbnil .banner_shape3 {
    top: 40px;
    right: 8%;
    animation: mymove 3s infinite;
}


@keyframes mymove {
    50% {
        transform: rotate(180deg);
    }
}


/* pricing toggle button */
.pricing_section .toggle_block span {
    color: var(--dark-blue);
    font-weight: 600;
    display: block;
    margin: 0 5px;
}

.tog_btn.month_active {
    left: 35px !important;
}

.pricing_section .toggle_block span.deactive {
    color: var(--body-text-blue);
}

.pricing_section .toggle_block .offer {
    background-color: var(--bg-white);
    border-radius: 5px;
    padding: 2px 10px;
    font-weight: 400;
    font-size: 13px;
    color: var(--main-blue);
}

.pricing_section .toggle_block .tog_block {
    width: 70px;
    height: 35px;
    background-color: var(--bg-white);
    border-radius: 18px;
    margin: 0 10px;
    position: relative;
    cursor: pointer;
}

.pricing_section .toggle_block .tog_block .tog_btn {
    height: 23px;
    width: 23px;
    border-radius: 25px;
    display: block;
    background-color: var(--main-blue);
    position: absolute;
    left: 3px;
    top: 50%;
    transform: translateY(-50%);
    transition: .4s all;
}

.pricing_section .toggle_block .month.active,
.pricing_section .toggle_block .years.active {
    color: var(--main-blue);
}

/* pricing pannel */
.pricing_section .pricing_pannel {
    margin-top: 50px;
    display: none;
}

.pricing_section .pricing_pannel.active {
    display: block;
}

.pricing_section .pricing_pannel .pricing_block {
    text-align: center;
    background-color: var(--bg-white);
    min-height: 700px;
    border-radius: 12px;
    padding-top: 60px;
    margin-bottom: 40px;
    box-shadow: 0px 4px 30px var(--box-shadow-1);
}

.pricing_section .pricing_pannel .pricing_block.highlited_block {
    background-color: var(--main-blue);
}

.pricing_section .pricing_pannel .pricing_block.highlited_block p,
.pricing_section .pricing_pannel .pricing_block.highlited_block h3,
.pricing_section .pricing_pannel .pricing_block.highlited_block span,
.pricing_section .pricing_pannel .pricing_block.highlited_block .pkg_name span {
    color: var(--text-white);
}

.pricing_section .pricing_pannel .pricing_block .icon {
    margin-bottom: 35px;
}

/* pricing box image */
.pricing_section .pricing_pannel .pricing_block .icon img {
    width: 120px;
}

/* pricing box heading h3 */
.pricing_section .pricing_pannel .pricing_block .pkg_name h3 {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 0;
}

.pricing_section .pricing_pannel .pricing_block .pkg_name span {
    color: var(--body-text-blue);
    font-size: 15px;
}

.pricing_section .pricing_pannel .pricing_block .price {
    font-size: 48px;
    color: var(--main-blue);
    margin: 25px 0;
    display: block;
    font-weight: 600;
}

/* pricing box list */
.pricing_section .pricing_pannel .pricing_block .benifits {
    margin-bottom: 40px;
}

.pricing_section .pricing_pannel .pricing_block .benifits li p {
    margin-bottom: 5px;
}

.pricing_section .contact_text {
    text-align: center;
    margin-bottom: 0;
}

.pricing_section .contact_text a {
    color: var(--main-blue);
    text-decoration: underline;
}





/* -----------Interface_Section-Css-Start----------------- */

/* interface wraper */
.interface_section .screen_slider {
    margin-top: 35px;
    min-height: 720px;
}

/* interface images */
.interface_section .owl-item .screen_frame_img img {
    transform: scale(.9);
    border: 2px solid #000;
    border-radius: 20px;
    transition: 1s all;
    margin: 0 auto;
}

.interface_section .owl-item.center .screen_frame_img img {
    transform: scale(1);
    border: 3px solid #000;

}




.blue_backdrop {
    content: "";
    position: fixed;
    left: 0;
    top: 0;
    background-color: rgba(4, 44, 63, 0.95);
    width: 100%;
    height: 100%;
    z-index: 99999;
    opacity: 0;
    transition: .4s all;
    pointer-events: none;
}

/* ------Footer-Css-Start-------------- */
/* footer wraper */
footer {
    position: relative;
}

footer .top_footer {
    background-color: var(--bg-dark-blue);
    padding: 40px 0 60px 0;
    position: relative;
    overflow: hidden;
}

footer .top_footer .container {
    position: relative;
}


/* footer logo */
footer .top_footer .logo {
    margin-bottom: 40px;
}

footer .top_footer .logo img {
    width: 150px;
}

footer .top_footer .abt_side li {
    padding: 0 0 10px 0;
}

/* footer social media icon */
footer .top_footer .social_media {
    display: flex;
    margin-top: 20px;
}

/* footer link list */
footer .top_footer .social_media li a {
    display: block;
    width: 37px;
    height: 37px;
    text-align: center;
    line-height: 37px;
    font-size: 15px;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 50px;
    margin-right: 10px;
    transition: .4s all;
}

footer .top_footer .social_media li a:hover {
    background-color: var(--bg-white);
    color: var(--main-blue);
}

footer .top_footer .try_out {
    margin-left: -20px;
}

footer .app_btn li a {
    display: block;
    padding: 12px 10px;
    background-color: var(--bg-white);
    border: 2px solid var(--main-blue);
    position: relative;
    border-radius: 12px;
    transition: .4s all;
    width: 175px;
    text-align: center;
}

footer .app_btn li a:hover {
    -webkit-box-shadow: 1px 4px 8px -2px rgba(0, 0, 0, 0.5);
    -moz-box-shadow: 1px 4px 8px -2px rgba(0, 0, 0, 0.5);
    box-shadow: 1px 4px 8px -2px rgba(0, 0, 0, 0.5);
}

footer .app_btn li:last-child {
    margin-top: 20px;
}

footer .bottom_footer {
    background-color: var(--bg-dark-blue);
}

/* footer heading and text colors variable */
footer h2,
footer h3,
footer p,
footer a {
    color: var(--text-white);
}

footer a:hover {
    color: var(--text-white);
}

/* footer heading h3 */
footer h3 {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 50px;
    padding-top: 10px;
}

footer .links ul li a {
    display: block;
    margin-bottom: 10px;
}

/* footer last */
footer .bottom_footer {
    padding: 20px 0;
}

footer .bottom_footer p {
    margin-bottom: 0;
    font-size: 15px;
}

footer .bottom_footer .developer_text {
    text-align: right;
}

footer .bottom_footer .developer_text a {
    text-decoration: underline;
}

/* footer shape animation */
.top_footer .banner_shape1,
.banner_shape2,
.banner_shape3 {
    position: absolute;
}

.top_footer .banner_shape1 {
    top: 200px;
    left: -15%;
    animation: mymove 10s infinite;
}

.top_footer .banner_shape2 {
    top: 100px;
    right: -10%;
    animation: mymove 5s infinite;
}

.top_footer .banner_shape3 {
    top: 400px;
    right: -20%;
    animation: mymove 3s infinite;
}


@keyframes mymove {
    50% {
        transform: rotate(180deg);
    }
}


/* footer go top button */
.go_top {
    position: fixed;
    right: 30px;
    bottom: 75px;
    cursor: pointer;
    transition: .4s all;
    opacity: 0;
}

.go_top:hover {
    bottom: 80px;
}

/* -----------Animation-Css-Start-------------- */

/* animation line wraper */
.anim_line {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}

.anim_line span {
    position: absolute;
    z-index: 99999;
    top: -275px;
    animation: star_down_one 6s infinite linear;
    opacity: 0;
}

.anim_line.dark_bg {
    max-width: 1170px;
}

.anim_line.dark_bg span {
    transform: rotate(180deg);
}

.anim_line span:first-child {
    left: -17%;
    animation-delay: 3s;
}

.anim_line span:nth-child(2) {
    left: 0%;
    animation-delay: 5s;
}

.anim_line span:nth-child(3) {
    left: 17%;
    animation-delay: 1s;
}

.anim_line span:nth-child(4) {
    left: 34%;
    animation-delay: 4s;
}

.anim_line span:nth-child(5) {
    left: 51%;
    animation-delay: 7s;
}

.anim_line span:nth-child(6) {
    left: 68%;
}

.anim_line span:nth-child(7) {
    left: 85%;
    animation-delay: 3s;
}

.anim_line span:nth-child(8) {
    left: 99%;
    animation-delay: 2s;
}

.anim_line span:nth-child(9) {
    left: 117%;
    animation-delay: 5s;
}

/* footer .top_footer .anim_line span:first-child {
    left: 5%;
}

footer .top_footer .anim_line span:nth-child(2) {
    left: 13%;
} */

@keyframes star_down_one {
    0% {
        opacity: 0;
        top: -250px;
    }

    10% {
        opacity: 1;
    }

    90% {
        opacity: 1;
    }

    100% {
        top: 100%;
        opacity: 0;
    }
}




/* --------Object-Moving-Animation-Css-Start----- */
.moving_animation {
    animation: moving_object 6s infinite linear;
}

.moving_position_animatin {
    position: relative;
    animation: moving_position_animatin 6s infinite linear;
    z-index: -1;
}

.about_app_section .about_img .screen_img img {
    animation-delay: 3s;
}

.modern_ui_section .ui_images .right_img img:nth-child(3) {
    animation-delay: 3s;
}

.modern_ui_section .ui_images .right_img img:nth-child(2) {
    animation-delay: 3s;
}

.modern_ui_section .ui_images .right_img img:nth-child(1) {
    animation-delay: 3s;
}

@keyframes moving_object {
    0% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-30px);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes moving_position_animatin {
    0% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-30px);
    }

    100% {
        transform: translateY(0);
    }
}




/*------Header Btn Animation------*/
@keyframes pulse-blue-small-sm {
    0% {
        box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.7);
    }

    100%,
    30% {
        box-shadow: 0 0 0 12px transparent
    }
}

@keyframes pulse-blue-medium-sm {
    0% {
        box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.4);
    }

    100%,
    30% {
        box-shadow: 0 0 0 20px transparent
    }
}



/* Inner Page banner shape animation */
.bred_crumb .banner_shape1,
.banner_shape2,
.banner_shape3 {
    position: absolute;
}

.bred_crumb .banner_shape1 {
    top: 200px;
    left: 15%;
    animation: mymove 10s infinite;
}

.bred_crumb .banner_shape2 {
    top: 100px;
    right: 10%;
    animation: mymove 5s infinite;
}

.bred_crumb .banner_shape3 {
    top: 350px;
    right: 20%;
    animation: mymove 3s infinite;
}


/* CTA section Shape animation */

.query_section .banner_shape1,
.banner_shape2,
.banner_shape3 {
    position: absolute;
}

.query_section .banner_shape1 {
    top: 200px;
    left: 15%;
    animation: mymove 10s infinite;
}

.query_section .banner_shape2 {
    top: 100px;
    right: 10%;
    animation: mymove 5s infinite;
}

.query_section .banner_shape3 {
    top: 350px;
    right: 20%;
    animation: mymove 3s infinite;
}


@keyframes mymove {
    50% {
        transform: rotate(180deg);
    }
}




/* ----------Other-Page-Css-Start---------- */

/* White Header Css Satart */


.white_header .navbar-expand-lg .navbar-nav .has_dropdown:hover .drp_btn {
    color: var(--main-blue);
}

.white_header .navbar-expand-lg .navbar-nav .nav-link.dark_btn {
    background-color: var(--bg-white);
    color: var(--main-blue);
}

.white_header .navbar-expand-lg .navbar-nav .nav-link.dark_btn::before {
    /*animation: pulse-white-medium-sm 3.5s infinite*/
}

.white_header .navbar-expand-lg .navbar-nav .nav-link.dark_btn::after {
    /*animation: pulse-white-small-sm 3.5s infinite*/
}

header.fix_style.white_header {
    background-color: rgb(10, 64, 94)
}


/* About Us Page Css Start */

/* Bredcrumb Css Start */
.bred_crumb {
    /* background-image: url(../images/bread_crumb_bg.png); */
    background: var(--main-blue-gradient);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    min-height: 500px;
    width: 100%;
    display: flex;
    align-items: center;
    position: relative;
    margin-top: 0px;
}

.bred_crumb.vortex_crumb {
    background: linear-gradient(135deg, rgba(6, 54, 74, 0.85) 0%, rgba(7, 75, 105, 0.75) 100%), url('../images/vortex_bread_crumb_bg.png') no-repeat center/cover;
}

.bred_crumb::after {
    content: "";
    background-image: url(../images/inner_page_banner_overlay.svg);
    position: absolute;
    bottom: -1px;
    left: 0;
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    height: 200px;
    background-position: center;
}

.bred_crumb .bred_text {
    text-align: center;
    z-index: 1000;
    position: relative;
}

.bred_crumb .bred_text h1 {
    color: var(--text-white);
    font-size: 55px;
    font-weight: 700;
}

.bred_crumb .bred_text h1+p {
    color: var(--text-white);
    margin-top: -5px;
}

.bred_crumb .bred_text ul {
    display: flex;
    justify-content: center;
    align-items: center;
}

.bred_crumb .bred_text ul li {
    margin: 0 5px;
}

.bred_crumb .bred_text ul li a,
.bred_crumb .bred_text ul li span {
    color: var(--text-white);
    font-size: 14px;
    transition: .4s all;
}

.bred_crumb .bred_text ul li a:hover {
    text-decoration: underline;
}

.bred_crumb .bred_text .search_bar {
    margin-top: 25px;
    position: relative;
    z-index: 1000;
}

.bred_crumb .bred_text .search_bar form .form-group {
    position: relative;
    max-width: 600px;
    height: 60px;
    margin: 0 auto;
}

.bred_crumb .bred_text .search_bar form .form-group .form-control {
    width: 100%;
    height: 100%;
    border-radius: 100px;
    border: 1px solid var(--bg-dark-blue);
    font-size: 16px;
    padding-left: 30px;
    color: var(--body-text-blue);
}

.bred_crumb .bred_text .search_bar form .form-group .form-control::placeholder {
    color: var(--body-text-blue);
}

.bred_crumb .bred_text .search_bar form .form-group .form-control:focus {
    outline: none;
    box-shadow: none;
    border-color: var(--dark-blue);
}

.bred_crumb .bred_text .search_bar form .form-group .btn {
    position: absolute;
    right: 2px;
    top: 2px;
    background-color: var(--bg-dark-blue);
    width: 56px;
    height: 56px;
    padding: 0;
    border-radius: 100px;
    text-align: center;
    line-height: 56px;
    font-size: 23px;
    color: var(--text-white);
}

.bred_crumb .bred_text .search_bar form .form-group .btn:hover {
    background-color: var(--dark-blue);
}

/* ----About App Soluction Section--- */

.app_solution_section .row {
    align-items: center;
}

.app_solution_section .app_text .section_title {
    text-align: left;
    margin-bottom: 20px;
}

.app_solution_section .app_text .section_title h2 {
    letter-spacing: -1px;
}

.app_solution_section .app_text p {
    padding-right: 40px;
}

.app_solution_section .app_images {
    position: relative;
}

.app_solution_section .app_images ul {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
}

.app_solution_section .app_images ul li {
    position: relative;
}

.app_solution_section .app_images ul li a {
    position: relative;
}

.app_solution_section .app_images ul li a .play_icon {
    background-color: rgba(255, 255, 255, 0.1);
    width: 96px;
    height: 96px;
    border-radius: 100px;
    text-align: center;
    margin: 0 auto;
    line-height: 96px;
    position: absolute;
    display: block;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);

}

.app_solution_section .app_images ul li img {
    max-width: 100%;
}

.app_solution_section .app_images li:first-child {
    margin-bottom: 30px;
    text-align: center;
    width: 100%;
}

.app_solution_section .app_images ul li:nth-child(2) {
    left: -5px;
    cursor: pointer;
}

.app_solution_section .app_images ul li:nth-child(3) {
    right: -5px;
}

.app_solution_section .app_images::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 570px;
    height: 570px;
    border-radius: 100%;
    background-color: var(--bg-white);
    z-index: -1;
}


/* ------Why Section CSS Start------ */

.why_we_section {
    display: flex;
    justify-content: center;
}

.why_we_section .why_inner {
    background-color: var(--bg-white);
    border-radius: 30px;
    width: 1370px;
    margin: 0 15px;
    box-shadow: 0 4px 30px var(--box-shadow-1);
    padding: 85px 0;
}

.why_we_section .why_inner .section_title {
    margin-bottom: 50px;
}

.why_we_section .why_inner .why_box .icon {
    margin-bottom: 45px;
}

.why_we_section .why_inner .why_box .icon img {
    max-width: 100%;
}

.why_we_section .why_inner .why_box .text h3 {
    font-size: 20px;
    font-weight: 600;
    color: var(--dark-blue);
    margin-bottom: 10px;
}

.why_we_section .why_inner .why_box .text p {
    margin-bottom: 0;
}


/* About-Page-Sectino */

.about_page_sectino img {
    max-width: 100%;
}

/* -----------experts_team_sectio---------- */

.experts_team_section .experts_box {
    position: relative;
    text-align: center;
    padding: 35px 30px;
    border-radius: 12px;
    background-color: transparent;
    transition: .4s all;
}

.experts_team_section .experts_box img {
    margin-bottom: 30px;
    max-width: 100%;
}

.experts_team_section .experts_box .text h3 {
    font-size: 20px;
    font-weight: 600;
    color: var(--dark-blue);
    transition: .4s all;
}

.experts_team_section .experts_box .text span {
    color: var(--body-text-blue);
}

.experts_team_section .experts_box .social_media {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 5px;
}

.experts_team_section .experts_box .social_media a {
    display: block;
    width: 33px;
    height: 33px;
    border: 1px solid var(--border-color-2);
    border-radius: 50px;
    text-align: center;
    line-height: 31px;
    color: var(--body-text-blue);
    margin: 0 5px;
    transition: .4s all;
    font-size: 15px;
}

.experts_team_section .experts_box .social_media a:hover {
    border-color: var(--main-blue);
    background-color: var(--bg-dark-blue);
    color: var(--text-white);
}

.experts_team_section .experts_box:hover {
    background-color: var(--bg-white);
    box-shadow: 0 4px 10px var(--box-shadow-1);
}

.experts_team_section .experts_box:hover h3 {
    color: var(--main-blue);
}


/* ---------Query-Section-Css-Start-------- */
.query_section {
    display: flex;
    justify-content: center;
}

.query_inner {
    width: 1370px;
    margin: 0 15px;
    /*background-image: url(../images/query_bg.png);*/
    background: var(--main-blue-gradient);
    background-size: cover;
    background-repeat: no-repeat;
    border-radius: 30px;
    min-height: 420px;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}

.query_inner .section_title h2,
.query_inner .section_title p {
    color: #fff;
}

.query_inner .section_title {
    margin-bottom: 40px;
}

.query_inner .white_btn {
    font-size: 25px;
    font-weight: 700;
}

.query_inner .white_btn:hover {
    border-color: #fff;
}

.about_trust_section {
    margin-bottom: 40px;
}


/* Blog List Css Start */
.blog_list_story {
    margin-bottom: 50px;
}

.blog_list_main {
    position: relative;
}

.blog_list_main>.container>.row {
    align-items: center;
}

.blog_list_main .blog_img {
    position: relative;
}

.blog_list_main .blog_img img {
    max-width: 100%;
    border-radius: 12px;
}

.blog_list_main .blog_img span {
    position: absolute;
    left: 15px;
    top: 15px;
    font-size: 14px;
    color: var(--text-white);
}

.blog_list_main .blog_text .section_title {
    text-align: left;
}

.blog_list_main .blog_text .choice_badge {
    font-size: 12px;
    background-color: #F8D979;
    display: inline-block;
    padding: 1px 10px;
    border-radius: 4px;
    color: var(--dark-blue);
    font-weight: 700;
    margin-bottom: 10px;
}

.blog_list_main .blog_text a {
    color: var(--main-blue);
    margin-top: 25px;
    display: block;
    font-size: 14px;
    margin-bottom: 10px;
    font-weight: 600;
}

.blog_list_main .blog_text a:hover {
    text-decoration: underline;
}

.blog_list_story.row_am {
    padding-top: 30px;
}

.blog_list_story .story_box {
    margin-bottom: 40px;
    text-align: left;
}

/* Pagination Css Start */
.pagination_block ul {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 10px;
}

.pagination_block ul li:not(:first-child, :last-child) a {
    margin: 0 5px;
    transition: .4s all;
    display: block;
    width: 35px;
    height: 35px;
    background-color: transparent;
    border-radius: 50px;
    text-align: center;
    line-height: 35px;
}

.pagination_block ul li:first-child {
    margin-right: 20px;
}

.pagination_block ul li:last-child {
    margin-left: 20px;
}

.pagination_block ul li:not(:first-child, :last-child) a:hover,
.pagination_block ul li:not(:first-child, :last-child) a.active {
    background-color: var(--bg-dark-blue);
    color: var(--text-white);
}

.pagination_block ul li:first-child a:hover {
    color: var(--main-blue);
}

.pagination_block ul li:last-child a:hover {
    color: var(--main-blue);
}

/* Blog Detail Css Start */
.blog_detail_section {
    margin-bottom: 40px;
}

.blog_detail_bredcrumb.bred_crumb .bred_text {
    margin-top: -30px;
}

.blog_detail_section .blog_inner_pannel {
    background-color: var(--bg-white);
    border-radius: 30px;
    padding: 45px 60px;
    margin-top: -120px;
    position: relative;
    box-shadow: 0 8px 30px var(--box-shadow-3);
}

.blog_detail_section .blog_inner_pannel .review {
    display: flex;
    justify-content: center;
    margin-bottom: 15px;
}

.blog_detail_section .blog_inner_pannel .review span {
    line-height: 1;
}

.blog_detail_section .blog_inner_pannel .review span:first-child {
    color: var(--main-blue);
    display: inline-block;
    font-weight: 700;
}

.blog_detail_section .blog_inner_pannel .review span:last-child {
    color: var(--dark-blue);
    display: inline-block;
    margin-left: 15px;
    padding-left: 15px;
    border-left: 1px solid var(--dark-blue);
}

.blog_detail_section .blog_inner_pannel .section_title {
    margin-bottom: 40px;
}

.blog_detail_section .blog_inner_pannel .section_title h2 {
    margin-bottom: 0;
}

.blog_detail_section .blog_inner_pannel img {
    max-width: 100%;
}

.blog_detail_section .blog_inner_pannel .main_img {
    margin-bottom: 30px;
}

.blog_detail_section .blog_inner_pannel .info h3 {
    font-weight: 700;
    color: var(--dark-blue);
    margin-top: 30px;
    font-size: 25px;
    margin-bottom: 15px;
}

.blog_detail_section .blog_inner_pannel .info ul {
    padding-left: 50px;
    padding-top: 10px;
    margin-bottom: 30px;
}

.blog_detail_section .blog_inner_pannel .info ul li p {
    position: relative;
    padding-left: 25px;
    margin-bottom: 0;
}

.blog_detail_section .blog_inner_pannel .info ul li p .icon {
    position: absolute;
    left: 0;
    color: var(--main-blue);
}

.blog_detail_section .blog_inner_pannel .two_img {
    margin-bottom: 70px;
}

.blog_detail_section .blog_inner_pannel .quote_block {
    background-color: var(--light-bg);
    border-radius: 12px;
    padding: 55px 35px 35px 60px;
    position: relative;
    margin-top: 50px;
    margin-bottom: 35px;
}

.blog_detail_section .blog_inner_pannel .quote_block h2 {
    font-size: 25px;
    line-height: 37px;
}

.blog_detail_section .blog_inner_pannel .quote_block p {
    margin-bottom: 0;
    margin-top: 15px;
}

.blog_detail_section .blog_inner_pannel .quote_block .name {
    color: var(--main-blue);
    font-weight: 700;
}

.blog_detail_section .blog_inner_pannel .quote_block .q_icon {
    position: absolute;
    top: -20px;
    width: 63px;
    height: 63px;
    background-color: var(--bg-white);
    border-radius: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.blog_detail_section .blog_inner_pannel .quote_block .q_icon img {
    width: 35px;
}

.blog_detail_section .blog_inner_pannel .blog_authore {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 40px 0;
    border-top: 1px solid var(--border-color-2);
    border-bottom: 1px solid var(--border-color-2);
    margin: 35px 0;
}

.blog_detail_section .blog_inner_pannel .blog_authore .authore_info {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.blog_detail_section .blog_inner_pannel .blog_authore .authore_info .text {
    margin-left: 20px;
}

.blog_detail_section .blog_inner_pannel .blog_authore .authore_info .text h3 {
    font-size: 20px;
    font-weight: 600;
    color: var(--dark-blue);
    margin-bottom: 5px;
}

.blog_detail_section .blog_inner_pannel .blog_authore .authore_info .text span {
    font-size: 14px;
}

.blog_detail_section .blog_inner_pannel .blog_authore .social_media ul {
    display: flex;
}

/* Social Media link list */
.blog_detail_section .blog_inner_pannel .blog_authore .social_media ul li a {
    display: block;
    width: 37px;
    height: 37px;
    text-align: center;
    line-height: 37px;
    font-size: 15px;
    border: 1px solid var(--border-color-2);
    border-radius: 50px;
    margin-right: 10px;
    transition: .4s all;
}

.blog_detail_section .blog_inner_pannel .blog_authore .social_media ul li:last-child a {
    margin-right: 0;
}

.blog_detail_section .blog_inner_pannel .blog_authore .social_media ul li a:hover {
    background-color: var(--bg-dark-blue);
    color: var(--text-white);
}

.blog_detail_section .blog_inner_pannel .blog_tags ul {
    display: flex;
    justify-content: center;
    align-items: center;
}

.blog_detail_section .blog_inner_pannel .blog_tags ul .tags p {
    margin-bottom: 0;
    color: var(--dark-blue);
    font-weight: 500;
    margin-right: 5px;
}

.blog_detail_section .blog_inner_pannel .blog_tags ul li span {
    color: var(--main-blue);
    font-weight: 500;
}


/* comment section Css Start */
.comment_section ul {
    margin-top: 30px;
}

.comment_section ul li {
    display: flex;
    align-items: center;
    padding: 30px 0;
    border-top: 1px solid var(--border-color-2);
}

.comment_section ul li:last-child {
    padding-bottom: 0;
}

.comment_section ul li.replay_comment {
    margin-left: 110px;
}

.comment_section ul li .authore_info {
    display: flex;
    align-items: center;
    width: 260px;
}

.comment_section ul li .authore_info .avtar {
    width: 88px;
    margin-right: 20px;
}

.comment_section ul li .authore_info .text {
    width: calc(100% - 108px);
}

.comment_section ul li .authore_info .text h4 {
    font-size: 20px;
    font-weight: 600;
    color: var(--dark-blue);
}

.comment_section ul li .authore_info .text span {
    font-size: 14px;
}

.comment_section ul li .comment {
    width: calc(100% - 310px);
    margin-left: 50px;
}

.comment_section ul li .comment p {
    margin-bottom: 0;
}



/* comment-form-section */

.comment_form_section form {
    margin-top: 30px;
}

.comment_form_section form .form-group .form-control {
    border-radius: 12px;
    height: 60px;
    box-shadow: 0 3px 6px var(--box-shadow-1);
    border: transparent;
    margin-bottom: 30px;
    color: var(--body-text-blue);
    padding: 15px;
}

.comment_form_section form .form-group .form-control::placeholder {
    color: var(--body-text-blue);
}

.comment_form_section form .form-group textarea.form-control {
    height: 140px;
    padding-top: 15px;
    resize: none;
}


/* Sign Up Css Start */
.full_bg {
    /*background-image: url(../images/form_bg.png);*/
    background-size: cover;
    background: var(--main-blue-gradient);
    width: 100%;
    height: 100vh;
    overflow-y: auto;
    padding-bottom: 50px;
}

.signup_section {
    position: relative;
}

.signup_section .back_btn {
    position: absolute;
    left: 0;
    top: 92px;
    color: #fff;
    font-weight: 500;
}

.signup_section .top_part {
    text-align: center;
    padding-top: 80px;
    padding-bottom: 50px;
}

.signup_form {
    width: 570px;
    margin: 0 auto;
    padding: 40px 0;
    border-radius: 12px;
    box-shadow: 0 4px 10px var(--box-shadow-4);
    background-color: var(--bg-white);
}

.signup_form form {
    padding: 0 60px;
}

.signup_form .section_title {
    padding: 0 15px;
}

.signup_form .section_title h2 {
    font-weight: 600;
}

.signup_form form .form-group {
    margin-bottom: 20px;
}

.signup_form form .form-group .form-control {
    height: 60px;
    padding: 5px 20px;
    color: var(--body-text-blue);
    border: 2px solid var(--border-color);
    border-radius: 12px;
    font-weight: 500;
}

.signup_form form .form-group .form-control:focus {
    box-shadow: none;
    border-color: var(--main-blue);
    color: var(--main-blue);
}

.signup_form form .form-group .blue_btn {
    min-width: 240px;
    display: block;
    margin: 40px auto;
    margin-bottom: 30px;
    font-weight: 600;
}

.signup_form .or_block {
    display: block;
    text-align: center;
    border-bottom: 1px solid var(--border-color);
}

.signup_form .or_block span {
    position: relative;
    top: 14px;
    padding: 0 5px;
    background-color: var(--bg-white);
    color: var(--body-text-blue);
}

.signup_form .or_option {
    text-align: center;
}

.signup_form .or_option>p {
    color: var(--body-text-blue);
    margin-top: 30px;
}

.signup_form .or_option .google_btn {
    min-width: 330px;
    border: 2px solid var(--border-color);
    text-align: center;
    color: var(--body-text-blue);
    padding: 16px;
    border-radius: 100px;
    transition: .4s all;
}

.signup_form .or_option .google_btn:hover {
    border-color: var(--light-blue);
}

.signup_form .or_option .google_btn img {
    margin-right: 20px;
}

.signup_form .or_option p a {
    color: var(--main-blue);
    text-decoration: underline;
    transition: .4s all;
}

.signup_form .or_option p a:hover {
    color: var(--dark-blue);
}


/* Review List Section Css Start */

.review_list_section .review_box {
    padding: 40px 30px;
    background-color: var(--bg-white);
    border-radius: 12px;
    box-shadow: 0 4px 10px var(--box-shadow-1);
    margin: 20px 0;
}

.review_list_section .review_box .rating ul {
    display: flex;
}

.review_list_section .review_box .rating ul li span {
    color: #FC9400;
    font-size: 18px;
}

.review_list_section .review_box h3 {
    font-size: 20px;
    color: var(--main-blue);
    margin: 10px 0;
}

.review_list_section .review_box .reviewer {
    display: flex;
    align-items: center;
    margin-top: 35px;
}

.review_list_section .review_box .reviewer .avtar {
    width: 80px;
}

.review_list_section .review_box .reviewer .text {
    margin-left: 20px;
    width: calc(100% - 100px);
}

.review_list_section .review_box .reviewer .text h3 {
    font-weight: 600;
    color: var(--dark-blue);
    margin-bottom: 0;
}

/* review-freeapp */

.review_freeapp {
    margin: 60px 0;
}

.review_freeapp .free_app_inner {
    /* background: url(../images/free_review_bg.png); */
    background: var(--main-blue-gradient);
    background-size: cover;
    background-position: 90%;
}

/* Contact Page Css Start */

.contact_page_section .contact_inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    margin-top: -150px;
}

.contact_page_section .contact_inner .section_title h2 {
    font-weight: 600;
}

.contact_page_section .contact_inner .contact_form {
    width: 570px;
    padding: 50px 60px;
    border-radius: 22px;
    background-color: var(--bg-white);
    box-shadow: 0 4px 10px var(--box-shadow-1);
}

.contact_page_section .contact_inner .contact_form h2 {
    margin-bottom: 0;
}

.contact_page_section .contact_inner .contact_form form {
    margin-top: 30px;
}

.contact_page_section .contact_inner .contact_form form .form-group {
    margin-bottom: 20px;
}

.contact_page_section .contact_inner .contact_form form .form-group .form-control {
    height: 60px;
    padding: 5px 20px;
    color: var(--body-text-blue);
    border: 2px solid var(--border-color);
    border-radius: 12px;
    font-weight: 500;
}

.contact_page_section .contact_inner .contact_form form .form-group .form-control:focus {
    box-shadow: none;
    border-color: var(--main-blue);
    color: var(--main-blue);
}

.contact_page_section .contact_inner .contact_form form .form-group textarea.form-control {
    height: 140px;
    padding-top: 15px;
}

.contact_page_section .contact_inner .contact_form form .term_check {
    display: flex;
    align-items: center;
}

.contact_page_section .contact_inner .contact_form form .term_check input {
    width: 17px;
    height: 17px;
    accent-color: var(--main-blue);
}

.contact_page_section .contact_inner .contact_form form .term_check label {
    font-size: 13px;
    margin-bottom: 0;
    margin-left: 7px;
}

.contact_page_section .contact_inner .contact_form form .form-group button {
    width: 240px;
    margin: 0 auto;
    display: block;
    margin-top: 10px;
    margin-bottom: 0;
}

.contact_page_section .contact_inner .contact_info {
    width: 480px;
}

.contact_page_section .contact_inner .contact_info .section_title {
    text-align: left;
    margin-top: 15px;
}

.contact_page_section .contact_inner .contact_info .section_title p a {
    color: var(--main-blue);
    text-decoration: underline;
}

.contact_page_section .contact_inner .contact_info .btn {
    width: 180px;
    margin: 10px 0 50px 0;
}

.contact_page_section .contact_inner .contact_info .contact_info_list li {
    display: flex;
    align-items: center;
    margin-bottom: 30px;
}

.contact_page_section .contact_inner .contact_info .contact_info_list li:last-child {
    margin-bottom: 0;
}

.contact_page_section .contact_inner .contact_info .contact_info_list li .img {
    width: 65px;
    margin-right: 20px;
}

.contact_page_section .contact_inner .contact_info .contact_info_list li .text {
    width: calc(100% - 85px);
}

.contact_page_section .contact_inner .contact_info .contact_info_list li .text span {
    display: block;
    font-size: 20px;
    font-weight: 600;
    color: var(--dark-blue);
}

.contact_page_section .contact_inner .contact_info .contact_info_list li .text p,
.contact_page_section .contact_inner .contact_info .contact_info_list li .text a {
    margin: 0;
}

.contact_page_section .contact_inner .contact_info .contact_info_list li .text a:hover {
    color: var(--dark-blue);
}

.map_section {
    margin: 50px 0;
}

/* -------- Theme Toggle Widget -------- */

.theme_toggle_widget {
    position: fixed;
    top: 50%;
    transform: translateY(-50%);
    z-index: 999999;
    transition: 0.4s ease;
}

/* مكان الزر في اليمين */
.theme_toggle_widget.right_side {
    right: -18px;
}

/* مكان الزر في اليسار */
.theme_toggle_widget.left_side {
    left: -18px;
}

/* عند المرور عليه يخرج من الجانب */
.theme_toggle_widget:hover.right_side {
    right: 0;
}

.theme_toggle_widget:hover.left_side {
    left: 0;
}

/* شكل الزر */
.theme_toggle_btn {
    width: 68px;
    height: 78px;
    border: none;
    outline: none;
    cursor: pointer;
    background: linear-gradient(180deg,
            rgba(255, 255, 255, 0.96),
            rgba(234, 243, 248, 0.96));
    color: var(--main-blue);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.20);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 32px;
    position: relative;
    overflow: hidden;
    transition: 0.4s ease;
    animation: themeFloat 3s ease-in-out infinite;
}

/* إذا كان في اليمين */
.theme_toggle_widget.right_side .theme_toggle_btn {
    border-radius: 35px 0 0 35px;
}

/* إذا كان في اليسار */
.theme_toggle_widget.left_side .theme_toggle_btn {
    border-radius: 0 35px 35px 0;
}

/* لمعة خفيفة داخل الزر */
.theme_toggle_btn::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg,
            rgba(11, 132, 198, 0.15),
            rgba(255, 255, 255, 0));
    pointer-events: none;
}

/* الأيقونة نفسها */
.theme_toggle_btn i {
    position: relative;
    z-index: 2;
    transition: 0.45s ease;
    animation: themeIconMove 2.5s ease-in-out infinite;
}

/* عند المرور */
.theme_toggle_btn:hover {
    transform: scale(1.06);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.28);
}

body.dark_theme .theme_toggle_btn {
    background: linear-gradient(180deg,
            rgba(7, 27, 37, 0.96),
            rgba(4, 44, 63, 0.96));
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.38);
}

body.dark_theme .theme_toggle_btn::before {
    background: linear-gradient(180deg,
            rgba(255, 255, 255, 0.06),
            rgba(255, 255, 255, 0));
}

/* الشمس صفراء فقط */
#themeToggleIcon.icofont-sun-alt {
    color: #FFD166;
}

/* القمر ليس أصفر */
#themeToggleIcon.icofont-moon {
    color: #7FD7FF;
}

/* حركة الزر */
@keyframes themeFloat {
    0% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-6px);
    }

    100% {
        transform: translateY(0);
    }
}

/* حركة الأيقونة */
@keyframes themeIconMove {
    0% {
        transform: rotate(0deg) scale(1);
    }

    50% {
        transform: rotate(12deg) scale(1.08);
    }

    100% {
        transform: rotate(0deg) scale(1);
    }
}

/* ───────────────────────────────────────────
   Language Toggle Widget  (matches theme widget)
─────────────────────────────────────────── */

/* نص اللغة داخل الزر */
#langToggleWidget .theme_toggle_btn span {
    position: relative;
    z-index: 2;
    font-family: 'Almarai', sans-serif;
    transition: 0.45s ease;
    animation: themeIconMove 2.5s ease-in-out infinite;
    color: var(--main-blue);
    line-height: 1;
}

/* في الوضع الداكن */
body.dark_theme #langToggleWidget .theme_toggle_btn span {
    color: var(--main-blue);
}

/* ───────────────────────────────────────────
   Arabic Layout (lang-ar class on body)
   نستخدم class بدل dir="rtl" لمنع AOS من عكس الأنيميشن
─────────────────────────────────────────── */
body.lang-ar {
    font-family: 'Almarai', sans-serif;
    text-align: right;
}

/*body.lang-ar .navbar-nav {*/
/*    flex-direction: row-reverse;*/
/*}*/

body.lang-ar .ml-auto {
    margin-left: 0 !important;
    margin-right: auto !important;
}

body.lang-ar .about_text,
body.lang-ar .banner_text,
body.lang-ar .step_text {
    text-align: right !important;
}

body.lang-ar .left_data {
    text-align: right;
}

body.lang-ar .right_data {
    text-align: center;
}

body.lang-ar .data_block {
    flex-direction: column;
}

body.lang-ar .used_app ul {
    flex-direction: row-reverse;
}

body.lang-ar .app_statstic {
    flex-direction: row-reverse;
}

body.lang-ar .story_text {
    text-align: right;
}

body.lang-ar .links ul li a {
    text-align: right;
    display: block;
}

body.lang-ar .abt_side {
    text-align: right;
}

body.lang-ar .social_media {
    justify-content: flex-end;
}

body.lang-ar .section_title {
    text-align: center;
}

body.lang-ar .faq_panel .card-header button {
    text-align: right;
    flex-direction: row-reverse;
}

body.lang-ar .newsletter_box form {
    flex-direction: row;
}

body.lang-ar .free_text {
    text-align: right;
}

body.lang-ar .banner_text h1,
body.lang-ar .banner_text p {
    text-align: right;
}

/* LTR mode (English) — reset to defaults */
body.lang-en {
    font-family: 'Almarai', sans-serif;
    text-align: left;
}



body.lang-en .ml-auto {
    margin-left: auto !important;
    margin-right: 0 !important;
}

body.lang-en .data_block {
    flex-direction: column;
}

body.lang-en .used_app ul,
body.lang-en .app_statstic {
    flex-direction: row;
}

body.lang-en .about_text,
body.lang-en .banner_text,
body.lang-en .step_text,
body.lang-en .story_text,
body.lang-en .free_text {
    text-align: left !important;
}

body.lang-en .left_data,
body.lang-en .right_data {
    text-align: center;
}

body.lang-en .banner_text h1,
body.lang-en .banner_text p {
    text-align: left;
}

body.lang-en .abt_side {
    text-align: left;
}

body.lang-en .links ul li a {
    text-align: left;
}

body.lang-en .social_media {
    justify-content: flex-start;
}

/* ================================
   Floating Theme + Language Controls
================================ */

.floating_controls {
    position: fixed;
    top: 50%;
    right: 0;
    left: auto;
    transform: translateY(-50%);
    z-index: 999999;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* في العربية يكونان في اليمين */
body.lang-ar .floating_controls {
    right: 0;
    left: auto;
}

/* في الإنجليزية ينتقلان إلى اليسار */
body.lang-en .floating_controls {
    left: 0;
    right: auto;
}

/* إلغاء تموضع الأزرار القديمة داخل الحاوية */
.floating_controls .theme_toggle_widget {
    position: static;
    animation: themeFloat 2.8s ease-in-out infinite;
}

/* شكل الزر العام */
.floating_controls .theme_toggle_btn {
    width: 54px;
    height: 54px;
    border: none;
    outline: none;
    cursor: pointer;
    overflow: hidden;
    position: relative;

    background: linear-gradient(180deg,
            rgba(255, 255, 255, 0.96),
            rgba(242, 247, 250, 0.96));

    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.22);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.35s ease;
}

/* في اليمين تكون الزوايا من جهة الداخل مقوسة */
body.lang-ar .floating_controls .theme_toggle_btn {
    border-radius: 35px 0 0 35px;
}

/* في اليسار تكون الزوايا بالعكس */
body.lang-en .floating_controls .theme_toggle_btn {
    border-radius: 0 35px 35px 0;
}

/* لمعة داخل الزر */
.floating_controls .theme_toggle_btn::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg,
            rgba(11, 132, 198, 0.15),
            rgba(255, 255, 255, 0));
    pointer-events: none;
}

/* الأيقونة والنص */
.floating_controls .theme_toggle_btn i,
.floating_controls .theme_toggle_btn span {
    position: relative;
    z-index: 2;
    transition: 0.45s ease;
    animation: themeIconMove 2.5s ease-in-out infinite;
}

/* نص زر اللغة */
#langToggleWidget .theme_toggle_btn span {
    font-family: 'Almarai', sans-serif;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 1px;
    color: var(--main-blue);
    line-height: 1;
}

/* Hover */
.floating_controls .theme_toggle_btn:hover {
    transform: scale(1.06);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.28);
}

/* الوضع الداكن */
body.dark_theme .floating_controls .theme_toggle_btn {
    background: linear-gradient(180deg,
            rgba(7, 27, 37, 0.96),
            rgba(4, 44, 63, 0.96));
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.38);
}

body.dark_theme .floating_controls .theme_toggle_btn::before {
    background: linear-gradient(180deg,
            rgba(255, 255, 255, 0.06),
            rgba(255, 255, 255, 0));
}

/* Force Almarai for Arabic */
body,
body.lang-ar,
body.lang-en,
body.lang-ar *:not([class^="icofont-"]):not([class*=" icofont-"]) {
    font-family: 'Almarai', sans-serif !important;
}

/* ألوان أيقونة الثيم */
#themeToggleIcon.icofont-sun-alt {
    color: #FFD166;
}

#themeToggleIcon.icofont-moon {
    color: #7FD7FF;
}

/* حركة الحاوية */
@keyframes themeFloat {
    0% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-6px);
    }

    100% {
        transform: translateY(0);
    }
}

/* حركة الأيقونة */
@keyframes themeIconMove {
    0% {
        transform: rotate(0deg) scale(1);
    }

    50% {
        transform: rotate(12deg) scale(1.08);
    }

    100% {
        transform: rotate(0deg) scale(1);
    }
}


/* ================================
   Company Vision & Goals Section
================================ */

.company_vision_goals_section {
    background-color: var(--light-bg);
    padding: 70px 0;
}

.company_vision_goals_section .section_title {
    margin-bottom: 45px;
}

.company_info_cards {
    align-items: stretch;
}

.company_info_cards>div {
    margin-bottom: 25px;
}

.company_info_card {
    height: 100%;
    background-color: var(--bg-white);
    border-radius: 28px;
    padding: 35px 30px;
    box-shadow: 0px 4px 30px var(--box-shadow-1);
    transition: 0.35s ease;
}

.company_info_card:hover {
    transform: translateY(-8px);
    box-shadow: 0px 10px 35px var(--box-shadow-2);
}

.company_info_icon {
    width: 62px;
    height: 62px;
    border-radius: 50%;
    background-color: var(--main-blue);
    color: var(--text-white);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 30px;
    margin-bottom: 22px;
}

.company_info_card h3 {
    color: var(--dark-blue);
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 15px;
}

.company_info_card p {
    color: var(--body-text-blue);
    margin-bottom: 0;
}

.company_info_card ul {
    padding: 0;
    margin: 0;
}

.company_info_card ul li {
    position: relative;
    padding-right: 24px;
    margin-bottom: 12px;
    color: var(--body-text-blue);
    line-height: 1.8;
}

.company_info_card ul li::before {
    content: "";
    position: absolute;
    right: 0;
    top: 11px;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background-color: var(--main-blue);
}

body.lang-en .company_info_card ul li {
    padding-right: 0;
    padding-left: 24px;
}

body.lang-en .company_info_card ul li::before {
    right: auto;
    left: 0;
}

body.dark_theme .company_vision_goals_section {
    background-color: var(--light-bg);
}

body.dark_theme .company_info_card {
    background-color: var(--bg-white);
}

/* ================================
   About Company Vision & Goals
================================ */

.company_about_blocks {
    margin-top: 30px;
    margin-bottom: 25px;
}

.company_about_block {
    background-color: var(--bg-white);
    border-radius: 20px;
    padding: 22px 24px;
    margin-bottom: 18px;
    box-shadow: 0px 4px 18px var(--box-shadow-1);
    transition: 0.35s ease;
}

.company_about_block:hover {
    transform: translateY(-5px);
    box-shadow: 0px 8px 25px var(--box-shadow-2);
}

.company_about_block h4 {
    color: var(--dark-blue);
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 12px;
}

.company_about_block p {
    color: var(--body-text-blue);
    margin-bottom: 0;
}

.company_about_block ul {
    padding: 0;
    margin: 0;
}

.company_about_block ul li {
    position: relative;
    padding-right: 22px;
    margin-bottom: 10px;
    color: var(--body-text-blue);
    line-height: 1.8;
}

.company_about_block ul li::before {
    content: "";
    position: absolute;
    right: 0;
    top: 11px;
    width: 8px;
    height: 8px;
    background-color: var(--main-blue);
    border-radius: 50%;
}

body.lang-en .company_about_block ul li {
    padding-right: 0;
    padding-left: 22px;
}

body.lang-en .company_about_block ul li::before {
    right: auto;
    left: 0;
}

.goals-intro {
    white-space: pre-line;
    font-size: 22px;
    line-height: 1.8;
}

@media (max-width: 768px) {
    .goals-intro {
        font-size: 19px;
        line-height: 1.7;
    }
}

.goal-icon {
    width: 120px;
    height: 120px;
}



/* ================================
   Header RTL / LTR Fix
================================ */

@media (min-width: 992px) {
    body.lang-ar header .navbar {
        flex-direction: row-reverse;
    }

    body.lang-en header .navbar {
        flex-direction: row;
    }

    body.lang-ar header .navbar-collapse {
        flex-direction: row-reverse;
    }

    body.lang-en header .navbar-collapse {
        flex-direction: row;
    }

    body.lang-ar header .navbar-nav {
        flex-direction: row-reverse;
    }

    body.lang-en header .navbar-nav {
        flex-direction: row;
    }

    body.lang-en header .lang_dropdown .sub_menu {
        right: 0;
        left: auto;
        border-radius: 10px 0 10px 10px;
    }

    body.lang-ar header .lang_dropdown .sub_menu {
        left: 0;
        right: auto;
        border-radius: 0 10px 10px 10px;
    }

    body.welcome-page header .lang_dropdown {
        border: 1px solid rgba(9, 113, 183, 0.14);
        border-radius: 12px;
        padding: 2px 10px;
        background: rgba(255, 255, 255, 0.72);
    }

    body.welcome-page header .lang_dropdown .drp_btn {
        color: rgba(9, 113, 183, 0.55);
    }

    body.welcome-page header .lang_dropdown:hover {
        border-color: rgba(9, 113, 183, 0.22);
        box-shadow: 0 8px 18px rgba(9, 113, 183, 0.08);
    }

    body.welcome-page header .lang_dropdown:hover .drp_btn {
        color: rgba(9, 113, 183, 0.7);
    }

    body.welcome-page header .lang_dropdown .sub_menu {
        border-color: rgba(9, 113, 183, 0.14);
        box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08);
    }
}

@media (max-width: 991px) {

    body.lang-ar header .navbar,
    body.lang-en header .navbar {
        flex-direction: row;
    }

    body.lang-ar header .navbar-nav,
    body.lang-en header .navbar-nav {
        flex-direction: column;
        align-items: flex-start;
    }
}

.navbar-expand-lg .navbar-nav .has_dropdown .drp_btn {
    position: static;
    margin-left: 5px;
    color: var(--text-white);
}

/* Welcome page language switcher */
@media (min-width: 992px) {
    body.welcome-page header .navbar-expand-lg .navbar-nav .lang_dropdown {
        min-height: 44px;
        padding: 3px 8px 3px 13px;
        border: 1px solid rgba(9, 113, 183, 0.16);
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.82);
        box-shadow: 0 4px 15px rgba(9, 113, 183, 0.06);
        backdrop-filter: blur(10px);
    }

    body.welcome-page.lang-ar header .navbar-expand-lg .navbar-nav .lang_dropdown {
        padding: 3px 13px 3px 8px;
    }

    body.welcome-page header .navbar-expand-lg .navbar-nav .lang_dropdown:hover {
        background: #fff;
        border-color: rgba(9, 113, 183, 0.32);
        box-shadow: 0 10px 24px rgba(9, 113, 183, 0.13);
        transform: translateY(-1px);
    }

    body.welcome-page header .navbar-expand-lg .navbar-nav .lang_dropdown .nav-link2 {
        display: inline-flex;
        align-items: center;
        gap: 7px;
        padding: 3px 4px !important;
        font-size: 14px;
        color: var(--dark-blue);
    }

    body.welcome-page header .navbar-expand-lg .navbar-nav .lang_dropdown .nav-link2 i {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 28px;
        height: 28px;
        border-radius: 50%;
        color: var(--main-blue);
        background: rgba(9, 113, 183, 0.09);
        font-size: 15px;
    }

    body.welcome-page header .navbar-expand-lg .navbar-nav .lang_dropdown .drp_btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 28px;
        height: 28px;
        margin: 0;
        margin-inline-start: 5px;
        border: 1px solid rgba(9, 113, 183, 0.14);
        border-radius: 50%;
        color: rgba(9, 113, 183, 0.58);
        background: rgba(9, 113, 183, 0.04);
        font-size: 12px;
        transition: .3s ease;
    }

    body.welcome-page header .navbar-expand-lg .navbar-nav .lang_dropdown:hover .drp_btn {
        border-color: var(--main-blue);
        color: #fff;
        background: var(--main-blue);
        transform: rotate(180deg);
    }

    body.welcome-page header .navbar-expand-lg .navbar-nav .lang_dropdown .sub_menu {
        top: calc(100% - 1px);
        min-width: 190px;
        max-width: 190px;
        margin-top: 0;
        padding: 7px;
        overflow: hidden;
        border: 1px solid rgba(9, 113, 183, 0.14);
        border-radius: 16px !important;
        background: rgba(255, 255, 255, 0.97);
        box-shadow: 0 18px 42px rgba(15, 23, 42, 0.14);
        backdrop-filter: blur(14px);
    }

    body.welcome-page header .navbar-expand-lg .navbar-nav .lang_dropdown:hover .sub_menu {
        margin-top: 0;
    }

    body.welcome-page header .navbar-expand-lg .navbar-nav .lang_dropdown .sub_menu ul {
        padding: 0;
    }

    body.welcome-page header .navbar-expand-lg .navbar-nav .lang_dropdown .sub_menu ul li+li {
        margin-top: 3px;
    }

    body.welcome-page header .navbar-expand-lg .navbar-nav .lang_dropdown .sub_menu ul li a {
        display: flex;
        align-items: center;
        justify-content: space-between;
        min-height: 42px;
        padding: 8px 11px !important;
        border-radius: 10px;
        color: #344054;
        font-size: 14px;
        font-weight: 600;
        line-height: 1.4;
    }

    body.welcome-page header .navbar-expand-lg .navbar-nav .lang_dropdown .sub_menu ul li a::before {
        display: none;
    }

    body.welcome-page header .navbar-expand-lg .navbar-nav .lang_dropdown .sub_menu ul li a::after {
        padding: 3px 7px;
        border-radius: 6px;
        color: var(--main-blue);
        background: rgba(9, 113, 183, 0.08);
        font-family: inherit;
        font-size: 10px;
        font-weight: 700;
        letter-spacing: .06em;
    }

    body.welcome-page header .lang_dropdown .sub_menu li:first-child a::after {
        content: 'AR';
    }

    body.welcome-page header .lang_dropdown .sub_menu li:last-child a::after {
        content: 'EN';
    }

    body.welcome-page header .navbar-expand-lg .navbar-nav .lang_dropdown .sub_menu ul li a:hover {
        padding-left: 11px;
        color: var(--main-blue);
        background: rgba(9, 113, 183, 0.08);
    }

    body.welcome-page.lang-ar header .lang_dropdown .sub_menu li:first-child a,
    body.welcome-page.lang-en header .lang_dropdown .sub_menu li:last-child a {
        color: var(--main-blue);
        background: rgba(9, 113, 183, 0.10);
    }
}

/* ==========================================
   Vortex Page Custom Enhancements (About Vortex Section)
   ========================================== */

/* Disable default flat white circle on Vortex page */
.vortex_solution_section .app_images::before {
    display: none !important;
}

/* Base style for parent image container to align content properly */
.vortex_about_images {
    position: relative;
    width: 100%;
    display: flex !important;
    justify-content: center;
    align-items: center;
    overflow: visible;
}

/* 500x500 container that preserves absolute coordinate system */
.vortex-tech-container {
    position: relative;
    width: 500px;
    height: 500px;
    margin: 0 auto;
    flex-shrink: 0;
    transform: scale(0.9);
    transform-origin: center center;
}

/* Overriding the tech vortex circle inside container to scale together */
.vortex-tech-container::before {
    content: "";
    position: absolute;
    top: -40px;
    left: -40px;
    width: 580px;
    height: 580px;
    border-radius: 100%;
    z-index: 1;
    background: radial-gradient(circle, rgba(11, 132, 198, 0.15) 0%, rgba(7, 59, 82, 0.05) 50%, rgba(255, 255, 255, 0) 70%) !important;
    border: 2px dashed rgba(11, 132, 198, 0.25) !important;
    animation: rotate_vortex 30s infinite linear !important;
    box-shadow: 0 0 60px rgba(11, 132, 198, 0.1) inset !important;
}

@keyframes rotate_vortex {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.svg-wrapper {
    position: absolute;
    top: 70px;
    left: 70px;
    z-index: 2;
    width: 360px;
    height: 360px;
}

/* Floating dynamic glassmorphic badges */
.tech-badge {
    position: absolute;
    background: rgba(255, 255, 255, 0.75);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(0, 242, 254, 0.25);
    border-radius: 20px;
    padding: 14px 20px;
    display: flex;
    align-items: center;
    gap: 15px;
    z-index: 10;
    box-shadow: 0 10px 35px rgba(11, 132, 198, 0.1);
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    width: auto;
    max-width: 280px;
}

/* Dark mode compatibility for badges */
body.dark_theme .tech-badge {
    background: rgba(10, 25, 41, 0.7);
    border-color: rgba(32, 184, 255, 0.25);
    box-shadow: 0 15px 45px rgba(0, 0, 0, 0.4);
}

.tech-badge:hover {
    transform: translateY(-8px) scale(1.03);
    border-color: #00f2fe;
    box-shadow: 0 20px 45px rgba(0, 242, 254, 0.25);
}

.tech-badge .badge-icon {
    width: 44px;
    height: 44px;
    background: linear-gradient(135deg, #00f2fe 0%, #4facfe 50%, #9b51e0 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 20px;
    box-shadow: 0 4px 15px rgba(0, 242, 254, 0.3);
    transition: transform 0.3s ease;
    flex-shrink: 0;
}

.tech-badge:hover .badge-icon {
    transform: rotate(15deg) scale(1.1);
}

.tech-badge .badge-text {
    text-align: right;
}

.tech-badge .badge-text h5 {
    margin: 0;
    font-size: 15px;
    font-weight: 700;
    color: var(--dark-blue);
    display: flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
}

body.dark_theme .tech-badge .badge-text h5 {
    color: #fff;
}

.tech-badge .badge-text span {
    font-size: 12px;
    color: var(--body-text-blue);
    display: block;
    margin-top: 3px;
    font-weight: 500;
    white-space: nowrap;
}

/* Status Indicator Dot */
.status-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    display: inline-block;
    position: relative;
    margin-right: 4px;
}

.status-dot::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    animation: status-pulse 1.8s infinite ease-in-out;
}

.dot-green {
    background-color: #00e676;
}

.dot-green::after {
    background-color: #00e676;
}

.dot-blue {
    background-color: #00b0ff;
}

.dot-blue::after {
    background-color: #00b0ff;
}

.dot-purple {
    background-color: #d500f9;
}

.dot-purple::after {
    background-color: #d500f9;
}

@keyframes status-pulse {
    0% {
        transform: scale(1);
        opacity: 1;
    }

    100% {
        transform: scale(2.8);
        opacity: 0;
    }
}

/* Position of badges */
.badge-top-right {
    top: 15%;
    right: -30px;
}

.badge-bottom-left {
    bottom: 12%;
    left: -30px;
}

.badge-top-left {
    top: 4%;
    left: -50px;
}

/* Responsive adjustments for tech badges using CSS scale */
@media (max-width: 1199px) and (min-width: 992px) {
    .vortex_about_images {
        height: 490px;
        overflow: visible !important;
    }

    .vortex-tech-container {
        transform: scale(0.84);
        transform-origin: center center;
    }
}

@media (max-width: 991px) and (min-width: 576px) {
    .vortex_about_images {
        height: 550px;
        overflow: visible !important;
    }

    .vortex-tech-container {
        transform: scale(0.95);
        transform-origin: center center;
    }
}

@media (max-width: 575px) {
    .vortex_about_images {
        height: 330px;
        overflow: visible !important;
    }

    .vortex-tech-container {
        transform: scale(0.55);
        transform-origin: center center;
    }
}

@media (max-width: 375px) {
    .vortex_about_images {
        height: 285px;
        overflow: visible !important;
    }

    .vortex-tech-container {
        transform: scale(0.47);
        transform-origin: center center;
    }
}

.tech-badge .badge-icon svg {
    width: 20px;
    height: 20px;
    display: block;
}

/* SVG Animations */
@keyframes rotate-clockwise {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

@keyframes rotate-counter-clockwise {
    from {
        transform: rotate(360deg);
    }

    to {
        transform: rotate(0deg);
    }
}

.rotate-clockwise {
    transform-origin: center;
    animation: rotate-clockwise 20s infinite linear;
}

.rotate-counter-clockwise {
    transform-origin: center;
    animation: rotate-counter-clockwise 15s infinite linear;
}

.rotate-clockwise-slow {
    transform-origin: center;
    animation: rotate-clockwise 35s infinite linear;
}

/* Pulsing Wi-Fi wave lines */
@keyframes wifi-pulse {
    0% {
        opacity: 0.15;
    }

    50% {
        opacity: 0.95;
    }

    100% {
        opacity: 0.15;
    }
}

.wifi-pulse-1 {
    animation: wifi-pulse 2s infinite ease-in-out;
}

.wifi-pulse-2 {
    animation: wifi-pulse 2s infinite ease-in-out;
    animation-delay: 0.4s;
}

.wifi-pulse-3 {
    animation: wifi-pulse 2s infinite ease-in-out;
    animation-delay: 0.8s;
}

/* Radar Sweeper Animation */
@keyframes radar-sweep {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

.radar-sweep {
    transform-origin: center;
    animation: radar-sweep 6s infinite linear;
}

/* LED Halo Ring pulse color */
@keyframes led-halo-glow {
    0% {
        filter: drop-shadow(0 0 8px rgba(0, 242, 254, 0.6));
    }

    50% {
        filter: drop-shadow(0 0 15px rgba(155, 81, 224, 0.8));
    }

    100% {
        filter: drop-shadow(0 0 8px rgba(0, 242, 254, 0.6));
    }
}

.led-halo-ring {
    animation: led-halo-glow 4s infinite ease-in-out;
}

/* Floating nodes */
@keyframes node-orbit-1 {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.orbiting-node-1 {
    transform-origin: center;
    animation: node-orbit-1 25s infinite linear;
}

.orbiting-node-2 {
    transform-origin: center;
    animation: node-orbit-1 18s infinite linear;
}

/* ==========================================
   Vortex Page Custom Enhancements (Vision Section - Cards Grid)
   ========================================== */

.vision_modern_section {
    padding: 100px 0;
    position: relative;
    background: radial-gradient(circle at 10% 20%, rgba(0, 242, 254, 0.03) 0%, rgba(155, 81, 224, 0.03) 90%);
}

.vision_cards_grid {
    margin-top: 50px;
}

/* Base Card Styling */
.vision_tech_card {
    position: relative;
    background: rgba(255, 255, 255, 0.65);
    backdrop-filter: blur(25px);
    -webkit-backdrop-filter: blur(25px);
    border: 1px solid rgba(0, 242, 254, 0.2);
    border-radius: 24px;
    padding: 40px 30px;
    height: 100%;
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    box-shadow: 0 15px 35px rgba(11, 132, 198, 0.05);
}

body.dark_theme .vision_tech_card {
    background: rgba(10, 25, 41, 0.6);
    border-color: rgba(32, 184, 255, 0.15);
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.3);
}

/* Card Number Indicator */
.vision_tech_card .card_number {
    position: absolute;
    top: 25px;
    right: 30px;
    font-size: 32px;
    font-weight: 900;
    background: linear-gradient(135deg, rgba(0, 242, 254, 0.15) 0%, rgba(155, 81, 224, 0.15) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-family: 'Outfit', sans-serif;
    user-select: none;
}

body.dark_theme .vision_tech_card .card_number {
    background: linear-gradient(135deg, rgba(0, 242, 254, 0.3) 0%, rgba(155, 81, 224, 0.3) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* Card SVG Wrapper */
.vision_tech_card .card_icon_wrapper {
    margin-bottom: 25px;
    width: 90px;
    height: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(0, 242, 254, 0.06) 0%, rgba(155, 81, 224, 0.06) 100%);
    border-radius: 50%;
    border: 1px solid rgba(0, 242, 254, 0.15);
    transition: all 0.3s ease;
}

/* Hover Effect for Card */
.vision_tech_card:hover {
    transform: translateY(-12px);
    border-color: rgba(0, 242, 254, 0.6);
    box-shadow: 0 25px 50px rgba(0, 242, 254, 0.18);
    background: rgba(255, 255, 255, 0.85);
}

body.dark_theme .vision_tech_card:hover {
    background: rgba(13, 31, 52, 0.8);
    box-shadow: 0 30px 60px rgba(0, 242, 254, 0.25);
    border-color: rgba(0, 242, 254, 0.7);
}

.vision_tech_card:hover .card_icon_wrapper {
    transform: scale(1.1);
    background: linear-gradient(135deg, rgba(0, 242, 254, 0.15) 0%, rgba(155, 81, 224, 0.15) 100%);
    border-color: rgba(0, 242, 254, 0.4);
}

/* Card Content Typography */
.vision_tech_card .card_content h4 {
    font-size: 20px;
    font-weight: 700;
    color: var(--dark-blue);
    margin-bottom: 15px;
    transition: color 0.3s ease;
}

body.dark_theme .vision_tech_card .card_content h4 {
    color: #fff;
}

.vision_tech_card .card_content p {
    font-size: 14px;
    color: var(--body-text-blue);
    line-height: 1.7;
    margin: 0;
}

/* Bottom Glow Accent Line */
.vision_tech_card .card_bottom_line {
    width: 60px;
    height: 4px;
    background: linear-gradient(90deg, #00f2fe 0%, #9b51e0 100%);
    border-radius: 2px;
    margin-top: 25px;
    transition: width 0.3s ease;
}

.vision_tech_card:hover .card_bottom_line {
    width: 120px;
}

/* Active Highlight Card (Pre-activated middle card) */
.vision_tech_card.active {
    border-color: rgba(155, 81, 224, 0.4);
    box-shadow: 0 20px 45px rgba(155, 81, 224, 0.1);
    background: rgba(255, 255, 255, 0.75);
}

body.dark_theme .vision_tech_card.active {
    background: rgba(14, 28, 47, 0.7);
    box-shadow: 0 25px 50px rgba(155, 81, 224, 0.2);
}

.vision_tech_card.active .card_icon_wrapper {
    background: linear-gradient(135deg, rgba(155, 81, 224, 0.1) 0%, rgba(0, 242, 254, 0.1) 100%);
    border-color: rgba(155, 81, 224, 0.3);
}

/* Alignment adjustments on smaller viewports */
@media (max-width: 991px) {
    .vision_modern_section {
        padding: 60px 0;
    }

    .vision_modern_section [class^="col-"] {
        margin-bottom: 25px;
    }

    .vision_tech_card {
        padding: 30px 20px;
    }
}


/* ===================================================================
   Vortex Hero Slider - Samsung Galaxy Style
   =================================================================== */
.vortex-hero-slider {
    position: relative;
    width: 100%;
    min-height: 580px;
    background: linear-gradient(105deg, #001e4d 0%, #002a5c 38%, #003878 68%, #004098 100%);
    overflow: hidden;
    margin-top: 0;
    font-family: 'Samsung Sharp Sans', 'SamsungOne', 'Inter', 'Helvetica Neue', Arial, sans-serif;
}

/* --- Decorative Stars (light blue) --- */
.vortex-slider-stars {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 2;
    color: #4FC3F7;
}

.vstar {
    position: absolute;
}

.vstar-1 {
    top: 8%;
    left: 4%;
    transform: rotate(-12deg);
    opacity: 0.55;
}

.vstar-2 {
    top: 14%;
    left: 11%;
    opacity: 0.9;
}

.vstar-3 {
    bottom: 8%;
    right: 6%;
    transform: rotate(14deg);
    opacity: 0.22;
}

.vstar-4 {
    top: 22%;
    right: 28%;
    opacity: 0.5;
}

.vstar-5 {
    top: 18%;
    left: 38%;
    transform: rotate(-8deg);
    opacity: 0.35;
}

.vstar-6 {
    bottom: 22%;
    left: 8%;
    opacity: 0.75;
}

.vstar path {
    fill: currentColor;
    stroke: none;
}

.vstar[fill="none"] path,
.vstar:not([fill]) path {
    fill: none;
    stroke: currentColor;
}

/* --- Slides Container --- */
.vortex-slides-container {
    position: relative;
    z-index: 3;
    width: 100%;
    min-height: 580px;
}

.vortex-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.6s ease, visibility 0.6s;
    display: flex;
    align-items: center;
    padding-top: 72px;
    padding-bottom: 88px;
}

.vortex-slide.active {
    opacity: 1;
    visibility: visible;
    position: relative;
}

/* --- Slide Text --- */
.vortex-slide-text {
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    text-align: left;
    padding: 24px 24px 24px 56px;
    max-width: 520px;
    min-height: 420px;
}

.vortex-slide-text p {
    margin: 0;
}

.vortex-slide-text .slide-title {
    font-size: 56px;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 10px;
    line-height: 1.08;
    letter-spacing: -0.02em;
    order: 1;
}

.vortex-slide-text .slide-subtitle {
    font-size: 26px;
    font-weight: 400;
    color: #ffffff;
    margin: 0 0 24px;
    display: flex;
    align-items: center;
    gap: 8px;
    order: 2;
}

.galaxy-ai-sparkles {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-left: 6px;
}

.galaxy-ai-sparkles .sparkle {
    display: block;
}

.vortex-slide-text .slide-deal-label {
    font-size: 18px;
    font-weight: 700;
    color: #ffffff;
    background: none;
    padding: 0;
    border-radius: 0;
    display: block;
    margin: 0 0 14px;
    text-transform: none;
    letter-spacing: 0;
    order: 3;
}

.vortex-slide-text .slide-description {
    font-size: 16px;
    color: rgba(255, 255, 255, 0.92);
    line-height: 1.6;
    margin: 0 0 36px;
    max-width: 440px;
    font-weight: 400;
    order: 4;
}

.vortex-slide-text .slide-description sup {
    font-size: 10px;
    vertical-align: super;
    opacity: 0.85;
    margin-left: 1px;
}

/* --- CTA Buttons --- */
.slide-cta-buttons {
    display: flex;
    gap: 32px;
    align-items: center;
    flex-wrap: wrap;
    order: 5;
    margin: 0;
}

.slide-btn-link {
    color: #ffffff !important;
    background: transparent !important;
    border: none;
    border-bottom: 2px solid #ffffff;
    border-radius: 0;
    padding: 0 0 2px;
    font-weight: 600;
    font-size: 15px;
    text-decoration: none;
    transition: opacity 0.25s ease;
    display: inline-block;
}

.slide-btn-link:hover {
    opacity: 0.85;
    color: #ffffff !important;
}

.slide-btn-buy {
    color: #000000 !important;
    background: #ffffff !important;
    border: none;
    border-radius: 50px;
    padding: 12px 28px;
    font-weight: 600;
    font-size: 15px;
    text-decoration: none;
    transition: background 0.25s ease, transform 0.25s ease;
    display: inline-block;
    min-width: 120px;
    text-align: center;
}

.slide-btn-buy:hover {
    background: #f0f0f0 !important;
    color: #000000 !important;
    transform: scale(1.02);
}

/* --- Slide Image --- */
.vortex-slide-image {
    text-align: center;
    position: relative;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    height: 100%;
    min-height: 420px;
    overflow: hidden;
}

.vortex-slide-image img {
    max-height: 500px;
    width: auto;
    max-width: 100%;
    object-fit: contain;
    mix-blend-mode: screen;
    filter: drop-shadow(0 20px 40px rgba(0, 0, 0, 0.4));
    transition: transform 0.8s ease, opacity 0.6s ease;
}

.vortex-slide.active .vortex-slide-image img {
    transform: scale(1);
}

/* --- Navigation Arrows --- */
.vortex-slider-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.38);
    border: none;
    color: #fff;
    cursor: pointer;
    z-index: 20;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.25s ease;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    padding: 0;
}

.vortex-slider-arrow:hover {
    background: rgba(0, 0, 0, 0.55);
}

.vortex-arrow-icon {
    display: block;
    width: 8px;
    height: 8px;
    border-top: 2px solid #ffffff;
    border-right: 2px solid #ffffff;
    flex-shrink: 0;
}

.vortex-slider-prev .vortex-arrow-icon {
    transform: rotate(-135deg);
    margin-left: 3px;
}

.vortex-slider-next .vortex-arrow-icon {
    transform: rotate(45deg);
    margin-right: 3px;
}

.vortex-slider-prev {
    left: 24px;
    right: auto;
}

.vortex-slider-next {
    right: 24px;
    left: auto;
}

/* --- Bottom Controls (segmented progress) --- */
.vortex-slider-controls {
    position: absolute;
    bottom: 32px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    direction: ltr;
    display: flex;
    align-items: center;
    gap: 20px;
}

.vortex-slider-indicators {
    display: flex;
    gap: 8px;
    align-items: center;
    width: 360px;
}

.vortex-indicator {
    flex: 1;
    height: 2px;
    min-width: 0;
    width: auto;
    background: rgba(255, 255, 255, 0.35);
    border-radius: 2px;
    cursor: pointer;
    transition: background 0.35s ease, opacity 0.35s ease;
    border: none;
    padding: 0;
}

.vortex-indicator:hover {
    background: rgba(255, 255, 255, 0.55);
}

.vortex-indicator.active {
    background: #ffffff;
    opacity: 1;
}

/* --- Pause Button (end of indicator bar) --- */
.vortex-slider-pause {
    position: static;
    flex-shrink: 0;
    width: auto;
    height: auto;
    background: transparent;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.25s ease;
    padding: 4px 0;
    margin: 0;
}

.vortex-slider-pause:hover {
    opacity: 0.9;
}

.vortex-pause-icon {
    display: block;
    width: 11px;
    height: 11px;
    flex-shrink: 0;
}

.vortex-pause-icon--play {
    display: none;
}

.vortex-slider-pause.is-playing .vortex-pause-icon--pause {
    display: none;
}

.vortex-slider-pause.is-playing .vortex-pause-icon--play {
    display: block;
}

/* --- Slider Responsive --- */
@media (max-width: 991px) {
    .vortex-hero-slider {
        min-height: auto;
    }

    .vortex-slides-container {
        min-height: auto;
    }

    .vortex-slide {
        position: relative;
        padding-top: 56px;
        padding-bottom: 96px;
        text-align: center;
    }

    .vortex-slide:not(.active) {
        position: absolute;
    }

    .vortex-slide-text {
        padding: 16px 20px;
        min-height: auto;
        align-items: center;
        text-align: center;
        max-width: 100%;
    }

    .vortex-slide-text .slide-title {
        font-size: 42px;
    }

    .vortex-slide-text .slide-subtitle {
        font-size: 22px;
        justify-content: center;
    }

    .vortex-slide-text .slide-description {
        max-width: 100%;
    }

    .slide-cta-buttons {
        justify-content: center;
    }

    .vortex-slide-image {
        justify-content: center;
        margin-top: 24px;
        min-height: 280px;
    }

    .vortex-slide-image img {
        max-height: 340px;
    }

    .vortex-slider-controls {
        bottom: 24px;
        gap: 16px;
    }
}

@media (max-width: 575px) {
    .vortex-slide {
        padding-top: 40px;
        padding-bottom: 84px;
    }

    .vortex-slide-text .slide-title {
        font-size: 32px;
    }

    .vortex-slide-text .slide-subtitle {
        font-size: 18px;
    }

    .vortex-slide-text .slide-deal-label {
        font-size: 16px;
    }

    .vortex-slide-text .slide-description {
        font-size: 14px;
    }

    .vortex-slide-image img {
        max-height: 240px;
    }

    .vortex-slider-arrow {
        width: 34px;
        height: 34px;
    }

    .vortex-arrow-icon {
        width: 7px;
        height: 7px;
    }

    .vortex-slider-prev {
        left: 10px;
    }

    .vortex-slider-next {
        right: 10px;
    }

    .vortex-slider-indicators {
        width: 260px;
        gap: 6px;
    }

    .vortex-indicator {
        height: 2px;
    }

    .slide-btn-buy {
        padding: 11px 22px;
        font-size: 14px;
    }
}

/* LTR specific alignment for centered vision intro */
body.lang-en .how_it_works .goals-intro {
    text-align: left;
}

body.lang-en .how_it_works .goals-intro .goals_intro_item {
    text-align: left;
    padding-right: 0;
    padding-left: 20px;
}

body.lang-en .how_it_works .goals-intro .goals_intro_item::before {
    right: auto;
    left: 0;
}

@media (max-width: 768px) {

    .about_main_desc,
    .vision_main_desc {
        font-size: 16px !important;
    }

    .work_process_title .goals-intro {
        font-size: 16px !important;
    }
}