/* start of general styling */
:root{
    --white: #fff;
    --primaryColor: #0078FF;
    --opacedPrimary: rgb(0, 120, 255,0.7);
    --hoverPrimary: #3393ff;
    --lightBlue:#CDE1F8;
    --blackLayer: #464646;
    --nav-background: rgba(0,0,0,0.9);
    --overlay: rgba(0, 0, 0, 0.6);
    --lg-box-shadow: 0 0 0.75rem 0.25rem rgba(0, 0, 0, 0.1);
    --sm-box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.06), 0 2px 5px 0 rgba(0, 0, 0, 0.2);
    --main-boxShadow: 0 13px 8px -10px rgba(0, 0, 0, 0.1);
    --btn-shadow: 0 0 0 4px #cde1f8;
    --footerbg: #0062d3;
}

body{
    background-color: #F5F5F5;
}

/* end of general styling */

/* start of common styling */

.overlay{
    background-color: var(--overlay);
}


.sec-margin{
    margin: 80px 0;
}

.sec-heading::after{
    content: "";
    display: block;
    width: 40px;
    height: 5px;
    background-color: var(--primaryColor);
    position: absolute;
    left: 50%;
    bottom: -3px;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
}

h2.h2-heading{
    font-size: calc(1rem + 2.1vw) !important;

}

.bg-img{
    background-attachment: fixed;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

.bg-overlay{
    background-color: var(--opacedPrimary);
    padding: 150px 0;

}

.tree-bg {
    background-image: url(../Images/overlay-bg.jpg);
}

.heading-style-1::after{
    content: "";
    display: block;
    margin-top: 10px;
    height: 3.2px;
    width: 90px;
    background-color: var(--primaryColor);
}

.sec-box{
    -webkit-box-shadow: var(--sm-box-shadow);
            box-shadow: var(--sm-box-shadow);
    padding: 50px 40px;
}

.border-icon.bi::before{
    width: 60px;
    height: 60px;
    line-height: 60px !important;
}

i.border-icon{
    -webkit-transition: all 400ms;
    -o-transition: all 400ms;
    transition: all 400ms;

}

#services .card:hover > i.border-icon, .social-contact-icons i:hover{
    background-color: var(--primaryColor);
    color: var(--white);
}

#services .work-progress i, #services .card:hover > i.border-icon, .social-contact-icons i:hover{
    border-color: var(--lightBlue) !important;
}

#services .card, #portfolio .card, .bg-overlay{
    -webkit-box-shadow: var(--main-boxShadow);
            box-shadow: var(--main-boxShadow);
}

/* end of common styling */

/* start of header & navbar */
.navbar, :root:has(#hero:target) nav{
    background-color: var(--nav-background);
}
.navbar-nav a:hover{
    color: var(--primaryColor) !important;
    background-color: transparent;
}

.navbar-toggler-icon{
    background-image: none;
}
.navbar-nav{
    background-color: var(--white);
    height: 89vh;
}

.navbar-collapse{
    top: -15px;
}

.dropdown-menu{
    border: none;
}

.sub-menu:hover > .dropdown-menu{
    width: 90%;
    margin: auto;

}

.dropdown-menu{
    -webkit-box-shadow: var(--lg-box-shadow);
            box-shadow: var(--lg-box-shadow);

}

.nav-link .bi, .dropdown-item .bi{
    font-size: 0.75rem;
}

.nav-pills .nav-link.active{
    background-color: transparent;
}

.nav-pills .nav-link.active::after, .navbar-nav > li > a::after{
    content: "";
    position: absolute;
    left: 0;
    bottom: 3px;
    width: 0;
    border-top: 2px solid var(--white);
    -webkit-transition: width 500ms;
    -o-transition: width 500ms;
    transition: width 500ms;
}

.nav-pills .nav-link.active::after{
    width: 100%;
}


:root:has(#navbarNavDropdown:target) body, :root:has(#navbarNavDropdown:target) nav, :root:has(#navbarNavDropdown:target) .overlay{
    background-color: var(--blackLayer) !important;
}

