:root {
    --primary: #1363C6;
    --secondary: #15ACE1;
    --light: #F4F7FE;
    --dark: #14183E;
    --font_type: "Almarai", "Helvetica Neue", Arial, sans-serif;
    --btn-primary-bg: #FEF006;
    --btn-primary-color: #000000;
    --btn-primary-hov-bg: #030001;
    --btn-primary-hov-color: #FEF006;
    --title-font-size: 48px;
    --title-font-weight: 900;
    --txt-large: 20px;
    --txt-medium: 18px;
    --txt-small: 16px;
}

body {
    font-family: var(--font_type);
}

.btn-primary {
    font-weight: bold;
    font-size: 16px;
    font-style: normal;
    color: var(--btn-primary-color);
    border-radius: 5px;
    border: none;
    transition: all .5s ease;
    background: linear-gradient(var(--btn-primary-color) 0 0) no-repeat calc(200% - var(--p, 0%)) 100% / 200% var(--p, 3px);
    background-color: var(--btn-primary-bg);
    transition: 0.5s var(--t, 0s),
        background-position 0.5s calc(0.5s - var(--t, 0s));
}



.btn-primary:hover {
    --p: 100%;
    --t: 0.1s;
    color: white;
}





.title-txt {
    font-size: var(--title-font-size);
    font-weight: var(--title-font-weight);
}

@media (min-width: 991.98px) and (max-width: 1199.98px) {
    :root {
        --primary: #1363C6;
        --secondary: #15ACE1;
        --light: #F4F7FE;
        --dark: #14183E;
        --font_type: "Almarai", "Helvetica Neue", Arial, sans-serif;
        --btn-primary-bg: #FEF006;
        --btn-primary-color: #000000;
        --btn-primary-hov-bg: #030001;
        --btn-primary-hov-color: #FEF006;
        --title-font-size: 40px;
        --title-font-weight: 900;
        --txt-large: 18px;
        --txt-medium: 16.5px;
        --txt-small: 15px;
    }
}

@media (min-width: 767.98px) and (max-width: 991.98px) {
    :root {
        --primary: #1363C6;
        --secondary: #15ACE1;
        --light: #F4F7FE;
        --dark: #14183E;
        --font_type: "Almarai", "Helvetica Neue", Arial, sans-serif;
        --btn-primary-bg: #FEF006;
        --btn-primary-color: #000000;
        --btn-primary-hov-bg: #030001;
        --btn-primary-hov-color: #FEF006;
        --title-font-size: 40px;
        --title-font-weight: 900;
        --txt-large: 18px;
        --txt-medium: 16.5px;
        --txt-small: 15px;
    }
}

@media (min-width: 575.98px) and (max-width: 767.98px) {
    :root {
        --primary: #1363C6;
        --secondary: #15ACE1;
        --light: #F4F7FE;
        --dark: #14183E;
        --font_type: "Almarai", "Helvetica Neue", Arial, sans-serif;
        --btn-primary-bg: #FEF006;
        --btn-primary-color: #000000;
        --btn-primary-hov-bg: #030001;
        --btn-primary-hov-color: #FEF006;
        --title-font-size: 35px;
        --title-font-weight: 900;
        --txt-large: 18px;
        --txt-medium: 16.5px;
        --txt-small: 15px;
    }
}

@media (min-width: 0.98px) and (max-width: 575.98px) {
    :root {
        --primary: #1363C6;
        --secondary: #15ACE1;
        --light: #F4F7FE;
        --dark: #14183E;
        --font_type: "Almarai", "Helvetica Neue", Arial, sans-serif;
        --btn-primary-bg: #FEF006;
        --btn-primary-color: #000000;
        --btn-primary-hov-bg: #030001;
        --btn-primary-hov-color: #FEF006;
        --title-font-size: 28px;
        --title-font-weight: 900;
        --txt-large: 18px;
        --txt-medium: 16.5px;
        --txt-small: 15px;
    }
}

body {
    margin: 0;
    padding: 0;

    /* font-family: 'Roboto', sans-serif; */
    background-color: #F3F3F3;
}

/*** Spinner Start ***/
#spinner {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.5s ease-out, visibility 0s linear 0.5s;
    z-index: 99999;
}

#spinner.show {
    transition: opacity 0.5s ease-out, visibility 0s linear 0s;
    visibility: visible;
    opacity: 1;
}

/* top Bar Start */
.top-bar {
    background-color: #242424;
    font-family: var(--font_type);
    color: #ffffff;
    font-size: 12px;
}

.top-bar-inner {
    display: flex;
    min-height: 34px;
    align-items: center;
    flex-wrap: wrap;
}

.top-bar-contact {
    width: calc((100% - 240px)/2);
    /* width: 33%; */
}

.top-bar-promotion {
    width: 240px;
    font-weight: 500;
}

.top-bar-social-links a img {
    width: 18px;
    height: 18px;
}

.top-bar-social-links {
    width: calc((100% - 240px)/2);
    display: flex;
    justify-content: flex-end;
}

.top-bar-contact-txt a {
    color: #ffffff;
    text-decoration: none;
}

