/* Import Artis font */
@import url('https://fonts.googleapis.com/css2?family=Artifika:wght@700&display=swap'); /* If you meant 'Artis', we can adjust */

html, body {
    margin: 0;
    padding: 0;
    height: 100%;
}
.back-to-top {
    position: fixed;
    display: none;
    right: 45px;
    bottom: 45px;
    z-index: 99;
}

/*** Button ***/
.btn {
    font-weight: 600;
    transition: .5s;
    border-radius: 50px;
}

.btn-square {
    width: 38px;
    height: 38px;
}

.btn-sm-square {
    width: 32px;
    height: 32px;
}

.btn-lg-square {
    width: 48px;
    height: 48px;
}

.btn-square,
.btn-sm-square,
.btn-lg-square {
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: inherit;
}

.btn-primary {
    color: var(--bs-white);
}

/*** Logo ***/
.navbar-logo {
    height: 80px;              /* Adjust as needed */
    max-height: 120px;         /* Prevent it from being too tall */
    width: auto;               /* Keep aspect ratio */
    z-index: 1000;             /* Higher than navbar */
    position: relative;
    margin-top: -10px;         /* Let it cross navbar height */
}

/* Responsive scaling */
@media (max-width: 992px) {
    .navbar-logo {
        height: 60px;
        max-height: 90px;
        margin-top: 0;
    }
}

@media (max-width: 576px) {
    .navbar-logo {
        height: 50px;
        max-height: 70px;
    }
}

/*** Navbar ***/
.navbar {
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 9;
    transition: .5s;
}

.navbar .navbar-nav .nav-link {
    margin-right: 25px;
    padding: 40px 0;
    color: #284480;
    font-size: 17px;
    text-transform: uppercase;
    outline: none;
    transition: .5s;
}

.navbar .navbar-nav .nav-link:hover,
.navbar .navbar-nav .nav-link.active {
    color: #5d89e8;
}

@media (max-width: 991.98px) {
    .navbar .navbar-nav .nav-link,
    .navbar.bg-dark .navbar-nav .nav-link {
        margin-right: 0;
        padding: 10px 0;
    }

    .navbar .navbar-nav {
        margin-top: 8px;
        border-top: 1px solid var(--bs-light);
    }
}
.dropdown-item:focus,
.dropdown-item:active {
  background-color: #090e90 !important;
  color: #fff !important; /* optional, keeps text readable */
}

@media (min-width: 992px) {
    .navbar.bg-dark .navbar-nav .nav-link {
        padding: 20px 0;
    }

    .navbar .nav-item .dropdown-menu {
        display: block;
        border: none;
        margin-top: 0;
        top: 150%;
        opacity: 0;
        visibility: hidden;
        transition: .5s;
    }

    .navbar .nav-item:hover .dropdown-menu {
        top: 100%;
        visibility: visible;
        transition: .5s;
        opacity: 1;
    }
}

.navbar .dropdown-toggle::after {
    border: none;
    content: "\f107";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    vertical-align: middle;
    margin-left: 8px;
}


/*** Header ***/
.carousel-caption {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    padding-top: 100px;
    background: rgba(0, 0, 0, .7);
    z-index: 1;
}

.carousel-control-prev,
.carousel-control-next {
    width: 10%;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
    width: 3rem;
    height: 3rem;
}

@media (max-width: 768px) {
    #header-carousel .carousel-item {
        position: relative;
        min-height: 550px;
    }
    
    #header-carousel .carousel-item img {
        position: absolute;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
}

.page-header {
    padding-top: 200px;
    background: linear-gradient(rgba(0, 0, 0, .7), rgba(0, 0, 0, .7)), url(../img/carousel-1.jpg) top center no-repeat;
    background-size: cover;
}

.page-header .breadcrumb-item + .breadcrumb-item::before {
    color: var(--bs-white);
}


/*** Title ***/
.title {
    margin-bottom: 2rem;
}

.title .title-left,
.title .title-center,
.title .title-right {
    display: inline-block;
    text-transform: uppercase;
    overflow: hidden;
    color: #284380 !important;
}

.title .title-center {
    text-align: center;
}

.title .title-right {
    text-align: right;
}

.title .title-left h5,
.title .title-center h5,
.title .title-right h5 {
    position: relative;
    display: inline-block;
    font-size: 18px;
    font-weight: 300;
}

.title .title-left h5::after,
.title .title-center h5::before,
.title .title-center h5::after,
.title .title-right h5::before {
    position: absolute;
    content: "";
    width: 500%;
    height: 0;
    top: 9px;
    border-bottom: 1px solid var(--bs-white);
}

.title .title-left h5::after,
.title .title-center h5::after {
    left: calc(100% + 15px);
}

.title .title-right h5::before,
.title .title-center h5::before {
    right: calc(100% + 15px);
}

.title .title-left h1,
.title .title-center h1,
.title .title-right h1 {
    border-bottom: 1px solid var(--bs-white);
}


