/* 
Theme Name: VUX Theme
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
*/

/* Global design tokens (from Figma) */
:root {
	/* Colors */
	--vux-color-raisin: #282828; /* Raisin black */
	--vux-color-white: #FFFFFF; /* White */
	--vux-color-ivory: #FFFCED; /* Ivory */
	--vux-color-sea-salt: #F9F9F9; /* Sea salt */
	--vux-color-yellow: #FFF200; /* New Yellow */
	--vux-color-canary: #FFE600; /* Canary */
	--vux-color-lime: #28CE3B; /* Lime green */
	--vux-color-indigo: #918EFA; /* Tropical Indigo */
	--vux-color-pink: #FF4D62;
	--vux-color-translucent-white-8: rgba(255, 255, 255, 0.08);
	--vux-color-stroke-black-10: rgba(0, 0, 0, 0.10);

	/* Font families */
	--vux-font-display: 'Passion One', Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
	--vux-font-sans: 'Instrument Sans', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
	--vux-font-paragraph: 'Poppins', Arial, Helvetica, sans-serif;

	/* Typography scales (sizes/line-heights) */
	/* Display/Hero variants used in header and large labels */
	--vux-display-96-size: 96px;
	--vux-display-96-line: 1.0416666667;
	--vux-display-100-size: 100px; /* 'VUX World' event title style */
	--vux-display-100-line: 0.58;

	/* Headings */
	--vux-h1-size: 64px;
	--vux-h1-line: 0.90625;
	--vux-h2-size: 45px;
	--vux-h2-line: 1;
	--vux-h3-size: 35px;
	--vux-h3-line: 1;

	/* Body text */
	--vux-lead-size: 20px;
	--vux-lead-line: 1.4;
	--vux-body-size: 16px;
	--vux-body-line: 1.5;

	/* Paragraph alt (Poppins) */
	--vux-text-paragraph-size: 17px;
	--vux-text-paragraph-line: 1.5;

	/* Meta / small uppercase */
	--vux-meta-size: 11px;
	--vux-meta-line: 1.22;

	/* Buttons */
	--vux-btn-lg-size: 20px;
	--vux-btn-lg-line: 1.22;
	--vux-btn-sm-size: 16px;
	--vux-btn-sm-line: 1.22;
}

/* Add your custom styles here */


/* Menu Search Form */

.is-search-form input.is-search-input {
	margin-left: 20px;
    width: 145px;
    border-width: 2px !important;
    border-radius: 5px;
}

/* Single post: keep non-content blocks aligned with entry-content */
.page-header,
.page-content {
	--vux-entry-max: var(--container-max-width, 1140px);
}
/* Center and match horizontal padding to the Elementor container width */
.page-content .post-tags,
.page-content .post-categories,
.page-content .related-posts {
	max-width: var(--vux-entry-max);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--vux-entry-pad);
	padding-right: var(--vux-entry-pad);
}
/* Vertical rhythm around meta and related sections */
.page-content .post-tags,
.page-content .post-categories {
    margin-top: 1rem;
    padding-top: 0.5rem;
}

.page-content .related-posts {
    margin-top: 2.5rem;
    margin-bottom: 3rem;
}




/* Custom Styles */

.homepage_slider {
	background-position: bottom;
}

ul li {
    margin-bottom: 14px;
}

::marker {
    color: #282828;
}

.black_list ::marker {
    color: #282828;
}

.zero_padding ul {
	padding: 0 0 0 15px;
}

.zero_padding  {
	padding: 0 ;
}

.blackdot_list ul ::marker {
    color: #282828;
}

.whitedot_list ul ::marker {
    color: var(--e-global-color-text);
}

.contact_icons h5.elementor-icon-box-title {
    margin-top: 0;
}

.site-header .site-navigation .menu li {
    margin-bottom: 0;
}

.hfe-post-title a {
	text-decoration: none;
}

.single-post h1.entry-title , .archive .page-header h1.entry-title {
    font-size: 58px;
    line-height: 68px;
    color: #ffffff;
}

.post-tags , .post-categories {
    color: var( --e-global-color-text );
    font-size: 14px;
}

.post-tags a, .post-categories a {
    margin: 0 12px 0 10px;
    padding: 8px 12px;
    text-decoration: none;
    background-color: rgb(26 26 26 / 49%);
}

.post-tags a:hover, .post-categories a:hover {
	color: var(--e-global-color-primary);
    background-color: var( --e-global-color-secondary );
}

.page-content .related-posts h2 {
    font-size: 36px;
    color: #fff;
}

