:root {
    /* Colors */
    --base-color: #f7f1e7;
    --color-accent: #134862;
    --color-text-dark: #333333;
    --color-text-light: #ffffff;
    --color-text-secondary: #6b6b6b;
    --color-background-card: #ffffff;
    --color-hover-light: #fffacd;

    /* Font Sizes  */
    --font-size-base: clamp(1rem, 0.9vw + 0.8rem, 1.125rem);
    --font-size-small: clamp(0.875rem, 0.8vw + 0.75rem, 1rem);
    --font-size-xsmall: clamp(0.75rem, 0.7vw + 0.7rem, 0.875rem);
    --font-size-medium: clamp(1.125rem, 1.2vw + 1rem, 1.375rem);
    --font-size-large: clamp(1.5rem, 2vw + 1rem, 2.25rem);
    --font-size-xlarge: clamp(2rem, 3vw + 1rem, 3.5rem);
    --font-size-hero: clamp(2.5rem, 5vw + 1rem, 5rem);

    /* Fonts family */
    --font-family-primary: 'alexandria', system-ui, -apple-system, sans-serif;

    /* Font Weights */
    --font-weight-regular: 400;
    --font-weight-medium: 600;
    --font-weight-bold: 800;

    /* Line Height */
    --line-height-sm: 1.5;
    --line-height-md: 1.7;
    --line-height-lg: 1.9;

    /* Spacing Scale */
    /* 4px */
    --spacing-xxs: 0.25rem;
    /* 8px */
    --spacing-xs: 0.5rem;
    /* 16px */
    --spacing-sm: 1rem;
    /* 24px */
    --spacing-md: 1.5rem;
    /* 32px */
    --spacing-lg: 2rem;
    /* 48px */
    --spacing-xl: 3rem;
    /* 64px */
    --spacing-xxl: 4rem;
    /* 80px */
    --spacing-xxxl: 5rem;
    /* 100px */
    --spacing-xxxxl: 6.25rem;
    /* 120px */
    --spacing-xxxxl: 7.5rem;
    --spacing-auto: auto;

    /* Border Radius */
    --border-radius-sm: 0.25rem;
    --border-radius-md: 0.5rem;
    --border-radius-lg: 1rem;
    --border-radius-xl: 2rem;
    --border-radius-xxl: 4rem;
    --border-radius-full: 50%;

    /* Box Shadows */
    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.1);
    --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1);
    --shadow-lg: 0 8px 12px rgba(0, 0, 0, 0.15);
    --shadow-inset: inset 0 2px 4px rgba(0, 0, 0, 0.05);

    /* Transitions */
    --transition-speed-fast: 0.15s;
    --transition-speed-normal: 0.3s;
    --transition-speed-slow: 0.5s;
    --transition-ease: ease-in-out;


    /* Glass Redounding */

    --background-transparent: transparent;


}

/* import fonts files */

