/**
Theme Name: WBS Astra Child 
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/

/* Making font same all over website */
* { font-family: 'poppins', sans-serif !important;}
.fas, .far {font-family: "Font Awesome 5 Free"!important;}

/*  FOOTER WIDGETS */
@media screen and (max-width: 1000px) {
	.ast-builder-grid-row   {
		grid-template-columns: repeat( 2,1fr )!important;
		justify-content: center;
		padding: 0px!important;
	}
	.wbs-footer-country-title {
		font-size: 14px !important;
		margin-left: 5px;
	}
	.footer-widget-area[data-section="sidebar-widgets-footer-widget-2"] {
		margin-top: 10px;
	}
	.footer-widget-area[data-section="sidebar-widgets-footer-widget-1"] {
		margin-top: 25px;
	}
	.site-below-footer-inner-wrap {
		grid-template-columns: repeat( 1,1fr )!important;
	}
}

.footer-widget-area .widget-title {
	font-size: 14px!important;
	font-weight: 800;
}
.widget_block:has(.wbs-footer-flag-title-block) { 
	margin-bottom: 0;
	margin-top: 15px;
}
@media (min-width: 1000px) {
.site-footer-section-1 img {
	float: left;
}
.site-footer-section-3 .widget-title, .site-footer-section-4 .widget-title, .site-footer-section-5 .widget-title {
	float: left;
}
.wbs-footer-country-title {
	font-size: 14px!important;
}
.widget_text, .widget_nav_menu {
	font-size: 12px!important;
}
}



/* Navigation Bar */
.main-header-bar {
    position: fixed;
    width:100%;
    top:0;
    z-index: 9999;
    transition:500ms ease;
    background: #072d44 !important;
    height: 100px;
    border-bottom: 0px;
}

.page-id-25 .main-header-bar.scroll, .page-id-328 .main-header-bar.scroll, .page-id-3887 .main-header-bar.scroll  {
    background:#072D44!important;
}

.main-header-bar.scroll  {
    background:#072D44!important;
}

.page-id-25 .main-header-bar, .page-id-3887 .main-header-bar {
    background:transparent!important;
}

.page-id-25 .main-header-bar .main-header-bar-navigation li.menu-item:hover{
    background:#072d44 !important;
    color: white;
}

/* Contact Us fixed Tab */
.wpcs_content_inner { 
    margin: 0px !important;
	border: 0px;
	background: #072d44e0!important;
}
.wpcs_content_inner h2, .wpcs_content_inner p {
	color: white !important;
}
.wpcs_content_inner h3 {
	font-size: 18px;
	font-weight: 600;
}
.wpcs_content_main.is_open {
    height: 45% !important;
    top: 120px !important;
    box-shadow: 0 30px 30px rgba(0, 0, 0, 0.3);
	background: transparent !important;
}
.wpcs_close_slider_icon {
    display: none !important;
}
.wpcs-wp-form {
    padding-left: 25px;
}
.wpcs_tab {
    border-radius: 10px 10px 0px 0px;
    font-weight: 700;
}
.wpform-wbs-label-description label{
    font-size: 22px;
}

/* PORTFOLIO - HOMEPAGE */

.wbs-portfolio-txup {
    height:450px;
    overflow:hidden;
}
.wbs-portfolio-txup:hover {
    margin-bottom: 20px;
}

.wbs-portfolio-textup h4, .wbs-portfolio-textup h6, .wbs-portfolio-textup h5 { 
    color: white !important;
}
.wbs-portfolio-textup {
    padding-top:300px;
    transition-duration: 0.8s;
}

.wbs-portfolio-textup:hover {
    padding-top:0px;
}

@media screen and (max-width: 500px) {
	.wbs-portfolio-textup:hover {
		padding-top:10px;
	}
	.wbs-portfolio-textup .elementor-widget-container{
		height: 450px;
	}
	.wbs-portfolio-txup {
		height:315px;
		overflow:hidden;
		margin: auto;
	}
	.wbs-portfolio-textup {
		padding-top:210px;
		transition-duration: 0.8s;
		font-size:14px!important;
	}
	.wbs-portfolio-textup h5{
		font-size:14px!important;
	}
}

/* Industrial representation */
.wbs-industrial-representation h3, .wbs-industrial-representation h4 {
    color: white;
}

/* Teams and Careers */
.wbs-teamsNcareers-carousel .ue-carousel-item {
    height: 250px;
    margin-top: 40px !important;
}

.wbs-teamsNcareers-carousel .ue-carousel-item:hover {
    height: 320px;
    margin-top: 0px !important;
    transition-duration: 0.8s;
}
 /* Who We Are - Reveal Content */
