* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: var(--ff-default);
}

:root {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
}

.container,
.container-fluid {
  width: 100%;
  padding-right: var(--bs-gutter-x, 0.75rem);
  padding-left: var(--bs-gutter-x, 0.75rem);
  margin-right: auto;
  margin-left: auto;
}

.row {
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--bs-gutter-y));
  margin-right: calc(-0.5 * var(--bs-gutter-x));
  margin-left: calc(-0.5 * var(--bs-gutter-x));
}

.row>* {
  box-sizing: border-box;
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-top: var(--bs-gutter-y);
}

@media (min-width: 576px) {
  .container {
    max-width: 540px;
  }
}

@media (min-width: 768px) {
  .container {
    max-width: 720px;
  }
}

@media (min-width: 992px) {
  .container {
    max-width: 960px;
  }
}

@media (min-width: 1200px) {
  .container {
    max-width: 1240px;
  }
}

@media (min-width: 1400px) {
  .container {
    max-width: 1320px;
  }
}

.col-6 {
  flex: 0 0 auto;
  width: 50%;
}

@media screen and (min-width: 768px) {
  .col-md-3 {
    flex: 0 0 auto;
    width: 25%;
  }

  .col-md-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }

  .col-md-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }

  .col-md-6 {
    flex: 0 0 auto;
    width: 50%;
  }

  .col-md-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }

  .col-md-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }

  .col-md-9 {
    flex: 0 0 auto;
    width: 75%;
  }

  .col-md-12 {
    flex: 0 0 auto;
    width: 100%;
  }
}

@media screen and (min-width: 992px) {

  .col-lg-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }

  .col-lg-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }

  .col-lg-3 {
    flex: 0 0 auto;
    width: 25%;
  }

  .col-lg-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }

  .col-lg-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }

  .col-lg-6 {
    flex: 0 0 auto;
    width: 50%;
  }

  .col-lg-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }

  .col-lg-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }

  .col-lg-9 {
    flex: 0 0 auto;
    width: 75%;
  }

  .col-lg-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }

  .col-lg-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }

  .col-lg-12 {
    flex: 0 0 auto;
    width: 100%;
  }
}

img,
svg {
  vertical-align: middle;
}

.img-fluid {
  width: 100%;
  height: auto;
}


/* attr __________ selector ______  Starts */

[class*="flex"] {
  display: flex;
}

[class*="grid"] {
  display: grid;
}

[class*="flex"][class*="column"] {
  flex-direction: column;
}

:where([class*="flex"]:not([class*="flex"][class*="column"]), [class*="grid"]),
[class*="items-center"] {
  align-items: center;
}

[class*="items-start"] {
  align-items: flex-start;
}

[class*="items-end"] {
  align-items: flex-end;
}

[class*="-between"] {
  justify-content: space-between;
}

.justify-center {
  justify-content: center;
}

.justify-end {
  justify-content: flex-end;
}

.text-center {
  text-align: center;
}

[class*="flex"][class*="wrap"] {
  flex-wrap: wrap;
}

[class*="row-gap"] {
  row-gap: 1.25rem;
}

.row-gap-3 {
  row-gap: 2rem;
}

.gap-10 {
  gap: 0.625rem;
}

.gap-20 {
  gap: 1.25rem;
}

.mb-auto {
  margin-bottom: 5rem;
}

.mt-5 {
  margin-top: 3.125rem !important;
}