:root:has(#navbarNavDropdown:target) .navbar-toggler-icon, :root:has(#hero:target) .navbar-collapse
{
    display: none;
}

:root:has(#navbarNavDropdown:target) .navbar-collapse, .sub-menu:hover > .dropdown-menu{
    display: block !important;
}

:root:has(#navbarNavDropdown:target) .navbar-brand, :root:has(#navbarNavDropdown:target) .navbar-toggler-icon, :root:has(#navbarNavDropdown:target) .bg-primary-sec{
   opacity: 0.2;
}
/* start of media query of header & navbar */
@media screen and (min-width: 992px) {
    .dropdown-menu{
        min-width: 12rem !important;
        border: 0;
        -webkit-box-shadow: 0 0 0.75rem 0.25rem rgba(0, 0, 0, 0.1);
                box-shadow: 0 0 0.75rem 0.25rem rgba(0, 0, 0, 0.1);
    }

    .dropdown:hover > .dropdown-menu, .sub-menu:hover > .dropdown-menu, nav:has(#navbarNavDropdown) .navbar-collapse{
        display: block;
    }
    .dropdown:hover > .dropdown-menu{
        top: 100%;
    }
    .sub-menu:hover > .dropdown-menu{
        left: -96%;
        top: 0%;
    }

    .navbar-nav > li > a:hover, .nav-link > .bi, a.nav-link{
        color: var(--white) !important;
    }

    .navbar-nav > li > a::after{
        width: 0;
    }

    .navbar-nav > li > a:hover::after{
        width: 100%;
    }
    nav:has(#navbarNavDropdown) .navbar-collapse{
        -webkit-transform: none;
            -ms-transform: none;
                transform: none;
        position: static !important;
    }

    .navbar-collapse{
        width: auto !important;
        overflow-y: visible !important;
    }

    :root:has(#navbarNavDropdown){
        background-color: initial !important;
    }
    
    :root:has(#navbarNavDropdown) nav{
        background-color: var(--nav-background) !important;
    }
    
    :root:has(#navbarNavDropdown) .navbar-brand,  :root:has(#navbarNavDropdown) .navbar-toggler-icon{
       opacity: 1;
    }

    .navbar-nav{
        height: auto !important;

    }

    nav:has(#navbarNavDropdown) .navbar-collapse, .navbar-nav{
        background-color: transparent !important;
    }

    .navbar-collapse{
        padding: 0 !important;
    }

}

/* end of media query of header & navbar */
/* end of header & navbar */

/* start of footer */
footer{
    background-color: var(--footerbg);
    -webkit-box-shadow: 0 0 5px 0px rgba(0, 0, 0, 0.4);
            box-shadow: 0 0 5px 0px rgba(0, 0, 0, 0.4);
}
/* end of footer */

/* start of index page sections */
/* 1. start of hero section */
#hero{
    background: url(../Images/hero-bg.jpg) center center;
    background-size: cover;
    background-attachment: fixed;
}

.hero-title{
    font-size: calc(2rem + 2.5vw);
}

.hero-subtitle{
    font-size: calc(1rem + 1.5vw);
}

.hero-subtitle span::before{
    display: inline-block;
    content: "";
    -webkit-border-end: 2px solid var(--white);
            border-inline-end: 2px solid var(--white); 
    overflow: hidden;
    width: 0;
    max-width: -webkit-fit-content;
    max-width: -moz-fit-content;
    max-width: fit-content;
    -webkit-padding-end: 10px;
            padding-inline-end: 10px;
    animation: typing 20s steps(25) infinite backwards,
    borderColor 1s alternate-reverse infinite;

}

@-webkit-keyframes typing{
    0%{
        content: "Developer";
        width: 0%;
    }

    10%{
        content: "Developer";
        width: 100%;
        
    }

    20%{
        width: 0;
     }
 
     30%{
         content: "Designer";
         width: 100%;
     }

     45%{
        width: 0;
     }
 
     60%{
         content: "Freelancer";
         width: 100%;
     }

     75%{
        width: 0;
     }

     90%{
        content: "Photographer";
        width: 100%;
     }

     100%{
        content: "Photographer";
        width: 0%;
    }
      
}