.wbs-about-us-reveal-content-text p {
    text-align: left;
}
.wbs-about-us-reveal-content-column { 
    height: 400px; 
    overflow: hidden;
}
.wbs-about-us-reveal-content-column:hover { 
    transition-duration: 0.8s; 
    margin-top: -40px;
    height: 100%; 
}
.wbs-about-us-reveal-content-column:hover + .wbs-about-us-reveal-content-image { 
    height: 300px;
    transition-duration: 0.8s; 
}

.wbs-about-us-reveal-content-column .image_container:before, .wbs-about-us-reveal-content-column .image_container:after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.wbs-about-us-reveal-content-column .image_container {
height: 100vh;
display: flex;
justify-content: center;
align-items: center;
}

.wbs-about-us-reveal-content-column .image_container {
position: relative;
width: 100%;
max-width: 500px;
height: min(70vw, 300px);
cursor: pointer;
min-width: 360px;
height: 400px;
}


.wbs-about-us-reveal-content-column .image_container img {
width: 100%;
height: 100%;
object-fit: cover;
}

.wbs-about-us-reveal-content-column .image_container:before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: #072d44;
transform: scale(0);
transition: all 800ms linear;
transform-origin: 0 50%;
z-index: 2;
opacity: 0.6;
}

.wbs-about-us-reveal-content-column .image_container:hover {
transform: scale(0.9);
}
.wbs-about-us-reveal-content-column .image_container:hover:before {
transform: scale(1);
}

.wbs-about-us-reveal-content-column .image_container span {
position: absolute;
color: #fff;
opacity: 0;
transition: all 800ms linear;
z-index: 3;
}

.wbs-about-us-reveal-content-column .image_container .title {
font-size: 2rem;
left: 25%;
top: 15%;
}

.wbs-about-us-reveal-content-column .image_container .description {
font-size: 1rem;
left: 25%;
top: 35%;
width: 50%;
}

.wbs-about-us-reveal-content-column .image_container:hover span {
opacity: 1;
}

.line {
left: 0;
top: 0;
position: absolute;
background: #fff;
transition: all 800ms linear;
}

.top {
width: 3px;
height: 0;
left: 20%;
}

.wbs-about-us-reveal-content-column .image_container:hover .top {
height: 100%;
}

.left {
width: 0;
height: 3px;
top: 95%;
}

.wbs-about-us-reveal-content-column .image_container:hover .left {
width: 100%;
}

@media (max-width: 500px) {
	.title {
		font-size: 1.5rem;
		left: 25%;
		top: 50%;
	}

	.description {
		font-size: 0.8rem;
		left: 25%;
		top: 65%;
		width: 50%;
	}
	.wbs-about-us-reveal-content-column:first-child {
		height: 100%!important;
	}
}

/* Services Sub Page */
.wbs-subservice-page-content-box {
    height: fit-content;
}

/* PEOPLE AND CULTURE - women text reveal */
.wbs-people-and-culture-txup {
    height:450px;
    overflow:hidden;
}

.wbs-people-and-culture-rc-txtup h5 {
    color: white !important;
}

.wbs-people-and-culture-txup .wbs-people-and-culture-rc-txtup{
    margin-left: 0px;
	margin-top: 300px;
}

@media (max-width: 424px) {
.wbs-people-and-culture-txup {
	height:250px !important;
	width:250px !important;
	margin:auto !important;
}
.wbs-people-and-culture-txup .elementor-element-populated {
	margin-top: -30px !important;
}
.wbs-people-and-culture-txup .wbs-people-and-culture-rc-txtup{
	margin-top: 170px;
}
}
	
/* PEOPLE AND CULTURE - Be Kind To Your Mind */
@media (min-width: 424px) {
.wbs-people-and-culture-imgupcol {
    overflow: hidden;
    height: 400px;
    position: relative;
}

.wbs-people-and-culture-imgup {
    margin-top: 250px;
    position: relative;
}

.wbs-people-and-culture-imgupcol:hover .wbs-people-and-culture-imgup {
    margin-top: 100px;
    transition-duration: 0.8s;
}
}
@media (max-width: 424px) {
.wbs-people-and-culture-imgupcol {
    overflow: hidden;
    height: 250px;
    position: relative;
}


.wbs-people-and-culture-imgupcol:hover .wbs-people-and-culture-imgup {
    margin-top: -250px;
    transition-duration: 0.8s;
}
	
.wbs-people-and-culture-imgupcol:hover .wbs-people-and-culture-imguptext {
    margin-top: -190px;
    transition-duration: 0.8s;
}

}

/* People and Culture - Live it up with WBS */
.miga_sticky_images__image img {
	height: 300px !important;
	width: 550px !important;
}
.wbs-sticky-txtbox {
	margin-bottom: 70px!important;
}