/*** Service ***/
.service-item {
    position: relative;
    margin-top: 2.5rem;
    overflow: hidden;
}

.service-item .service-img {
    position: relative;
    display: inline-block;
}

.service-item .service-img::before {
    position: absolute;
    content: "";
    width: calc(100% - 12rem);
    height: calc(100% - 12rem);
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border: 3rem solid rgba(232, 181, 0, .5);
    border-radius: 300px;
    z-index: 1;
}

.service-item.service-item-left {
    border-radius: 500px 0 0 500px;
    background: linear-gradient(to right, #399295, #366c6e);
}

.service-item.service-item-right {
    border-radius: 0 500px 500px 0;
    background: linear-gradient(to left, var(--bs-secondary), var(--bs-dark));
}

@media (max-width: 767.98px) {
    .service-item.service-item-left,
    .service-item.service-item-right {
        border-radius: 500px 500px 0 0;
        background: linear-gradient(to bottom, var(--bs-secondary), var(--bs-dark));
        text-align: center;
    }
}


/*** Portfolio ***/
.portfolio-item {
    position: relative;
    overflow: hidden;
}

.portfolio-item::before,
.portfolio-item::after {
    position: absolute;
    content: "";
    width: 0;
    height: 100%;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, .7);
    transition: .5s;
}

.portfolio-item::after {
    left: auto;
    right: 0;
}

.portfolio-item:hover::before,
.portfolio-item:hover::after {
    width: 50%;
}

.portfolio-item .portfolio-overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    transition: .5s;
    z-index: 3;
    opacity: 0;
}

.portfolio-item:hover .portfolio-overlay {
    transition-delay: .5s;
    opacity: 1;
}

.portfolio-item .portfolio-overlay .portfolio-btn {
    display: flex;
    margin: 5px;
    margin-bottom: 60px;
}

.portfolio-item .portfolio-overlay .portfolio-name {
    position: absolute;
    width: 100%;
    height: 60px;
    left: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--bs-primary);
}




/* Mobile Full-Screen Nav */
@media (max-width: 991.98px) {
    .navbar-collapse {
        position: fixed;
        top: 0;
        left: 0;
        height: 100vh;
        width: 100%;
        background: #c1d512; /* Bootstrap Primary Blue */
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        transform: translateY(-100%);
        transition: transform 0.5s ease-in-out;
        z-index: 9999;
    }

    .navbar-collapse.show {
        transform: translateY(0);
    }

    .navbar-nav {
        flex-direction: column;
        gap: 20px;
    }

    .navbar-nav .nav-link {
        font-size: 22px;
        font-weight: 600;
        color: #000 !important;
        padding: 10px 0;
    }

.navbar-collapse .btn-close {
    position: absolute;
    top: 20px;
    right: 20px;
    filter: none !important; /* black cross for light background */
    z-index: 10000;          /* ensure it stays above menu */
}

}



/* Scene (container with perspective) */
.scene {
  --cube-size: 350px;  /* default desktop size */
  width: 100%;
  max-width: var(--cube-size);
  aspect-ratio: 1 / 1;
  perspective: 1200px;
    margin : 0 auto;     /* remove margin */
    padding-top: 0;    /* remove padding */
  display: flex;
  justify-content: center;
  align-items: flex-start; /* stick to top */
}

/* Cube */
.cube {
  width: 100%;
  height: 100%;
  position: relative;
  transform-style: preserve-3d;
  animation: rotateCube 12s infinite linear;
}

/* Cube faces */
.face {
  position: absolute;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  border: 2px solid rgba(255, 255, 255, 0.2);
  box-sizing: border-box;
}

/* Each face: translateZ = half of cube size */
.front  { transform: rotateY(0deg)   translateZ(calc(var(--cube-size)/2));  background-image: url("../img/cube1.jpg"); }
.back   { transform: rotateY(180deg) translateZ(calc(var(--cube-size)/2));  background-image: url("../img/cube2.jpg"); }
.right  { transform: rotateY(90deg)  translateZ(calc(var(--cube-size)/2));  background-image: url("../img/cube3.jpg"); }
.left   { transform: rotateY(-90deg) translateZ(calc(var(--cube-size)/2));  background-image: url("../img/cube4.jpg"); }
.top    { transform: rotateX(90deg)  translateZ(calc(var(--cube-size)/2));  background-image: url("../img/cube5.jpg"); }
.bottom { transform: rotateX(-90deg) translateZ(calc(var(--cube-size)/2));  background-image: url("../img/cube6.jpg"); }

/* Cube rotation */
@keyframes rotateCube {
  0%   { transform: rotateX(0deg)   rotateY(0deg); }
  25%  { transform: rotateX(0deg)   rotateY(90deg); }
  50%  { transform: rotateX(0deg)   rotateY(180deg); }
  75%  { transform: rotateX(0deg)   rotateY(270deg); }
  100% { transform: rotateX(360deg) rotateY(360deg); }
}