.mt-3 {
  margin-top: 1.875rem !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.mx-auto {
  margin-inline: auto;
}


/*---------------------------Site-Form-Start--------------------------------*/

form :is(input, textarea, select) {
  width: 100%;
  padding: 0.75rem;
}


/*---------------------------Topbar-Start--------------------------------*/

.topbar {
  background: var(--sc);
  padding-block: 0.5rem;
}


/*---------------------------Header-Start--------------------------------*/

.bwe-service-logo img {
    height: 3rem;
  }

header {
  border-bottom: 1px solid var(--border-color);
  padding-block: 0.75rem;
}

.flex-head-right>ul {
  position: relative;
}

.flex-head-right>ul ul {
  position: absolute;
  top: 2rem;
  left: -2.5rem;
  background: #fff;
  padding: 1rem;
  white-space: nowrap;
  gap: 1rem;
  border-radius: var(--rad-sm);
  border: 1px solid var(--border-color);
  z-index: 2;
  visibility: hidden;
  opacity: 0;
  transform: scale(1, 0);
  transform-origin: 0 0;
  transition: all 0.3s ease-in-out;
}

.flex-head-right>ul:hover ul {
  opacity: 1;
  visibility: visible;
  transform: scale(1);
}

header form {
  min-width: 37.5rem;
  width: 100%;
  position: relative;
}

:is(header, .mob-search-wrap) form button {
  cursor: pointer;
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
}

header .searchBtn {
  display: none;
}

header form input {
  border-radius: var(--rad-lg) !important;
}

:is(header, .mob-search-wrap) form input {
  padding: 0.75rem 1.25rem 0.75rem 3rem;
  font-size: var(--fs-3) !important;
}


/*---------------------------Header-Category-Start--------------------------------*/

.category-wrap {
  margin-block: 1.25rem;
}

.scroller-x>* {
  overflow-x: auto;
  width: 100%;
  white-space: nowrap;
  padding-bottom: 0.625rem;
}

.category-wrap ul li a img {
  height: 1.875rem;
  width: 1.875rem;
  border-radius: var(--rad-lg);
  object-fit: cover;
}


/*---------------------------Homepage-Hero-Start--------------------------------*/

.hero-texture {
  position: relative;
  overflow: hidden;
  border-radius: 1.875rem;
  height: 40rem;
}

.hero-texture img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}

.home-hero .content-block {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: auto;
  max-width: 50rem;
  width: 100%;
}


/*---------------------------Heading-Seprator-Start--------------------------------*/

.head-seprator {
  display: grid;
}


/*---------------------------Brands-logos-Start--------------------------------*/

.flex-brands .flex-logo-wrap img {
  height: 2rem;
  width: 6rem;
  object-fit: contain;
}


/*---------------------------Scroll-Tabs-Start--------------------------------*/

.tabsCon {
  position: relative;
}

.tabsCon .tabcontent {
  display: none;
  animation: fadeEffect 1s;
  margin-top: 3rem;
}

.tabsCon .flex-tabs::-webkit-scrollbar {
  display: none;
}

.tabsCon .flex-tabs {
  position: relative;
  display: flex;
  overflow-x: auto;
  border-bottom: 1px solid var(--border-color);
  flex: 1;
}

.tabsCon .flex-tabs button {
  flex-shrink: 0;
  padding: 1rem 0.625rem;
}


/*---------------------------Project-Cards-Start--------------------------------*/

.project-card img {
  height: 18.75rem;
  width: 100%;
  object-fit: cover;
  border-radius: var(--rad-sm);
}


/*---------------------------Process-Sec.-Start--------------------------------*/

.light-bg-texture {
  padding-block: 2rem 1.25rem;
}

.process-card {
  position: relative;
}

.process-card:not(.flex-ftrs-card) img {
  height: 6rem;
  width: 6rem;
  object-fit: cover;
}

.process-card span.flex-no {
  width: 3.25rem;
  height: 3.25rem;
  position: absolute;
  right: 1.25rem;
  top: -1.65rem;
}


/*---------------------------Gallery-Collection-Start--------------------------------*/

.gallery-collection:not(#viewGallery) {
  max-height: 37rem;
  height: 100%;
  overflow: hidden;
}

.glry-card {
  position: relative;
  overflow: hidden;
  border-radius: var(--rad-sm);
}

.glry-card .gallery-title {
  bottom: 0;
  position: absolute;
  width: 100%;
  padding: 2.5rem 1.25rem 1.5rem 1.25rem;
}

.glry-card img {
  border-radius: var(--rad-sm);
  object-fit: cover;
  cursor: pointer;
}

.galleryModalWrapper {
  position: fixed;
  z-index: 9999;
  background: var(--white);
  left: 0;
  padding: 6rem;
  overflow-y: auto;
  height: 0%;
  bottom: 0;
  transition: all .3s ease-out 0s;
  opacity: 0;
  visibility: hidden;
}

.galleryModalWrapper#showGalleryModal {
  height: 100%;
  transition: all .3s ease-out 0s;
  opacity: 1;
  visibility: visible;
}

