/*
Theme Name: Impreza Child
Template: Impreza
Version: 1.0
Author:	UpSolution
Theme URI: http://impreza.us-themes.com/
Author URI: http://us-themes.com/
*/

/*Add your own styles here:*/
.w-image-h {
	height: auto;
}
.w-image img {
	height: auto;
}

.w-popup-box-h > .w-popup-closer {
	z-index: 99;
}


.w-nav.type_mobile.m_layout_panel .w-nav-list.level_1 {
	min-width: 360px;
	padding: 100px 80px 20px;
	padding-right: 0;
	background: linear-gradient(0deg, #21295766 0%, #113C6CF2 61%, #103E6E 100%) !important;
}
.w-nav-icon {
	z-index: 9;
}
header.l-header .w-image-h,
header.l-header .w-image img {
	height: 100%;
}


.header-client-login .client-login-header {
	position: absolute;
	top: 400px;
	left: 50px;
	z-index: 9;
	border-color: #fff;
	color: #fff !important;
	background-image: url(/wp-content/uploads/2026/04/key.svg) !important;
    opacity: 0;
}
.header-client-login .w-popup-trigger.client-login-header:hover {
	background-color: #BB957D !important;
	color: #fff !important;
}
.w-nav-open .header-client-login .client-login-header {
	opacity: 1;
}





.home-banner::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 140px;
	height: 100%;
	background: linear-gradient(0deg, #21295766 0%, #113C6CF2 61%, #103E6E 100%) !important;
	z-index: 1;
	transition: all 0.4s ease-in-out;
}
.w-nav-open .home-banner::before {
	opacity: 0;
}
.homebanner-left .vc_column-inner,
.homebanner-left .w-image,
.homebanner-left .w-image-h,
.homebanner-left .w-image img {
	height: 100%;
}

/*** 
====================================================================
  about page animation css
====================================================================
***/
.about-line svg {
  	width: 2px;
}

.about-line path {
	stroke: #BB957D;
	stroke-width: 2px;
  	stroke-dasharray: 100; /* approximate total path length */
  	stroke-dashoffset: 100;
  	animation: drawLine 2s ease forwards;
}

@keyframes drawLine {
  to {
    stroke-dashoffset: 0;
  }
}
/*** 
====================================================================
  line animation css
====================================================================
***/

.top-line {
	display: flex;
	justify-content: center;
  	transition: all 0.3s ease-in-out;
}
.top-line path {
	stroke: #BB957D;
	stroke-width: 2px;
  	stroke-dasharray: 100; /* approximate total path length */
  	stroke-dashoffset: 100;
}
.animate-in.top-line path {
	animation: drawLine 2.5s ease forwards;
}


@keyframes drawLine {
  to {
    stroke-dashoffset: 0;
  }
}


.bot-line {
	display: flex;
	justify-content: center;
  	transition: all 0.3s ease-in-out;
}
.bot-line path {
	stroke: #BB957D;
	stroke-width: 2px;
  	stroke-dasharray: 100; /* approximate total path length */
  	stroke-dashoffset: 100;
  	
}
.animate-in.bot-line path {
	animation: drawLine 2s ease forwards;
}


@keyframes drawLine {
  to {
    stroke-dashoffset: 0;
  }
}



.top-line-white {
	display: flex;
	justify-content: center;
  	transition: all 0.3s ease-in-out;
}
.top-line-white path {
	stroke: #fff;
	stroke-width: 2px;
  	stroke-dasharray: 100; /* approximate total path length */
  	stroke-dashoffset: 100;
  	
}
.animate-in.top-line-white path {
	animation: drawLine-white 2.5s ease forwards;
}


@keyframes drawLine-white {
  to {
    stroke-dashoffset: 0;
  }
}

/*** 
====================================================================
  side line animation css
====================================================================
***/

.side-line {
    overflow: hidden;
}

.side-line svg {
    width: 300px;
    height: 2px;
}

.side-line path {
    stroke: #BB957D;
    stroke-width: 2;
    stroke-dasharray: 300;
    stroke-dashoffset: 300;
}

.side-line.animate-in path {
    animation: drawLine 1.2s ease forwards;
}

@keyframes drawLine {
    to {
        stroke-dashoffset: 0;
    }
}



/*** 
====================================================================
  communication-line animation css
====================================================================
***/

.communication-line {
    overflow: hidden;
    display: flex;
}

.communication-line svg {
    width: 450px;
    height: 2px;
}

.communication-line path {
    stroke: #588FC9;
    stroke-width: 2;
    stroke-dasharray: 450px;
    stroke-dashoffset: 450px;
}

.communication-line.animate-in path {
    animation: drawLine 2.2s ease forwards;
}

@keyframes drawLine {
    to {
        stroke-dashoffset: 0;
    }
}

.communication-box img,
.communication-box .img-default,
.communication-box .img-hover,
.communication-box .communication-line path,
.communication-box .title,
.communication-box .content {
	transition: all 0.3s ease-in-out;
}


.communication-box:hover .img-default {
	opacity: 0;
}
.communication-box .img-hover {
	opacity: 0;
}
.communication-box:hover .img-hover {
	opacity: 1;
}


.communication-box:hover .communication-line path {
	stroke: #BB957D;
}
.communication-box:hover .title,
.communication-box:hover .content {
	color: #BB957D;
}

/*** 
====================================================================
  custom css
====================================================================
***/

.banner-mainhead u{
    position: relative;
    text-decoration: none;
    display: inline-block;
}

.banner-mainhead u::after{
    content: "";
    position: absolute;
    left: 0;
    bottom: 6px;

    width: 100%;
    height: 25px;

    background: rgba(49, 99, 151, 0.23);

    transform: scaleX(0);
    transform-origin: left;

    animation: underlineReveal 0.8s ease forwards;
}

@keyframes underlineReveal{
    to{
        transform: scaleX(1);
    }
}
.has-animation strong {
    position: relative;
    font-weight: 400;
    display: inline-block;
    z-index: 1;
}

.has-animation strong::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 2px;
    width: 100%;
    height: 16px;
    background-color: rgba(49, 99, 151, 0.23);

    transform: scaleX(0);
    transform-origin: left;

    transition: transform 0.8s ease;
    z-index: -1;
}

