/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/




:root {
    /* Light mode variables */
    --background-color: #ffffff;
    --text-color: #000000;
    --nav-background-color: #000000;
    --nav-text-color: #ffffff;
    --active-nav-color: #000000;
	--grid-item-size: 200px;
    --border-color: #8a8a8a;
    --border-width: 1px;
    --border-style: dashed;
	--border-color-1:#EDEDED;
	
  }

  .dark-mode {
    /* Dark mode variables */
    --background-color: #2c2c2f;
    --text-color: #ffffff;
    --nav-background-color: #1f1f21;
    --nav-text-color: #ffffff;
    --active-nav-color: #ffffff;
	--border-color: #fff;
	--border-color-1:#242424;
  }

* {
	margin:0;
	padding:0;
  box-sizing: border-box;
}


/* Apply font globally */
html,body {
    font-family: 'LabilGrotesk', sans-serif;

	background-color: var(--background-color) !important;
    color: var(--text-color);
    transition: background-color 0.5s, color 0.5s;
	font-size:16px;
	width:100%;
	height:100%
}

/* Apply font to specific Elementor elements */
/* .elementor-widget-heading {
    font-family: 'LabilGrotesk', sans-serif;
}

.elementor-widget-text-editor {
    font-family: 'LabilGrotesk', sans-serif;
} */












  .custom-header {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 30px 10px;
	position: sticky;
    top: 0;
    background-color: var(--background-color);
    z-index: 100;
  }

  .header-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    max-width: 1216px;
  }

  .logo img, .menu-logo img {
    width: 71px;
	height:auto;
  }
.logo{
	z-index:0;
}

.nav-bar{
	opacity:1;
	transition: 1s ease;
}
.nav-bar {
    z-index: 0;
}



.dark-mode .logo svg {
    fill: var(--text-color);
}

  .nav-bar {
    background-color: #000;
    border-radius: 50px;
  }

  .nav-menu {
    position: relative;
    border-radius: 50px;
    margin: 5px;
    overflow: hidden;
  }

  .nav-menu ul {
    position: relative;
    display: flex;
    align-items: center;
    padding: 0;
    border-radius: 50px;
    margin: 0;
    list-style: none;
  }

  #duplicate-nav {
    position: absolute;
    inset: 0;
    background: #ffffff;
    pointer-events: none;
    clip-path: inset(0 100% 0 0 round 50px);
    transition: clip-path 0.3s ease-in-out;
    z-index: 0;
    border-radius: 50px;
  }

  .nav-menu ul li {
    display: flex;
    align-items: center;
    justify-content: center;
/*     padding: 11.8px 25px; */
    position: relative;
    z-index: 1;
    transition: color 0.3s ease-in-out;
    cursor: pointer;
  }
  .nav-menu ul li a {
    color: #fff;
    cursor: pointer;
    line-height: 1.4;
    font-size: 1rem;
    font-weight: 400;
	padding: 11.8px 25px;
  }

  .nav-menu ul li:hover a,
  .nav-menu ul li:focus a {
    color: #000;
    cursor: pointer;
  }
  .nav-menu ul li a:focus {
    outline: none;
  }

  .nav-menu ul li.active a {
    color: #000; /* Active item default color */
    border-radius: 50px;
    transition: color 0.3s ease; /* Smooth color transition */
  }




    .menu-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        background-color: #0f0f0f;
        display: flex;
        align-items: center;
        justify-content: center;
        pointer-events: none;
        clip-path: polygon(0% 100%, 100% 100%, 100% 100%, 0% 100%);
        z-index: 9999;
    }
    .overlay-logo {
        max-width: 300px;
        height: auto;
        opacity: 0.9;
    }








  .toggle-bar {
    width: 150px;
    height: 56px;
    border-radius: 999px;
    background: rgb(0, 0, 0);
    box-shadow: 10px 10px 30px rgba(0, 0, 0, 0.05) inset;
    cursor: pointer;
    position: relative;
    transition: background 0.5s, box-shadow 0.5s;
  }

  .circle {
    width: 70px;
    height: 46px;
    border-radius: 99px;
    background: #ebff00;
    box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.05),
      -10px -10px 30px rgba(0, 0, 0, 0.05) inset;
    position: absolute;
    top: 50%;
    left: 10%;
    transform: translate(-12%, -50%);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: left 0.5s, background 0.5s, box-shadow 0.5s;
    overflow: hidden;
  }

  #theme-toggle[type="checkbox"] {
    display: none;
  }

  #theme-toggle[type="checkbox"]:checked + .toggle-bar .circle {
    left: 55%;
  }

  .sun,
  .moon {
    position: absolute; /* Fix their position */
    width: 20px; /* Adjust icon size as needed */
    height: 20px;
    transition: opacity 0.5s;
    transform: translate(-50%, -50%);
    top: 50%;
    left: 50%;
  }

  .sun {
    left: 50% !important;
  }

  .sun {
    left: 15%; /* Fix the position inside the circle */
    opacity: 1;
  }

  .moon {
    right: 15%; /* Fix the position inside the circle */
    opacity: 0;
  }

  #theme-toggle[type="checkbox"]:checked + .toggle-bar .sun {
    opacity: 0; /* Hide the sun icon */
  }

  #theme-toggle[type="checkbox"]:checked + .toggle-bar .moon {
    opacity: 1; /* Show the moon icon */
  }

  #theme-toggle[type="checkbox"]:checked + .toggle-bar .circle {
    left: 55%; /* Move the circle while keeping icons fixed */
  }

