/*
Theme Name: Astra Child
Theme URI: https://wpastra.com/
Template: astra
Author: Brainstorm Force
Author URI: https://wpastra.com/about/?utm_source=theme_preview&utm_medium=author_link&utm_campaign=astra_theme
Description: The Astra WordPress theme is lightning-fast and highly customizable. It has over 1 million downloads and the only theme in the world with 5,700+ five-star reviews! It’s ideal for professional web designers, solopreneurs, small businesses, eCommerce, membership sites and any type of website. It offers special features and templates so it works perfectly with all page builders like Spectra, Elementor, Beaver Builder, etc. Fast performance, clean code, mobile-first design and schema markup are all built-in, making the theme exceptionally SEO-friendly. It’s fully compatible with WooCommerce, SureCart and other eCommerce plugins and comes with lots of store-friendly features and templates. Astra also provides expert support for free users. A dedicated team of fully trained WordPress experts are on hand to help with every aspect of the theme. Try the live demo of Astra: https://zipwp.org/themes/astra/
Tags: custom-menu,custom-logo,entertainment,one-column,two-columns,left-sidebar,e-commerce,right-sidebar,custom-colors,editor-style,featured-images,full-width-template,microformats,post-formats,rtl-language-support,theme-options,threaded-comments,translation-ready,blog
Version: 4.11.2.1749714111
Updated: 2025-06-12 07:41:51

*/
body {
	font-family: 'Satoshi' !important;
	font-display: swap;
}
@font-face {
  font-family: 'Satoshi';
  src: url('fonts/Satoshi-Light.woff2') format('woff2'),
       url('fonts/Satoshi-Light.woff') format('woff');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Satoshi';
  src: url('fonts/Satoshi-LightItalic.woff2') format('woff2'),
       url('fonts/Satoshi-LightItalic.woff') format('woff');
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Satoshi';
  src: url('fonts/Satoshi-Regular.woff2') format('woff2'),
       url('fonts/Satoshi-Regular.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Satoshi';
  src: url('fonts/Satoshi-Italic.woff2') format('woff2'),
       url('fonts/Satoshi-Italic.woff') format('woff');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Satoshi';
  src: url('fonts/Satoshi-Medium.woff2') format('woff2'),
       url('fonts/Satoshi-Medium.woff') format('woff');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Satoshi';
  src: url('fonts/Satoshi-MediumItalic.woff2') format('woff2'),
       url('fonts/Satoshi-MediumItalic.woff') format('woff');
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Satoshi';
  src: url('fonts/Satoshi-Bold.woff2') format('woff2'),
       url('fonts/Satoshi-Bold.woff') format('woff');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Satoshi';
  src: url('fonts/Satoshi-BoldItalic.woff2') format('woff2'),
       url('fonts/Satoshi-BoldItalic.woff') format('woff');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Satoshi';
  src: url('fonts/Satoshi-Black.woff2') format('woff2'),
       url('fonts/Satoshi-Black.woff') format('woff');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Satoshi';
  src: url('fonts/Satoshi-BlackItalic.woff2') format('woff2'),
       url('fonts/Satoshi-BlackItalic.woff') format('woff');
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}
h1, h2, h3, h4, h5, h6, a, div, span {
	font-family: 'Satoshi' !important;
}
.Header-menu .menu-item a.hfe-menu-item {
    font-family: 'Satoshi' !important;
}
.Request-consult a.hfe-menu-item {
    color: #BE1A1B !important;
}
.Header-menu .hfe-nav-menu__layout-horizontal .hfe-nav-menu .sub-menu .menu-item a.hfe-sub-menu-item {
    color: #fff;
    font-family: 'Satoshi';
	font-weight: 500;
}
.Header-menu .menu-item a.hfe-menu-item::after {
    content: '';
    width: 0;
    border-width: 2px;
    border-color: #BF1A1B;
    color: #BF1A1B;
    border-bottom: 2px solid #BF1A1B;
    bottom: 8px;
    z-index: 99;
    opacity: 1 !important;
}
.Header-menu .menu-item.current-menu-item a.hfe-menu-item, .Header-menu .menu-item.current-menu-item a.hfe-menu-item {
	position: relative;
}
.Header-menu .menu-item a.hfe-menu-item:hover::after {
    width: 24px;
}
.Header-menu .menu-item.current-menu-item a.hfe-menu-item::after {
    content: '';
    width: 24px;
    border-width: 2px;
    border-color: #BF1A1B;
    color: #BF1A1B;
    border-bottom: 2px solid #BF1A1B;
    bottom: 10px;
	position: absolute;
    z-index: 99;
    opacity: 1 !important;
}
.Footer-socials .elementor-social-icon {
    justify-content: flex-start;
    text-align: left;
    padding: 0 12px 0 0;
    gap: 24px;
    width: auto !important;
    height: auto !important;
}
.footer-follow-title {
    margin-block-end: 10px !important;
}
.ehf-header #masthead {
    z-index: 99;
    position: fixed;
	width: 100%;
}
#Demo{
    scroll-margin-top: 150px;
}
body.ios .about-banner .elementor-background-video-container img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    display: block;
}
body.ios .about-banner .elementor-background-video-container video::-webkit-media-controls {
    display: none !important;
}
.see-more a.elementor-button, .see-more a.elementor-button span {
    position: relative;
}
/* Default (Tablet and up) */
body.ios .about-banner .elementor-background-video-container {
/*     height: 650px !important; */
    overflow: hidden;
    position: relative;
}
.custom-navigation {
    display: none;
}
/* Mobile view */
@media only screen and (max-width: 768px) {
/*     body.ios .about-banner .elementor-background-video-container {
        height: 550px !important;
    } */
}
.see-more a.elementor-button::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-color: #BE1A1B;
  transition: width 0.3s ease-out;
	border-radius: 2px;
}
.see-more a.elementor-button:hover::before {
  width: 0%;
}
.case-studies-cards-wrapper {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    gap: 20px;
}