@keyframes typing{
    0%{
        content: "Developer";
        width: 0%;
    }

    10%{
        content: "Developer";
        width: 100%;
        
    }

    20%{
        width: 0;
     }
 
     30%{
         content: "Designer";
         width: 100%;
     }

     45%{
        width: 0;
     }
 
     60%{
         content: "Freelancer";
         width: 100%;
     }

     75%{
        width: 0;
     }

     90%{
        content: "Photographer";
        width: 100%;
     }

     100%{
        content: "Photographer";
        width: 0%;
    }
      
}

@-webkit-keyframes borderColor{
    0%,100%{
        border-inline-end-color: var(--white);
    }
    50%{
        border-inline-color: transparent;
    }
}

@keyframes borderColor{
    0%,100%{
        border-inline-end-color: var(--white);
    }
    50%{
        border-inline-color: transparent;
    }
}
/* end of hero section */

/* 2. start of about section */
#about .contact-info span{
    font-size: 1.1rem;
}
#about .about-img img{
    width: 50%;
}

.progress{
    height: 10px;
    background-color: var(--lightBlue);
}

.progress-bar{
    background-color: var(--primaryColor);
}

/* end of about section */
/* start of media query of about section */
@media screen and (min-width:576px) {
    #about .about-img img{
        width: 100%;
    }
    
}

@media screen and (min-width:992px) {
    #about .about-img img{
        width: 90%;
    }
    
}
/* end of media query of about section */


/* 3. start of services section */
/* 3.1. start of services cards/types */

#services h3{
    font-size: calc(1.3rem + 0.15vw);
}

#services i.border-icon{
    border-width: 10px !important;
}
/* 3.1. end of services cards/types */
/* 3.2. start of services counter */
#services .work-progress{
    background-image: url(../Images/counters-bg.jpg);
}

#services .progress-overlay{
    padding: 120px 0 !important;
}
/* 3.2. end of services counter */
/* end of services section */

/* 4. start of portfolio section */


#portfolio .card img{
    -webkit-transition: -webkit-transform 800ms;
    transition: -webkit-transform 800ms;
    -o-transition: transform 800ms;
    transition: transform 800ms;
    transition: transform 800ms, -webkit-transform 800ms;
}

#portfolio .card:hover > .card-img img{
    -webkit-transform: scale(1.3);
        -ms-transform: scale(1.3);
            transform: scale(1.3);
}

#portfolio p.card-text{
    font-size: 0.8rem !important;
}
/* end of portfolio section */

/* 5. start of Testimonials section */

.carousel-indicators [data-bs-target]{
    width: 12px;
    height: 12px;
}
/* end of Testimonials section */

/* 6. start of blog section */
#blog .badge{
    top: -14px;
}

#blog .card a, #blog .card a span{
    -webkit-transition: color 700ms;
    -o-transition: color 700ms;
    transition: color 700ms;
}

#blog .card a:hover, #blog .card a span:hover{
    color: var(--primaryColor) !important;
}
#blog .card >img{
    aspect-ratio: 16/9;
}
#blog .card-footer img{
    width: 12%;
}
/* end of blog section */

/* 7. start of contact section */
.form-items input, .form-items textarea{
    font-size: 0.9rem;
}
.form-items button{
    -webkit-transition: background-color 400ms, -webkit-box-shadow 400ms;
    transition: background-color 400ms, -webkit-box-shadow 400ms;
    -o-transition: box-shadow 400ms, background-color 400ms;
    transition: box-shadow 400ms, background-color 400ms;
    transition: box-shadow 400ms, background-color 400ms, -webkit-box-shadow 400ms;

}
.form-items button:hover{
   -webkit-box-shadow: var(--btn-shadow);
           box-shadow: var(--btn-shadow);
   background-color: var(--hoverPrimary) !important;
}

/* start of media query of contact section */
@media screen and (min-width:768px) {
    #contact .contact-details span{
        margin-left: -18px;
    }
}
/* end of media query of contact section */
/* end of contact section */
/* end of index page sections */