@font-face {
    font-family: 'alexandria';
    src: url('../fonts/Alexandria/static/subset-Alexandria-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'alexandria';
    src: url('../fonts/Alexandria/static/subset-Alexandria-Medium.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'alexandria';
    src: url('../fonts/Alexandria/static/subset-Alexandria-Bold.woff2') format('woff2');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

/* main style begin */
* {
    padding: 0;
    margin: 0;
}

*,
*::before,
*::after {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

a {
    text-decoration: none;
}

ul {
    list-style: none;
}

i {
    display: inline-block;
}

img {
    display: block;
    max-width: 100%;
    height: auto;
}

input,
button {
    cursor: pointer;
    border: none;
    outline: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-regular);
    text-wrap: balance;
}

/* all animations begin */

@keyframes rectangle-anim {
    0% {
        transform: translateY(-30%);
    }

    100% {
        transform: translateY(30%);
    }
}

@keyframes ball-anim {
    0% {
        transform: scale(1.05);
    }

    50% {
        transform: scale(0.9);
    }

    100% {
        transform: scale(1.05);
    }
}


#loader {
    margin-top: var(--spacing-xl);
    --d: 22px;
    text-align: center;

    .loader-ele {
        margin: 0 auto;
        width: 4px;
        height: 4px;
        border-radius: 50%;
        color: #134862;
        box-shadow: calc(1*var(--d)) calc(0*var(--d)) 0 0,
            calc(0.707*var(--d)) calc(0.707*var(--d)) 0 1px,
            calc(0*var(--d)) calc(1*var(--d)) 0 2px,
            calc(-0.707*var(--d)) calc(0.707*var(--d)) 0 3px,
            calc(-1*var(--d)) calc(0*var(--d)) 0 4px,
            calc(-0.707*var(--d)) calc(-0.707*var(--d))0 5px,
            calc(0*var(--d)) calc(-1*var(--d)) 0 6px;
        animation: l27 1s infinite steps(8);

        margin-bottom: var(--spacing-xl);
    }

    span {
        color: var(--color-accent);
        font-weight: var(--font-weight-regular);
    }



}

@keyframes l27 {
    100% {
        transform: rotate(1turn)
    }
}

/* all animations finish */

/* container begin */
.container {
    padding-left: var(--spacing-sm);
    padding-right: var(--spacing-sm);
    margin-inline: auto;

}

/* Very Small  */
@media(min-width:576px) {
    .container {
        width: 576px;
    }
}

/* Small  */
@media(min-width:768px) {
    .container {
        width: 738px;
    }
}

/* Medium  */
@media(min-width:992px) {
    .container {
        width: 942px;
    }
}

/* Large  */
@media(min-width:1200px) {
    .container {
        width: 1150px;
    }
}

/* container finish */

/* main style finish */

/* scrollbar style begin */

::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

::-webkit-scrollbar-track {
    background: linear-gradient(to bottom,
            rgb(121, 85, 72, .7),
            rgb(96, 125, 139, .7),
            rgb(63, 81, 181, .7),
            rgb(33, 150, 243, .7),
            rgb(0, 188, 212, .7),
            rgb(0, 150, 136, .7),
            rgb(76, 175, 80, .7),
            rgb(255, 87, 34, .7),
            rgb(255, 193, 7, .7),
            rgb(255, 140, 0, .7));
}

::-webkit-scrollbar-thumb {
    background: var(--color-accent);
}

::-webkit-scrollbar-thumb:hover {
    background: #eeeeee;
}

/* scrollbar style finish */

html {
    scroll-behavior: smooth;
}

body {
    direction: rtl;
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-regular);
    text-align: right;
    position: relative;
    overflow-x: hidden;
    background-color: var(--base-color);
    line-height: var(--line-height-md);
    font-weight: var(--font-weight-medium);
    font-size: var(--font-size-small);

}

/* website buttons begin */
.btn {
    display: block;
    cursor: pointer;
    overflow: hidden;

    display: flex;
    align-items: center;
    justify-content: center;

}

.btn-primary {
    width: fit-content;
    height: 2.6em;
    cursor: pointer;
    font-size: 17px;
    color: var(--color-text-light);
    border-radius: var(--border-radius-sm);
    border: 2px solid #ffffff;
    margin: var(--spacing-sm) var(--spacing-sm) 0 auto;
    padding: var(--spacing-xs);
    position: relative;
    z-index: 1;

    &:before {
        position: absolute;
        content: "";
        background-color: #ffffff;
        width: 200px;
        height: 200px;
        z-index: -1;
        border-radius: 50%;
    }

    &:hover {
        color: var(--color-accent);
    }

    &:before {
        top: 100%;
        left: 100%;
        transition: var(--transition-speed-normal) var(--transition-ease);
    }

    &:hover::before {
        top: -30px;
        left: -30px;
    }
}


.btn-secondary {
    color: var(--color-accent);
    background-color: var(--background-transparent);
    width: fit-content;
    position: relative;
    cursor: pointer;
    overflow: hidden;
    z-index: 100;
    border-radius: var(--border-radius-md);
    padding: var(--spacing-xs);
    border: 2px solid var(--color-accent);
    transition: color var(--transition-speed-fast) 0.25s var(--transition-ease);


    span:not(:nth-child(6)) {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        height: 30px;
        width: 30px;
        background-color: var(--color-accent);
        border-radius: 50%;
        transition: transform calc(var(--transition-speed-slow) * 1.5) var(--transition-ease);
        z-index: -10;
    }

    span:nth-child(6) {
        position: relative;
    }

    span:nth-child(1) {
        transform: translate(-3.3em, -4em);
    }

    span:nth-child(2) {
        transform: translate(-6em, 1.3em);
    }

    span:nth-child(3) {
        transform: translate(-.2em, 1.8em);
    }

    span:nth-child(4) {
        transform: translate(3.5em, 1.4em);
    }

    span:nth-child(5) {
        transform: translate(3.5em, -3.8em);
    }

    &:hover {
        color: #ffffff;

        span:not(:nth-child(6)) {
            transform: translate(-50%, -50%) scale(8);
        }
    }

}

.btn-tertiary {
    height: 48px;
    padding: 0 var(--spacing-lg);
    background-color: var(--color-accent);
    border: 2px solid var(--color-accent);
    color: #fff;
    font-size: var(--font-size-small);
    font-weight: var(--font-weight-regular);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    border-radius: var(--border-radius-sm);
    transition: background-color var(--transition-speed-normal) var(--transition-ease);
}

/* website buttons finish */

.section-space {
    margin-top: var(--spacing-xxxl);
    margin-bottom: var(--spacing-xxxl);
}

.section-space-top {
    margin-top: var(--spacing-xxxl);
}

.section-space-bottom {
    margin-bottom: var(--spacing-xxxl);
}

/* header style begin */
#header {
    background-color: #34718f;
    padding-top: var(--spacing-lg);

    .container {
        display: flex;
        align-items: center;
        justify-content: space-between;
        border-radius: var(--border-radius-xxl);
        background: rgba(0, 0, 0, 0.3);
        -moz-backdrop-filter: blur(0.25rem);
        -webkit-backdrop-filter: blur(0.25rem);
        backdrop-filter: blur(0.25rem);
        border: 1px solid rgba(34, 32, 32, 0.2);
        padding: var(--spacing-xs) var(--spacing-md);
        box-shadow: 0 0px 30px -5px rgba(34, 32, 32, 0.5);

        .logo {
            /*120px*/
            width: 7.5rem;
            /*60px*/
            height: 3.75rem;

            img {
                width: 100%;
                height: 100%;
                object-fit: contain;
            }
        }

        #navbar {
            position: absolute;
            top: 105%;
            right: 10%;
            z-index: 99999;
            background-color: #ffffff;
            border-radius: var(--border-radius-sm);
            transform: translateX(100%);
            opacity: 0;
            visibility: hidden;
            transition: var(--transition-speed-normal) var(--transition-ease);

            &.open {
                transform: translateX(0);
                opacity: 1;
                visibility: visible;
            }

            ul {
                display: flex;
                flex-direction: column;
                align-items: flex-end;
                gap: var(--spacing-xs);
                text-align: right;
                /* ---- */
                padding: var(--spacing-sm);
                /* ---- */

                li {
                    width: 100%;
                    padding: var(--spacing-xs);

                    a {
                        display: block;
                        color: var(--color-accent);
                        font-size: var(--font-size-small);
                        font-weight: var(--font-weight-regular);
                        padding: var(--spacing-xs);
                    }
                }
            }
        }

        button[id=open-nav] {
            cursor: pointer;
            color: var(--color-text-light);
            background-color: transparent;
            font-size: var(--font-size-xlarge);
        }

    }
}

