* {
	padding: 0;
	margin: 0;
}

::selection {
	background: #000;
	color: #fff;
	text-shadow: none;
}

body {
	padding-top: 78px;
	overflow-x: hidden !important;
}
/* industries top padding id fetch */
.e-con[id] {
	scroll-margin-top: 80px !important;
}


nav.elementor-nav-menu--dropdown.elementor-nav-menu__container {
    height: 100vh !important;
}
.nav-bar .elementor-nav-menu__container {
    top: 50px !important; /* adjust as needed */
}

html.active,
body.active {
  overflow: hidden !important;
  max-width:100%;
}
 

a,button{
	cursor: pointer;
}

::-moz-selection {
	background: #000;
	color: #fff;
	text-shadow: none;
}



header#masthead {
	display: block !important;
}

#masthead {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	background-color: #ffffff;
	display: block;
	z-index: 999;
}

.header-wrapper .elementor-section .elementor-container {
	justify-content: space-between;
	align-items: center;
}

.header-wrapper .logo-box {
	width: auto !important;
	float: left;
}

.header-wrapper .menu-box {
	width: auto !important;
	float: right;
}

.notfound-content {
	text-align: center;
	padding: 7vw 0;
	width: 100%;
	float: left;
}

.error404 .notfound-content h1 {
	color: #000000;
}

.error404 .notfound-content h3 {
	margin: 20px 0;
}

/* Padding top and bottom zero*/

.e-con.p-top {
	padding-top: 0;
}

.e-con.p-bottom {
	padding-bottom: 0;
}

/* ///////////// Home page////////////////// */

.logo_slider .swiper-slide img {
  height: 80px;
  width: auto;
  object-fit: contain;
}

.logo-track-wrap {
	overflow: hidden;
	width: 100%;
	padding-top: 32px;
	position: relative;
}

.logo-track-wrap::before,
.logo-track-wrap::after {
	content: '';
	position: absolute;
	top: 0; 
	bottom: 0; 
	width: 80px;
	z-index: 2;
	pointer-events: none;
}

.logo-track {
	display: flex;
	width: max-content;
	animation: marquee 100s linear infinite;
	padding: 16px 0 16px 11px;
}

@keyframes marquee {
	0%   { transform: translateX(0); }
	100% { transform: translateX(-50%); }
}

.logo-item {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 32px;
	flex-shrink: 0;
	transition: opacity 0.2s;
}

.logo-item img { 
	height: 80px !important;
	width: auto; 
}



/* accounting services  */
.accounting .elementor-icon{
	padding: 11px !important;
	background-color: #00ACCD;
	z-index:2;
	border-radius: 10px;
}

/* indusrties icon-list */
.industries_list .elementor-icon-list-icon  {
	background-color:#EFFCFF;
	padding:14px; 
	border-radius:10px;
}
.industries_list span.elementor-icon-list-text {
	padding-left: 16px !important;
}

.industries_wrapper:hover .elementor-icon-list-icon {
	background-color:#00ACCD;
}
.industries_wrapper:hover .elementor-icon-list-icon svg path {
	stroke: #FFFFFF;
}

/* ////////////////////// client page /////////////////// */

.client-res-col .elementor-image-box-img {
	padding: 11.77px 13.77px !important;
}

/* //////////////// contact page/////////// */
.contact_icon .elementor-icon{
    padding: 12px !important;
    border-radius: 8px;
	background-color: #00ACCD !important;
}
.wpcf7-form input.wpcf7-not-valid, .wpcf7-form textarea.wpcf7-not-valid, .wpcf7-form select.wpcf7-not-valid {
    box-shadow: none !important;
} 
/* Contact form 7 */

.contact_form .wpcf7 .row {
	display: flex;
	gap: 20px;
	margin-bottom: 24px;
}

.contact_form .wpcf7 .column {
	width: 50%;
}

.contact_form .wpcf7 .column-full {
	width: 100%;
}
.contact_form label {
	font-family:Proxima Nova;
	color: #2C3E50;
	font-size: 20px;
	font-style: normal;
	font-weight: 400;
	line-height: 120%;
	text-transform: capitalize;
}

.contact_form .wpcf7 input,
.wpcf7 textarea,
.wpcf7 select {
	font-family: "Proxima Nova";
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: 120%;
	padding: 17px 20px;
	width: 100%;
	color: #2C3E50 !important;
	border: 1px solid #E5E5E5;
	border-radius: 6px;
	background: #F7F7F7;
	margin-top: 8px;
}
.contact_form input.wpcf7-form-control {
	color: #2C3E50 !important;
}
.contact_form .wpcf7 textarea {
	height:210px !important;
}
.contact_form ::placeholder {
	color: #2C3E50;
}