.lndbar {
  display: flex;
  gap: 20px;
  align-items: center;
}






/* sidebar css */

/* .sidemenu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5); 
    pointer-events: none; 
    z-index: 9;
}

.sidemenu.opened .sidemenu-overlay {
    pointer-events: all;
}
 */

.custom-toggle {
  width: 56px;
  height: 56px;
  background-color: #0f0f0f;
  border-radius: 8em;
  transition: width 0.5s cubic-bezier(0.075, 0.82, 0.165, 1);
  transform-origin: right;
  cursor: pointer;
  z-index: 2;
}

.custom-toggle.opened {
  width: 56px;
}

.menu-copy {
  position: absolute;
  top: 50%;
  left: 30%;
  transform: translateY(-50%);
  color: #fff;
  transition: left 0.5s cubic-bezier(0.075, 0.82, 0.165, 1);
  z-index: 1;
}

.menu-copy p {
  text-transform: uppercase;
  font-weight: 500;
  font-size: 12px;
  max-width: 0;
  padding: 0;
}

.custom-toggle:hover .menu-copy {
  left: 20px;
}

.custom-toggle.opened .menu-copy {
  opacity: 0;
}

.custom-toggle-icon {
  width: 56px;
  height: 56px;
  border-radius: 100%;
  clip-path: circle(10% at 50% 50%);
  background-color: #ebff00;
  transition: all 0.5s cubic-bezier(0.075, 0.82, 0.165, 1);
  z-index: 10;
  overflow: hidden;
}

.custom-toggle:hover .custom-toggle-icon {
  clip-path: circle(35% at 50% 50%);
}

.custom-toggle.opened .custom-toggle-icon {
  clip-path: circle(50% at 50% 50%);
  transform: scale(1.125);
}

.hamburger {

/*   opacity: 0; */
}





/* Hamburger container */
.hamburger {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  width: 30px; /* Width of the hamburger icon */
  height: 18px; /* Total height of the lines */
  left: 50%;
  transform: translate(-50%, -50%); /* Center horizontally and vertically */
  transition: all 1s cubic-bezier(0.075, 0.82, 0.165, 1);
  z-index: 2;
}





.custom-toggle.opened .hamburger {
  top: 50%;
  opacity: 1;
}

.custom-toggle:hover .hamburger {
  top: 50%;
  opacity: 1;
}


.menu-bar {
    position: absolute;
    top: 38%;
    width: 15px;
    height: 2px;
    background-color: #000;
    transition-property: transform !important;
    transition: all 250ms ease-out;
	transform-origin: center;
}




.menu-bar[data-position="top"] {
  transform: translateY(-7px);
}

.menu-bar[data-position="top"] {
  transform: translateY(7px);
}

.custom-toggle.opened .menu-bar[data-position="top"] {
  transform: translateY(0) rotate(45deg) scaleX(1.05);
}

.custom-toggle.opened .menu-bar[data-position="bottom"] {
  transform: translateY(0) rotate(-45deg) scaleX(1.05);
}

.sidemenu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  display: flex;
  background-color: #0f0f0f;
  pointer-events: none;
  transform-style: preserve-3d;
  perspective: 1000px;
  clip-path: polygon(0% 100%, 100% 100%, 100% 100%, 0% 100%);
	z-index:1;
}