/* Responsive adjustments */
@media (max-width: 992px) {
  .scene {
    --cube-size: 200px;  /* smaller on tablets */
  }
}

@media (max-width: 576px) {
  .scene {
    --cube-size: 200px;  /* mobile */
  }
}






/* vibrant glowing blobs */
.footer {
  background-color: #ead101;
  position: relative;
  overflow: hidden;   /* prevents bubbles from creating scrollbars */
}


/* wrapper to contain video & content */
.sge-video-wrapper {
    position: relative;
    width: 100%;
    height: 100vh; /* full viewport height */
    overflow: hidden;
}
/* background video */
.sge-video {
    position: absolute;
    top: 50%;
    left: 50%;
    width: auto;
    height: 100%;
    min-width: 100%;
    min-height: 100%;
    transform: translate(-50%, -50%);
    z-index: 0;
    object-fit: cover;
    filter: brightness(0.7); /* optional: darken video for text readability */
}

/* content above video */
.sge-video-content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%;
    color: #ffffff;
    text-shadow: 0 0 15px rgba(0,0,0,0.5);
    padding: 0 20px;
}

/* responsive text */
.sge-video-content h1 {
    font-size: clamp(30px, 6vw, 80px);
    font-weight: 700;
}



/* loader styles */
.video-loader {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #7ac9fc; /* black overlay while loading */
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 3;
    flex-direction: column;
}

.loader-text {
    color: #fff;
    font-size: 40px;
    font-weight: 300;
}




/* navbar load color */
.sgenav {
  background-color: rgba(255, 255, 255, 0.9);
}


/* about background and text button*/
.aboutbk {
    /* gradient from semi-transparent white to #e8b500 */
    background: linear-gradient(to bottom, rgba(0, 190, 197, 0.8), #00bec5);
}
.aboutbktxt {
  color: #fff !important;
  font-size: 22px;
  font-weight: 300;
}
/* clients background and text button*/
.clientbk {
    /* gradient from semi-transparent white to #e8b500 */
    background: linear-gradient(to bottom, rgba(158, 83, 0, 0.8), #9e5300);
}
.clientbktxt {
  color: #fff !important;
  font-size: 22px;
  font-weight: 300;
}
/* photo gallery background and text button*/
.photobk {
    /* gradient from semi-transparent white to #e8b500 */
    background: linear-gradient(to bottom, rgba(54, 91, 109, 0.8), #365b6d);
}
.photobktxt {
  color: #fff !important;
  font-size: 22px;
  font-weight: 300;
}
/* photo gallery background and text button*/
.videobk {
    /* gradient from semi-transparent white to #e8b500 */
    background: linear-gradient(to bottom, rgba(0, 112, 204, 0.8), #0070cc);
}
.videobktxt {
  color: #fff !important;
  font-size: 22px;
  font-weight: 300;
}
/* particle js css*/


.col-lg-5 img {
  z-index: 1;
}


.btn {
  position: relative;
  z-index: 1;
}



/* service background and text button*/
.servicebk {
  background-color: #00bec5;
}
.aboutbktxt {
  color: #fff !important;
  font-size: 22px;
  font-weight: 300;
}

.video-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 50px;
}

.custom-video {
  width: 80%;
  height: auto;
  display: block;
    border-radius: 20px;

}


.sgestar {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 200px;   /* adjust size of the container */
  height: 200px;  /* adjust as needed */
  margin: 0 auto; /* center in page if needed */
}

.sgestar img {
  width: 100px;   /* star size */
  height: auto;
  animation: spin 5s linear infinite; /* rotate forever */
}

@keyframes spin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}









/* --------------------------------------------------
   FORCE-HIDE any existing overlay and hover effects
   -------------------------------------------------- */
.portfolio-overlay,
.portfolio-item .portfolio-overlay,
.portfolio-item .portfolio-overlay *,
.portfolio-btn,
.portfolio-btn * {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* kill pseudo-element overlays if template used ::before/::after */
.portfolio-item::before,
.portfolio-item::after,
.portfolio-item .portfolio-overlay::before,
.portfolio-item .portfolio-overlay::after {
  display: none !important;
  content: none !important;
  opacity: 0 !important;
}

/* remove any slide-in transforms/transitions that create the sliding overlay */
.portfolio-item *,
.portfolio-item *::before,
.portfolio-item *::after {
  transform: none !important;
  transition: none !important;
}

/* --------------------------------------------------
   Magnify icon: always centered, white, clickable
   -------------------------------------------------- */
.portfolio-item {
    position: relative; /* ensure parent is relative */
    overflow: hidden;
}




.portfolio-caption {
  text-align: center;
  font-weight: bold;
  color: blue;
  margin-top: 8px;
  font-size: clamp(14px, 2vw, 20px); /* min 14px, scales with viewport, max 20px */
}







.lb-data .lb-caption {
    color: #fff !important;
    font-weight: 700;
    text-align: center;
}


/* Hide Lightbox "Image X of Y" text */
.lb-number {
    display: none !important;
}





.carousel-wrapper {
    width: 90%;
    margin: auto;
    overflow: hidden;
}

.scrolling-row {
    display: flex;
    gap: 20px;
    /* Make it wide enough to hold all items twice */
    width: max-content;
    animation: scroll-left 180s linear infinite;
}

.scroll-item {
    min-width: 250px;
    flex-shrink: 0;
}

.scroll-item img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-radius: 10px;
}

.scroll-item p {
    text-align: center;
    font-weight: bold;
    margin: 5px 0 0 0;
    color: #006cb6;
    font-family: 'Roboto', sans-serif;
    font-weight: 900;
}

/* Optional stagger effect on large screens */
@media (min-width: 992px) {
    .scrolling-row .scroll-item:nth-child(2n) {
        margin-top: 30px;
    }
}

@media (max-width: 991px) {
    .scrolling-row .scroll-item {
        margin-top: 0;
    }
}

/* Continuous scroll animation */
@keyframes scroll-left {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); } /* move half of the duplicated row */
}