.galleryDataCollection button.glryCloseModal {
  position: fixed;
  display: none;
  right: 2rem;
  background: var(--pc);
  height: 2.25rem;
  width: 2.25rem;
  z-index: 9999;
  padding-bottom: 0;
  border-radius: var(--rad-lg);
  top: 2rem;
}

#viewGallery button {
  display: none;
}


/*---------------------------Review Cards-Start--------------------------------*/

.review-card {
  margin-top: 5rem;
  position: relative;
}

.review-card .rev-img {
  position: absolute;
  width: 6rem;
  height: 6rem;
  top: -3rem;
  left: 50%;
  transform: translateX(-50%);
}


/*---------------------------FAQs-Start--------------------------------*/

.accordion details {
  margin-bottom: 1.25rem;
}


/*---------------------------Blogs-Card-Start--------------------------------*/

.blog-card .img-placeholder {
  aspect-ratio: 16 / 9;
}

:is(.img-placeholder, .img-placeholder img) {
  height: 100%;
  width: 100%;
  object-fit: cover;
}

.blog-card .blog-content {
  padding: 1.25rem
}

:is(.blog-card, .glry-card) [class*="-title"]{
  display: -webkit-box !important;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
}


/*---------------------------Footer-Start--------------------------------*/

.foot-ftrs span {
  height: 3rem;
  width: 3rem;
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
}

footer .flex-menus-column {
  gap: 1rem;
}

footer form {
  position: relative;
  margin-top: 1.25rem
}

footer form button {
  	position: absolute;
    right: 0.625rem;
    top: 50%;
    transform: translateY(-50%);
    background: var(--pc);
    height: 32px;
    width: 32px;
    border-radius: 4px;
}


/*---------------------------Common-Element-Start--------------------------------*/

#backToTop {
  position: fixed;
  right: 2rem;
  height: 2.5rem;
  width: 2.5rem;
  bottom: 2rem;
  opacity: 0;
  visibility: hidden;
  transition: all .5s ease;
}


/*---------------------------Page-Status-Start--------------------------------*/

.yoast-breadcrumbs > span{
      display: flex;
      align-items: center;
      gap: 0.625rem;
	flex-wrap: wrap;
    }

.page-status img{
        width: 100%;
        object-fit: contain;
    }


/*---------------------------Default-page-Start--------------------------------*/

.page-content :is(h2, h3, h4, h5, h6, p, figure){
	margin-bottom: .90rem
}

.page-content :is(ul:not(.auth-social-follow ul), ol){
	padding-left: 1.775rem;
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
	color: var(--text-muted);
}

.page-content :is(ul:not(:is(.auth-social-follow, .keyFeatures-block) ul), ol){
	margin-bottom: 1.5rem
}

.pg-img img{
	width: 100%;
    border-radius: var(--rad-md);
    object-fit: cover;
}

.page-content :is(.pg-img, .pg-img img){
	height: 100%;
}

.auth-social-follow ul{
	display: flex;
	align-items: center;
	gap: 0.4rem;
}


/*---------------------------Single-Blog-Start--------------------------------*/

.flex-author-block{
        width: fit-content;
        margin: auto;
	flex-wrap: wrap;
        margin-top: -1.5rem;
    }

    .flex-author-block .flex-post-meta .ath-img img{
        height: 100%;
        width: 100%;
        border-radius: var(--rad-lg)
    }

.blog-sidebar-social{
    display: flex;
    align-items: center;
    white-space: nowrap;
    gap: 0.75rem;
    color: var(--black);
}

.blog-sidebar-social ul li a {
    border: 1px solid var(--sc);
    background: transparent;
    height: 2rem;
    width: 2rem;
    justify-content: center;
    display: flex;
    align-items: center;
    border-radius: var(--rad-lg);
}

#tableofcontent ul{
    padding: 1.25rem 3rem;
    margin: 0;
    max-height: 20.5rem;
    height: 100%;
    overflow-y: auto;
  }

#tableofcontent .view_toc{
    position: absolute;
    bottom: 0;
    width: 100%;
    text-align: center;
    padding: 16px;
}

.blog-ftrd-img img {
    width: 100%;
    border-radius: 4px;
    max-width: 700px;
}

