@font-face {
  font-family: 'ScotchDeck';
  src: url('/assets/font/ScotchDeck-Medium.woff2') format('woff2');
}
:root{
    --primaryColor:#7A1C27;
    --PrimaryColorLite: #BA4073; 
    --primaryColorHover:#571216;
    --secondaryColor: #921F45;
    --SecondaryColorLite: #FAD5C2;
    --shadowColor:#106433;
    --primaryColorhover:#002d19;
    --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)
        );
   
    --textColor:#571216;
    --textwhite:#fff;
    --backgroundColor:#fad5c275;
    --radius:10px;
    --styleFont2:"ScotchDeck-Medium",serif;
    --styleFont:"ScotchDeck-Medium", serif;
    --borderRadius:35px;
  --borderRadiusMobile:20px;
  --outlineColor:#CBCBCB;

}
html{
    overflow-x: hidden;
}
body{
    font-family: 'Roboto', sans-serif;
    font-size: 16px;
    color: var(--textColor);
     caret-color:var(--primaryColor);
     accent-color:var(--primaryColor);
     background: var(--backgroundColor);
     overflow-x: hidden;
     background-image: url('');
     background-size: 100%;
}

/*---------- typography ------------*/
.fullvh{
    height: 100vh;
  }
.huge-heading{
    font-size: 8rem;
    font-weight: bold;
    font-family: var(--styleFont2);
}
.big-heading{
    font-size: 3.3rem;
    font-weight: bold;
    font-family: var(--styleFont2);
}
.heading{
    font-size: 2rem;
    font-family: var(--styleFont2);
}
.small-text{
    font-size: 1.3rem;
     font-weight: bold;
    font-family: var(--styleFont2);
}
.styleFont2{
    font-family: var(--styleFont2);
}
.styleFont2-white{
    font-family: var(--styleFont2);
    color:#fff;
}
.styleFont2-color{
    font-family: var(--styleFont2);
     color: var(--primaryColor);
}
.styleFont{
    font-family: var(--styleFont);
}
.styleFont-color{
    font-family: var(--styleFont);
    color: var(--textColor);
}
.styleFont-white{
    font-family: var(--styleFont);
    color:#fff;
}
.text-theme{
    color: var(--primaryColor);
}
.text-theme-secondary{
    color: var(--secondaryColor);
}
.text-main-gradient {
     background:linear-gradient(
        135deg,
        #00391E 0%,
        #005B2F 30%,
        #007A3C 60%,
        #338450 100%
      );
    ;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.text-bold{
    font-weight: 700;
  }
  .text-semi-bold{
    font-weight: 600;
  }
  .text-bg-gif {
    background: url(/assets/images/textbg.avif);
  background-size: cover;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  animation:textbg-anim 7s linear infinite;
}
@keyframes textbg-anim{
    from{
        background-position:0 bottom;
    }
    to{
        background-position:1000px bottom;
    }
}
/*---------- cards ------------*/
.big-card{
    width: 100%;
    height: 350px;
    border-radius: var(--radius);
    background:linear-gradient(180deg, rgba(255,255,255,0) 0%, var(--secondaryColor) 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: 2rem;
        color:#fff;
        transition: all .3s ease;
    }
    & .big-card-text{
        opacity: 1;
        font-size: 0.75rem;
        color:#fff;
        transition: all .3s ease;
    }
    &:hover{
        /* background:linear-gradient(180deg, rgba(255,255,255,0) 0%, var(--secondaryColor) 100%), var(--url); */
        background-size: cover;
        background-repeat: no-repeat;
        background-position: 0px 0px, 0px 0px;
        text-decoration: none;
       
    }
}

.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;
           }
        }
    }

}

.theme-bgCard{
    width:clamp(291px,100%,360px);
    aspect-ratio:360/263;
    background:linear-gradient(180deg, rgba(255,255,255,0) 0%, var(--textColor) 100%), var(--url);
    
    background-size:cover;
    background-repeat: no-repeat;
    border-radius:var(--borderRadiusMobile);
    align-content:end;
    margin-inline: auto;
    transition: all .3s ease-in-out;
    & .bgCard-details{
      color:#fff;
      padding:10px;
      display:flex;
      justify-content:space-between;
      text-align:left;
      & .bgCard-title{
        align-content:end;
        font-family:var(--styleFont); 
        font-weight:700;
        font-size:2rem;
    }
      & .bgCard-text{
        align-content:end;
      }
    }
    &:hover{
      box-shadow: 0 0 10px 5px var(--PrimaryColorLite);
    }
  }
  /*------------------------ testimonial card ----------------*/
