/*

* Theme Name: NS - Grand Imperial

*  Author: Netscriper

*  Author URI: http://www.netscriper.com/

*/     



:root {
--color1: #46A3F6;
--color2: #1677C8;
}



html, body {

    height: 100%;

    margin: 0;


}



body {

    background-color: #000000;

    overflow-x: hidden;

    margin: 0 auto;

    position: relative;

    z-index: 1;

}



div#page {

    overflow: hidden;

}



/* Parallax Star background*/

.star-bg {

    position: fixed;

    inset: 0;

    z-index: 9999;

    pointer-events: none;

}



#stars,

#stars2,

#stars3 {

    position: absolute;

    top: 0;

    left: 0;

    width: 200%;

    height: 200%;

}



#stars {

    background-image:

        radial-gradient(1px 1px at 40px 60px, #fff, transparent),

        radial-gradient(1px 1px at 120px 90px, #fff, transparent),

        radial-gradient(1px 1px at 180px 40px, #fff, transparent);



    background-repeat: repeat;

    background-size: 250px 250px;

    opacity: 0.4;

}



#stars2 {

    background-image:

        radial-gradient(2px 2px at 80px 80px, #fff, transparent),

        radial-gradient(2px 2px at 80px 80px, #fff, transparent),

        radial-gradient(2px 2px at 200px 120px, #fff, transparent);



    background-repeat: repeat;

    background-size: 350px 350px;

    opacity: 0.5;

}



#stars3 {

    background-image:

        radial-gradient(2px 2px at 80px 80px, #fff, transparent),

        radial-gradient(3px 3px at 200px 120px, #fff, transparent),

        radial-gradient(3px 3px at 140px 200px, #fff, transparent);



    background-repeat: repeat;

    background-size: 400px 400px;

    animation: moveStars 100s linear infinite;

    opacity: 0.9;

    filter: drop-shadow(0 0 3px white);

}



@keyframes moveStars {

    from {

        transform: translateY(0);

    }

    to {

        transform: translateY(-1000px);

    }

}



@keyframes twinkle1 {

    0% { opacity: 0.2; }

    20% { opacity: 1; }

    40% { opacity: 0.3; }

    60% { opacity: 0.8; }

    100% { opacity: 0.2; }

}



@keyframes twinkle2 {

    0% { opacity: 0.6; }

    30% { opacity: 0.2; }

    60% { opacity: 1; }

    100% { opacity: 0.4; }

}



@keyframes twinkle3 {

    0% { opacity: 1; }

    25% { opacity: 0.3; }

    50% { opacity: 0.9; }

    75% { opacity: 0.2; }

    100% { opacity: 1; }

}



#stars {

    animation:

        moveStars 20s linear infinite,

        twinkle1 5s ease-in-out infinite;

}



#stars2 {

    animation:

        moveStars 40s linear infinite,

        twinkle2 7s ease-in-out infinite;

}



#stars3 {

    animation:

        moveStars 80s linear infinite,

        twinkle3 4s ease-in-out infinite;

}



#stars { animation-delay: 0s, 0s; }

#stars2 { animation-delay: 2s, 1s; }

#stars3 { animation-delay: 3s, 0.5s; }





/* Cursor dots */

.cursor-trail {

    position: fixed;

    width: 7px;

    height: 7px;

    background: white;

    border-radius: 50%;

    pointer-events: none;

    z-index: 99999;

    transform: translate(-50%, -50%);

    opacity: 0.9;

    box-shadow: 0 0 8px rgba(255,255,255,0.8),

                0 0 15px rgba(255,255,255,0.3);

}



/* Pagination */



ul.page-numbers{

	padding-left: 0px;

}	

ul.page-numbers li{

	float: left;

	height: 35px;

	width: 35px;

	list-style: none;

	line-height: 35px;

	text-align: center;

	padding: 0px;

	border-radius: 100px;

	margin-right: 3px;

	box-shadow: 0px 0px 1px 0px rgba(0, 0, 0, 0.2);	

}

ul.page-numbers li span.current{

	color: #000;

	font-size: 16px;

}

.content-img img{

	width: 100%;

	height: auto;

}

/* 404 error */

.error img {

    position: relative;

    margin: 0 auto;

}

.back-home-wrap p {

    font-size: 21px;

	margin-top:50px;

}

.back-home-wrap {

    text-align: center;

    left: 0;

    right: 0;

}

.error {

    height: 400px;

}

.back-home {

    margin-top: 14px;

    border-radius: 0;

}



.mm-menu--offcanvas{

    position: absolute;

}



/* Breadcrumb */



#breadcrumbs {list-style-type: none; padding-left: 0;}

#breadcrumbs li{display: inline-block;}



/*********************** Widget ******************/

.mywidget h4 {

    font-size: 14px;

    font-family: 'Lato', sans-serif;

}

.widget-title{

    font-family: 'Lato', sans-serif;

    font-weight: 700;

    font-size: 21px;

}

.widget ul li a {

    color: #333;

    font-family: 'Raleway', sans-serif;

    border-bottom: 1px solid #ddd;

    display: block;

    padding-top: 12px;

    padding-bottom: 12px;

    position: relative;

}

.widget ul li a::before {

    content: '';

    position: absolute;

    border: 1px solid var(--color1);

    bottom: 0;

    width: 53px;

}

.widget ul li a:hover::before {

    content: '';

    position: absolute;

    border: 1px solid var(--color1);

    bottom: 0;

    left: 0;

    right: 0;

    width: 100%;

    transition: all .3s ease;

}

.widget ul li a:hover,

.widget ul li a:focus{

    color: var(--color1);

    text-decoration: none;

    outline: none;

}

.widget ul{

    padding-left:0;

    list-style-type: none;

}

.sidebar {

    margin-top: 30px;

}



/* header */

.navi-row {

    position: absolute;

    top: 0;

    left: 50%;

    transform: translateX(-50%);

    z-index: 999;

    display: flex;

    align-items: center;

    justify-content: space-between;

    width: 100%;

    max-width: 1320px;

    padding: 20px 12px;

}



.navi-logo {

    display: flex;

    align-items: center;

    justify-content: flex-start;

    flex: 0 0 auto;

}



.logo-wrapper img {

    max-width: 180px;

    height: auto;

}

.navi {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex: 1;
    margin-right: 230px;
}

.header_menu {

    display: flex;

    justify-content: flex-end;

    align-items: center;

    gap: 30px;

    margin: 0;

    padding: 0;

    width: 100%;

}



.header_menu li {

    list-style: none;

}



.header_menu li a {

    text-decoration: none;

    color: #000;

    font-weight: 500;

    transition: 0.3s;

}



.header_menu li a:hover {

    color: var(--color1);

}



i.bi.bi-list {

    font-size: 30px;

    color: #fff;

}



@media (max-width: 1200px) {

    .navi-row {

    max-width: 990px;

}

}



@media (max-width: 992px) {

    .ds-menu {

        display: none !important;

    }



    .navi-row {

        flex-wrap: nowrap;

        max-width: 600px;

    }



    .navi {

        flex: 1;

        justify-content: flex-end;

    }



    .xs-menu-btn {

        display: flex !important;

        align-items: center;

        justify-content: flex-end;

        margin-left: auto;

    }

}

@media (max-width: 1400px) {
.navi-row {
    max-width: 1220px;
}
}

@media (max-width: 1300px) {
.navi-row {
    max-width: 1120px;
}
}

@media (max-width: 1100px) {
    .navi-row {
        max-width: 900px;
    }
}

@media (max-width: 992px) {
    .navi-row {
        max-width: 700px;
    }
}



@media (max-width: 768px) {

    .navi-row {

        flex-wrap: nowrap;

        max-width: 400px;

    }

}



@media (max-width: 500px) {

    .navi-row {

        flex-wrap: nowrap;

        max-width: 300px;

    }

.logo-wrapper img {
    max-width: 120px;
}

.services-header p {
    font-size: 24px;
}

.gradient-header h4 {
        font-size: 24px;
    }

}



@media (max-width: 360px) {

    .navi-row {

        flex-wrap: nowrap;

        max-width: 250px;

    }

}



a.nav-link {

    color: #fff !important;

}



.header_menu .nav-link {
    color: #ffffff;
    padding: 10px 18px;
    border-radius: 50px;
    transition: all 0.3s ease;
}

/* Hover + Active Style */
.header_menu .nav-link:hover,
.header_menu .current-menu-item .nav-link,
.header_menu .current_page_item .nav-link,
.header_menu .nav-link.active {
    color: #ffffff;
    background: rgba(70, 163, 246, 0.18);
    box-shadow: 0 0 18px rgba(70, 163, 246, 0.25);
}


/* ***************** Home ********************** */



/* hero section */

.hero-section {

    background: url(images/hero-bg.png) center center / cover no-repeat;

    min-height: 800px;

    display: flex;

    align-items: center;

    text-align: center;

    position: relative;

}



/* section::before {

    content: "";

    position: absolute;

    inset: 0;

    background: rgba(0,0,0,0.4);

    z-index: 0;

} */



.hero-section > * {

    position: relative;

    z-index: 1;

}





.hero-section .container {

    position: relative;

    z-index: 2;

}



.hero-content {

    max-width: 850px;

    margin: auto;

    margin-top: 230px;

}



.hero-content h1 {

    font-size: 50px;

    font-weight: 600;

    line-height: 1.7;

    color: #fff;

    margin-bottom: 25px;

}



.hero-content h1 span {

    display: block;

    color: var(--color1);

}



.hero-content p {

    font-size: 16px;

    color: #fff;

    margin-bottom: 40px;

}



.hero-btns {

    display: flex;

    justify-content: center;

    gap: 20px;

    flex-wrap: wrap;

}



.hero-btns .btn-primary {

    --btn-bg-1: hsla(194 100% 69% / 1);

    --btn-bg-2: hsla(217 100% 56% / 1);

    --btn-text: #ffffff;



    padding: 10px 32px 10px;

    border-radius: 50px;

    text-decoration: none;

    font-weight: 600;

    font-size: 16px;



    display: inline-flex;

    align-items: center;

    gap: 10px;



    color: var(--btn-text);

    border: none;

    transition: 0.8s ease;

    background-size: 280% auto;

    background-image: linear-gradient(

        325deg,

        var(--btn-bg-2) 0%,

        var(--btn-bg-1) 55%,

        var(--btn-bg-2) 90%

    );



    box-shadow:

        0 0 20px rgba(71, 184, 255, 0.45),

        0 5px 5px -1px rgba(58, 125, 233, 0.25),

        inset 4px 4px 8px rgba(175, 230, 255, 0.35),

        inset -4px -4px 8px rgba(19, 95, 216, 0.25);

}



.hero-btns .btn-primary:hover {

    background-position: right top;

    transform: translateY(-2px);

    box-shadow:

        0 0 28px rgba(71, 184, 255, 0.7),

        0 8px 12px rgba(58, 125, 233, 0.25),

        inset 4px 4px 8px rgba(175, 230, 255, 0.45),

        inset -4px -4px 8px rgba(19, 95, 216, 0.35);

}



.hero-btns .btn-primary:hover .arrow {

    transform: translateX(4px) rotate(45deg);

    margin-top: -4px;

}



.hero-btns .btn-primary .arrow {

    transition: 0.3s ease;

}



.hero-btns .btn-primary:focus,

.hero-btns .btn-primary:active {

    outline: none;

}



.btn-secondary {

    display: inline-flex;

    align-items: center;

    gap: 10px;

    padding: 10px 28px;

    background: transparent;

    border: 2px solid #ffffff;

    color: #ffffff;

    text-decoration: none;

    font-weight: 600;

    border-radius: 50px;

    transition: all 0.3s ease;

    font-size: 15px;

}



.btn-secondary:hover {

    background: rgba(255, 255, 255, 0.08);

    border-color: #ffffff;

    color: #ffffff;

    transform: translateY(-2px);

    box-shadow: 0 8px 20px rgba(255, 255, 255, 0.12);

}



.btn-secondary:hover .arrow {

    transform: translateX(4px) rotate(45deg);

    margin-top: -4px;

}



.arrow{

    padding-left: 10px;

}



@media (max-width: 768px) {

    .hero-content h1 {

        font-size: 30px;

    }



    .hero-content p {

        font-size: 18px;

    }

}



/* hero image section */

.hero-img-section {

    padding: 0px 0 80px;

    display: flex;

    justify-content: center;

    align-items: center;

    text-align: center;

    margin-top: -60px;

}



.hero-img {

    position: relative;

    display: inline-block;

    border-radius: 30px 30px 0 0;

}



.hero-img::before {

    content: "";

    position: absolute;



    top: -15px;

    left: -15px;

    right: -15px;

    height: 95%;



    background:

        radial-gradient(circle at top center,

            rgba(63, 146, 255, 0.3),

            transparent 60%),



        radial-gradient(circle at left center,

            rgba(63, 146, 255, 0.2),

            transparent 65%),



        radial-gradient(circle at right center,

            rgba(63, 146, 255, 0.2),

            transparent 65%);



    filter: blur(25px);

    z-index: 1;

    pointer-events: none;

}



.hero-img::after {

    content: "";

    position: absolute;

    top: -250px;

    left: 50%;

    transform: translateX(-50%);

    width: 1600px;

    height: 600px;

    background: url(images/shadow-ellipse.png) no-repeat center;

    background-size: cover;

    z-index: 2;

    pointer-events: none;

}



.hero-img img {

    position: relative;

    z-index: 3;



    max-width: 100%;

    height: auto;

    display: block;



    mask-image: linear-gradient(

        to bottom,

        black 0%,

        black 70%,

        rgba(0,0,0,0.6) 85%,

        transparent 100%

    );



    border-radius: 30px 30px 0 0;

}



/* home services */

.services-section {

    padding: 100px 0;

    text-align: center;

}



.services-header {

    text-align: center;

    margin-bottom: 80px;

}



.gradient-header h2 {

    display: inline-block;  

    width: fit-content;     

    position: relative;



    font-weight: 700;

    font-size: 28px;

    line-height: 34px;

    text-transform: uppercase;

    background: linear-gradient(147.09deg, #2776BC 7.04%, #8ECAFF 93.17%);



    -webkit-background-clip: text;

    -webkit-text-fill-color: transparent;

    background-clip: text;



    letter-spacing: 4px;

    margin: 0 auto;



    text-shadow: 0 0 18px rgba(78, 168, 255, 0.25);

}



.gradient-header h2::before {

    content: "";

    position: absolute;

    width: 16px;

    height: 16px;

    left: -30px;

    top: 50%;

    transform: translateY(-50%);

    background: linear-gradient(147.09deg, #2776BC 7.04%, #8ECAFF 93.17%);

    border-radius: 50%;

    box-shadow: 0 0 6px rgba(79, 168, 255, 0.6);

}



.gradient-header h2::after {

    content: "";

    position: absolute;



    width: 16px;

    height: 16px;



    right: -28px;

    top: 50%;

    transform: translateY(-50%);

    background: linear-gradient(147.09deg, #2776BC 7.04%, #8ECAFF 93.17%);

    border-radius: 50%;

    box-shadow: 0 0 6px rgba(79, 168, 255, 0.6);

}



.services-header p {

    font-size: 32px;

    color: #fff;

    margin-top: 16px;

    font-weight: 600;

}



.color1 {

    color: #46A3F6;

}



.title-color{

    display: block;

}



.services-grid {

    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 25px;

    margin-top: 0px;

}



.service-card {

    position: relative;

    box-sizing: border-box;

    background: rgb(82 183 255 / 8%);

    backdrop-filter: blur(10px);

    -webkit-backdrop-filter: blur(10px);

    box-shadow: 0px 0px 34px 1px rgba(125, 187, 255, 0.3);

    border-radius: 30px;

    padding: 30px 30px 15px 30px;

    text-align: center;

    transition: 0.3s ease;

    z-index: 0;

    height: 210px;

}



.service-card::before {

    content: "";

    position: absolute;

    inset: 0;

    padding: 1px;

    border-radius: 30px;

    background: linear-gradient(359deg, rgba(125, 187, 255, 1) 0%, rgba(255, 255, 255, 0) 50%, rgba(125, 187, 255, 1) 100%);

    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);

    -webkit-mask-composite: xor;

    mask-composite: exclude;

    pointer-events: none;

    z-index: -1;

}



.service-card:hover {

    transform: translateY(-8px);

    box-shadow: 0px 0px 45px rgba(107, 178, 255, 0.5);

}



.service-card .icon {

    width: 96px;

    height: 96px;



    margin: 0 auto 20px;



    background: linear-gradient(

        180deg,

        #2776BC 0%,

        #8ECAFF 100%

    );



    border-radius: 50%;



    display: flex;

    align-items: center;

    justify-content: center;



    position: relative;

}



.service-card .icon::before {

    content: "";

    position: absolute;

    inset: -2px; 



    border-radius: 50%;



    background: linear-gradient(359deg, rgba(125, 187, 255, 1) 0%, rgba(255, 255, 255, 0) 50%, rgba(125, 187, 255, 1) 100%);

    z-index: -1;

}



.service-card h3 {

    font-size: 20px;

    margin-bottom: 10px;

}



.service-card p {

    font-size: 13px;

    color: #fff;

}



.service-card-link:nth-child(2) .service-card,
.service-card-link:nth-child(3) .service-card {
    margin-top: 40px;
}

.service-card-link:nth-child(6) .service-card,
.service-card-link:nth-child(7) .service-card {
    margin-top: 40px;
}


@media (max-width: 1200px) {

    .services-grid {

        grid-template-columns: repeat(3, 1fr);

    }



    .service-card:nth-child(2),

    .service-card:nth-child(3) {

        margin-top: 0px;

    }

}



@media (max-width: 992px) {

    .services-grid {

        grid-template-columns: repeat(2, 1fr);

    }

}



@media (max-width: 576px) {

    .services-grid {

        grid-template-columns: 1fr;

    }

}



/* shadow circle background */
.shadow-section {
    position: relative;
    overflow: hidden;
}

.shadow-section .shadow-circle-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
}

.shadow-section .shadow-circle-bg::before {
    content: "";
    position: absolute;
    top: 15%;
    left: -10%;
    width: 45%;
    height: 60%;
    background: radial-gradient(circle at left center, rgba(70, 163, 246, 0.35), rgba(0, 85, 182, 0.20), transparent 55%);
    filter: blur(35px);
    opacity: 0.75;
    animation: shadowSectionGlow 6s ease-in-out infinite alternate;
}

@keyframes shadowSectionGlow {
    0% {
        transform: translateX(0px);
        opacity: 0.65;
    }
    100% {
        transform: translateX(30px); 
        opacity: 0.85;
    }
}

.shadow-section > *:not(.shadow-circle-bg) {
    position: relative;
    z-index: 2;
}

/* shadow background 2 */
.shadow-section .shadow-circle-bg-2 {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
}

.shadow-section .shadow-circle-bg-2::after {
    content: "";
    position: absolute;
    top: 70%;
    right: -10%;
    width: 45%;
    height: 70%;
    background: radial-gradient(circle at right center, rgb(16 143 255 / 25%), transparent 65%);
    filter: blur(45px);
    animation: shadowSectionGlowRight 6s ease-in-out infinite alternate;
}

@keyframes shadowSectionGlowRight {
    0% {
        transform: translateX(0px);
        opacity: 0.6;
    }
    100% {
        transform: translateX(-25px);
        opacity: 0.9;
    }
}

/* home about us section */

.about-us-section {

    position: relative;

    padding: 80px 0 200px;

    overflow: hidden;

    margin-bottom: 100px;

}



.about-us-section .container {

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

}



.gradient-header {

    max-width: 900px;

    margin: 0 auto 50px;

    text-align: center;

}



.home-about-hd h4 {

    font-size: 36px;

    font-weight: 700;

    line-height: 1.4;

    color: #fff;

    margin: 0 0 20px;

    margin-top: 20px;

}



.home-about-hd p {

    max-width: 760px;

    margin: 0 auto 35px;

    font-size: 16px;

    line-height: 1.8;

    color: rgba(255, 255, 255);

}



.home-about-hd .btn-primary {

    --btn-bg-1: hsla(194 100% 69% / 1);

    --btn-bg-2: hsla(217 100% 56% / 1);

    --btn-text: #ffffff;



    padding: 10px 32px 10px;

    border-radius: 50px;

    text-decoration: none;

    font-weight: 600;

    font-size: 16px;



    display: inline-flex;

    align-items: center;

    gap: 10px;



    color: var(--btn-text);

    border: none;

    transition: 0.8s ease;

    background-size: 280% auto;

    background-image: linear-gradient(

        325deg,

        var(--btn-bg-2) 0%,

        var(--btn-bg-1) 55%,

        var(--btn-bg-2) 90%

    );



    box-shadow:

        0 0 20px rgba(71, 184, 255, 0.45),

        0 5px 5px -1px rgba(58, 125, 233, 0.25),

        inset 4px 4px 8px rgba(175, 230, 255, 0.35),

        inset -4px -4px 8px rgba(19, 95, 216, 0.25);

}



.home-about-hd .btn-primary:hover {

    background-position: right top;

    transform: translateY(-2px);

    box-shadow:

        0 0 28px rgba(71, 184, 255, 0.7),

        0 8px 12px rgba(58, 125, 233, 0.25),

        inset 4px 4px 8px rgba(175, 230, 255, 0.45),

        inset -4px -4px 8px rgba(19, 95, 216, 0.35);

}



.home-about-hd .btn-primary:hover .arrow {

    transform: translateX(4px) rotate(45deg);

    margin-top: -4px;

}



.home-about-hd .btn-primary .arrow {

    transition: 0.3s ease;

}



.home-about-image {

    text-align: center;

}



.home-about-image img {

    max-width: 100%;

    height: auto;

    display: block;

    margin: 0 auto;

    border-radius: 30px;

    filter: drop-shadow(0px 0px 110px rgba(51, 140, 255, 0.4));

}



@media (max-width: 991px) {

    .gradient-header h4 {

        font-size: 32px;

    }

}



@media (max-width: 576px) {

    .gradient-header h4 {

        font-size: 26px;

    }



    .gradient-header h2 {

        font-size: 20px;

        letter-spacing: 2px;

    }

}



/* shadow background */

.shadow-circle-bg-2 {

    position: absolute;

    top: 60%;

    right: 0px;

    transform: translateY(-50%);

    z-index: 0;

    pointer-events: none;

    opacity: 1;

}



.shadow-circle-bg-2 img {

    max-width: 100%;

    height: auto;

    display: block;

    margin: 0 auto;

}



/* *************** footer ******************* */

.footer-section {

    background: #0d0d0d url(images/footer-bg.png) no-repeat center center;

    background-size: cover;

    color: #fff;

    padding: 50px 0 25px;

}



.footer-section h4 {

    font-size: 24px;

    margin-bottom: 20px;

    font-weight: 700;

}



.footer-section p {

    font-size: 16px;

    color: #ccc;

    line-height: 1.8;

    margin-bottom: 12px;

}



.footer-section i {

    color: #ffffff;

    margin-right: 10px;

    font-size: 18px;

}



.footer-map iframe {

    border-radius: 18px;

    width: 100%;

}



.footer-section hr {

    border-color: rgba(255,255,255,0.1);

    margin: 35px 0 20px;

}



.footer-bottom p {

    margin: 0;

    font-size: 15px;

    color: #ffffff;

}



.footer-bottom.text-center a {

    color: #fff;

    text-decoration: none;

    font-weight: bold;

}

footer.footer-section a {
    color: #fff;
    text-decoration: none;
}



/* Responsive */

@media (max-width: 991px) {

    .footer-section {

        text-align: center;

    }



    .footer-section i {

        margin-right: 8px;

    }



    .footer-map {

        margin-top: 10px;

    }

}



@media (max-width: 576px) {

    .footer-section {

        padding: 50px 0 20px;

    }



    .footer-section h4 {

        font-size: 22px;

    }



    .footer-section p,

    .footer-bottom p {

        font-size: 14px;

    }



    .footer-map iframe {

        height: 200px;

    }

}



/* go top */

#go-top {

    position: fixed;

    right: 25px;

    bottom: 25px;

    width: 50px;

    height: 50px;

    display: flex;

    align-items: center;

    justify-content: center;

    cursor: pointer;

    z-index: 999;

    transition: all 0.3s ease;

    animation: rocketFloat 2s ease-in-out infinite;
    background: white;
    color: var(--color2);
    border-radius: 100px;

}



#go-top img {

    width: 100%;

    height: auto;

    filter: drop-shadow(0px 10px 15px rgba(0,0,0,0.4));

    transition: transform 0.3s ease;

}



#go-top:hover {

    transform: translateY(-10px) scale(1.1);

}



#go-top:hover img {

    transform: translateY(-15px) scale(1.1);

    filter: drop-shadow(0px 25px 25px rgba(0,0,0,0.5));

    transition: all 0.4s ease;

}