.col {
  flex: 1;
}

.col-2 {
  flex: 2;
}

.col {
  position: relative;
  height: 100%;
  padding: 10em 2em 2em 2em;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-end;
}

.menu-item {
  position: relative;
  transform: translate(30px);
  opacity: 0;
}

.menu-item a {
  text-decoration: none;
  color: #fff;
  font-size: 48px;
  font-weight: 300;
  letter-spacing: -1.5px;
  line-height: 125%;
}

/* .video-wrapper {
  width: 100%;
  aspect-ratio: 16/9;
  background-color: #1d1d1d;
  overflow: hidden;
  padding: 2em;
  clip-path: polygon(0% 100%, 100% 100%, 100% 100%, 0% 100%);
}

.video-wrapper video {
  width: 100%;
  height: 100%;
  object-fit: cover;
} */

.socials {
  width: 50%;
  display: flex;
  gap: 2em;
}

.socials .sub-col {
  flex: 1;
}

.socials .sub-col p {
  position: relative;
  color: #fff;
  transform: translateY(30px);
  opacity: 0;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 400;
}


.admin-name h1 span {
  position: relative;
  display: inline-block;
  transform: scale(0.75) translateY(500px) rotateY(90deg);
  transform-origin: bottom;
}



.admin-name {
  position: fixed; 
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50%; 
  overflow: hidden; 
  text-align: center; 
  z-index: 10; 
}

.admin-name h1 {
  font-size: 10vw; 
  color: #fff;
  text-transform: uppercase;
  font-weight: lighter;
  line-height: 1; 
  white-space: nowrap; 
  overflow: hidden; 
  text-overflow: ellipsis;
  position: absolute; 
  bottom: -50%; 
  left: 50%;
  transform: translateX(-50%);
}


.admin-name h1 span:nth-child(5) {
    margin-left:0.1em;
}
.admin-name h1 span:nth-child(4) {
    margin-right:0.1em;
}




.menu-logo {
    position: absolute;
    top: 2.25em;
    left: calc((100vw - 1216px) / 2 + -8.2px);
    z-index: 2;
    transform: translate(0, 0);
}


/* responsive mobile 1236px */

@media (max-width: 1236px){
	.menu-logo{
left: 10px;
}
}

@media (max-width: 1024px){
	.hero-text1 h1 {
    font-size: 6.25rem !important;
	}
}

/* responsive mobile 920px */


@media (max-width: 920px){
	.menu-logo{
	top: 2.45em;
}
}

/* responsive mobile 900px */

@media (max-width: 900px) {
  .col-1 {
    flex: 2;
    align-items: flex-start;
  }
  .menu-item a {
    font-size: 30px;
  }
  .video-wrapper {
    padding: 0.4em;
  }
  .socials {
    width: 100%;
    flex-direction: column;
    gap: 8em;
  }
  .header h1 {
    font-size: 150px;
    height: 120px;
  }
}


/* responsive mobile 768px */


@media (max-width: 768px){
	.nav-bar {
    display: none;
}
	.hero-text1 h1 {
    font-size: 5rem !important;
	}
	
}

@media (max-width: 600px){
	.hero-text1 h1 {
    font-size: 3rem !important;
	}
	
}

.main-hero-sec{
    height:100vh !important;
	margin-top:-116px;
}

.main-hero-sec .me-the-one {
    width: 390px !important;
    position: absolute !important;
    bottom: 0;
}



.hero_sec {
/*     height: 600px; */
    display: flex;
    justify-content: center;
    align-items: center;
	flex-direction: column;
}

.hero-text1 h1 {
    font-size: 7.5rem;
	color:var(--text-color);
}


.dynamic-container {
    text-align: center;
    width: 100%;
}

.dynamic-container h2 {
    font-weight: 500;
    color: var(--text-color);
    margin: 0;
    line-height: 1.2;
    text-align: center;
}