.case-study-card {
    width: 33.33%;
    max-width: 390px;
    background-color: transparent;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease-in-out;
    margin-bottom: 20px;
	padding: 0px;
}
.case-study-image img {
    width: 100%;
    height: 300px;
	border-radius: 12px;
}
.case-study-excerpt span {
    font-weight: 700;
}
.submit-btn {
  margin-top: 20px;
}
	.half-field p, .message-field p {
    margin-bottom: 0;
}
	/* Labels */
.label-wrap {
  font-family: 'Satoshi' !important;
  font-weight: 500;
  font-size: 14px;
  line-height: 20px;
  color: #202223;
  margin-bottom: 4px;
}

.required {
  color: #BE1A1B;
  font-family: 'Onest', sans-serif;
  font-weight: 500;
  font-size: 14px;
}

/* Inputs and textarea */
.about-demo input[type="text"],
.about-demo input[type="email"],
.about-demo input[type="tel"],
.about-demo textarea {
  border-radius: 12px;
  padding: 16px;
  background-color: #E9E9E8;
  font-family: 'Satoshi' !important;
  font-weight: 500;
  font-size: 14px;
  line-height: 24px;
  letter-spacing: 0;
  color: #797A7B;
  border: none;
  width: 100%;
  box-sizing: border-box;
}
.about-demo textarea {
  resize: vertical;
  height: 120px;
}
.submit-now {
  background: #BE1A1B !important;
  border-radius: 4px !important;
  font-family: 'Satoshi' !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  line-height: 100%;
  letter-spacing: 0;
  text-align: center;
  text-transform: uppercase;
  color: #fff;
  padding: 16px 24px !important;
  border: none;
  cursor: pointer;
}
.submit-now:hover {
  opacity: 0.9;
}
.custom-slider-arrows {
    text-align: right;
}
.custom-slider-arrows .custom-prev, .custom-slider-arrows .custom-next {
    background: transparent;
    padding: 10px;
}
.your-part-col.about {
    padding: 20px;
}
.file-upload-field {
  position: relative;
}

.custom-upload-btn {
    display: inline-flex;
    align-items: center;
    border: 1px solid #BE1A1B;
    color: #BE1A1B;
    padding: 12px 30px;
    border-radius: 8px;
    cursor: pointer;
    font-family: inherit;
    font-size: 16px;
    position: relative;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-content: center;
}
.custom-upload-btn .icon {
    display: block;
    width: 24px;
    height: 24px;
    background: url('/wp-content/uploads/2025/06/Frame-4.svg') no-repeat center;
    background-size: contain;
    margin-right: 8px;
}
.custom-upload-btn br {
    display: none;
}
/* Hide the actual file input */
.upload-file {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
}
.file-upload-field p {
    margin-bottom: 10px !important;
}
.file-upload-field .label-wrap p {
    z-index: 2;
    position: relative;
    font-weight: 500;
    font-size: 14px;
    line-height: 20px;
    margin-bottom: 0 !important;
}
.case-studies-cards-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}
.case-study-card.slick-slide {
    height: 500px;
    margin: 0 28px;
}
.case-study-card {
    height: 500px;
    perspective: 1000px; /* Allow for 3D effect */
}

.card-inner {
    width: 100%;
    height: 100%;
    position: relative;
    transform-style: preserve-3d;
    transition: transform 0.6s; /* Flip animation */
}

.case-study-card:hover .card-inner {
    transform: rotateY(180deg); /* Flip the card on hover */
}