.keyFeatures-block{
        margin-block: 3rem 1.25rem;
        position: relative;
    }

    .keyFeatures-block .block-title{
        width: fit-content;
        left: 0;
        top: 1.5rem;
        position: absolute;
    }

.pros-cons-card{
        display: flex;
        flex-direction: column;
        gap: 20px;
        margin-block: 20px;
        height: calc(100% - 40px);
    }

.flex-blog-ath-container > .flex-column{
	width: 100%;
}

.sidebar_blog_card{
  border: 0 !important;
  border-radius: unset !important;
}

.sidebar_blog_card .blog-content{
  padding: 0 !important;
}

.sticky-card{
	position: sticky;
	top: 6rem
}


/* Only for Desktop ================*/

@media (min-width: 1024px) {

  .home-hero {
    padding-inline: 3.5rem;
  }

  .head-seprator {
    grid-template-columns: 24% auto;
    padding-top: 5rem;
  }

  .tabsCon .flex-tabs {
    gap: 2rem;
    margin-inline: 1.25rem;
  }

  .steps-container .col-lg-3:nth-child(even) .process-card {
    margin-top: 2rem;
  }

  .glry-card.sm-img img {
    height: 15rem;
  }

  .glry-card.md-img img {
    height: 20rem;
  }

  .grid-50 {
    grid-template-columns: 50% 50%
  }

  .review-wrap {
    padding: 1rem 0.625rem 2rem 5rem;
  }

  .faqs-wrap {
    padding: 1rem 5rem 2rem 3rem;
  }
	
	.blog-sidebar-social{
	writing-mode: sideways-rl;
	justify-self: center;
    margin-top: -5rem;
	}

}


/* large to tab ================*/

@media (min-width: 768px) {

  .home-hero .content-block {
    transform: translateY(-50%);
    padding: 2.5rem;
    left: 2.5rem;
  }

  .flex-brands .flex-logo-wrap {
    padding: 0.625rem 1.25rem;
    height: 5rem;
  }
	
	.flex-author-block{
        padding-inline: 1.25rem;
	}
	
	.flex-author-block .flex-post-meta .ath-img{
        height: 3rem;
        width: 3rem;
    }

}

/* large to tab ================*/

@media (min-width: 993px) {
  .mob-search-wrap {
    display: none;
  }
}


/* Responsive mediaQuery ================*/