#go-top:hover {

    transform: translateY(-15px);

}



#go-top:hover img {

    animation: rocketFly 0.6s ease-out forwards;

}



@keyframes rocketFly {

    0% {

        transform: translateY(0) scale(1);

        opacity: 1;

    }

    50% {

        transform: translateY(-20px) scale(1.15);

        opacity: 0.95;

    }

    100% {

        transform: translateY(-30px) scale(1.2);

        opacity: 1;

    }

}



@keyframes rocketFloat {

    0% {

        transform: translateY(0);

    }

    50% {

        transform: translateY(-8px);

    }

    100% {

        transform: translateY(0);

    }

}



/* sub banner */



.sub-banner {

    position: relative;

    width: 100%;

    min-height: 450px;

    display: flex;

    align-items: center;

    justify-content: center;

    background-size: cover;

    background-position: center;

    background-repeat: no-repeat;

    overflow: hidden;

    color: #fff;

}



.sub-banner::before {

    content: "";

    position: absolute;

    inset: 0;

    z-index: 1;



    background: 

        radial-gradient(circle at top center, rgba(31, 124, 206, 0.65), transparent 45%),

        radial-gradient(circle at top center, rgba(0, 85, 182, 0.35), transparent 40%),

        linear-gradient(to bottom, rgba(0, 0, 0, 0.55), rgba(0, 0, 0, 0.85));



    animation: glowPulse 4s ease-in-out infinite;

}



