:root{
  --primaryColor: #4A7C2A;            /* Herbal Green */
  --primaryColorHover: #CFE8B0;       /* Soft Light Green */
  
  --secondaryColor: #7A4B22;          /* Logo Brown */
  --accentColor: #C59753;             /* Golden Brown */
  
  --textColor: #2B2B2B;               /* Dark Text */
  --backgroundColor: #F7F2E9;         /* Cream Background */
     --font-size:14px;
     --font-family: "Oxanium", sans-serif;
}
html{
    overflow-x: hidden;
}

body{
    font-size: var(--font-size);
    overflow-x: hidden;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    background-color: var(--backgroundColor);
}



.flex-center{
    display: flex;
    justify-content: center;
    align-items: center;
}
.grid-center{
    display: grid;
    place-items: center;
}
.center{
    text-align: center;
    align-content: center;
}
.style-font{
    font-family: var(--font-family);
}
.huge-heading{
    font-family: var(--font-family);
    font-size: 5rem;
    font-weight: bold;
    @media (width < 992px) {
         font-size: 2rem;
    }
}
.big-heading{
    font-family: var(--font-family);
    font-size: 3rem;
    font-weight: bold;
}
.heading{
    font-family: var(--font-family);
    font-size: 2rem;
    font-weight: bold;
}
.sub-heading{
    font-family: var(--font-family);
    font-size: 1.5rem;
    font-weight: bold;
}
.small-text{
    font-size: 0.7rem;
}
.style-heading{
    font-family: var(--font-family);
    font-size: 3rem;
    font-weight: bold;
    color: var(--primaryColor);
    text-shadow: 4px 0px 0px #0004;
     @media (width < 992px) {
         font-size: 2rem;
    }
}
.fullvh{
    min-height: 100svh;
}
.text-theme{
    color: var(--primaryColor);
}
.btn-theme-rounded{
    border-radius: 50px;
}
.btn-theme{
        background-color: var(--primaryColor);
        color: var(--backgroundColor);
    &:hover{
        background-color: var(--primaryColorHover);
        color: var(--backgroundColor);
    }
}
.btn-theme-black{
        background-color: var(--textColor);
        color: var(--backgroundColor);
    &:hover{
        background-color: var(--primaryColor);
        color: var(--backgroundColor);
    }
}
.btn-theme-white{
        background-color: var(--backgroundColor);
        color: var(--textColor);
    &:hover{
        background-color: var(--primaryColor);
        color: var(--backgroundColor);
    }
}
.invert{
    filter: invert(1);
}
.secondary-bg{
    background-color: var(--secondaryColor);
    color: var(--backgroundColor);
}
.dark-bg{
    background-color: var(--textColor) !important;
    color: var(--backgroundColor);
}
.page-banner{
--url:url('/assets/img/circuit.webp');
background:var(--url), linear-gradient(90deg, var(--backgroundColor) 50%, var(--textColor) 100%);
background-repeat: no-repeat;
background-position: center center;
background-blend-mode: soft-light;
}
.hero-gradient-theme{
    --url:url('/assets/img/897146_3227-removebg-preview.png');
background:var(--url), linear-gradient(0deg, var(--primaryColor) 0%, var(--primaryColorHover) 100%);
background-repeat: no-repeat;
background-position: center top;
background-blend-mode: soft-light;

}
.gradient-theme{
background: linear-gradient(0deg, var(--primaryColor) 0%, var(--primaryColorHover) 100%);
}
/*---------- cards ---------------*/

.card-theme {  display: grid;
   grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  gap: 0px 0px;
  grid-auto-flow: row;
  height: 335px;
  &:hover{
        & .card-theme-image img{
            
           scale:1.2;
        }
    }
}

.card-theme-image { 
    grid-area: 1 / 1 / 4 / 4;
    
    & img{
        height: 100%;
        transition: all .5s ease;
    }
 }

.card-theme-content { 
   grid-area: 4 / 1 / 7 / 4;
   text-align: center;
   padding:1rem;
}

.card-theme-btn { 
    grid-area: 7 / 1 / 8 / 4;
    background-color: var(--primaryColor);
    border-radius: 20px;
    text-align: center;
    align-content: center;
    font-weight: bold;
    color: var(--backgroundColor);
}
.card-theme-main { 
     background: #fff;
     grid-area: 2 / 1 / 8 / 4; 
    border-radius: 20px;
}