.testimonial-box {
  background: linear-gradient(to bottom right, var(--primaryColor), var(--secondaryColor));
  color: var(--SecondaryColorLite);
  padding: 2rem;
  border-radius: var(--borderRadius);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
  max-width: 500px;
  margin: auto;
  text-align: left;
  transition: background 0.3s ease;
}

.stars {
  color: var(--PrimaryColorLite);
  margin-bottom: 1rem;
}

.stars i {
  color: gold;
  font-size: 1.2rem;
}

.testimonial-quote {
  font-size: 1.1rem;
  font-style: italic;
  line-height: 1.5;
  margin-bottom: 1.5rem;
  color: #fff;
}

.testimonial-user {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.testimonial-user img {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid var(--backgroundColor);
}

.testimonial-info strong {
  font-weight: 600;
  display: block;
  color: #fff;
}

.testimonial-info span {
  font-size: 0.9rem;
  color: var(--PrimaryColorLite);
}

@media (max-width: 768px) {
  .testimonial-box {
    padding: 1.5rem;
  }
}


/*------------button------------*/
.btn-theme{
    color: #fff;
    background-color: #FFB703;
    &: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);
    }
}
.btn-theme-icon-gradient {
    background: linear-gradient(
        135deg,
        #571216 0%,
        #7A1C27 30%,
        #921F45 60%,
        #BA4073 100%
    );
    color: #FAD5C2;
    font-weight: 500;
    border-radius: 35px;
    border: none;
    position: relative;
    padding-right: 3rem;

    &:before {
        position: absolute;
        display: inline-block;
        height: 100%;
        width: 100%;
        background: var(--secondaryColor); /* Customize if needed */
        content: '';
        top: 0;
        right: 0%;
        border-radius: var(--borderRadius);
        z-index: -1;
    }

    &:after {
        position: absolute;
        display: inline-block;
        height: 80%;
        aspect-ratio: 1;
        background: white;
        color: var(--secondaryColor);
        align-content: center;
        text-align: center;
        content: var(--iconCode, '\2197');
        font-size: 0.9rem;
        font-weight: bold;
        top: 50%;
        right: 0%;
        translate: -12% -51%;
        border-radius: 50%;
        outline: 3px solid var(--secondaryColor);
        outline-offset: -8px;
    }

    &:hover {
        color: #fff; /* Prevent text color from changing on hover */
    }
}

.btn-theme-gradient {
    background: linear-gradient(
        135deg,
        #571216 0%,
        #7A1C27 30%,
        #921F45 60%,
        #BA4073 100%
    );
    color: #FAD5C2;
    font-weight: 500;
    border-radius: var(--borderRadius);
    border: none;
}