@keyframes glowPulse {

    0% {

        opacity: 0.7;

        transform: scale(1);

        filter: blur(0px);

    }



    50% {

        opacity: 1;

        transform: scale(1.04);

        filter: blur(1px);

    }



    100% {

        opacity: 0.7;

        transform: scale(1);

        filter: blur(0px);

    }

}



.sub-banner .container {

    position: relative;

    z-index: 3;

}



.page-meta {

    text-align: center;

    padding: 70px 15px 55px;

    /* border-top: 0.1px solid rgb(255 255 255 / 100%); */

}



.page-meta .title {

    font-size: 42px;

    font-weight: 700;

    letter-spacing: 2px;

    text-transform: uppercase;

}



.page-meta a {

    color: #ffffff;

    text-shadow: 0 0 10px ;

    text-decoration: none;

    transition: 0.3s ease;

}



.page-meta a:hover {

    color: var(--color1);

    text-shadow: 0 0 15px #46A3F6, 0 0 30px rgba(70, 163, 246, 0.6);

}



span.bread-current.bread-11 {

    padding-left: 10px;

}



span.bread-current {

    padding-left: 10px;

}



/* *********************  About Company ***************** */

.about-section {

    position: relative;

    overflow: hidden;

}



.about-text {

    text-align: left;

    margin: 0;

}