@media(min-width:992px) {
    #header {
        .container {
            #navbar {
                background-color: var(--background-transparent);
                position: static;
                transform: translateX(0);
                opacity: 1;
                visibility: visible;

                ul {

                    flex-direction: row-reverse;
                    gap: var(--spacing-sm);
                    /* ---- */
                    padding: 0;
                    /* ---- */



                    li {
                        position: relative;
                        width: auto;
                        border-bottom: 1px solid #ffffff;
                        /* ---- */
                        padding-bottom: var(--spacing-xxs);
                        /* ---- */

                        &::before {
                            content: "";
                            position: absolute;
                            width: 0.4rem;
                            height: 0.4rem;
                            bottom: calc((0.4rem / 2) * -1);
                            left: 0.7rem;
                            border-radius: var(--border-radius-full);
                            background-color: #ffffff;
                            transition: transform var(--transition-speed-normal) var(--transition-ease);
                        }

                        &::after {
                            content: "";
                            position: absolute;
                            width: 1.5rem;
                            height: 0.25rem;
                            border-radius: var(--border-radius-sm);
                            bottom: -0.125rem;
                            right: 15%;
                            background-color: #ffffff;
                            transition: transform var(--transition-speed-normal) var(--transition-ease);
                        }

                        &:hover:before {
                            transform: scale(1.3);
                        }

                        &:hover:after {
                            transform: translateX(-0.75rem);
                        }

                        a {
                            color: var(--color-text-light);
                        }
                    }
                }
            }

            button[id=open-nav] {
                display: none;
                visibility: hidden;
            }
        }
    }

}