@media (max-width: 1024px) {

  .mb-auto{
    margin-bottom: 2.5rem;
  }
	
	.sidebar-cta{
    margin-top: 2rem !important;
  }
	
	:is(.mt-3, .mt-5){
		margin-top: 1rem !important
	}
	
	.flex-blog-ath-container,
	.flex-blog-ath-container .flex-ath-name{
		flex-wrap :wrap ;
		gap: 10px !important
	}
	
	.flex-blog-ath-container img{
		height: 5rem !important;
		width: 5rem !important;
	}
	
	.yoast-breadcrumbs > span{
		display: unset !important
	}
	
	.light-bg{
		padding-block: 1rem 2rem !important
	}

	.blog-sidebar-social{
		position: absolute;
    	top: -2rem;
    	right: 1rem;
	}
	
	.brands-container{
		margin-bottom: 4.5rem
	}
	
	.keyFeatures-block,.pros-cons-card{
		padding-inline: 1rem !important;
	}

  header :is(.form-wrap, .flex-btn, .flex-head-right a span) {
    display: none;
  }

  header .searchBtn {
    display: flex !important;
    background: #f5f5f5;
    height: 1.95rem;
    width: 1.95rem;
    justify-content: center;
    align-items: center;
    border-radius: var(--rad-lg);
  }

  .mob-search-wrap {
    position: fixed;
    left: 50%;
    transform: translate(-50%, 1.5rem);
    transition: all .3s ease-out 0s;
    top: 6rem;
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
  }

  .mob-search-wrap.active {
    transform: translateX(-50%);
    opacity: 1;
    visibility: visible;
  }

  .mob-search-wrap form {
    min-width: 20rem;
  }

  .mob-search-wrap .closeSearchWrap {
    position: absolute;
    right: 0;
    top: -2rem;
  }

  body .search_overlay {
    position: fixed;
    height: 100%;
    width: 100%;
    background: #000000b3;
    inset: 0;
    z-index: 99;
  }

  .home-hero {
    padding-inline: 0.625rem;
  }

  .home-hero .content-block {
    padding: 1.25rem;
  }

  .head-texture:after {
    width: 50%;
    height: 5rem !important;
    transform: scale(-1, 1);
    left: -3rem;
    top: -2rem;
  }

  .head-texture {
    padding-top: 3rem;
    gap: 1rem;
	  margin-top: 3rem !important
  }

  .tabsCon .flex-tabs {
    gap: 1.25rem;
  }

  .tabsCon .flex-tabs button {
    --fs-1: var(--fs-3)
  }

  .tabsCon .tab-bg-wrapper {
    background: #f8f8f8;
  }

  .order-md-1 {
    order: 1
  }

  .order-md-2 {
    order: 2
  }

  .order-md-3 {
    order: 3
  }

  .glry-card:not(.galleryModalWrapper .glry-card) img {
    height: 7rem
  }

  .cta-wrap {
    padding: 1.5rem !important;
    text-align: center;
  }

  .grid-50 {
    display: block;
  }

  :is(.flex-ftrs-card, .flex-ftrs-card > div) {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  :is(.ftrs-container, .ftrs-container .mt-3) {
    margin-top: 0 !important;
  }

  :is(.review-wrap, .faqs-wrap),
  .galleryModalWrapper {
    padding: 1.25rem;
  }

  .accordion details summary {
    padding-right: 3rem !important
  }

  .justify-end {
    justify-content: flex-start;
  }

  footer .ftrs-block {
    margin-block: 1.5rem;
  }
	
	.default-hero{
		padding-block: 1.5rem 2.5rem !important; 
	}
	
	.default-hero h1{
		font-size: 1.785rem !important;
	}
	
	.d-md-none{
		display: none;
	}
	
	.glry-card .gallery-title{
		font-size: 0.85rem !important;
		padding: 0.25rem 0.625rem 0.25rem !important;
	}
	
	.light-gradient-bg{
		padding: 20px 0 !important
	}
	
	.light-bg{
		padding: 20px !important
	}

}


@media (600px <=width <=991px) {
  .gallery-collection:not(#viewGallery) {
    max-height: 25rem;
  }

  .home-hero .content-block{
    max-width: 40rem;
  }
	
	.single-post .hero-seprator{
		margin-top: 1.5rem !important
	}

}


@media (width <=600px) {

  .topbar span,
  .home-hero .content-block h1 br,
  .esti-img img {
    display: none;
  }

  .home-hero .content-block {
    max-width: 20rem;
  }

  .home-hero .content-block>.flex-column {
    gap: 0.625rem;
  }

  .home-hero .content-block h1 {
    font-size: 1.600rem;
    line-height: 1.5;
  }

  .home-hero .content-block p {
    font-size: var(--fs-3);
  }

  .head-texture:after {
    width: 100% !important;
    left: -2rem !important;
  }

  .flex-brands .flex-logo-wrap {
    padding: 0.625rem;
    height: 4rem;
  }

  .review-card {
    padding: 4.375rem 1.25rem 1.25rem 1.25rem !important;
  }

  footer {
    padding-block: 2rem 1rem !important;
  }
	
	.gallery-collection:not(#viewGallery) {
    	max-height: 49rem !important;
	}
	
	.single-post .default-content .hero-seprator:before,
	.single-post .default-content .hero-seprator:after{
		content: unset !important;
	}
	
	.flex-author-block .flex-post-meta .ath-img{
		height: 2rem;
		width: 2rem;
	}
	
	.flex-author-block .flex-post-meta span{
		font-size: 0.75rem !important
	}
	
	.flex-author-block{
        border-inline: unset !important;
		width: 100% !important;
		justify-content: space-between;
	}

}


.mission-img {
	position: absolute;
    right: 0;
    bottom: 50px;
}

.mission-img img{
	height: 300px;
    width: auto;
    object-fit: cover;
    border-radius: 200px 0 0;
    border-left: 15px solid var(--pc-light);
    border-top: 15px solid var(--pc-light);
}


.flex-social li a {
    height: 1.875rem;
    width: 1.875rem;
	display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
}