.about-text h2 {

    margin-bottom: 20px;

    margin-left: 30px;

    text-shadow: 0 0 10px rgba(70, 163, 246, 0.4);

}

.about-text p {

    color: rgba(255, 255, 255, 1);

    line-height: 1.9;

    margin-bottom: 0;

    font-size: 16px;

}

.about-info {
    width: 100%;
    padding-top: 50px;
    padding-bottom: 30px;
}

.mission-card {

    position: relative;

    box-sizing: border-box;

    background: rgb(82 183 255 / 8%);

    backdrop-filter: blur(10px);

    -webkit-backdrop-filter: blur(10px);

    box-shadow: 0px 0px 34px 1px rgba(125, 187, 255, 0.3);

    border-radius: 30px;

    padding: 30px 30px 20px;

    text-align: left;

    transition: 0.3s ease;

    z-index: 0;

    height: 100%;

}



.mission-card::before {

    content: "";

    position: absolute;

    inset: 0;

    padding: 1px;

    border-radius: 30px;

    background: linear-gradient(

        359deg,

        rgba(125, 187, 255, 1) 0%,

        rgba(255, 255, 255, 0) 50%,

        rgba(125, 187, 255, 1) 100%

    );

    -webkit-mask: linear-gradient(#fff 0 0) content-box,

        linear-gradient(#fff 0 0);

    -webkit-mask-composite: xor;

    mask-composite: exclude;

    pointer-events: none;

    z-index: -1;

}



.mission-card h3 {

    color: #fff;

    font-size: 22px;

    margin-bottom: 16px;

}



.mission-card p {

    color: rgb(255 255 255 / 100%);

    line-height: 1.8;

    font-size: 16px;

    margin-bottom: 0;

}



.mission-title {

    display: flex;

    align-items: center;

    gap: 10px;

    color: #fff;

    font-size: 22px;

    flex-wrap: wrap;

}



.mission-title .icon {

    color: var(--color1);

    font-size: 20px;

}



@media (max-width: 991.98px) {

    .about-text {

        text-align: center;

    }



    .about-text h2 {

        margin-left: 0px;

        text-shadow: 0 0 10px rgba(70, 163, 246, 0.4);

    }





    .about-text h2 {

        margin-bottom: 15px;

    }



    .about-text p {

        font-size: 15px;

        line-height: 1.8;

    }



    .mission-card {

        padding: 25px 25px 15px;

    }



    .mission-card h3,

    .mission-title {

        font-size: 20px;

    }

}



/* Mobile */

@media (max-width: 767.98px) {

    .about-text p,

    .mission-card p {

        font-size: 14px;

        line-height: 1.7;

    }



    .mission-card {

        padding: 22px 20px 15px;

        border-radius: 24px;

    }



    .mission-card::before {

        border-radius: 24px;

    }



    .mission-card h3,

    .mission-title {

        font-size: 18px;

    }



    .mission-title .icon {

        font-size: 18px;

    }

}



/* Small Mobile */

@media (max-width: 575.98px) {



    .about-text h2 {

        font-size: 28px;

    }



    .mission-card {

        padding: 20px 18px 12px;

    }

}



/* Company Profile */

.company-section {

    position: relative;

    padding: 140px 0;

    overflow: hidden;

}



.company-section::before {

    content: "";

    position: absolute;

    top: 0;

    left: -300px;

    width: 600px;

    height: 100%;

    background: radial-gradient(circle, rgba(70, 163, 246, 0.30), transparent 65%);

    filter: blur(80px);

    z-index: 0;

}



.company-section::after {

    content: "";

    position: absolute;

    top: 0;

    right: -300px;

    width: 700px;

    height: 100%;

    background: radial-gradient(circle, rgba(70, 163, 246, 0.30), transparent 65%);

    filter: blur(80px);

    z-index: 0;

}



.company-section .container {

    position: relative;

    z-index: 1;

}



.company-header {

    text-align: center;

    margin-bottom: 50px;

}



.company-header h2 {

    margin-bottom: 15px;

    text-shadow: 0 0 10px rgba(70, 163, 246, 0.3);

}



.company-desc {

    color: rgba(255, 255, 255, 1);

    max-width: 700px;

    margin: 0 auto 20px;

    line-height: 1.8;

    font-size: 16px;

}



.map-link  {

    --btn-bg-1: hsla(194 100% 69% / 1);

    --btn-bg-2: hsla(217 100% 56% / 1);

    --btn-text: #ffffff;



    padding: 10px 32px 10px;

    border-radius: 50px;

    text-decoration: none;

    font-weight: 600;

    font-size: 16px;



    display: inline-flex;

    align-items: center;

    gap: 10px;



    color: var(--btn-text);

    border: none;

    transition: 0.8s ease;

    background-size: 280% auto;

    background-image: linear-gradient(

        325deg,

        var(--btn-bg-2) 0%,

        var(--btn-bg-1) 55%,

        var(--btn-bg-2) 90%

    );



    box-shadow:

        0 0 20px rgba(71, 184, 255, 0.45),

        0 5px 5px -1px rgba(58, 125, 233, 0.25),

        inset 4px 4px 8px rgba(175, 230, 255, 0.35),

        inset -4px -4px 8px rgba(19, 95, 216, 0.25);

}



.map-link:hover {

    background-position: right top;

    transform: translateY(-2px);

    box-shadow:

        0 0 28px rgba(71, 184, 255, 0.7),

        0 8px 12px rgba(58, 125, 233, 0.25),

        inset 4px 4px 8px rgba(175, 230, 255, 0.45),

        inset -4px -4px 8px rgba(19, 95, 216, 0.35);

}



.map-link:hover .arrow {

    transform: translateX(4px) rotate(45deg);

    margin-top: -4px;

}



.map-link  .arrow {

    transition: 0.3s ease;

}



.company-card {

    position: relative;

    box-sizing: border-box;

    background: rgb(82 183 255 / 8%);

    backdrop-filter: blur(10px);

    -webkit-backdrop-filter: blur(10px);

    box-shadow: 0px 0px 34px 1px rgba(125, 187, 255, 0.3);

    border-radius: 20px;

    padding: 28px;

    text-align: left;

    transition: 0.3s ease;

    z-index: 0;

    height: 100%;

}



.company-card::before {

    content: "";

    position: absolute;

    inset: 0;

    padding: 1px;

    border-radius: 20px;

    background: linear-gradient(

        359deg,

        rgba(125, 187, 255, 1) 0%,

        rgba(255, 255, 255, 0) 50%,

        rgba(125, 187, 255, 1) 100%

    );

    -webkit-mask: linear-gradient(#fff 0 0) content-box,

        linear-gradient(#fff 0 0);

    -webkit-mask-composite: xor;

    mask-composite: exclude;

    pointer-events: none;

    z-index: -1;

}



.company-card:hover {

    transform: translateY(-5px);

}



.card-title {

    display: flex;

    align-items: center;

    gap: 10px;

    margin-bottom: 10px;

}



.card-title i {

    color: var(--color1);

    font-size: 20px;

    flex-shrink: 0;

}



.card-title h4 {

    margin: 0;

    font-size: 16px;

    color: rgba(255,255,255,1);

}



.company-card p {

    margin: 0;

    color: rgba(255,255,255,0.85);

    line-height: 1.7;

    font-size: 15px;

}



@media (max-width: 991.98px) {

    .company-section {

        padding: 100px 0;

    }



    .company-header {

        margin-bottom: 40px;

    }



    .company-desc {

        font-size: 15px;

    }



    .company-card {

        padding: 24px;

    }

}



@media (max-width: 767.98px) {

    .company-section {

        padding: 80px 0;

    }



    .company-header {

        margin-bottom: 30px;

    }



    .company-desc {

        margin: 0 0 20px;

        font-size: 14px;

        line-height: 1.7;

    }



    .map-link {

        width: 100%;

        justify-content: center;

        font-size: 13px;

        padding: 12px 18px;

    }



    .company-card {

        padding: 22px 20px;

        border-radius: 18px;

    }



    .company-card::before {

        border-radius: 18px;

    }



    .card-title h4 {

        font-size: 15px;

    }



    .company-card p {

        font-size: 14px;

    }

}



/* Small Mobile */

@media (max-width: 575.98px) {

    .company-header h2 {

        font-size: 28px;

    }



    .map-link {

        gap: 10px;

    }


}



/* ***************** Our Services ********************** */

.core-services {
    padding: 80px 0 140px;
    position: relative;
    overflow: hidden;
}


.core-services-header {

    text-align: center;

    margin-bottom: 50px;

}



.core-services-header h2 {

    font-size: 36px;

    color: #fff;

}



.core-service-item {

    position: relative;

    box-sizing: border-box;

    background: rgb(82 183 255 / 8%);

    backdrop-filter: blur(10px);

    -webkit-backdrop-filter: blur(10px);

    box-shadow: 0 0 34px 1px rgba(125, 187, 255, 0.3);

    border-radius: 30px;

    padding: 30px 30px 20px;

    text-align: center;

    transition: 0.3s ease;

    z-index: 0;

    height: 100%;

}



.core-service-item::before {

    content: "";

    position: absolute;

    inset: 0;

    padding: 1px;

    border-radius: 30px;

    background: linear-gradient(

        359deg,

        rgba(125, 187, 255, 1) 0%,

        rgba(255, 255, 255, 0) 50%,

        rgba(125, 187, 255, 1) 100%

    );

    -webkit-mask: linear-gradient(#fff 0 0) content-box,

        linear-gradient(#fff 0 0);

    -webkit-mask-composite: xor;

    mask-composite: exclude;

    pointer-events: none;

    z-index: -1;

}



.core-service-item:hover {

    transform: translateY(-6px);

}



.core-service-item img {

    width: 100%;

    height: 320px;

    object-fit: cover;

    border-radius: 16px;

    margin-bottom: 18px;

}



.core-service-item h3 {

    font-size: 20px;

    color: #fff;

    margin: 10px 0 8px;

}



.core-service-item p,

.core-service-item .desc {

    color: rgba(255,255,255,0.72);

    font-size: 14px;

    line-height: 1.7;

    margin-bottom: 0;

}



/* Tablet */

@media (max-width: 991.98px) {

    .core-services {

        padding: 0 0 100px;

    }



    .core-services-header {

        margin-bottom: 40px;

    }



    .core-services-header h2 {

        font-size: 32px;

    }



    .core-service-item {

        padding: 24px;

        border-radius: 24px;

    }



    .core-service-item::before {

        border-radius: 24px;

    }



    .core-service-item img {

        height: 260px;

    }



    .core-service-item h3 {

        font-size: 18px;

    }

}



/* Mobile */

@media (max-width: 767.98px) {

    .core-services {

        padding: 0 0 80px;

    }



    .core-services-header {

        margin-bottom: 30px;

    }



    .core-services-header h2 {

        font-size: 28px;

    }



    .core-service-item {

        padding: 22px 20px;

        border-radius: 22px;

    }



    .core-service-item::before {

        border-radius: 22px;

    }



    .core-service-item img {

        height: 220px;

        border-radius: 14px;

    }



    .core-service-item h3 {

        font-size: 17px;

    }



    .core-service-item p,

    .core-service-item .desc {

        font-size: 13px;

        line-height: 1.6;

    }

}


@media (max-width: 575.98px) {

    .core-service-item img {

        height: 200px;

    }



    .core-service-item {

        padding: 18px;

    }

}

.header-wrapper{
    position: relative;
}

/* Translate Box */
.translate-box {
    position: absolute;
    top: 35px;
    right: 50px;
    z-index: 99999;

    background: rgba(20, 120, 255, 0.10) !important;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);

    padding: 10px 14px;
    border-radius: 14px;

    border: 1px solid rgba(70, 163, 246, 0.35) !important;

    box-shadow:
        0 0 10px rgba(70, 163, 246, 0.25),
        0 0 25px rgba(70, 163, 246, 0.20),
        0 0 45px rgba(70, 163, 246, 0.15);

    transition: all 0.35s ease;
}

.translate-box:hover {
    transform: translateY(-3px) scale(1.02);

    background: rgba(70, 163, 246, 0.18) !important;

    box-shadow:
        0 0 15px rgba(70, 163, 246, 0.45),
        0 0 35px rgba(70, 163, 246, 0.30),
        0 0 60px rgba(70, 163, 246, 0.20);
}

.goog-te-gadget-simple {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.goog-te-gadget-simple span {
    color: #ffffff !important;
    font-size: 14px !important;
    text-shadow: 0 0 10px rgba(70, 163, 246, 0.35);
}

.goog-te-gadget-simple span:last-child {
    color: rgba(255, 255, 255) !important;
}

.goog-te-gadget-icon {
    display: none !important;
}

.goog-te-banner-frame.skiptranslate {
    display: none !important;
}

body {
    top: 0 !important;
}

@media (max-width: 991px){
    .translate-box{
        top: 40px;
        right: 70px;
        padding: 6px 10px;
    }

    #google_translate_element{
        min-width: 130px;
    }
}


@media (max-width: 768px) {
    .translate-box {
        top: 100px;
        right: -30px;
        padding: 6px 10px;
    }
}

.service-card-link {
    display: block;
    text-decoration: none;
    color: inherit;
}

.service-card {
    transition: all 0.3s ease;
    cursor: pointer;
}

.service-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(70, 163, 246, 0.2);
}