.page-content .related-posts .related-grid {
	display: grid;
	grid-template-columns: 1fr;    /* 1 column by default */
	gap: 24px;
}

.archive .page-content {
	display: grid;
	grid-template-columns: 1fr;    /* 1 column by default */
	gap: 36px;
}

@media (min-width: 480px) {
	.page-content .related-posts .related-grid {
		grid-template-columns: repeat(3, 1fr); /* 2 columns on small+ screens */
	}

	.archive .page-content {
		grid-template-columns: repeat(2, 1fr); /* 2 columns on small+ screens */
	}
}

.page-content .related-posts .related-thumb {
	max-height: 240px;
	overflow: hidden;
}

.page-content .related-posts .related-thumb img {
    max-height: 240px !important;
}

.page-content .related-posts .related-item a {
	text-decoration: none;
}

.page-content .related-posts h3.related-title {
    font-family: "Passion One", Sans-serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 26px;
}



.archive .page-header {
	margin-top: 3rem;
}

.archive .page-header h1.entry-title {
	margin-bottom: 5rem;
}

.archive .page-content h2.entry-title {
	font-size: 30px;
    font-weight: 400;
    line-height: 30px;
}

.archive .page-content {
	color: var(--e-global-color-text);
    font-size: 16px;
}

.archive .page-content .post {
	margin-bottom: 2rem;
}

.archive .page-content .post {
    display: flex;
    flex-direction: column;
	background-color: var(--e-global-color-86df642);
}

.archive .page-content .entry-title {
    order: 1;
	padding: 12px 20px;
}

.archive .page-content p {
    order: 3;
	padding: 12px 20px;
}


/* HP Posts Slider */

.wb_ps_thumbnail img {
    min-width: 100%;
}

.wbel_post_slider_wrapper .wb_ps_title h2 {
    text-align: left;
    font-size: 24px;
}

.wbel_post_slider_wrapper .wb_ps_title h2 a {
    text-decoration: none;
}

.elementor-widget-wb-post-slider .wbel-arrow i.fa {
    margin-top: 4px !important;
}


/* Footer Blocker Book Section */

.footer_blocker {
    position: relative;
}

.footer_blocker::after {
    content: "";
    display: block;
    width: 50px;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: var( --e-global-color-secondary );
    opacity: 0.5;
}


/* Posts Grid */

.hfe-posts-grid .hfe-post-image {
	display: flex;
	align-items: center; 
	justify-content: center; 

    max-height: 260px;
    overflow: hidden;
}


/* Insights Page horizontal posts grid */

.horizontal_posts article.hfe-post-card {
    display: flex;
    flex-wrap: wrap;
}

.horizontal_posts .hfe-post-image {
	align-items: normal;
    width: 45%;
}

.horizontal_posts .hfe-post-content {
    width: calc(55% - 24px);
	margin-left: 24px;
	align-content: center;
}

.horizontal_posts a.hfe-read-more {
    float: right;
}


/* 404 Page Styles */

.error404 main#content {
	color: var(--e-global-color-text);
	padding-top: 60px;
}


/* Training Page Styles */

.training_box a.readmorer	 {
	padding: 0;
}

.training_box ul li {
    margin-bottom: 0;
}

/* Read More / Read Less toggle */

.training_box .training_hidden_box {
	height: 0;
	overflow: hidden;
	transition: height 900ms ease;
}


/* Optional: rotate icon when open (if present) */
.training_box .readmorer .elementor-button-icon {
	transition: transform 200ms ease;
	transform: rotate(0deg);
}

.training_box.is-open .readmorer .elementor-button-icon {
	transition: transform 200ms ease;
	transform: rotate(90deg);
}



/* Legal Pages Styles */

.legal_pages h2,.legal_pages h3,.legal_pages h4 {
    margin-top: 40px;
    margin-bottom: 30px;
}


@media screen and (max-width: 1199px) {

	/* Add padding to containers for screens smaller than 1200px */
	.e-con.e-flex>.e-con-inner {
		  padding-left: 30px;
		  padding-right: 30px;
	  }
  
}



/* Main Menu Styles */

.site-header .site-navigation .menu li:hover {
    /* background-color: #333; */
}

.site-header .site-navigation .menu .sub-menu li a {
    width: 100%;
    color: var(--e-global-color-text);
    background-color: var(--e-global-color-primary);
	transition: all 0.3s ease-out;
}

.site-header .site-navigation .menu .sub-menu li {
    border-block-end: 1px solid #474747;
}

.site-header .site-navigation .menu .sub-menu li:last-child {
    border-block-end: none;
}