.has-animation.animate-in strong::before {
    transform: scaleX(1);
}
.planing-box::before {
	content: "";
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: 55px;
	width: 0;
	height: 4px;
	background-color: #588FC9;
	opacity: 0;
	transition: all 0.3s ease-in-out;
}
.planing-box:hover::before {
	opacity: 1;
	width: 255px;
}

/*** 
====================================================================
  footer css
====================================================================
***/
.cms-footer .w-socials-item-link {
	width: 42px;
	height: 42px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.cms-footer .w-socials-item-link i {
	color: #fff;
	font-size: 26px !important;
}
.cms-footer .w-socials-item-link:hover i {
	color: #fff;
}
.client-login {
	padding-right: 80px !important;
	background-image: url(/wp-content/uploads/2026/04/key.svg) !important;
    background-repeat: no-repeat !important;
    background-position: center right 18px !important;
}
.footer-privacy a {
	text-decoration: underline;
}
.footer-privacy a:hover {
	color: #BB957D !important;
}

/*** 
====================================================================
  home service css 
====================================================================
***/
.home-service .w-tabs.accordion > div > .w-tabs-section {
	position: relative;
	border-width: 2px 0 0 0;
	border-color: #588FC9;
	z-index: 1;
	transition: all 0.3s ease-in-out;
}
.home-service .w-tabs.accordion > div > .w-tabs-section.active {
	background: linear-gradient(90deg, #EFF1F4 0%, #F0F2F5 0%, #FFFFFF 100%);
	padding: 0 0 30px;
	border-bottom: solid 2px #588FC9;
	margin-right: -70px;
	margin-bottom: -2px;
}
.home-service .w-tabs-section-header  {
	font-size: 28px;
	min-height: 100px;
	padding: 0px 100px 0px;
}
.home-service .w-tabs-section-header::before {
	content: "";
	position: absolute;
	right: 28px;
	top: 50%;
	margin-top: -7px;
	width: 22px;
	height: 14px;
	background-image: url("data:image/svg+xml,%3Csvg width='22' height='14' viewBox='0 0 22 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20.603 1.01904L11.042 11.748L1.1001 1.01904' stroke='%232680EB' stroke-width='3'/%3E%3C/svg%3E");
	background-repeat: no-repeat no-repeat;
	transition: all 0.3s ease-in-out;
}
.home-service .w-tabs-section-header.active::before {
	rotate: -90deg;
}
.home-service .w-tabs-section-header:hover,
.home-service .w-tabs-section-header:focus {
	background: transparent;
}
.home-service .w-tabs-section-title {
	letter-spacing: -0.56px;
	transition: all 0.3s ease-in-out;
}
.home-service .w-tabs-section.active .w-tabs-section-title {
	opacity: 1;
}
.home-service .w-tabs-section-content {
	padding: 0 100px 0 !important;
	margin-top: -30px;
}

.tab-content {
  	display: none;
}
.tab-content.current {
  	display: block;
}


.homeblog-box,
.homeblog-box .post_title,
.homeblog-box .homeblog-content {
	transition: all 0.3s ease-in-out;
}

.homeblog-box .homeblog-img,
.homeblog-box .homeblog-img a,
.homeblog-box .homeblog-img img {
	height: 100%;
	display: block;
	object-fit: cover;
}
.homeblog-box::before,
.homeblog-box::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(33, 41, 87, 0.4) 0%, #103E6E 100%);
	transition: all 0.3s ease-in-out;
	transform: translateY(0);
	z-index: 1;
}
.homeblog-box::after {
	opacity: 0;
	visibility: hidden;
	z-index: 0;
}
.homeblog-box:hover:after {
	opacity: 1;
	visibility: visible;
}
.homeblog-box:hover .homeblog-content {
	transform: translateY(-120px);
}
.homeblog-box .homeblog-content .w-btn {
	visibility: hidden;
	opacity: 0;
}
.homeblog-box:hover .homeblog-content .w-btn {
	opacity: 1;
	visibility: visible;
}

/*** 
====================================================================
  horizantal accrodian css
====================================================================
***/

.horizontal-accordion {

}
.horizontal-accordion .vc_row {
	display: flex;
}
.horizontal-accordion .vc_column-inner {
	width: 100%;
}
.accordion-item {
    position: relative;
    flex: 1.30;
    min-width:0;
    cursor:pointer;
    overflow:hidden;
    transition: flex .6s ease;
    display:flex;
    align-items:flex-end;
}
.accordion-item.active {
    flex:3;
}

.accordion-item .serve-text {
	opacity: 0;
	visibility: hidden;
	transition: all 0.3s ease-in-out;
}
.accordion-item.active .serve-text {
	opacity: 1;
	visibility: visible;
}
.accordion-item .accordion-title {
	transition: all 0.3s ease-in-out;
}
.accordion-item.active .accordion-title {
	height: 60px;
}
.accordion-item .accordion-text {
	transition: all 0.3s ease-in-out;
	display: none;
}
.accordion-item.active .accordion-text {
	display: block;
}

/*** 
====================================================================
  our approach css 
====================================================================
***/

.client-login-header {
	padding-right: 65px !important;
	background-image: url(/wp-content/uploads/2026/04/key-header.svg) !important;
    background-repeat: no-repeat !important;
    background-position: center right 12px !important;
}


.approach-service .w-tabs.accordion > div > .w-tabs-section {
	position: relative;
	border-width: 2px 0 0 0;
	border-color: #588FC9;
	z-index: 1;
	transition: all 0.3s ease-in-out;
}
.approach-service .w-tabs.accordion > div > .w-tabs-section.active {
	padding: 0 0 35px;
}
.approach-service .w-tabs-section-header  {
	font-size: 28px;
	min-height: 85px;
	padding: 0px 80px 0px;
}
.approach-service .w-tabs-section-header::before {
	content: "";
	position: absolute;
	right: 20px;
	top: 35px;
	width: 22px;
	height: 14px;
	background-image: url("data:image/svg+xml,%3Csvg width='22' height='14' viewBox='0 0 22 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20.603 1.01904L11.042 11.748L1.1001 1.01904' stroke='%232680EB' stroke-width='3'/%3E%3C/svg%3E");
	background-repeat: no-repeat no-repeat;
	transition: all 0.3s ease-in-out;
}
.approach-service .w-tabs-section-header.active::before {
	rotate: -90deg;
}
.approach-service .w-tabs-section-header:hover,
.approach-service .w-tabs-section-header:focus {
	background: transparent;
}
.approach-service .w-tabs-section-title {
	letter-spacing: -0.56px;
	transition: all 0.3s ease-in-out;
}
.approach-service .w-tabs-section.active .w-tabs-section-title {
	opacity: 1;
}
.approach-service .w-tabs-section-content {
	padding: 0 80px 0 !important;
	margin-top: -10px;
}


.process-box {
	transition: all 0.3s ease-in-out;
}
.process-box:hover {
	padding-top: 135px !important;
	margin-top: -30px;
}
.process-box .vc_column-overlay {
	transition: all 0.3s ease-in-out;
}
.process-box:hover .vc_column-overlay {
	background: transparent !important;
}
.process-box:nth-child(1) .vc_column-overlay::before,
.process-box:nth-child(2) .vc_column-overlay::before,
.process-box:nth-child(3) .vc_column-overlay::before {
	content: "";
	position: absolute;
	inset: 0;
	opacity: 0;
	transition: all 0.3s ease-in-out;
}
.process-box:nth-child(1):hover .vc_column-overlay::before,
.process-box:nth-child(2):hover .vc_column-overlay::before,
.process-box:nth-child(3):hover .vc_column-overlay::before {
	opacity: 1;
}
.process-box:nth-child(1) .vc_column-overlay::before {
	background: linear-gradient(180deg, rgba(33, 41, 87, 0.302) 0%, rgba(33, 41, 87, 0.878) 49.3%, #212957 100%) !important;
}
.process-box:nth-child(2) .vc_column-overlay::before {
	background: linear-gradient(180deg, rgba(16, 62, 110, 0.302) 0%, rgba(16, 62, 110, 0.878) 49.3%, #103E6E 100%) !important;
}
.process-box:nth-child(3) .vc_column-overlay::before {
	background: linear-gradient(180deg, rgba(49, 99, 151, 0.302) 0%, rgba(49, 99, 151, 0.878) 49.3%, #316397 100%) !important;
}


.communication-icon .w-image-h {
	display: flex;
	align-items: flex-end;
	height: 47px;
}
.communication-icon .w-image-h img {
	object-fit: inherit;
}

/*** 
====================================================================
  our service css 
====================================================================
***/
.service-content {
  	display: none;
}
.service-content.current {
  	display: flex;
}
.service-tab {
	display: flex;
	align-items: center;
	cursor: pointer;
}
.service-tab.current {
	background-color: #1F2752;
	color: #fff !important;
}
/*** 
====================================================================
  our team css 
====================================================================
***/
.see-bio a {
	display: block;
	padding: 14px;
}
.login-box::before {
	content: "";
  	display: block;
  	width: 1px;
  	height: 85%;
  	position: absolute;
  	right: 0;
  	top: 50%;
  	transform: translateY(-50%);
  	background: #52688633;
}
.login-logo {
	display: flex;
	align-items: center;
}
.gform_wrapper.gform-theme .gform-footer input {
    color: #fff !important;
}



/*** 
====================================================================
  responsive css 
====================================================================
***/

/* 1024 */
@media only screen and (max-width: 1199px) {
.w-nav.type_mobile.m_layout_panel .w-nav-list.level_1 { min-width: 100%; padding:70px 30px 0; }
.home-banner::before { display:none; }
.horizontal-accordion .vc_row { display:block; }
.accordion-item .accordion-text { display:block; }
.home-service .w-tabs.accordion > div > .w-tabs-section.active { margin-right: 0; }
.home-service .w-tabs-section-header { min-height:80px; padding: 0px 15px 0px; }
.home-service .w-tabs-section-header::before { top:40px; right:15px; }
.home-service .w-tabs-section-content { margin-top:0; padding:0 15px 0 !important; }
.footer-mid { grid-template-columns: repeat(2,1fr) !important; }

.approach-service .w-tabs-section-header { padding: 0px 40px 0px; }
.approach-service .w-tabs-section-content { padding: 0 40px 0 !important; margin-top:0; }
.loop-row { grid-template-columns: repeat(2,1fr) !important; }





	
	
}

/* 768 */
@media only screen and (max-width: 1023px) {







	
}

/* 736 */
@media only screen and (max-width: 767px) {
.banner-mainhead u { text-decoration-thickness: 10px; text-underline-offset: -5px; }	
.home-service .w-tabs-section-header { font-size:20px; }
.approach-service .w-tabs-section-header { font-size:20px; padding: 0px 20px 0px; }
.approach-service .w-tabs-section-header::before { right:0; }
.approach-service .w-tabs-section-content { padding: 0 20px 0 !important; }
.loop-row { grid-template-columns: repeat(1,1fr) !important; }
.login-box::before { width: 85%;  height: 1px; inset: auto auto 0px 50%; transform: translateX(-50%); }



}

/* 600 */
@media only screen and (max-width: 666px) {
.footer-mid { grid-template-columns: repeat(1,1fr) !important; }
.l-footer .us_menu_1 .menu > li:not(:last-child) { margin: 0 0 20px !important; }
.client-login-header { padding: 0.6em 0.4em !important; padding-right: 35px !important; background-position: center right 8px !important;  background-size: 24px !important; font-size: 15px !important; border-radius: 5px !important;  }
.header-client-login .client-login-header { top:500%; left: 0; width:100%; height:55px; background-size: 40px !important; font-size: 18px !important; }

}