/* header style finish */



/* intro section begin */

.intro-section {
    min-height: 50dvh;
    padding-top: var(--spacing-xl);
    padding-bottom: var(--spacing-xl);
    background-image: linear-gradient(to top, #134862, #1c526d, #245c78, #2c6684, #34718f);
    border-bottom-left-radius: var(--border-radius-xl);
    border-bottom-right-radius: var(--border-radius-xl);

    .container {
        color: var(--color-text-light);

        .title {
            width: fit-content;
            margin-inline: var(--spacing-auto);
            text-align: center;
            font-size: var(--font-size-large);
            font-weight: var(--font-weight-medium);
            margin-bottom: var(--spacing-xl);
        }

        .title+p {
            line-height: var(--line-height-lg);
            font-size: var(--font-size-base);
            font-weight: var(--font-weight-regular);
        }
    }

}

@media(min-width:992px) {
    .intro-section {
        min-height: 70dvh;
    }
}

/* intro section finish */


/* content container begin */
.content {
    color: var(--color-text-secondary);
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);

    .title {
        color: var(--color-text-dark);
        font-size: var(--font-size-medium);


        &::before {
            font-family: "Font Awesome 7 Free";
            content: "\f621";
            font-weight: 900;

            font-size: inherit;
            margin-left: var(--spacing-xs);
            color: var(--color-accent);

        }
    }


    p,
    .content-list {
        margin-right: var(--spacing-md);
        font-size: var(--font-size-base);
        font-weight: var(--font-weight-regular);

        a {
            color: #0d0abd;
            text-decoration: underline;
            word-wrap: break-word;
            white-space: pre-wrap;

            &::after {
                font-family: "Font Awesome 7 Free";
                content: '\f0c1';
                font-weight: 900;
                margin-right: var(--spacing-xs);
                margin-left: var(--spacing-xs);
            }
        }
    }


    .content-list {
        text-align: right;

        li {
            margin-bottom: var(--spacing-sm);

            &::before {
                font-family: "Font Awesome 7 Free";
                content: "\f053";
                font-weight: 900;
                color: var(--color-accent);
                margin-left: var(--spacing-xs);
            }
        }
    }
}

/* content container finish */

/* help links section and cards style begin */