.btn-theme-outline{
    font-weight:500;
    border-radius:var(--borderRadius);
    border: 1px solid transparent;
    color: var(--textColor);
      border-color: var(--textColor);
    &:hover {
      color: #fff;
      background-color: var(--textColor);
      border-color: var(--textColor);
     
    }
  }
  .theme-icon-circle{
    display: grid;
    place-items: center;
    height: 80px;
    aspect-ratio: 1;
    color: var(--secondaryColor);
    outline: 1px solid var(--outlineColor);
    border-radius: 50%;
    background: radial-gradient(circle, #fff 60%, var(--secondaryColor) 61%, var(--primaryColor) 70%);
}
.theme-icon-circle-icon {
  display: grid;
  place-items: center;
  height: 80px;
  aspect-ratio: 1;
  color: var(--secondaryColor);
  outline: 1px solid var(--outlineColor);
  border-radius: 50%;
  background: radial-gradient(circle, #fff 60%, var(--secondaryColor) 61%, var(--primaryColor) 70%);
}


.btn-theme-first {
    border: 0px;
    background-color: var(--secondaryColor);
    color: #fff;

    &:hover {
        background: var(--primaryColor);
        color: #fff;
    }
}

.btn-theme-second {
    border: 0px;
    background-color: #fff;
    color: #000;

    &:hover {
        background: var(--secondaryColor);
        color: #fff;
    }
}

.btn-theme-third {
    border: 0px;
    background-color: #fff;
    color: #000;

    &:hover {
        background: var(--SecondaryColorLite);
        color: #fff;
    }
}
.whatsapp-icon {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: forestgreen;
    color:#fff;
    font-size: 2rem;
    display: grid;
    place-content: center;
}
/*------------background------------*/
.hero-bg{
     background:linear-gradient(180deg, rgba(255,255,255,0) 0%, var(--primaryColor) 100%) , var(--url);
    background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
     overflow: hidden;
     
}
.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%,#fdece3 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%,#fdece3 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;
}
.fading-grid-bg{
    position:relative;
    overflow:clip;
    &:before{
    --size: 60px;
      --line: color-mix(in lch, canvasText, transparent 70%);
    display:block;
      content: '';
      height: 100vh;
      width: 100vw;
    position:absolute;
      background: 
        linear-gradient(90deg, var(--line) 1px, transparent 1px var(--size)) 50% 50% / var(--size) var(--size), 
        linear-gradient(var(--line) 1px, transparent 1px var(--size)) 50% 50% / var(--size) var(--size);
      /*mask: radial-gradient(-20deg, transparent 50%, white);*/
        mask:  radial-gradient(113% 91% at 45% -3%, #FFFFFFFF 5%, #FF000000 100%);
      top: 0;
      transform-style: flat;
      pointer-events: none;
        z-index: -1;
        animation: fadingbgAnim 5s linear infinite;
  }
  
  }
  .gradient-bg{
      
      background:linear-gradient(45deg, #75b9ff, #f4ffc9);
      @media(width < 992px){
       background:#fff;   
      }
  }
  .theme-Bannerbg{
    width:100%;
    aspect-ratio:1280/330;
    background:var(--main-gradient), var(--url);
        background-blend-mode: multiply;
      background-size: cover;
      background-position: top;
      background-repeat: no-repeat;
    align-content:center;
    color:#fff;
    @media (width < 581px){
      aspect-ratio:1;
    }
  }
  .page-banner{
  
    background:var(--url) #00000000;
    background-size: contain;
    background-repeat:no-repeat;
    background-position: center;
    background-blend-mode: overlay;
    aspect-ratio: 16/5;
        &::before {
            content: '';
            display: block;
            background:var(--url);
            background-size: cover;
            background-position: center;
            filter: blur(20px);
            z-index: -1;
            width: 100%;
            height: 100%;
        }
    
    }

    .theme-drop-shadow{
        /* filter: drop-shadow(0 0 0.80rem #000); */
        filter: drop-shadow(3px 16px 16px #023);
       }
/*----------- 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 -----------*/
.navbar-glass{
    background-color:rgba(255,255,255,0.9);
    outline: 1px solid var(--outlineColor);
    backdrop-filter: blur(10px);
    border-radius: var(--borderRadius);
}
.nav-transit{
    
   /* animation: nav-transit linear both;
    animation-timeline: scroll();
    animation-range: entry 0% cover 100%;
    @media (width < 992px) {
        animation: none;
        background-color: var(--textColor);
    }*/
}
@keyframes nav-transit {
    0%{
        background: linear-gradient(180deg, var(--textColor) 0%, rgba(255,255,255,0) 100%);
        background-repeat: no-repeat;
        background-position: 0px -50px;
    }
    20%{
        background: linear-gradient(180deg, var(--textColor) 0%, rgba(255,255,255,0) 150%);
        background-repeat: no-repeat;
        background-position: 0px 0px;
    }
    100%{
        background: linear-gradient(180deg, var(--textColor) 0%, rgba(255,255,255,0) 150%);
        background-repeat: no-repeat;
        background-position: 0px 0px;
    }
    
}

/*------------- 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;
    }
}