/* === sgeyoutube Carousel Styles start === */
.sgeyoutube-carousel {
  width: 80%;
  margin: 0 auto;
  padding: 50px 0;
}
.sgeyoutube-title {
  text-align: center;
  margin-bottom: 20px;
  font-size: 24px;
  font-weight: 600;
  font-family: system-ui, sans-serif;
}
/* === Last Resort CSS Fix: Overriding Swiper Defaults === */

/* FINAL DEFINITIVE FIX: Place this block at the very bottom of your CSS file */

/* 1. Target Swiper Wrapper to remove its height influence */
.sgeyoutube-swiper .swiper-wrapper,
.sgeyoutube-swiper2 .swiper-wrapper {
    /* Prevents the wrapper from vertically stretching to the tallest content */
    min-height: auto !important; 
    align-items: flex-start !important;
}

/* 2. Target Slides - The ultimate 16:9 enforcement for both channels */
.sgeyoutube-slide,
.sgeyoutube-slide2 {
  position: relative;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 16/9; /* Modern approach */
  background: #000;
  border-radius: 10px;
}

.sgeyoutube-slide img,
.sgeyoutube-slide2 img {
  width: 100%;
  height: 100%;
  object-fit: cover !important;
}

/* 4. Ensure caption is positioned correctly */
.sgeyoutube-caption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0,0,0,0.75);
  color: #fff;
  padding: 8px 12px;
  font-size: 14px;
  z-index: 2;
}/* === End Final CSS Fix === */
/* Play button overlay */
.sgeyoutube-playbtn {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 60px;
  height: 60px;
  background: rgba(0,0,0,0.6);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}
.sgeyoutube-playbtn::before {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border-left: 18px solid #fff;
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
  margin-left: 4px;
}
/* Swiper nav buttons */
.sgeyoutube-swiper .swiper-button-next,
.sgeyoutube-swiper .swiper-button-prev {
  color: #fff;
}

/* Overlay */
.sgeyoutube-overlay{
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  background: rgba(0,0,0,1);
}
.sgeyoutube-overlay-inner{
  width: 80%;
  max-width: 1200px;
  aspect-ratio: 16/9;
  background: #000;
  position: relative;
  border-radius: 10px;
  overflow: hidden;
}
.sgeyoutube-close{
position: absolute;
top: 10px;
right: 10px;
 width: 40px;
 height: 40px;
 border-radius: 50%;
 /* CHANGE 1: Set background to red */
 background: #ff0000; /* A standard red color */
 /* You could also use a slightly darker red: #cc0000; */
 
 /* CHANGE 2: Set text color to white for contrast */
 color: #fff; 
 font-size: 22px;
 border: none;
 cursor: pointer;
 z-index: 10;
}

.sgeyoutube-playerwrap{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.sgeyoutube-playerwrap iframe{
  width: 100% !important;
  height: 100% !important;
  border: 0;
}
/* === sgeyoutube Carousel Styles end === */



/* Ensure iframe fills container */
.video-container {
  position: relative;
  width: 100%;
  padding-top: 56.25%; /* 16:9 aspect ratio */
}

.video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  border: none;
  width: 100%;
  height: 100%;
}








/* horizontal scrolling marquee text */
.center-container {
  position: relative;
  background: url("../img/dotshape.png") center center / cover no-repeat;
  display: block;
  width: auto;
  overflow: hidden;
  padding-bottom: 50px;  /* 👈 ensures 50px gap at the bottom */
  z-index: 1;
  min-height: 600px; /* adjust based on your video’s height */
  padding-bottom: 50px;
}
/* make scrolling text stretch full height with no gaps */
.scroll-wrapper {
  display: flex;
  width: 100%;
  overflow: hidden;
  position: relative;
  line-height: 1; /* remove extra line spacing */
}
.scrolling-text {
  font-family: 'Roboto', sans-serif;
  flex-shrink: 0;
  white-space: nowrap;
  font-size: clamp(40px, 20vw, 300px);
  font-weight: 900;
  color: #d8d6d6;
  margin-right: 100px;
  letter-spacing: 2px;
  animation: scroll 60s linear infinite;
}