.site-header .site-navigation .menu .sub-menu li a:hover {
    background: #323232;
}

.site-header .site-navigation .menu .sub-menu {
	min-width: 180px;
    border-block-end: 1px solid #474747;
	-webkit-box-shadow: 3px 3px 12px -3px #303030; 
	box-shadow: 3px 3px 12px -3px #303030;
}



/* Contact Page Styles */

.cf7-field {
    margin-bottom: 24px;
}

/* Labels */
.cf7-form label {
  display: block;
  font-size: 14px;
  color: var( --e-global-color-text );
  padding-left: 2px;
  margin-bottom: -10px;
}

/* Inputs & textarea */
.cf7-form input[type="text"],
.cf7-form input[type="email"],
.cf7-form select,
.cf7-form textarea, 
.cf7-form input[type="tel"] {
  width: 100%;
  background: #141414;
  border: 1px solid #222;
  color: #fff;
  padding: 12px 14px;
  border-radius: 4px;
  font-size: 14px;
}

.cf7-form textarea {
  height: 120px;
  resize: none;
}

/* Focus state */
.cf7-form input:focus,
.cf7-form select:focus,
.cf7-form textarea:focus {
  outline: none;
  border-color: #ffea00;
}

/* Submit button */
.cf7-submit input[type="submit"] {
  float: right;
  background: var( --e-global-color-secondary );
  color: #000;
  border: none;
  font-family: "Instrument Sans", Sans-serif;
  font-size: 16px;
  font-weight: 600;
  margin-top: -12px;
}

.cf7-submit p {
    margin-bottom: 0;
}

/* Validation messages */
.wpcf7-not-valid-tip {
  color: #ff5c5c;
  font-size: 12px;
  margin-top: 4px;
}

.wpcf7-response-output {
    border-color: #ff5c5c;
    color: #ff5c5c;
    text-align: center;
    font-size: 12px;
    margin: 0;
  border-radius: 4px;
}

.cf7-submit .wpcf7-spinner {
    display: none;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
	border-color: #ffb900; /* Yellow */
	clear: both;
	display: block;
	float: left;
	width: 100%;
	margin-top: 20px;
}

.wpcf7 form.sent .wpcf7-response-output {
    background: rgb(255 242 0 / 20%);
    border-color: rgb(255 242 0 / 20%);
    margin-top: 80px;
    color: #fff;
    font-size: 14px;
    padding: 6px 20px;
}


/* Service page icons */

.zero_padding span.elementor-icon {
    padding: 0 20px 0 0px !important;
}




/* Header Mobile Responsive */


.site-header .header-inner {
    max-width: 1140px;
    padding-left: 30px;
    padding-right: 30px;
    box-sizing: content-box;
}

/* Tablet only */

@media (max-width: 1024px) {

	.site-header .header-inner .site-branding .site-logo img {
	    width: 200px;
	}

	.site-navigation-toggle-holder.show, .site-navigation-toggle-holder .site-navigation-toggle {
	    padding: 0;
	}
	
	.site-navigation-dropdown ul.menu li {
	    display: block;
	    position: relative;
	    width: 100%;
	    margin-bottom: 0;
	    color: var(--e-global-color-text);
	    background-color: var(--e-global-color-primary);
	    border-block-end: 1px solid #474747;
	}
	
	.site-navigation-dropdown ul.menu > li a {
	    color: var(--e-global-color-text);
	    background-color: var(--e-global-color-primary);
	}

	.site-navigation-dropdown ul.menu li.current-menu-item a {
    	background: #151515;
	}

	.site-navigation-dropdown ul.menu li.astm-search-menu {
    	padding: 20px 0px;
	}

	.site-navigation-dropdown ul.menu li.astm-search-menu form {
    	max-width: 100%;
	}

	.site-navigation-dropdown ul.menu li.astm-search-menu form input {
	    display: block;
	    width: 80%;
	    margin: 0 auto;
	}


	.site-navigation-dropdown ul.menu {
	    -webkit-box-shadow: 0px 5px 10px 3px rgba(0, 0, 0, 0.78);
    	box-shadow: 0px 5px 10px 3px rgba(0, 0, 0, 0.78);
	}

	.site-navigation-dropdown ul.sub-menu li.menu-item {
    	max-height: initial;
		transform: initial;
	}

	.site-navigation-dropdown ul.sub-menu li.menu-item a {
		font-size: 14px;
		padding: 10px 20px 10px 60px;
		background-color: #303000;
		border-block-end: 1px solid #7b7b7b;
	}

}