.contact_form .elementor-kit-5 input[type="submit"] {
	background-color: #00ACCD !important;
}
input.wpcf7-form-control.wpcf7-submit.has-spinner {
	background-color: #00ACCD !important;
}
.contact_form .wpcf7 .wpcf7-submit:disabled {
    cursor: pointer !important;
	color: white !important;
}
.contact_form .wpcf7 .wpcf7-submit:disabled:hover {
    background-color: #6EC1E4 !important;
}
.contact_form .elementor-kit-5 button:hover {
    background-color: #00ACCD;
}
.cf7-ajax-ok-btn:hover{
	background-color:#00ACCD !important;
}
#cf7-ajax-overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.65);
	z-index: 9999999;
}

#cf7-ajax-modal {
	display: none;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 90%;
	max-width: 500px;
	background: #F8F4EE;
	border-radius: 12px;
	box-shadow: 0 25px 70px rgba(0, 0, 0, 0.4);
	z-index: 99999999;
	font-family: "Proxima Nova", Sans-serif;
	color: #252525;
	text-align: center;
}

#cf7-ajax-modal.show,
#cf7-ajax-overlay.show {
	display: block !important;
}

.cf7-ajax-inner {
	padding: 50px 40px;
	position: relative;
}

#cf7-ajax-text {
	font-size: 22px;
	line-height: 1.5;
	margin-bottom: 10px;
}

.cf7-ajax-close {
 	position: absolute;
	top: 10px;
	right: 18px;
	font-size: 38px;
	cursor: pointer;
	opacity: 0.7;
} 

.cf7-ajax-close:hover {
	opacity: 1;
}
.contact_form .wpcf7-not-valid-tip.cf7av-error {
	font-size: 16px;
}
 
.wpcf7-response-output {
	display: none !important;
}

.wpcf7-spinner {
	display: none;
}

#cf7-ajax-loading {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(255, 255, 255, 0.6);
	z-index: 9999999999;
	justify-content: center;
	align-items: center;
}

#cf7-ajax-loading.active {
	display: flex;
}

.cf7-spinner {
	width: 45px;
	height: 45px;
	border: 4px solid #ccc;
	border-top-color: #000;
	border-radius: 50%;
	animation: spin 0.8s linear infinite;
}

@keyframes spin {
	to {
		transform: rotate(360deg);
	}
}

.cf7-popup-open,
.cf7-loading {
	overflow: hidden;
}

.wpcf7-not-valid-tip {
	margin-top: 6px;
}
.wpcf7-not-valid-tip {
    font-size: 16px !important;
}
.conter p{
    text-align: center;
} 

.faq-section .e-n-accordion-item{
    background-color: rgba(247, 247, 247, 1);
    border-radius: 12px;
}
.faq-section .e-n-accordion{
    display: flex;
    flex-direction: column;
    gap:16px;
    
}
.faq-section .e-n-accordion .elementor-widget-container p {
    padding-top: 16px !important;
	 padding-left: 32px !important;
    padding-right: 32px !important;
	 position: relative !important;
    top: -22px !important;
}

.faq-section .e-n-accordion-item > summary.e-n-accordion-item-title {
    padding: 24px 32px !important;
}

.review-slider .elementor-widget-container{
    margin-right: calc(-1 * (100vw - 1240px) / 2) !important ;
       flex: 1 !important;
}

.review-carousel-card .elementor-widget-container{
	margin-right:0px !important;
}
.services-col .elementor-image-box-img,
.client-res-col .elementor-image-box-img
{
    background-color: #00ACCD;
    padding: 16px;
    border-radius: 10px;
}
.services-content h3{
    font-family: "Proxima Nova";
font-size: 20px !important;
font-style: normal;
font-weight: 600;
line-height: 120%;
color: #2C3E50;
padding-bottom: 16px;
}
.services-content ul{
display: flex;
flex-direction: column;
gap: 6px;
color: #364153;
font-family: "Proxima Nova";
font-size: 17px;
font-style: normal;
font-weight: 400;
line-height: 120%;
padding-left:25px; 
}


.specialized .elementor-widget-container ul{
    display: flex;
    flex-direction: column;
    gap:8px;
	padding-left: 25px;
}

/* TEAMS ICONS AND BTN */

.team-social-icons {
    display: flex;
    gap: 10px;
    justify-content: center;
}

.team-social-icons .social-icon {
    background: rgba(0, 172, 205, 1);
    padding: 8px;
    border-radius: 4px;

    display: flex;
    align-items: center;
    justify-content: center;
}

/* 🔥 IMPORTANT (icon visible fix) */
.team-social-icons img {
    width: 20px !important;
    height: 20px !important;
    display: block;
}