@keyframes scroll {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-100%);
    }
}


/* video wrapper sits above marquee */
/* video floats above marquee */
.sgemarqueevideo-wrapper {
  position: absolute;
  top: 150px;   /* push video 150px from top */
  left: 50%;
  transform: translateX(-50%);
  width: 80%;
  z-index: 2;
}

.sgemarqueevideo-video {
  width: 100%;
  height: auto;      /* maintain aspect ratio */
  display: block;
  border-radius: 10px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.4);
}
/* Optional: smaller screens */
@media (max-width: 768px) {


  .sgemarqueevideo-wrapper {
    width: 95%;            /* almost full width on mobile */
    top: 80px;            /* keep 80px from top */
  }

  .sgemarqueevideo-video {
    border-radius: 5px;
  }

  /* ensure center-container has enough space for video + 50px bottom gap */
  .center-container {
     padding-bottom: 10px; /* ✅ only 10px gap on small screens */
    min-height: 300px;     /* let it shrink naturally */
  }
}




.scrolling-video {
  position: absolute;   /* keep it fixed above scrolling text */
  top: 50px;            /* 50px from top */
  left: 50%;
  transform: translateX(-50%);
  width: 80%;
  z-index: 2;
}
.scrolling-video video {
  width: 100%;
  height: auto;
  border-radius: 10px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.4);
}



/* Make the hamburger icon black */
.navbar-toggler {
    border: 2px solid black; /* black border */
}

/* Change the three lines (bars) color */
.navbar-toggler-icon {
    background-image: none; /* remove default icon */
    position: relative;
    width: 24px;
    height: 2px;
    background-color: black;
    display: inline-block;
}

.navbar-toggler-icon::before,
.navbar-toggler-icon::after {
    content: "";
    position: absolute;
    width: 24px;
    height: 2px;
    background-color: black;
    left: 0;
}

.navbar-toggler-icon::before {
    top: -8px; /* space above middle line */
}

.navbar-toggler-icon::after {
    top: 8px; /* space below middle line */
}

/* Optional: make the close icon black */
.btn-close {
    filter: invert(1); /* makes the default white "x" black */
}





/* Social container */
.sgesocial-container {
  position: fixed;
  bottom: 20px;   /* little gap from bottom */
  left: 20px;     /* gap from left */
  display: flex;
  flex-direction: column;
  gap: 12px;      /* space between icons */
  z-index: 9999;
}

.sgesocial-wrapper {
  position: relative;
}

/* Icon button */
.sgesocial-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  background: #007bff;
  color: #fff;
  border-radius: 50%;
  font-size: 20px;
  text-decoration: none;
}

/* Dropdown */
.sgesocial-dropdown {
  position: absolute;
  left: 60px;   /* beside icon */
  top: 50%;
  transform: translateY(-50%);
  display: none;
  flex-direction: column;
  gap: 6px;
  background: #fff;
  border: 1px solid #ccc;
  padding: 6px 10px;
  border-radius: 6px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.15);
  white-space: nowrap;
}

.sgesocial-dropdown a {
  color: #333;
  text-decoration: none;
  font-size: 14px;
}

.sgesocial-dropdown a:hover {
  color: #007bff;
}

/* Show on hover */
.sgesocial-wrapper:hover .sgesocial-dropdown {
  display: flex;
}


/* Common icon style */
.sgesocial-icon {
  width: 55px;
  height: 55px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 24px;
  cursor: pointer;
  transition: transform 0.2s ease;
}

.sgesocial-icon:hover {
  transform: scale(1.1);
}
/* Default icon color */
.sgesocial-icon i {
  color: #fff; /* white by default */
  transition: color 0.2s ease;
}

/* On hover keep white (just in case future color changes) */
.sgesocial-icon:hover i {
  color: #fff;
}

/* Phone button */
.sgesocial-phone {
  background-color: #e60000; /* red */
}

/* WhatsApp button */
.sgesocial-whatsapp {
  background-color: #25D366; /* green */
}

/* Responsive (smaller size on mobile) */
@media (max-width: 480px) {
  .sgesocial-icon {
    width: 45px;
    height: 45px;
    font-size: 20px;
  }
}




.sgeyoutube-btn {
    padding-left: 30px;   /* Extra horizontal padding */
    padding-right: 30px;
    border-radius: 30px;  /* Rounded pill look */
    margin: 20px 10px;    /* Top/bottom and left/right spacing */
    font-weight: 600;
    transition: all 0.3s ease;
}

.sgeyoutube-btn:hover {
    background-color: #0b5ed7; /* Slightly darker hover */
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
}










