:root{
    --primaryColor: #005b9f;           /* Deep blue from the airplane */
    --primaryColorHover: #004578; 
    --secondaryColor: #ff5e57;    /* Slightly darker shade of blue for hover */
    --shadowColor: rgba(0, 0, 0, 0.2); /* Soft black shadow for depth */
    --textColor: #000;             /* White, as seen in the logo text */
    --backgroundColor: #FFFFFF;       /* Very dark background to make logo and text pop */    
    --radius:10px;
    --styleFont:'Poppins', sans-serif;
    --main-gradient:linear-gradient(
        color-mix(in srgb, var(--primaryColor) 80%, #00000000),
        color-mix(in srgb, var(--backgroundColor) 80%, #00000000),
        color-mix(in srgb, var(--secondaryColor) 80%, #00000000)
        );
}
html{
    overflow-x: hidden;
}
body{
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    color: var(--textColor);
     caret-color:var(--primaryColor);
     accent-color:var(--primaryColor);
     background-color: var(--backgroundColor);
     overflow:hidden;
}

::-webkit-scrollbar {
    width: 0px;
}

/*---------- typography ------------*/

.huge-heading{
 
  font-size:4rem;
  
  @media (width < 1367px){
    font-size:3rem;
  }
}
.big-heading{
  
  font-size:3rem;
  
  @media (width < 1367px){
    font-size:2rem;
  }
}
.heading{
  
  font-size:2rem;
  
  @media (width < 1367px){
    font-size:1.5rem;
  }
}
.sub-heading{
  
  font-size:1.5rem;
  
  @media (width < 1367px){
    font-size:1.25rem;
  }
}
.small-text{
  font-size: calc(1rem - 2px);
}
.styleFont{
    font-family: var(--styleFont);
}
.styleFont-color{
    font-family: var(--styleFont);
    color: #000D51;
}
.styleFont-white{
    font-family: var(--styleFont);
    color:#fff;
}
.styleFont-red{
    font-family: var(--styleFont);
    color:#FF484E;
}
.text-theme{
    color: var(--primaryColor);
}
/*---------- cards ------------*/
.big-card{
    width: 100%;
    height: 350px;
    border-radius: var(--radius);
    background:linear-gradient(180deg, rgba(255,255,255,0) 0%, var(--primaryColor) 100%), var(--url);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 0px 0px, 0px 0px;
    transition: all .3s ease;
    display: flex;
    flex-direction: column;
    justify-content: end;
    padding: 15px;
    text-decoration: none;
    & .big-card-heading{
        opacity: 1;
        font-family: var(--styleFont);
        font-size: 1.5rem;
        color:#fff;
        transition: all .3s ease;
    }
    & .big-card-text{
        opacity: 1;
        font-size: 0.90rem;
        color:#fff;
        transition: all .3s ease;
    }
    &:hover{
        background:linear-gradient(180deg, rgba(255,255,255,0) 0%, var(--primaryColor) 100%), var(--url);
        background-size: cover;
        background-repeat: no-repeat;
        background-position: 0px 0px, 0px 0px;
        text-decoration: none;
        & .big-card-heading,& .big-card-text{
        opacity: 1;
        }    
    }
}

.small-card{
    width: 100%;
    height: 170px;
    border-radius: var(--radius);
    background:linear-gradient(180deg, rgba(255,255,255,0) 0%, #000 100%), var(--url);
    background-size: cover;
    background-repeat: no-repeat;
    display: flex;
    flex-direction: column;
    justify-content: end;
    transition: all .3s ease;
    &:hover{
        box-shadow: 0px 0px 100px var(--shadowColor);
    }
    & .small-card-detail{
        padding: 8px;
        width: 100%;
        display: flex;
        flex-direction: row;
        justify-content: space-between;

        & .small-card-text,& .small-card-link{
            color:#fff;
        }
        & .small-card-text{
           align-content: center;
           font-size: 0.75rem;
        }
        & .small-card-link{
            height: 40px;
            width: 40px;
            display: grid;
            place-items: center;
            text-decoration: none;
            font-size: 2rem;
            background: var(--primaryColor);
            border-radius: var(--radius);
        }
    }

}

.mid-card{
    width: 100%;
    height: 265px;
    border-radius: var(--radius);
    background:linear-gradient(180deg, rgba(255,255,255,0) 0%, #000 100%), var(--url);
    background-size: cover;
    background-repeat: no-repeat;
    display: flex;
    flex-direction: column;
    justify-content: end;
    transition: all .3s ease;
    &:hover{
        box-shadow: 0px 0px 100px var(--shadowColor);
    }
    & .mid-card-detail{
        padding: 8px;
        width: 100%;
        display: flex;
        flex-direction: row;
        justify-content: space-between;

        & .mid-card-text,& .mid-card-link{
            color:#fff;
        }
        & .mid-card-text{
            font-family: var(--styleFont);
           align-content: center;
           font-size: 1.5rem;
           text-transform: lowercase;
           &::first-letter{
            text-transform: uppercase;
           }
        }
        & .mid-card-link{
            height: 40px;
            width: 40px;
            display: grid;
            place-items: center;
            text-decoration: none;
            font-size: 2rem;
            background: var(--primaryColor);
            border-radius: var(--radius);
        }
    }

}

.verticle-card{
    width: 100%;
    max-width: 360px;
    aspect-ratio: 254 / 396;
    border-radius: var(--radius);
    background:linear-gradient(180deg, rgba(255,255,255,0) 0%, #000 100%), var(--url);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    flex-direction: column;
    justify-content: end;
    transition: all .3s ease;
    text-decoration: none;
    & .verticle-card-detail{
        padding: 8px;
        width: 100%;
        display: flex;
        flex-direction: row;
        justify-content: space-between;

        & .verticle-card-text{
            font-family: var(--styleFont);
           align-content: center;
           font-size: 1.5rem;
            color:#fff;
            
             text-transform: lowercase;
           &::first-letter{
            text-transform: uppercase;
           }
        }
    }
  /*------------------------ testimonial card ----------------*/


}.theme-testimonialCard{  
    width: clamp(291px, 100%, 556px);
      aspect-ratio: 139 / 54;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr; 
    grid-template-rows: 1fr 1fr 1fr; 
    gap: 0px 0px; 
    grid-template-areas: 
      "testimonialCard-image testimonialCard-image testimonialCard-image testimonialCard-text testimonialCard-text testimonialCard-text testimonialCard-text testimonialCard-text"
      "testimonialCard-image testimonialCard-image testimonialCard-image testimonialCard-text testimonialCard-text testimonialCard-text testimonialCard-text testimonialCard-text"
      "testimonialCard-image testimonialCard-image testimonialCard-image testimonialCard-details testimonialCard-details testimonialCard-details testimonialCard-details testimonialCard-details"; 
    border:1px solid var(--outlineColor);
    border-radius:var(--borderRadius);
    overflow:clip;
    margin-inline: auto;
    @media (width < 992px){
      display:flex;
      flex-direction:column;
       border-radius:var(--borderRadiusMobile);
    }
    & .testimonialCard-image { 
    grid-area: testimonialCard-image;
    align-content:center;
    & img{
      width:100%;
      height:100%;
      object-fit:cover;
      @media (width < 992px){
      width:50%;
    }
    }
  
  }
    & .testimonialCard-text { 
    grid-area: testimonialCard-text;
    text-align:left;
    align-content:center;
    padding-inline: 10px;
    @media (width < 992px){
      padding:10px;
    }
  }
    & .testimonialCard-details { 
    text-align:left;
    align-content:center;
    padding-inline: 10px;
    grid-area: testimonialCard-details;
    @media (width < 992px){
      padding:10px;
    }
  }
  }
  
.testimonial-card {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr 1fr 1fr;
    gap: 0px 0px;
    grid-auto-flow: row;
    grid-template-areas:
        "Testimonial-name Testimonial-rating"
        "Testimonial-text Testimonial-text"
        "Testimonial-text Testimonial-text"
        "Testimonial-text Testimonial-text";
    /*background-color: var(--secondaryBackgroundColor);*/
    padding: var(--padding);
    border-radius: var(--radius);
}

.testimonial-name {
    grid-area: Testimonial-name;
    font-family: var(--styleFont);
    font-size: 2rem;
    color: var(--textColor);
    display: flex;
    align-content: center;
}

.testimonial-rating {
    grid-area: Testimonial-rating;
    display: flex;
    justify-content: end;
    align-content: center;
}

.testimonial-text {
    grid-area: Testimonial-text;
}
/*------------button------------*/
.btn-theme{
    color: #fff;
    background-color: var(--primaryColor);
    &:hover{
        color: #fff;
        background-color: var(--primaryColorHover);
    }
}
.btn-theme-outline{
    background-color: var(--backgroundColor);
    color: var(--primaryColor);
    border: 1px solid transparent;
    &:hover{
        background-color: var(--backgroundColor);
        color: var(--primaryColorHover);
    border: 1px solid var(--primaryColorHover);
    }
}
/*------------background------------*/
.hero-bg{
     background:linear-gradient(180deg, rgba(255,255,255,0) 0%, var(--primaryColor) 100%) , var(--url);
     background-size: cover;
     background-position: center;
     overflow: hidden;
     
}
.custom-bg{
     background:var(--url);
     background-size: cover;
     background-position: center;
     
}
.banner-bg{
    background: radial-gradient(51% 17% at 50% 100%,var(--backgroundColor) 99%,transparent 100%), radial-gradient(circle at 50% 0%,transparent,var(--primaryColor)), var(--url,var(--primaryColor));
    
    @media (width < 992px) {
        background:radial-gradient(100% 17% at 50% 110%,var(--backgroundColor) 99%,transparent 100%), radial-gradient(circle at 50% 0%,transparent,var(--primaryColor)), var(--url,var(--primaryColor))
    }
}
.footer-bg{
    /* background: radial-gradient(51% 17% at 50% 0%,var(--backgroundColor) 99%,transparent 100%), radial-gradient(circle at 50% 0%,transparent,var(--primaryColor)), var(--url,var(--primaryColor));
    @media (width < 992px) {
        background:radial-gradient(100% 17% at 50% -10%,var(--backgroundColor) 99%,transparent 100%), radial-gradient(circle at 50% 0%,transparent,var(--primaryColor)), var(--url,var(--primaryColor))
    } */
}
.bg-theme{
    background-color: var(--backgroundColor);
}
#bg-fader1{
background-size: cover;
background-position: center;
}
.theme-Bannerbg{
    width:100%;
    aspect-ratio:1280/330;
    background:var(--main-gradient), var(--url);
        background-blend-mode: multiply, overlay, normal;;
      background-size: cover;
      background-position: top;
      background-repeat: no-repeat;
    align-content:center;
    color:#fff;
    @media (width < 581px){
      aspect-ratio:1;
    }
  }
  .background_overlay {
    background-color: rgba(0, 62, 77, 0.7);
}
.theme-drop-shadow{
    /* filter: drop-shadow(0 0 0.80rem #000); */
    filter: drop-shadow(3px 16px 16px #023);
   }
   .theme-main-gradient {
    background: linear-gradient(90deg, var(--primaryColor), #014489);;
}
/*----------- display ----------------*/
.hide {
    display: none;
}

.hide-on-desktop {
    @media (width > 992px) {
        display: none;
    }
}

.hide-on-mobile {
    @media (width < 992px) {
        display: none;
    }
}

.hide-on-sm-mobile {
    @media (width < 376px) {
        display: none;
    }
}
/*---------size and centering------------------------------------------*/

.vh100 {
    min-height: 100svh;
    height: auto;
}

.vh50 {
    min-height: 50svh;
    height: auto;
}

.vh40 {
    min-height: 40svh;
    height: auto;
}

.grid-center {
    display: grid;
    place-items: center;
}

.vertical-center {
    align-content: center;
}

.center {
    text-align: center;
    align-content: center;
}

.grid-center {
    display: grid;
    place-items: center;
}

.relative {
    position: relative;
}

.absolute {
    position: absolute;
}

.fixed {
    position: fixed;
}

.square {
    height: 60px;
    aspect-ratio: 1/1;
}
.negetive-z-index{
    z-index: -1;
}
/*--------- nav -----------*/
.nav-transit{
    
    animation: nav-transit linear both;
    animation-timeline: scroll();
    animation-range: entry 0% cover 100%;
    @media (width < 992px) {
        animation: none;
        background-color: #002A34;
    }
}
@keyframes nav-transit {
    0%{
        background: linear-gradient(180deg, #035096 0%, rgba(255,255,255,0) 100%);
        background-repeat: no-repeat;
        background-position: 0px -50px;
    }
    20%{
        background: linear-gradient(180deg, #035096 0%, rgba(255,255,255,0) 150%);
        background-repeat: no-repeat;
        background-position: 0px 0px;
    }
    100%{
        background: linear-gradient(180deg, #035096 0%, rgba(255,255,255,0) 150%);
        background-repeat: no-repeat;
        background-position: 0px 0px;
    }
    
}
@media (min-width: 992px) {
    .navbar .dropdown:hover .dropdown-menu {
      display: block;
      margin-top: 0;
    }
  
    .navbar .dropdown-toggle::after {
      transform: rotate(180deg);
    }
  }
 

/*------------- footer ------------------*/


.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: #fff;
}

.footer-right {
    grid-area: footer-right;
    color: #fff;
}

.footer-center-bottom {
    display: grid;
    place-items: center;
    grid-area: footer-center-bottom;
    color: #fff;
}

.footer-center-top {
    border-radius: 0 0 20px 20px;
    display: grid;
    place-items: center;
    grid-area: footer-center-top;
    color: #fff;
}

.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 #fff;
        color: #fff;
    }
}







.card-theme {  display: grid;
   grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: 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;
}
.theme-icon-circle{
    display: grid;
    place-items: center;
    height: 80px;
    aspect-ratio: 1;
    color: var(--primaryColorHover);
    outline: 1px solid var(--primaryColor);
    border-radius: 50%;
    background: radial-gradient(circle, #fff 60%, var(--shadowColor) 61%, var(--primaryColor) 70%);
}
 .text-end-d-start-m{
        text-align: right;
        @media(width<992px){
           text-align: left;
        }
    }

    .feature-card {
        transition: all 0.3s ease;
        border: 1px solid #ddd;
        padding: 30px;
        border-radius: 15px;
        background-color: #fff;
        box-shadow: 0 0 10px rgba(0,0,0,0.05);
        text-align: center;
      }
      .feature-icon {
        font-size: 48px;
        color: #007bff;
        transition: transform 0.3s ease;
        display: inline-block;
        margin-bottom: 15px;
      }
      .feature-card:hover .feature-icon {
        transform: scale(1.3);
      }
      .stat-box .icon {
        font-size: 48px;
        color: red;
        margin-bottom: 10px;
      }

      /* card */
      .festival-section {
        background: url('assets/images/bg.jpg') no-repeat center center/cover;
        /*padding: 60px 0;*/
      }
  
      .puja-card {
        background-color: #539FE0;
        border: none;
        text-align: center;
        border-radius: 8px;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
        transition: transform 0.3s;
        
        height: 100%;
    min-height: 320px; /* Adjust as needed */
    overflow: hidden;
      }
  
      .puja-card:hover {
        transform: translateY(-5px);
      }
  
      .puja-card img {
        width: 100%;
        height: 350px;
        object-fit: cover;
        border-top-left-radius: 8px;
        border-top-right-radius: 8px;
      }
      .puja-card:hover::before {
        top: 0;
      }
      
          .puja-title {
            font-weight: 600;
            color: #fff;
            font-size: 16px;
            padding: 12px;
            background: #004150;
            border-bottom-left-radius: 8px;
            border-bottom-right-radius: 8px;
          }
          