.team-social-icons i {
    color: #fff;
    font-size: 16px;
}

/* BUTTON */
.team-btn {
background:rgba(0, 172, 205, 1);
color: var(--Light-Gray, #F7F7F7);
text-align: center;
font-family: "Proxima Nova";
font-size: 18px;
font-style: normal;
font-weight: 400;
line-height: 120%;
padding: 13px 20px;
border-radius: 6px;
text-decoration: none;
display: inline-block;
}
.team-button{
    display: flex;
    justify-content: center;
}

.our-team-grid .elementor-loop-container .e-loop-item:last-child 
.elementor-widget-image{
    width: 100% !important;
	max-width:100% !important;
    margin: 0 !important;
}
.download-btn .elementor-button:hover svg path {
    fill: #ffffff;
}

.contact-btn{
    display: none !important;
}

div#gallery-1 br {
	display: none;
}


/* ── Safari & Firefox swiper slide gap fix (general, non-review sliders) ── */

/* Fix navigation arrows position (Safari places them wrong) */
.e-n-carousel .elementor-swiper-button-prev,
.e-n-carousel .elementor-swiper-button-next {
  top: 50% !important;
  transform: translateY(-50%) !important;
  -webkit-transform: translateY(-50%) !important;
  position: absolute !important;
}

/* Fix swiper wrapper alignment (default for other carousels) */
.e-n-carousel .swiper-wrapper {
  align-items: flex-start !important;
  -webkit-align-items: flex-start !important;
  box-sizing: border-box;
}


/* ══════════════════════════════════════════════════════════════
   EQUAL HEIGHT — REVIEW CAROUSEL ONLY
   This is the ONLY block in the whole file that should ever set
   height / align-self / display / flex on anything under
   .review-carousel. Do not add another .slider-col, .swiper-slide,
   or .review-carousel-card rule anywhere else — a duplicate below
   this point will silently win the cascade even with lower
   specificity, if it also uses !important and loads later.
   ══════════════════════════════════════════════════════════════ */

.review-carousel .e-n-carousel .swiper-wrapper {
  align-items: stretch !important;
  -webkit-align-items: stretch !important;
}

.review-carousel .e-n-carousel .swiper-slide {
  align-self: stretch !important;
  -webkit-align-self: stretch !important;
  height: auto !important;
}

.review-carousel .e-n-carousel .swiper-slide > * {
  height: 100% !important;
  min-height: unset !important;
}

.review-carousel .review-carousel-card,
.review-carousel .e-con-inner,
.review-carousel .slider-col {
  height: 100% !important;
}

.review-carousel .slider-col {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  flex: 1 !important;
}

/* ══════════════════════════════════════════════════════════════ */


.read-more-toggle{
    color:#00accd;
    font-weight:600;
    text-decoration:none;
    margin-left:5px;
    cursor:pointer;
}

.read-more-toggle:hover{
    color:#2c3e50;
}
img.attachment-full.size-full.wp-image-689 {
    max-width: 135px;
}

/* Main Container */
.register-icon-boxs{
    overflow:hidden;
    position:relative;
    width:100%;
}

/* Track */
.register-icon-boxs .scroll-track{
    display:flex;
    align-items:center;
    flex-wrap:nowrap;
	margin-top:32px;
    width:max-content;
	will-change: transform;
}

/* IMPORTANT */
.register-icon-boxs .middle-icon-box{

    flex:0 0 auto !important;
    width:auto !important;
    min-width:auto !important;
    max-width:none !important;
    margin-right:50px;

}

/* Images */

.register-icon-boxs .logo-slider-img img{
    display:block;
    width:100%;
    max-width:120px;
    height:auto;

}
.register-icon-boxs,
.register-icon-boxs.e-con,
.register-icon-boxs.e-con-full {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    box-sizing: border-box;
    min-width: 0 !important;
}

/* Force ANY Elementor ancestor flex container to allow shrinking below content size */
.elementor-element:has(> .register-icon-boxs),
.elementor-element:has(.register-icon-boxs) {
    min-width: 0 !important;
}
.teams-col .e-con-inner{
	flex-basis:unset !important;
	flex-grow:0 !important;
	flex-shrink:0 !important;
	flex-wrap:nowrap !important;
}
.privacy-page ul {
	padding-left:18px;
}
.terms-page ul {
	padding-left:18px;
}


.review-carousel-card .elementor-widget-container p{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:8;
    overflow:hidden;
}

.review-carousel-card .elementor-widget-container p.expanded{
    display:block;
}

.review-read-more{
    color:#009fe3;
    cursor:pointer;
    font-weight:600;
    display:inline-block;
    margin-top:10px;
}