/* Clients Section Styles */
.sgeclients-list {
  list-style: none;
  padding: 0;
  margin: 0 auto;
  max-width: 80%;
}

.sgeclients-item {
  background-color: #fffdd0; /* cream */
  color: #000; /* black text */
  font-family: 'Roboto', sans-serif;
  font-weight: 700; /* bold */
  border-radius: 20px;
  padding: 15px 20px;
  margin-bottom: 15px;
  display: flex;
  align-items: center;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.sgeclients-item i {
  color: #17a2b8; /* icon color (info blue like before) */
  margin-right: 10px;
}

.sgeclients-item:hover {
  transform: translateY(-3px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

  /* Scroll to top button */
  .sgescrolltop-btn {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 9999;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #000; /* black background */
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
  }

  .sgescrolltop-btn.sgescrolltop-visible {
    opacity: 1;
    pointer-events: auto;
  }

  /* Arrow icon */
  .sgescrolltop-arrow {
    width: 20px;
    height: 20px;
    fill: #fff; /* white arrow inside black button */
  }

  /* Pulsating effect */
  .sgescrolltop-btn::after {
    content: "";
    position: absolute;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: rgba(0,0,0,0.3);
    animation: sgescrolltop-pulse 1.5s infinite ease-out;
    z-index: -1;
  }

  @keyframes sgescrolltop-pulse {
    0% {
      transform: scale(0.9);
      opacity: 0.6;
    }
    70% {
      transform: scale(1.4);
      opacity: 0;
    }
    100% {
      opacity: 0;
    }
  }

/* about section check icon padding left */
/* Flex layout for icon + text */
.sgeaboutcheck-list {
  padding-left: 0; /* remove default list padding */
}

.sgeaboutcheck-item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem; /* space between icon and text */
  padding-left: 0.5rem; /* optional left padding for the whole item */
  word-break: break-word;
}

/* Icon fixed width so multiline text aligns */
.sgeaboutcheck-icon {
  flex-shrink: 0;
  width: 24px; /* fixed width for alignment */
  font-size: 1.2rem; 
  margin-top: 4px; /* aligns with first line of text */
  text-align: center;
}

/* Responsive tweaks */
@media (max-width: 768px) {
  .sgeaboutcheck-icon {
    width: 20px;
    font-size: 1rem;
    margin-top: 3px;
  }
  .sgeaboutcheck-item {
    gap: 0.5rem;
    padding-left: 0.25rem;
  }
}


/* Breaking News Band */
.sgeticker-container {
  width: 90%;
  margin: 30px auto;   /* center and spacing */
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  overflow: hidden;     /* keep ticker inside rounded corners */
  padding: 10px 0;
}

/* ---------- Mobile Menu Logo (Responsive) ---------- */

  .mobile-logo-img {
    width: 75%;          /* responsive width */
    max-width: 250px;    /* prevents oversized logo */
    height: auto;        /* keeps proportions */
  }
  /* Extra small phones */
  @media (max-width: 576px) {
    .mobile-logo-img {
      width: 55%;
      max-width: 200px;
    }
  }
}


/* ---------- all articles page styles---------- */
.scallarticles-container {
    max-width: 800px;
    margin: 40px auto;
    padding: 0 15px;
    box-sizing: border-box;
}

.scallarticles-heading {
    text-align: center;
    color: #222;
    font-size: 26px;
    margin-bottom: 25px;
}

.scallarticles-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.scallarticles-item {
    background: #fff;
    border: 1px solid #e2e2e2;
    border-radius: 6px;
    margin-bottom: 12px;
    padding: 15px 20px;
    transition: box-shadow 0.3s ease, transform 0.2s ease;
}

.scallarticles-item:hover {
    box-shadow: 0 3px 6px rgba(0,0,0,0.08);
    transform: translateY(-2px);
}

.scallarticles-item a {
    color: #0073aa;
    text-decoration: none;
    font-size: 18px;
    font-weight: bold;
    display: block;
    transition: color 0.3s ease;
}

.scallarticles-item a:hover {
    color: #005f87;
    text-decoration: underline;
}

.scallarticles-pagination {
    text-align: center;
    margin: 30px 0;
}

.scallarticles-pagination a {
    display: inline-block;
    margin: 0 5px;
    text-decoration: none;
    color: #0073aa;
    font-weight: 500;
    padding: 5px 10px;
    border-radius: 4px;
    transition: background 0.3s ease;
}

.scallarticles-pagination a:hover {
    background: #e6f2f8;
}

.scallarticles-pagination a.active {
    font-weight: bold;
    background: #0073aa;
    color: #fff;
}
.scallarticles-date {
    font-size: 13px;
    color: #777;
    margin-top: 4px;
}

@media(max-width:600px){
    .scallarticles-item a {
        font-size: 16px;
    }
}



/* Breaking News Band */
.breaking-news-band {
  width: 100%;
  background: red;
  color: white;
  display: flex;
  align-items: center;  /* vertical align */
  overflow: hidden;
  font-size: 1.1rem;
  font-weight: bold;
  margin-top: 120px;
  min-height: 50px;     /* ensures at least 50px */
}
@media (max-width: 768px) {
  .breaking-news-band {
    margin-top: 70px; /* mobile nav height */
  }
}
.breaking-left {
  flex: 0 0 20%;
  text-align: center;
  display: flex;
  align-items: center;  /* vertical align */
  justify-content: center;
  padding: 0 10px;      /* horizontal padding only */
}


.breaking-right {
  flex: 0 0 80%;
  overflow: hidden;
  white-space: nowrap;
  position: relative;
}

.breaking-scroll {
  display: inline-block;
  white-space: nowrap;
  padding-left: 100%;
  animation: scroll-left var(--scroll-speed, 240s) linear infinite;
}

@keyframes scroll-left {
  0% { transform: translateX(0); }
  100% { transform: translateX(-100%); }
}


/* Blinking effect for "Breaking News" */
.blink {
  animation: blinker 1.2s linear infinite;
}

@keyframes blinker {
  0%   { color: black; }
  50%  { color: #fffc00; }
  100% { color: white; }
}





/* vertical scroll container with emboss + shadow */
.scvertical-box {
    background: #0060ac;
    width: 90%;
    margin: 30px auto;
    border-radius: 12px;
    padding: 30px 0;
    box-shadow:
        inset 0 2px 5px rgba(255,255,255,0.8),
        inset 0 -2px 5px rgba(0,0,0,0.05),
        0 8px 20px rgba(0,0,0,0.15);
    overflow: hidden;
    position: relative;
    height: calc(1.6em * 3 + 60px); /* 3 items visible */
}

/* Inner scrolling content */
.scvertical-content {
    display: flex;
    flex-direction: column;
    animation: scverticalScroll 60s linear infinite;
    gap: 15px;
}

/* Pause scrolling on hover */
.scvertical-box:hover .scvertical-content {
    animation-play-state: paused;
}

/* Text style */
.scvertical-content div {
    font-weight: 600;
    color: #000;
    font-size: 1.1rem;
    text-align: center;
    line-height: 1.6em;
    margin: 5px 0;
}
.scvertical-content div:nth-child(2n) {
    color: #fffc00; /* red for 2nd, 4th, 6th… */
}

.scvertical-content div:nth-child(2n+1) {
    color: #fff; /* black for 1st, 3rd, 5th… */
}

/* Smooth continuous vertical scroll using transform */
@keyframes scverticalScroll {
    0% { transform: translateY(0); }
    100% { transform: translateY(-50%); } /* duplicated items ensure seamless loop */
}

@media (max-width: 768px) {
    .scvertical-box {
        width: 95%;
        padding: 15px;
        height: calc(1.6em * 3 + 20px);
    }
    .scvertical-content div {
        font-size: 1rem;
    }
}

.real-time-heading-wrapper {
    text-align: center;
    margin: 40px 0 20px 0;
}

.real-time-heading {
    font-family: 'Artifika', serif; /* or 'Artis' if you have a custom font */
    font-size: clamp(28px, 6vw, 50px); /* responsive size */
    font-weight: 900;
    color: #090e90;
    margin: 10px 0;
    letter-spacing: 2px;
}

.real-time-line {
    border: 0;
    height: 3px;
    background: #333;
    width: 80px;
    margin: 10px auto;
    border-radius: 2px;
}




/* === SCALLARTICLES STYLES === */
body.scallarticles-body {
    font-family: Arial, sans-serif;
    background: #fafafa;
    margin: 0;
    padding: 0;
}

.scallarticles-container {
    width: 80%;
    margin: 40px auto;
    padding: 0 15px;
    box-sizing: border-box;
}

.scallarticles-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.scallarticles-item {
    background: #fff;
    border: 1px solid #e2e2e2;
    border-radius: 6px;
    margin-bottom: 12px;
    padding: 15px 20px;
    transition: box-shadow 0.3s ease, transform 0.2s ease;
}

.scallarticles-item:hover {
    box-shadow: 0 3px 6px rgba(0,0,0,0.08);
    transform: translateY(-2px);
}

.scallarticles-item a {
    color: #0073aa;
    text-decoration: none;
    font-size: 18px;
    font-weight: bold;
    display: block;
    transition: color 0.3s ease;
}

.scallarticles-item a:hover {
    color: #005f87;
    text-decoration: underline;
}

.scallarticles-pagination {
    text-align: center;
    margin: 30px 0;
}

.scallarticles-pagination a {
    display: inline-block;
    margin: 0 5px;
    text-decoration: none;
    color: #0073aa;
    font-weight: 500;
    padding: 5px 10px;
    border-radius: 4px;
    transition: background 0.3s ease;
}

.scallarticles-pagination a:hover {
    background: #e6f2f8;
}

.scallarticles-pagination a.active {
    font-weight: bold;
    background: #0073aa;
    color: #fff;
}
.scallarticles-date {
    font-size: 13px;
    color: #777;
    margin-top: 4px;
}

@media(max-width:600px){
    .scallarticles-item a {
        font-size: 16px;
    }
}



        /* === ALL ARTICLES STYLES === */
        body.all-articles-body {
            font-family: Arial, sans-serif;
            margin: 0; 
            padding: 0;
            background: #f4f6f9;
            color: #333;
        }

        .all-articles-container {
            width: 80%;
            margin: 20px auto;
            background: #fff;
            border-radius: 10px;
            padding: 20px;
            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
        }

        .all-articles-title {
            padding: 20px 0 20px 0;
            font-size: 28px;
            color: #090e90;
        }

        .all-articles-img {
            max-width: 100%;
            height: auto;
            margin: 15px 0;
            border-radius: 5px;
        }

        .all-articles-content {
            font-size: 16px;
            line-height: 1.6;
        }

        .all-articles-nav {
            display: flex;
            justify-content: flex-start;
            gap: 10px;
            flex-wrap: wrap;
            margin-bottom: 20px;
        }

        .all-articles-btn {
            display: inline-block;
            background: #0073aa;
            color: #fff;
            text-decoration: none;
            padding: 8px 15px;
            border-radius: 5px;
            transition: background 0.3s;
        }

        .all-articles-btn:hover {
            background: #005f87;
        }

        .all-articles-back {
            display: inline-block;
            margin-top: 20px;
            background: #333;
            color: #fff;
            padding: 8px 15px;
            border-radius: 5px;
            text-decoration: none;
        }

        .all-articles-back:hover {
            background: #000;
        }

        @media(max-width:768px){
            .all-articles-container { 
                margin: 10px; 
                padding: 15px; 
            }
            .all-articles-title { 
                font-size: 24px; 
            }
            .all-articles-btn, .all-articles-back { 
                width: 100%; 
                text-align: center; 
            }
        }




        .all-articles-container {
            max-width: 90%;
            margin: 40px auto;
        }
        .all-articles-card {
            background: #fff;
            border-radius: 10px;
            box-shadow: 0 2px 8px rgba(0,0,0,0.08);
            margin-bottom: 25px;
            padding: 20px;
        }
        .all-articles-card h2 {
            font-size: 24px;
            margin-bottom: 15px;
            color: #222;
        }
        .all-articles-card img {
            max-width: 100%;
            border-radius: 8px;
            margin-bottom: 15px;
        }
        .all-articles-card small {
            color: #777;
            display: block;
            margin-top: 10px;
        }






.article-box {
    width: 80%;
    margin: 40px auto;
    border-radius: 20px;
    padding: 25px 30px;
    box-shadow: 0 8px 25px rgba(0,0,0,0.15);
}
.article-content {
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.article-item {
    display: flex;
    align-items: flex-start;
    gap: 15px;
}
.article-item img {
    width: 100%;
    aspect-ratio: 1/1;   /* keeps it square */
    border-radius: 50%;
    border: 10px solid #ffd702;
    object-fit: cover;
    display: block;
}

.article-item .text {
    flex: 1;
}
.article-item .text h4 {
    margin: 0 0 5px;
    font-size: 1rem;
    color:#ffd702;
}
.article-item .text p {
    margin: 0;
    font-size: 0.9rem;
    color: #768f8d;
}
@media (max-width: 768px) {
    .article-item {
        flex-direction: column;
        align-items: flex-start;
    }
    .article-item img {
        width: 100%;
        height: auto;
    }
}




.nyt-feed-box {
    width: 80%;
    margin: 40px auto; /* center with some spacing */
    background: #fff;
    padding: 25px 30px;
    border-radius: 20px;
    box-shadow: 0 8px 25px rgba(0,0,0,0.15);
}
.nyt-feed-box h3 {
    font-family: 'Josefin Sans', sans-serif;
    font-weight: 700;
    margin-bottom: 20px;
    text-align: center;
}
.nyt-feed-box ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.nyt-feed-box ul li {
    margin-bottom: 12px;
    font-family: 'Work Sans', sans-serif;
    font-weight: 400;
}
.nyt-feed-box ul li a {
    text-decoration: none;
    color: #333;
    transition: color 0.3s;
}
.nyt-feed-box ul li a:hover {
    color: #007bff;
}
.nyt-feed-box .nyt-date {
    display: block;
    font-size: 0.8rem;
    color: #999;
}
@media (max-width: 768px){
    .nyt-feed-box {
        width: 95%;
        padding: 20px;
    }
}



.trailer-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
}
.trailer-item img {
    width: 200px;
    border-radius: 15px;
    transition: transform 0.3s;
}
.trailer-item img:hover {
    transform: scale(1.05);
}
@media (max-width: 768px){
    .trailer-item img {
        width: 45%;
    }
}