/* ISO Certification */
.wbs-certification-section .wbs-certification-section-img img{ width: auto; }
@media (max-width: 424px) {
	.wbs-certification-section .wbs-certification-section-img img{ width: auto; }
}

/* Status client location */
.wbs-SCL-img-box .uc_classic_carousel_placeholder {
	background: #072D44;
    border-radius: 100px;
	margin: auto;
	width: fit-content;
    height: 90px;
	margin-top: 24px;
}
.wbs-SCL-img-box .uc_classic_carousel_placeholder img {
	padding-bottom: 35px;
}

/* Our goal, Vision, Values */
.wbs-our-goal-vision-section img { width: 80px; }

/* Services sub page  */
.wbs-sub-service-hero-video video {height: 70%!important}
@media (max-width: 500px) {
	.wbs-sub-service-hero-video video {height: 90%!important}
}

#wbs-service-bullets-box .uc_classic_carousel_placeholder {
	background: white!important;
}
@media (min-width: 500px) {
	#wbs-service-bullets-box .owl-dots {display: none;}
}

/*  Remittance Page*/
.remittance-services-icon-box .square_icon_box {height: 150px;}

/* Global safety: prevent unexpected horizontal scroll */
html, body {
  max-width: 100%;
  overflow-x: hidden;
  box-sizing: border-box;
}

/* Force all elements to respect box-sizing for width calculations */
*, *::before, *::after {
  box-sizing: inherit;
}

/* Clamp oversized content */
img, iframe, embed, object, video {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Break long words/URLs that might push width*/
body {
  word-wrap: break-word;
  overflow-wrap: break-word;
}

/* Optional: globally hide any accidental overflow inside containers */
.container, .wrapper, .content, section, .row {
  max-width: 100%;
  overflow-x: hidden;
}

/* If specific pages still have problems, this forces no horizontal scroll */
@media (max-width: 1024px) {
  body {
    position: relative;
    padding-right: 0 !important;
    margin-right: 0 
			!important;
  }
}


/* Remove inner vertical scrollbars in footer columns */
.footer-widget,
.site-footer .column,
.footer-column {
    overflow-y: visible !important;
    height: auto !important; /* Let it expand with content */
}

@media (max-width: 768px) {
    .footer-column, 
    .elementor-column, 
    .your-footer-class { /* Replace with your actual footer column class */
        padding-left: 10px !important;
        overflow: visible !important;
    }
    .footer-column * {
        overflow: visible !important;
    }
}

/***** WBS – FOOTER FLAGS FINAL PATCH (place LAST) *****/

/* Stop global clipping in areas that contain the flags */
.site-footer .widget_block,
.site-footer .wbs-footer-flag-title-block,
.site-footer .wbs-footer-flag-icon {
  overflow: visible !important;
}

/* Undo legacy offsets from theme CSS */
.site-footer-above-section-3,
.site-footer-above-section-4 {
  margin-left: 0 !important;
  width: 100% !important;
}

/* Flag block: stack flag above title, left align */
.site-footer .wbs-footer-flag-title-block {
  display: block !important;
  text-align: left !important;
  line-height: 1.25 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Flag wrapper: no baseline clipping */
.site-footer .wbs-footer-flag-icon {
  display: block !important;
  line-height: 0 !important;        /* KEY: prevents top “crop” look */
  margin: 0 0 6px 0 !important;     /* gap above country name */
  padding: 0 !important;
}

/* All flags: same height, never crop */
.site-footer .wbs-footer-flag-icon img {
  display: block !important;        /* no inline baseline issues */
  height: 22px !important;          /* use 20–22px to taste */
  width: auto !important;
  object-fit: contain !important;
  margin: 0 !important;
}

/* USA-only micro-adjust (pick the one that matches; keep all if unsure) */
.site-footer .wbs-footer-flag-icon img[alt*="United"][alt*="State"],
.site-footer .wbs-footer-flag-icon img[src*="usa"],
.site-footer .wbs-footer-flag-icon img[src*="united"],
.site-footer .wbs-footer-flag-title-block:nth-child(2) .wbs-footer-flag-icon img {
  position: relative !important;
  top: 2px !important;              /* gentle nudge down */
}

/* Top-align the footer grid columns */
.site-footer-above-section .ast-builder-grid-row {
  align-items: flex-start !important;
  align-content: flex-start !important;
}

/* Ensure your earlier widget-flag overflow-hidden never wins */
.site-footer .widget_block:has(.wbs-footer-flag-title-block) {
  overflow: visible !important;
}

/* Optional: ensure no horizontal scroll elsewhere */
html, body { overflow-x: hidden !important; }