.help-links-section {
    .container {
        >.title {
            width: fit-content;
            color: var(--color-accent);
            font-size: var(--font-size-large);
            margin-bottom: var(--spacing-md);
            position: relative;

            &::before {
                font-family: "Font Awesome 7 Free";
                content: "\e494";
                font-weight: 900;
                margin-left: var(--spacing-xs);
                color: var(--color-accent);

            }
        }


        .card {
            background: rgba(255, 255, 255, 0.6);
            -moz-backdrop-filter: blur(.375rem);
            -webkit-backdrop-filter: blur(.375rem);
            backdrop-filter: blur(.375rem);
            background-color: var(--color-background-card);
            padding: var(--spacing-xs);
            border-top-left-radius: var(--border-radius-sm);
            border-top-right-radius: var(--border-radius-sm);
            transition: transform var(--transition-speed-fast) var(--transition-ease);
            overflow: hidden;
            position: relative;
            height: fit-content;



            &:hover {
                transform: translateY(-3px);
            }


            .card-header {
                display: flex;
                align-items: center;
                justify-content: center;
                gap: var(--spacing-sm);
                margin-top: var(--spacing-sm);

                .card-content {
                    flex-basis: 80%;

                    .card-title {

                        span.title {
                            color: var(--color-text-dark);
                            font-size: var(--font-size-xsmall);
                            font-weight: var(--font-weight-medium);
                            line-height: var(--line-height-lg);
                        }
                    }
                }

                .card-image {
                    flex-basis: 20%;

                    width: 150px;
                    height: 150px;
                    display: flex;
                    align-items: center;
                    justify-content: center;

                    img {
                        object-fit: cover;
                        mix-blend-mode: darken;
                    }
                }
            }

            .card-actions {
                display: flex;
                flex-wrap: wrap;
                gap: var(--spacing-xs);

                .action-btn {
                    flex-grow: 1;
                    box-shadow: var(--shadow-md);
                    padding: var(--spacing-xxs);
                    border-radius: var(--border-radius-sm);
                    background-color: #ffffff;
                    font-family: var(--font-family-primary);
                    color: var(--color-text-dark);
                    position: relative;
                    z-index: 1;
                    text-align: center;
                    transition: transform var(--transition-speed-normal) var(--transition-ease);

                    i {
                        position: absolute;
                        top: -1rem;
                        right: 0rem;
                        z-index: 100;
                        font-size: var(--font-size-medium);
                        filter: drop-shadow(0 .2rem .5rem rgba(255, 255, 255, 0.3));
                    }

                    span {
                        font-size: var(--font-size-xsmall);
                    }


                    &:hover {
                        transform: translateY(-2px);
                        color: var(--color-text-light);
                    }
                }


                .save-btn {
                    i {
                        color: #dc143c;
                    }

                    &:hover {
                        background-color: #dc143c;
                    }

                    &.saved {
                        background-color: #dc143c;
                        color: #ffffff;
                    }
                }

                .register-btn {
                    i {
                        color: #2ecc71;
                    }

                    &:hover {
                        background-color: #2ecc71;
                    }
                }

                .details-btn {
                    i {
                        color: #3498db;
                    }

                    &:hover {
                        background-color: #3498db;
                    }
                }
            }

        }

        .card {
            --box-shadow: 0 0 10px -3px rgba(var(--color-1), .8),
                inset 0 1px 0 0 rgba(var(--color-1), .5),
                inset 0 -1px 0 0 rgba(var(--color-1), .5),
                inset 0 0 30px -25px rgba(var(--color-1), 1.1);
            border-bottom-width: 3px;
            border-bottom-style: solid;
            border-bottom-color: rgba(var(--color-1), .8);
            box-shadow: var(--box-shadow);
            position: relative;

            &::before {
                position: absolute;
                content: "";
                top: -4.5rem;
                right: 50%;
                transform: translateX(50%);
                background-color: rgba(var(--color-1), 1);
                border: 3px solid var(--color-accent);
                width: 70px;
                height: 70px;
                /* border-radius: var(--border-radius-md); */
                z-index: -10;
                filter: blur(60px);
            }

            .classification {
                &::before {
                    position: absolute;
                    top: 0;
                    left: 0;
                    padding: var(--spacing-xs);
                    color: var(--color-text-light);
                    border-top-right-radius: var(--border-radius-sm);
                    border-bottom-right-radius: var(--border-radius-sm);
                    background: linear-gradient(to bottom, rgb(var(--color-1)), rgb(var(--color-2)));
                }
            }

            &[data-classification="aid"] {
                --color-1: 255, 140, 0;
                --color-2: 255, 165, 0;

                .classification {
                    &::before {
                        content: "المساعدات والإغاثة";
                    }
                }
            }

            &[data-classification="health"] {
                --color-1: 0, 150, 136;
                --color-2: 0, 179, 164;

                .classification {
                    &::before {
                        content: "الصحة ورعاية الاطفال";
                    }
                }
            }

            &[data-classification="registration"] {
                --color-1: 76, 175, 80;
                --color-2: 102, 187, 106;

                .classification {
                    &::before {
                        content: "التسجيلات والتحديثات الرسمية";
                    }
                }
            }

            &[data-classification="education"] {
                --color-1: 33, 150, 243;
                --color-2: 66, 165, 245;

                .classification {
                    &::before {
                        content: "التعليم والطلاب";
                    }
                }
            }

            &[data-classification="gas"] {
                --color-1: 255, 193, 7;
                --color-2: 255, 213, 79;

                .classification {
                    &::before {
                        content: "خدمات الغاز والطاقة";
                    }
                }
            }

            &[data-classification="orphans"] {
                --color-1: 255, 87, 34;
                --color-2: 255, 112, 67;

                .classification {
                    &::before {
                        content: "رعاية الأيتام";
                    }
                }
            }

            &[data-classification="martyrs"] {
                --color-1: 96, 125, 139;
                --color-2: 120, 144, 156;

                .classification {
                    &::before {
                        content: "الشهداء والوفيات";
                    }
                }
            }

            &[data-classification="damage"] {
                --color-1: 121, 85, 72;
                --color-2: 141, 110, 99;

                .classification {
                    &::before {
                        content: "حصر الأضرار";
                    }
                }
            }

            &[data-classification="law"] {
                --color-1: 0, 188, 212;
                --color-2: 92, 107, 192;

                .classification {
                    &::before {
                        content: "الشكاوى والقانون";
                    }
                }
            }

            &[data-classification="payment"] {
                --color-1: 63, 81, 181;
                --color-2: 38, 198, 218;

                .classification {
                    &::before {
                        content: "الدفع والمعاملات";
                    }
                }
            }

        }

    }
}