/* .marquee{
    position: relative;
    background:#000;
    color: #eee;
    padding: 30px 0;
    font-weight: 600;
    font-size: 40px;
    text-transform: uppercase;
    overflow: hidden;

}

.marquee__inner {
display: flex;
width: fit-content;
flex: auto;
flex-direction: row;

}

.marquee__part {

    display: flex;
    align-items: center;
    flex-shrink: 0;
    padding: 0 4px;

}

.arrow  {
    width: 60px;
    height: 80px;
    margin: 0 1em;
	
    transform: rotate(90deg);
transition: all 1s cubic-bezier(0.075, 0.82, 0.165, 1);

}

.arrow.active {
    transform: rotate(-90deg);
    transition: all 1s cubic-bezier(0.075, 0.82, 0.165, 1);
     */
	
	
	
.marquee {
    position: relative;
    background: #000;
    color: #eee;
    padding: 30px 0;
    font-weight: 600;
    font-size: 40px;
    text-transform: uppercase;
    overflow: hidden;
    will-change: transform; /* 🔥 Improve GPU Performance */
}

.marquee__inner {
    display: flex;
    width: fit-content;
    flex-direction: row;
}

.marquee__part {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    padding: 0 4px;
}

.arrow {
    width: 60px;
    height: 80px;
    margin: 0 1em;
    transform: rotate(90deg);
    transition: transform 0.5s ease-out;
}

.arrow.active {
    transform: rotate(-90deg);
}
	


}
.spacer{
    height: 150px;
}

.dot-pattern {
    background-image: radial-gradient(circle, #3d3d3d 1px, transparent 1px);
    background-size: 15px 15px;
}







.scroll-down-btn a {
    display: flex;
    align-items: center;
    gap: 7px;
    background-color: #F9F9F9;
    width: fit-content;
    padding: 32px;
    border-radius: 50px;
    color: #000;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.4;
}


.scroll-down-btn {
    width: fit-content !important;
    position: absolute !important;
   right: 8em;
    bottom: 2em;
}

/* .scroll-down-btn {
    width: fit-content !important;
    position: absolute !important;
    bottom: 1em;
    left: calc((100% - 400px) / 1 + -40px);
    z-index: 2;
    transform: translate(0, 0);
}

 */





      .skill-sec {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(var(--grid-item-size), 1fr));
        max-width: 800px;
        position: relative;
      }

      .skill-item {
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
        border-color: var(--border-color-1);
        border-width: var(--border-width);
        border-style: var(--border-style);
      }

      .skill-item-in {
        width: var(--grid-item-size);
        height: var(--grid-item-size);
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
      }

      .skill-item img {
        max-width: 80%;
        max-height: 80%;
        filter: grayscale(1) opacity(0.6);
        transition: filter 0.3s;
      }

      .skill-item:hover img {
        filter: grayscale(0);
      }

      /* Corner styles */
      .skill-item::before,
      .skill-item::after,
      .skill-item-in::before,
      .skill-item-in::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-width: 3px;
        border-style: solid;
        border-color: var(--border-color);
      }

      .skill-item::before {
        top: -1.5px;
        left: -1.5px;
        border-bottom: none;
        border-right: none;
      }

      .skill-item::after {
        top: -1.5px;
        right: -1.5px;
        border-bottom: none;
        border-left: none;
      }

      .skill-item-in::before {
        bottom: -1.5px;
        left: -1.5px;
        border-top: none;
        border-right: none;
      }

      .skill-item-in::after {
        bottom: -1.5px;
        right: -1.5px;
        border-top: none;
        border-left: none;
      }

      .skill-item:nth-child(1) {
        border-width: 0;
      }

      .skill-item:nth-child(2),
      .skill-item:nth-child(3),
      .skill-item:nth-child(4) {
        border-width: 0 0 0 var(--border-width);
        
      }

      .skill-item:nth-child(5),
      .skill-item:nth-child(9) {
        border-width: var(--border-width) 0 0 0;
      }

      .skill-item:nth-child(6),
      .skill-item:nth-child(7),
      .skill-item:nth-child(8),
      .skill-item:nth-child(10),
      .skill-item:nth-child(11),
      .skill-item:nth-child(12) {
        border-width: var(--border-width) 0 0 var(--border-width);
      }
    
      .skill-item:nth-child(5)::before,
      .skill-item:nth-child(9)::before,
      .skill-item:nth-child(8)::after,
      .skill-item:nth-child(12)::after,
      .skill-item:nth-child(1) .skill-item-in::before,
      .skill-item:nth-child(5) .skill-item-in::before,
      .skill-item:nth-child(9) .skill-item-in::before,
      .skill-item:nth-child(4) .skill-item-in::after,
      .skill-item:nth-child(8) .skill-item-in::after,
      .skill-item:nth-child(12) .skill-item-in::after,
      .skill-item:nth-child(9) .skill-item-in::after,
      .skill-item:nth-child(-n + 4)::before,
      .skill-item:nth-child(-n + 4)::after,
      .skill-item:nth-last-child(-n + 4) .skill-item-in::before,
      .skill-item:nth-last-child(-n + 4) .skill-item-in::after
       {
        border-style: none;
      }