.card-front,
.card-back {
    position: absolute;
    width: 100%;
    height: 100%;
    backface-visibility: hidden; /* Hide the back when flipped */
}

.card-front {
    background-color: transparent;
    display: flex;
    justify-content: center;
    align-items: center;
}

.card-front .case-study-image img {
    max-width: 390px;
    height: 500px;
}
.card-back {
    background-color: #111212;
    padding: 24px;
    text-align: center;
    transform: rotateY(180deg);
}
.card-back .case-study-title a {
    font-family: Satoshi;
    font-weight: 700;
    font-size: 24px;
    margin: 10px 0;
    color: #fff;
	text-decoration: none !important;
}
.case-study-title {
    text-align: left;
}
.card-back .case-study-excerpt {
    font-size: 16px;
    line-height: 30px;
    color: #D2D2D2;
    padding: 0 10px 10px;
    font-weight: 500;
	text-align: left;
}
.case-study-categories {
    margin-left: 10px;
    text-align: left;
}
.category-button {
    background-color: #292a2a;
    color: white;
    border: none;
    padding: 5px 10px;
    margin-right: 5px;
    cursor: pointer;
    font-size: 14px;
    margin-top: 10px;
    border-radius: 40px;
    font-weight: 500;
}
.category-button:hover, .category-button:focus {
    background-color: #292a2a; 
}
/* .industries-accordian .elementor-accordion .elementor-accordion-item:nth-child(1) {
    margin-bottom: 0;
} */
.industries-accordian .elementor-accordion .elementor-accordion-item {
    border: none;
    margin-bottom: 15px;
}
.industries-accordian .elementor-accordion .elementor-accordion-item .elementor-tab-title {
    border-bottom: none;
}
.industries-accordian .elementor-accordion .elementor-accordion-item .elementor-tab-title.elementor-active {
    border-bottom: none;
}
.industries-accordian .elementor-accordion .elementor-accordion-item .elementor-tab-title {
    background: #1F1F1D;
}
.industries-accordian .elementor-accordion .elementor-accordion-item .elementor-tab-content {
    border-top: none;
    padding-bottom: 0;
}
.industries-accordian ul {
    margin: 0 0 0 0;
}
/* Responsive design for tablets and mobile */
@media (max-width: 1024px) {
    .case-study-card {
        width: 48%; /* 2 cards per row on tablets */
    }
}