/* help links section and cards style finish */

/* footer style begin */
#footer {
    margin-top: var(--spacing-xxxxl);
    padding-top: var(--spacing-xxxxl);
    padding-bottom: var(--spacing-xl);
    background-color: var(--color-accent);
    border-top-left-radius: var(--border-radius-xl);
    border-top-right-radius: var(--border-radius-xl);

    .container {
        text-align: center;
        color: var(--color-text-light);

        .share-wedsite {
            h4 {
                font-size: var(--font-size-medium);
            }

            h4+ul {
                margin-top: var(--spacing-sm);
                display: flex;
                align-items: center;
                justify-content: center;
                gap: var(--spacing-sm);

                li {
                    a {
                        background-color: var(--color-text-light);
                        color: var(--color-accent);
                        font-size: var(--font-size-medium);
                        padding: var(--spacing-xs);
                        border-radius: var(--border-radius-full);
                    }

                }
            }

        }

        .copyright {
            font-size: var(--font-size-xsmall);
            margin-top: var(--spacing-sm);
        }

        ul.more-links {
            margin-top: var(--spacing-sm);
            display: flex;
            align-items: center;
            justify-content: center;
            gap: var(--spacing-sm);

            li {
                a {
                    color: var(--color-text-light);
                    font-size: var(--font-size-xsmall);
                    text-decoration: underline;
                }
            }
        }

        a {
            color: inherit;
        }
    }
}

/* footer style finish */


.no-links {
    min-width: 100%;
    font-size: var(--font-size-medium);
    font-weight: var(--font-weight-bold);
    color: var(--color-accent);
    text-align: center;
    margin-top: var(--spacing-md);
    margin-bottom: var(--spacing-md);
}


.back-up {
    position: fixed;
    bottom: 1rem;
    right: 1rem;
    transform: translateX(200%);
    background-color: var(--color-accent);
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    border-radius: var(--border-radius-full);
    transition: var(--transition-speed-slow) var(--transition-ease);
    color: #ffffff;
    border: 1px dotted #fff;
    cursor: pointer;

    i {
        transition: var(--transition-speed-fast) var(--transition-ease);
    }

    &:hover {
        i {
            transform: translateY(-5px);
        }
    }
}