.custom-arrow-btn {
    width: 56px;
    height: 56px;
    background-color: #0f0f0f;
    border-radius: 8em;
    transition: width 0.5s cubic-bezier(0.075, 0.82, 0.165, 1);
    transform-origin: right;
    cursor: pointer;
    z-index: 2;
    position: absolute;
	right:12px;
  }

  .custom-arrow-btn-icon {
    width: 56px;
    height: 56px;
    border-radius: 100%;
    clip-path: circle(10% at 50% 50%);
    background-color: #ebff00;
    transition: all 0.5s cubic-bezier(0.075, 0.82, 0.165, 1);
    z-index: 10;
    overflow: hidden;
  }


.threejs-container:hover .custom-arrow-btn-icon {
    clip-path: circle(35% at 50% 50%);
  }

  .custom-arrow-btn.opened .custom-arrow-btn-icon {
    clip-path: circle(50% at 50% 50%);
    transform: scale(1.125);
  }

  .custom-arrow-btn.opened {
    width: 56px;
  }

  .arrow-icon {
    transition: transform 0.5s cubic-bezier(0.075, 0.82, 0.165, 1);
    transform: rotate(0deg);
  }



.custom-arrow-btn.opened .arrow-icon,
.threejs-container:has(.opened):hover .arrow-icon{
    transform: translate(-50%, -50%) rotate(180deg);
  }


  .custom-arrow-btn-icon .arrow-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 25px;
    height: 25px;
    transform: translate(-10px, -50px);
    transition: transform 0.5s cubic-bezier(0.075, 0.82, 0.165, 1);
  }


.threejs-container:hover .arrow-icon {
    transform: translate(-50%, -50%);
  }

.threejs-container {
    display: flex;
    align-items: center;
}


.expertise-cta,
.expertise-content,
.expertise-data {
  margin: 0;
  padding: 0;
}

.expertise-content {
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  padding: 0;        
  margin: 0;            
  background-color: beige;
  border-radius: 10px;
  transition: max-height 0.5s ease-in-out, opacity 0.5s ease-in-out, padding 0.5s ease-in-out, margin 0.5s ease-in-out;
}


.expertise-content.active {
  max-height: 500px;    
  opacity: 1;
  padding: 20px;      
  margin: 20px 0;     
}
















/* custom footer */

/* mnfooter Styling */
.mnfooter {
    background-color: #fff;
    color: #000;
    text-align: center;
    padding: 50px 20px;
}

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

.mnfooter .footer-content {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.mnfooter .footer-heading {
    font-size: 140px;
    font-weight: 500;
    margin-bottom: 50px;
    text-transform: uppercase;
}

.mnfooter .footer-button {
    display: flex;
	align-items: center;
    gap: 7px;
    width: fit-content;
    font-size: 20px;
    font-weight: 500;
	line-height:140%;
	letter-spacing:-1%;
    color: #fff;
    background-color: #000;
    padding: 32px 40px;
    border-radius: 50px;
    text-decoration: none;
    position: relative;
	
}


.mnfooter .footer-button .f-arrow {
    width: 20px;
    height: 20px;
	transform: rotate(225deg);
}



.mnfooter .footer-bottom {
    margin-top: 150px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 14px;
}

.mnfooter .footer-bottom p {
    margin: 0;
    font-weight: 400;
    font-size: 14px;
    color: #000;
}

.mnfooter .footer-bottom p a {
    text-decoration: none;
    color: #000;
    font-weight: 600;
    transition: color 0.3s ease;
}



.mnfooter .social-links a {
    margin-left: 20px;
    font-size: 14px;
    text-decoration: none;
    color: #000;
    transition: color 0.3s ease;
}

.mnfooter .social-links a:hover {
    color: #555;
}

@media (max-width: 768px) {
    .mnfooter .footer-bottom {
        flex-direction: column;
    }
    .mnfooter .social-links {
        margin-top: 10px;
    }
}





