/* Variables */

:root{
    --main-color: #0078ff;
    --navbar-hover-color: #4780c0;
    --bs-link-hover-color-rgb: rgb(10, 88, 202);
}

a{
    color: inherit;
}

section{
    padding-top: 5rem;
    padding-bottom: 3.125rem;
}

/* *========> Scrollbar <========*/

::-webkit-scrollbar {
    width: 12px;
    background-color: #fff;
    border-left: 2px solid #eee;
    box-shadow: 0px 0px 21px 0px #0003 inset;
}
  
::-webkit-scrollbar-thumb {
    background-color: #000;
    box-shadow: 0px 0px 10px 0px #eeeeee8c inset;
    border-radius: 100vh;
}

/* *========> Selection <======== */

::selection {
    background-color: var(--main-color);
    opacity: 0.2;
    color: white;
}

/* Header Section */

header{
    background-image: linear-gradient(rgba(0, 0, 0, 0.70), rgba(0, 0, 0, 0.408)), url(../images/hero-bg.jpg);
    background-attachment: fixed;
    background-repeat: no-repeat ;
    background-size: cover;
    background-position: center;
}

/* Navbar Section */

nav{
    background-color: rgba(0, 0, 0, 0.89);
}

.navbar{
  --bs-emphasis-color-rgb: rgb(255 , 255, 255);
  --bs-navbar-brand-color: rgb(255 , 255, 255);
  --bs-navbar-color: var(--bs-emphasis-color-rgb);
  --bs-navbar-hover-color: var(--bs-emphasis-color-rgb);
  --bs-navbar-disabled-color: var(--bs-emphasis-color-rgb);
  --bs-navbar-active-color: var(--bs-emphasis-color-rgb);
}

nav li{
    position: relative;
}
.navbar-brand{
    --bs-navbar-brand-color: #fff;
    color: var(--bs-navbar-brand-color);
}

.navbar-brand:hover, .navbar-brand:focus {
    --bs-navbar-brand-hover-color: #fff;
    color: var(--bs-navbar-brand-hover-color);
  }

.active::after{
    content: "";
    width: 50%;
    height: .125rem;
    position: absolute;
    background-color: var(--bs-emphasis-color-rgb);
    top: 100%;
    left: 0;
    transform: translateX(50%);
}

nav:not(:has(.active::after)) li a.fw-medium::after{
    content: "";
    width: 0%;
    height: .125rem;
    position: absolute;
    background-color: var(--bs-emphasis-color-rgb);
    top: 100%;
    left: 0;
    transform: translateX(50%);
    transition: width 0.5s;
}


nav:not(:has(.active::after)) li a.fw-medium:hover::after{
    width: 50%;
}

/* About Section */

.rating-bar {
    width: 90%;
    background-color: #e0e0e0;
    border-radius: 5px;
    overflow: hidden;
    position: relative;
    height: .625rem;
}

.rating-fill {
    background-color: var(--main-color);
    height: 100%;
    width: 0;
    border-radius: 5px;
    transition: width 0.5s ease;
}

.lead {
    font-size: 1.25rem;
    font-weight: 300;
}

.col-lg-6 > h2{
    position: relative;
    width: fit-content;
    font-size: 2rem;
    font-weight: light;
}

.col-lg-6 > h2::after{
    content: "";
    position: absolute;
    width: 80%;
    height: .3125rem;
    bottom: -30%;
    left: 0;
    background-color: var(--main-color);
}

/* Services Section  */

.title{
    position: relative;
}

.title::after{
    content:"";
    position: absolute;
    width: 5%;
    height: .3125rem;
    left: 50%;
    transform: translateX(-50%);
    bottom: -10%;
    background-color: var(--main-color);
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
}

.s-title {
    font-size: 1.4rem;
    text-transform: uppercase;
    text-align: center;
    padding: 0.4rem 0;
    font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
}

.border-icon{
    width: 6.25rem;
    height: 6.25rem;
    border: .0625rem solid var(--main-color);
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 0 0 10px var(--main-color);
} 

.border-icon-2{
    width: 7.5rem;
    height: 7.5rem;
    border: .0625rem solid var(--main-color);
    display: flex;
    justify-content: center;
    align-items: center;
}

.inner > p{
    text-align: center;
}

.inner .ico-circle{
    transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
}

.inner:hover .ico-circle {
    color: #fff;
    background-color: #0078ff;
    box-shadow: 0 0 0 10px #cde1f8;
}

/* Counter Section  */

.counter{
    background-image: linear-gradient(rgba(0, 119, 255, 0.673), rgba(0, 119, 255, 0.697)), url(../images/counters-bg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    background-attachment: fixed;
}

.counter-icon{
    width: 3.125rem;
    height: 3.125rem;
    border: .0625rem solid #cde1f8;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 0 0 10px #cde1f8;
} 

/* Portfolio Section  */

.plus-icon{
    width: 2.5rem;
    height: 2.5rem;
    border: .1875rem solid var(--main-color);
}

.card-text{
    font-size: 0.8rem;
}

.cursor{
    cursor: pointer;
}

.work-img img {
    transition: all 1s;
    overflow: hidden;
}

.work-img{
    overflow: hidden;
}


.work-card:hover img {
    transform: scale(1.3);
    overflow: hidden;
}

/* Carousel Section */


.carousel{
    background-image: linear-gradient(rgba(0, 119, 255, 0.673), rgba(0, 119, 255, 0.697)), url(../images/overlay-bg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    background-attachment: fixed;
}

.carousel-indicators [data-bs-target]{
    width: .625rem;
    height: .625rem;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    background-color: white;
}

/* Blog Section */


.small-image{
    width: 1.875rem;
}

a {
  transition: all 0.5s ease-in-out;
}

.word{
    margin-top: -30px;
    margin-left: 130px;
    font-size: 0.7rem;
    letter-spacing: 0.1px;
    font-weight: light; 
}       

.blog a:hover {
    color: #0078ff !important;
}

/* Contact Section */


.contact{
    background-image: linear-gradient(rgba(0, 119, 255, 0.673), rgba(0, 119, 255, 0.697)), url(../images/overlay-bg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    background-attachment: fixed;
}

input::placeholder{
    font-size: .875rem;
    font-weight: 300;
}

textarea{
    min-height: 6.25rem;
    max-height: 12.5rem ;
}

.list-icon{
    width: 3.125rem;
    height: 3.125rem;
    border: .0625rem solid rgba(177, 177, 197, 0.524);
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 0 0 3px rgba(177, 177, 197, 0.524) ;
} 

/* Footer Section */

footer {
    background: #0062d3;
}