@media (max-width: 768px) {
    .case-study-card {
        width: 100%; /* 1 card per row on mobile */
    }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
	.banner-resp-content {
    position: absolute;
    bottom: 5%;
}
	.footer-about-heading a.hfe-menu-item, .footer-industries-title a.hfe-menu-item, .footer-technology-title a.hfe-menu-item, .footer-services-title a.hfe-menu-item {
    font-size: 16px !important;
    font-weight: 700 !important;
}
	/* Hide the play button and other controls for the video in the about-banner section */
.about-banner .elementor-background-video-hosted::-webkit-media-controls-panel {
  display: none!important;
  -webkit-appearance: none;
}

/* Hide the play button in the old shadow DOM (for compatibility) */
.about-banner .elementor-background-video-hosted::-webkit-media-controls-play-button {
  display: none!important;
  -webkit-appearance: none;
}

/* Hide the play button in the new shadow DOM (this works for modern browsers) */
.about-banner .elementor-background-video-hosted::-webkit-media-controls-start-playback-button {
  display: none!important;
  -webkit-appearance: none;
}

/* Optional: Prevent interactions with the video */
.about-banner .elementor-background-video-hosted {
  pointer-events: none !important;
}

	.case-study-image img {
    height: 250px;
}
	.case-study-card {
    padding: 0px;
}
	.case-study-title h3 {
    margin-bottom: 10px;
}
	.case-study-title h3 a {
    font-size: 20px;
}
	.case-study-excerpt {
    font-size: 14px;
    padding: 0 10px 10px 0;
}
	.case-studies-cards-wrapper {
    gap: 10px;
}
	.case-study-card {
    max-width: 48%;
    padding: 0px;
}
/* 	.news-slide {
    margin: 0 !important;
} */
	.news-logo {
    margin-bottom: 10px;
}
	.news-title {
    font-size: 16px !important;
    margin-bottom: 0px !important;
}
	.read-more a {
    font-size: 16px !important;
}
	.half-field p, .message-field p, .label-wrap {
    margin-bottom: 8px;
}
	.custom-upload-btn {
    padding: 12px 18px;
}
	.custom-upload-btn .icon {
    width: 18px;
    height: 18px;
}
}
@media (max-width: 1024px) {
	.Header-menu .hfe-nav-menu a.hfe-menu-item {
	justify-content: normal;
}
}
@media (min-width: 1200px) {
	#footer-about-menu, #footer-industries-menu {
    min-height: 230px;
}
	.exotic-partner h2 {
    max-width: 1200px;
}
	.exotic-partner {
    width: 100% !important;
	display: flex;
	justify-content: center;
}
	.industries-tech {
    display: flex;
    justify-content: center;
}
	.our-tech-para {
    max-width: 700px;
}
	.news-title {
		font-size: 18px !important;
	}
	.alloy-h2.exotic-title {
    text-align: center;
    display: flex;
    justify-content: center;
}
	.alloy-h2.exotic-title h2 {
    max-width: 720px;
}
	.Header-menu .hfe-nav-menu__layout-horizontal .hfe-nav-menu .sub-menu {
    background: #0C0C0C !important;
    box-shadow: 0px 2px 40px 0px #FFFFFF33 !important;
/*     top: 70px; */
}
	.footer-about-heading a.hfe-menu-item, .footer-industries-title a.hfe-menu-item, .footer-technology-title a.hfe-menu-item, .footer-services-title a.hfe-menu-item {
    font-size: 18px !important;
    font-weight: 700 !important;
}
/* 	contact form */
.small-fields-container {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.half-field {
  flex: 1 1 45%;
  display: flex;
  flex-direction: column;
}
.message-field {
  margin-top: 20px;
  display: flex;
  flex-direction: column;
}
}
@media (min-width: 1500px) {
	.elementor-section.elementor-section-boxed > .elementor-container {
    max-width: 1340px;
}
}
@media (max-width: 767px) {
	.case-study-card.slick-slide {
    height: 450px;
}
	#Aerospace .elementor-container, #Marine .elementor-container {
    flex-direction: column-reverse;
}
	.footer-about-heading a.hfe-menu-item, .footer-industries-title a.hfe-menu-item, .footer-technology-title a.hfe-menu-item, .footer-services-title a.hfe-menu-item {
    font-size: 20px !important;
    font-weight: 700 !important;
}
	.alloy-footer nav {
    width: 100% !important;
}
	.case-studies-cards-wrapper {
    flex-wrap: wrap;
}
	.case-study-title h3 {
    margin-bottom: 8px;
}
	.case-study-title h3 a {
    font-size: 18px;
}
	.case-study-excerpt {
    font-size: 14px;
    line-height: 24px;
    padding: 0 10px 10px 0;
}
	.case-studies-cards-wrapper {
    gap: 0px;
}
	.alloy-card-desc p {
    font-size: 14px !important;
}
	.alloy-card-title {
    margin-block-end: 5px !important;
}
	.case-study-card {
    padding: 0px;
}
	.ast-scroll-to-top-right {
    bottom: 80px;
}
	.news-slide {
    margin: 0 0px !important;
}
	.news-thumbnail img {
    height: 350px;
}
	.news-title {
    font-size: 16px !important;
}
	.read-more a {
    font-size: 14px;
}
	.read-more-btn svg {
    height: 16px;
    width: 16px;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1500px) {
	.about-demo-pic img {
    height: 900px;
}
	.case-study-card {
    max-width: 350px;
}
}
/* News Slider Container */
.news-slider {
    width: 100%;
    margin: 0 auto;
    padding: 0px;
}
.news-slide {
    text-align: center;
    padding: 0px;
    box-sizing: border-box;
	max-width: 410px;
/* 	width: 100% !important; */
	margin: 0 12px;
}
.slick-track {
    display: flex;
    gap: 24px;
}
.news-thumbnail {
    margin-bottom: 24px;
}
.news-thumbnail img {
    max-width: 100%;
    height: 400px;
	border-radius: 24px;
}
.news-logo {
    height: 45px;
    margin-bottom: 15px;
}
.news-title {
    text-align: left;
    font-family: Satoshi;
    font-weight: 500 !important;
    font-size: 18px;
    line-height: 100%;
    letter-spacing: 0%;
    vertical-align: middle;
    color: #fff !important;
	display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    -webkit-line-clamp: 2;
	margin-bottom: 10px !important;
}
.read-more {
    text-align: left;
}
.read-more a {
    font-family: Satoshi;
    font-weight: 700;
    font-size: 18px;
    line-height: 100%;
    letter-spacing: 0%;
    text-transform: uppercase;
    text-decoration: underline;
    text-decoration-style: solid;
    text-decoration-offset: 0%;
    text-decoration-thickness: 0%;
    color: #BF1A1B;
	display: flex;
	gap: 5px;
}
.news-excerpt {
    font-size: 16px;
    color: #555;
    margin-bottom: 15px;
}
.slick-dots {
    text-align: center;
}
.slick-dots li button {
    background-color: #ddd;
}

.slick-dots li.slick-active button {
    background-color: #333;
}