.icon-card {  display: grid;
  grid-template-columns: 0.2fr 1.8fr;
  grid-template-rows: 1fr 1fr 1fr 1fr 1fr;
  gap: 0px 0px;
  grid-auto-flow: row;
  grid-template-areas:
    "icon-card-image icon-card-title"
    "icon-card-image icon-card-title"
    "icon-card-image icon-card-desc"
    "icon-card-image icon-card-desc"
    "icon-card-image icon-card-desc";
}

.icon-card-image { 
    display: grid;
        place-items: center;
    grid-area: icon-card-image; }

.icon-card-title { grid-area: icon-card-title; }

.icon-card-desc { grid-area: icon-card-desc; }




/*------------------------*/
.hero-section-container {  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  grid-template-rows: 1fr 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  gap: 0px 0px;
  grid-auto-flow: row;
  grid-template-areas:
    ". . . . ."
    "hero-content hero-content hero-content hero-content hero-content"
    "hero-content hero-content hero-content hero-content hero-content"
    ". hero-3d-element hero-3d-element hero-3d-element ."
    ". hero-3d-element hero-3d-element hero-3d-element .";
    @media (width < 992px) {
         display: flex;
         flex-direction: column;
         justify-content: space-evenly;
    }
}

.hero-content { grid-area: hero-content; }

.hero-3d-element { grid-area: hero-3d-element; }

/*--------------- custom class-------------------*/
.grid-container-about {  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  grid-template-rows: 1fr 1fr 1fr 1fr 1fr;
  gap: 0px 0px;
  grid-auto-flow: row;
  @media (width < 992px) {
    display: flex;
    flex-direction: column;
  }
}
.image-section { 
    border:1px solid var(--primaryColor);
    border-radius: 10px;
    grid-area: 1 / 1 / 5 / 5; 
overflow: clip;}

.desc { 
    padding: 1rem;
     border:1px solid var(--primaryColor);
    border-radius: 10px;
    background-color: var(--backgroundColor);
    grid-area: 3 / 4 / 6 / 6; }






.navbar-glass {
    background-color: rgba(0, 0, 0, 0.4);
    backdrop-filter: saturate(180%) blur(20px);
}
.whatsapp-icon{
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: forestgreen;
    color: var(--backgroundColor);
    font-size: 2rem;
    display: grid;
    place-content: center;
    & a{
        color: var(--backgroundColor);
        text-decoration: none;
    }
}

.footer-bg-top{
        height: 20px;
    background: radial-gradient(51% 123% at 50% 122%, var(--primaryColor) 99%, transparent 100%);
}
.footer-bg{
    background:radial-gradient(circle at 50% 0%,transparent,var(--primaryColor)), var(--url,var(--primaryColor));
    @media (width < 992px) {
        background:radial-gradient(circle at 50% 0%,transparent,var(--primaryColor)), var(--url,var(--primaryColor))
    }
}

.footer-grid-container {
    padding-top: 5rem;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 0px 0px;
    grid-auto-flow: row;
    grid-template-areas:
        "footer-left footer-center-top footer-right"
        "footer-left footer-center-bottom footer-right";

    @media (width < 992px) {
        display: flex;
        flex-direction: column;
    }
}

.footer-left {
    grid-area: footer-left;
    color: #000;
}

.footer-right {
    grid-area: footer-right;
    color: #000;
}

.footer-center-bottom {
    display: grid;
    place-items: center;
    grid-area: footer-center-bottom;
    color: #000;
}

.footer-center-top {
    border-radius: 0 0 20px 20px;
    display: grid;
    place-items: center;
    grid-area: footer-center-top;
    color: #000;
}

.social-link {
    display: grid;
    place-items: center;
    width: 50px;
    height: 50px;

    font-size: 2rem;
    color: #fff;
    text-decoration: none;
    border-radius: 50%;

    background: var(--_bg);

    &:hover {
        border: 1px solid var(--primaryColor);
        color: var(--primaryColor);}

}


.mouseMoveOrbit{
  transform: rotatex(calc(var(--x) * 0.05deg)) rotatey(calc(var(--y) * -0.05deg));
}
@keyframes scale-down {
    0%{
        scale:1;
    }
    100%{
        scale:0.1;
    }
}