@media (min-width: 574.98px) and (max-width: 991.98px) {
    .top-bar-contact {
        width: calc((100% - 100px)/2);
    }

    .top-bar-promotion {
        width: calc((100% - 100px)/2);
        text-align: right;
    }

    .top-bar-social-links {
        width: 100px;
    }

}

@media (min-width: 1.98px) and (max-width: 767.98px) {

    .top-bar-inner {
        max-width: unset;
        padding-left: 20px;
        padding-right: 20px;
    }

    .top-bar {
        font-size: 10px;
    }

    .top-bar-social-links a img {
        width: 14px;
        height: 14px;
    }
}


@media (min-width: 1.98px) and (max-width: 574.98px) {
    .top-bar-contact {
        width: 100%;
        text-align: left;

    }

    .top-bar-promotion {
        width: 100%;

        text-align: left;
    }

    .top-bar-social-links {
        width: 100%;
        margin-top: -34px;
    }

}

/* Top Bar End */


/*** Nav Start ***/
.main-nav {
    font-family: var(--font_type);
    padding: 0;
    background-color: #FFFFFF;
}

.main-nav-menu {
    width: calc((100% - 153px)/2);
    flex-grow: unset;
}

.main-nav-item {
    font-size: 15px;
    font-weight: bold;
}

.navbar-nav {
    width: 400px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.navbar-nav .nav-item .main-nav-item.active {
    color: #E6A901;
    /* transition: .5s; */
}

.main-nav-item:hover {
    color: #E6A901;
    transition: .5s;
}

.main-nav-logo {
    width: 153px;
    flex-grow: 2;
}

.main-nav-logo img {
    width: 153px;
}

.navbar-talk-to-us-btn {
    width: 131px;
    height: 38px;
}

.navbar-toggler {
    border: none;
    background: transparent;
    font-size: 1.3rem;
    color: #000;
}


@media(min-width: 424.98px) and (max-width: 991.98px) {
  .main-nav-content {
    display: flex;
    flex-direction: row; 
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
  }

  .main-nav-logo {
    order: 1;
    margin-bottom: 10px;
  }

  .navbar-talk-to-us-btn {
    order: 1;
    flex-basis: 30%;  
    text-align: center; 
   margin-right: 55px;
  }

  .navbar-toggler {
    order: 2;
    margin-bottom: 10px;
  }

  .main-nav-menu {
    order: 3;
    width: 100%;
    display: flex;
    justify-content: center; 
  }

  .navbar-nav {
    flex-direction: column; 
    align-items: center;    
    width: auto;      
  }
}

@media (min-width: 1.98px) and (max-width: 424.98px) {
     .main-nav-content {
    display: flex;
    flex-direction: row; 
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
  }

  .main-nav-logo {
    order: 1;
    margin-bottom: 10px;
  }

  .navbar-talk-to-us-btn {
    order: 3;
    flex-basis: 100%;  
    text-align: center; 
    margin: 10px 0 10px; 
  }

  .navbar-toggler {
    order: 2;
    margin-bottom: 10px;
  }

  .main-nav-menu {
    order: 3;
    width: 100%;
    display: flex;
    justify-content: center; 
  }

  .navbar-nav {
    flex-direction: column; 
    align-items: center;    
    width: auto;      
  }
}


/*Footer*/
/* Base Footer Styles */
.footer {
    background-color: rgba(255, 255, 255, 1);
    color: rgb(0, 0, 0);
    padding: 3rem 1.5rem;
    font-family: var(--font_type);
    max-width: 1305px;
    margin: 0 auto;
    border-radius: 32px;
    margin-bottom: 32px;
}

.footer-container {
    max-width: 1200px;
    margin: 0 auto;
}

/* Grid Layout */
.footer-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
}

@media (min-width: 640px) {
    .footer-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 768px) {
    .footer-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

/* Columns */
.footer-title {
    font-size: 1.125rem;
    font-weight: bold;
    margin-bottom: 1rem;
}

.footer-text {
    font-size: 15px;
    color: #000000;
    margin-bottom: 1rem;
}

/* Lists */
.footer-list,
.footer-contact {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-list li,
.footer-contact li {
    margin-bottom: 0.5rem;
    font-size: 15px;
    color: #000000;
}

/* Links */
.footer-list a {
    color: #000000;
    text-decoration: none;
    transition: color 0.3s;
}

.footer-list a:hover {
    color: #facc15;
}


/* Links */
.footer-list p {
    color: #000000;
    text-decoration: none;
    transition: color 0.3s;
}

.footer-list p:hover {
    color: #facc15;
    cursor: pointer;
}

/* Icon Images */
.icon-img {
    width: 20px;
    height: 20px;
    object-fit: contain;
    margin-right: 0.5rem;
    vertical-align: middle;
}

.footer-contact li {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

/* Socials */
.footer-socials {
    display: flex;
    gap: 1rem;
}

.footer-socials a img {
    width: 24px;
    height: 24px;
    transition: filter 0.3s;
}

.footer-socials a:hover img {
    filter: brightness(1.5) saturate(1.5);
}

/* Bottom Bar */
.footer-bottom {
    border-top: 1px solid rgba(139, 139, 139, 1);
    margin-top: 3rem;
    padding-top: 1.5rem;
    text-align: center;
    font-size: 15px;
    color: #000000;
}