/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */
h1 span, h2 span {color: var( --e-global-color-accent );}
.noSpace, .noSpace p {
	margin: 0;
}
.noSpace.elementor-widget-text-editor p:last-child, .noSpace.elementor-widget-text-editor.elementor-element-edit-mode p:last-child {
    margin-block-end: 0;
}
.elementor-nav-menu--dropdown .elementor-item.elementor-item-active svg,
.elementor-nav-menu--dropdown .elementor-item:hover svg,
.elementor-nav-menu--dropdown .elementor-item:focus svg {
	fill: #fff !important;
}
/* Header CSS */
.cc-header.elementor-sticky--effects {
	transition: background-color 1s ease;
	background-color: #000 !important;
}
header .elementor-nav-menu .elementor-sub-item.has-submenu {
    justify-content: space-between;
}
.cc-header .logo img {
    transition: max-width 0.3s ease;
}
.cc-header.elementor-sticky--effects .logo img {
    max-width: 75%; 
}
.cc-header-nav li a:before {
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s ease;
	top: -25px !important;
}

.cc-header-nav .menu-item:hover a::before,
.cc-header-nav .menu-item.current-menu-item a::before {
    transform: scaleX(1);
}
.cc-header-nav .menu-item a::before {
    backface-visibility: hidden;
}

.ccl-btn {
    text-transform: uppercase;
	font-weight:600;
}



/* Precess Section CSS */
.vertical_steps:after {
    content: "";
    width: 4px;
    height: 100%;
    background: rgb(179 47 56 / 60%);
    position: absolute;
    left: 23px;
    bottom: -36px;
    z-index: -1;
}
figure.elementor-image-box-img {
    position: relative;
    z-index: 1;
}
.vertical_steps.last:after {content:none;}

/* Timeline Css */
.custom-accordion .elementor-icon-box-description{
    overflow:hidden;
    max-height:0;
    opacity:0;
    transition:max-height .4s ease, opacity .3s ease;
}

.custom-accordion .elementor-widget-icon-box.active .elementor-icon-box-description{
    opacity:1;
}
.custom-accordion .elementor-icon-box-icon {
    cursor: pointer;
}

.custom-accordion .elementor-icon-box-wrapper:before {
    content: "";
    height: 100%;
    width: 3px;
    position: absolute;
    background: #b32f38b8;
    z-index: 0;
    left: 25px;
    top: 20px;
}
.last .elementor-icon-box-wrapper:before {
	content: none;
}


/* Services Section CSS */
.cc-services h3 {
    transition: transform 0.4s ease;
}
.cc-services:hover h3 {
    transform: translateY(0px);
}
.cc-services .cc-services-para {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    margin: 0;
    transition: max-height 0.5s ease, opacity 0.4s ease;
}
.cc-services:hover .cc-services-para {
    max-height: 300px;
    opacity: 1;
    margin-top: 0px;
}


/* =============================================
   Blog Grid Pagination - blog-grid-sec
   ============================================= */

.blog-grid-sec .elementor-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    margin-top: 40px;
    padding: 10px 20px;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    border-radius: 0px;
    background: transparent;
}

.blog-grid-sec .elementor-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px 14px;
    color: #ffffff;
    font-size: 15px;
    font-weight: 500;
    text-decoration: none;
    border-radius: 3px;
    transition: background-color 0.25s ease, color 0.25s ease;
    background: #000;
    line-height: 1;
    width: 40px;
    height: 40px;
}
.blog-grid-sec .elementor-pagination .page-numbers.next, .blog-grid-sec .elementor-pagination .page-numbers.prev{
    width: unset;
    height: unset;
} 

.blog-grid-sec .elementor-pagination .elementor-screen-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.blog-grid-sec .elementor-pagination .page-numbers.current {
    background-color: var(--e-global-color-primary);
    color: #ffffff;
    font-weight: 700;
    border-radius: 3px;
    width: 40px;
    height: 40px;
}

.blog-grid-sec .elementor-pagination a.page-numbers:hover {
    background-color: var(--e-global-color-primary);
    color: #ffffff;
}

.blog-grid-sec .elementor-pagination .page-numbers.prev,
.blog-grid-sec .elementor-pagination .page-numbers.next {
    color: #ffffff;
    font-size: 15px;
    font-weight: 500;
    cursor: pointer;
}

.blog-grid-sec .elementor-pagination .page-numbers.prev:hover,
.blog-grid-sec .elementor-pagination .page-numbers.next:hover {
    color: #fff !important;
    background: var(--e-global-color-primary);
}

.blog-grid-sec .elementor-pagination span.page-numbers.prev {
    cursor: default;
    opacity: 0.5;
    pointer-events: none;
}



/* FlipBox */

.flip-buttons {
    display: flex;
	flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 20px;
    width: 100%;
}

.flip-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    height: 48px;
    padding: 0 25px;

    border: 1px solid #fff;

    font-family: inherit;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;

    text-decoration: none !important;

    transition: all 0.3s ease;
}

/* Call Us */
.call-btn {
    background: #fff;
    color: #bd2d38 !important;
}

.call-btn:hover {
    background: #bd2d38;
    color: #fff !important;
}

/* Get Estimate */
.estimate-btn {
    background: #bd2d38;
    color: #fff !important;
}

.estimate-btn:hover {
    background: #fff;
    color: #bd2d38 !important;
}


/* .ba-section .bafg-twentytwenty-container:before{
	content: "";
	background: linear-gradient(90deg,rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0) 75%, rgba(255, 255, 255, 1) 100%);
	width: 100%;
	height: 100%;
	position: absolute;
	z-index: 25;
} */

.ba-section .twentytwenty-handle{
	background: #ffffff;
}
.ba-section .twentytwenty-left-arrow {
    border-right: 6px solid #000 !important;
}
.ba-section .twentytwenty-right-arrow {
    border-left: 6px solid #000 !important;
}

@media (min-width:1025px) {
.cc-header.elementor-sticky--effects .cc-header-btn a {
    padding: 40px 35px !important;
}
}
@media (max-width: 2080px) and (min-width: 1600px) {
	.cc-header-nav li a:before {top: -43px !important;}
}
	
@media (max-width: 1280px) and (min-width: 1025px) {
	.cc-header-nav .elementor-nav-menu .elementor-item {font-size: 14px !important; margin: 0px 10px !important;}
}
@media (max-width: 1024px) {
	.cc-header.elementor-sticky--effects .logo img {max-width: 100%;}
}
@media (max-width: 767px) {
.vertical_steps:after {
    left: 19px;
}
.custom-accordion .elementor-icon-box-wrapper:before {
    left: 19px;
    top: 20px;
}
}