/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
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
*/

/* fonts */
@font-face {
    font-family: 'PPEiko';
    src: url('./fonts/PPEiko-Thin.woff2') format('woff2'),
        url('./fonts/PPEiko-Thin.woff') format('woff');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}

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

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


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

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

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

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

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

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


/* fonts */

:root{
    --color-primary-navy: #1B262C;
    --color-primary-navy-glass: rgba(27, 38, 44, 0.78);
    --color-secondary-cream: #F5E6D3;
    --color-secondary-sage: #E3D2BE;
    --color-accent-orange: #D4A373;
    --color-accent-orange-soft: rgba(212, 163, 115, 0.32);
    --color-accent-orange-bright: #E0B488;
    --color-accent-blue: #8FA7A3;
    --color-accent-gold: #D4A373;
    --color-text-white: #fff;
    --color-text-muted: #ccc;
    --color-text-dark: #2D3A3F;
    --color-border-light: #D8C4B0;
    --color-border-dark: #1B262C;
    --color-border-glass: rgba(255, 255, 255, 0.18);
    --color-shadow-soft: rgba(0, 0, 0, 0.08);
    --color-shadow-overlay: rgba(0, 0, 0, .2);
}


.myContainer{
    width: min(100% - 40px, 1360px);
    margin-inline: auto;
}

.myContainerMin{
    width: min(100% - 40px, 1040px);
    margin-inline: auto;
}

.myContainerMin2{
    width: min(100% - 40px, 840px);
    margin-inline: auto;
}

.main_header{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    margin-inline: auto;
    z-index: 111;
}

h1, h2, h3, h4, h5, h6{
   font-family: 'PPEiko' !important;
    margin: 0;
    letter-spacing: 1.8px;
    line-height: 1.4;
    & *{
     font-family: 'PPEiko' !important;
    }
}

p, div, table, td,th, a{
    font-family: 'PPNeueMontreal' !important;
    margin: 0;
    letter-spacing: 1.8px;
}

.bg_01{
    background-image: linear-gradient(90deg, var(--e-global-color-secondary) 50%, var(--color-secondary-cream) 50%);
}

.bg_02{
  background-image: linear-gradient(90deg, var(--color-secondary-sage) 50%, var(--color-secondary-cream) 50%);
}

.color_overlay{
  position: relative;
  overflow: hidden;
  border-radius: 14px;
}

.color_overlay_0{
  position: relative;
  overflow: hidden;
}

.color_overlay::after, .color_overlay_0::after{
  content: '';
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  background: #1b262c80;
}

a{
  cursor: pointer;
  color: var(--color-accent-orange);
}

.orangeAnchor a{
  color: var(--e-global-color-accent);
}
.text-light .elementor-widget-container p{
	color: #f2f2f2 !important;
}

/* CSS */

.cf7-submit > p {
  width: fit-content;
}

.cf7-submit > p input[type="submit"]{
  background: none !important;
  border: none !important;
  outline: none !important;
  width: 100%;
  padding: 0 !important;
  height: 100%;
}

.Custom_btn a, .cf7-submit > p {
  align-items: center;
  appearance: none;
  background-clip: padding-box;
  background-color: initial;
  background-image: none;
  border-style: none;
  box-sizing: border-box;
  color: var(--color-text-white) !important;
  cursor: pointer;
  display: flex !important;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  flex-shrink: 0;
  font-size: 16px !important;
  font-weight: 500;
  justify-content: center;
  line-height: 24px;
  margin: 0;
  min-height: 48px;
  outline: none;
  overflow: visible;
  padding: 8px 58px 8px 22px !important;
  pointer-events: auto;
  position: relative;
  text-align: center;
  text-decoration: none;
  text-transform: none;
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
  vertical-align: middle;
  width: fit-content;
  word-break: keep-all;
  z-index: 0;
  text-transform: uppercase;
}

.Custom_btn a:before,
.Custom_btn a:after, .cf7-submit > p::before,
.cf7-submit > p::after {
  border-radius: 60px;
  opacity: 1 !important; 
}

.Custom_btn a:before, .cf7-submit > p::before{
  content: '';
  position: absolute !important;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background-color: var(--color-accent-gold);
  right: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-image: url('/wp-content/uploads/2026/03/arrow.png');
  background-repeat: no-repeat;
    background-position: center;
    background-size: 16px;
    overflow: hidden;
    transition: all 100ms ease-out;
}

.Custom_btn a:after, .cf7-submit > p:after{
  background: var(--color-primary-navy) !important;
  inset: 0px;
  content: "";
  display: block;
  overflow: hidden;
  position: absolute;
  transition: all 100ms ease-out;
  z-index: -1;
}

.Custom_btn a:active:not(:disabled):after,
.cf7-submit > p:active:not(:disabled):after {
  background: var(--color-primary-navy) !important;
}

.Custom_btn a:disabled,
.cf7-submit > p:disabled {
  cursor: default;
  opacity: .24;
}

.Custom_btn a:hover::before,
.cf7-submit > p:hover::before {
  background-color: var(--color-primary-navy) !important;
  background-image: url('/wp-content/uploads/2026/03/arrow2.png') !important;
}

.Custom_btn a:hover::after,
.cf7-submit > p:hover::after {
  background-color: var(--color-accent-gold) !important;
}
.centerBtnDesk{
	margin-inline: auto !important;
}
/* light bg btn */
.Custom_btn.light_bgBtn a::after{
	background-color: var(--color-accent-gold) !important;
}
.Custom_btn.light_bgBtn a::before{
	background-color: var(--color-primary-navy) !important;
	background-image: url('/wp-content/uploads/2026/03/arrow2.png') !important;
}
.Custom_btn.light_bgBtn a:hover::after{
	background-color: var(--color-primary-navy) !important;
}
.Custom_btn.light_bgBtn a:hover::before{
	background-color: var(--color-accent-gold) !important;
	background-image: url('/wp-content/uploads/2026/03/arrow.png') !important;
}

.textBtn:hover{
	transform: translateY(-2px);
}




/* header */

.header .hfe-nav-menu__layout-horizontal .hfe-nav-menu{
    align-items: center;
}

.header .Custom_btn a{
  margin-left: 20px;
}


.main_header.scrolled {
    position: fixed;
    animation: slideDownGlass 0.5s ease forwards;
}

@keyframes slideDownGlass {
    0% {
        opacity: 0;
        transform: translateY(-30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/* header */

/* rotate */

.spinner-slow { transform-origin: center; animation: spin 18s linear infinite; }
@keyframes spin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

/* rotate */

/* .custom-accordion .e-n-accordion */

.custom-accordion .e-n-accordion{
  display: grid;
    column-gap: 30px;
}

.custom-accordion .e-n-accordion-item{
    border-radius: 40px;
    border: 1px solid var(--color-border-dark);
    overflow: hidden;
}

/* .custom-accordion .e-n-accordion */


/* contact us */
.contact_form_img {
    position: relative;
    z-index: 1;
}

.contact_form_img::after{
    content: "";
    position: absolute;
    width: 483px;
    height: 483px;
    border-radius: 50%;
    bottom: -22%;
    left: -14%;
    background: linear-gradient(147.74deg, var(--color-accent-blue) 6.32%, var(--color-accent-gold) 85.37%);
    z-index: -1;
}

.cf7-grid
 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px 40px;
}
.field{
  width: 100%;
}
.cf7-grid input, .cf7-grid textarea {
    width: 100%;
    border: none;
    border-bottom: 1px solid var(--color-border-light);
    padding: 8px 0 !important;
    font-size: 16px !important;
    color: var(--color-text-dark);
    font-family: "Inter", Sans-serif;
    font-weight: 500;
    font-size: 17px;
    line-height: 34px;
    background: transparent;
    outline: none;
    border-radius: 0;
}

.cf7-grid textarea {
    resize: none;
    min-height: 80px;
    max-height: 100px;
}
.cf7-grid .full {
    grid-column: 1 / -1;
}

/* contact us */

/* team_card  */

.our_team .slick-track{
    padding-block-end: 30px;;
}

.team_card{
    box-shadow: 0px 15px 35px rgba(0, 0, 0, 0.08);
    -moz-box-shadow: 0px 15px 35px rgba(0, 0, 0,0.08);
    -webkit-box-shadow: 0px 15px 35px rgba(0, 0, 0, 0.08);
    /* min-height: 500px; */
    transition: all 200ms ease-out;
        position: relative;
        overflow: hidden;
        z-index: 0;
}

.team_card:hover{
    background: var(--color-secondary-cream) !important;
}

.team_card::before{
    content: "";
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background: #0000003a;
    z-index: 1;
    transition: all 200ms ease-out;
}

.team_card img{
    transition: all 200ms ease-out;
}

.team_card:hover img{
    transform: scale(1.03);
}

.team_card .elementor-element img{
  aspect-ratio: 5/6;
  object-fit: cover;
}

.team_card .elementor-element .elementor-heading-title {
    font-size: 18px !important;
    line-height: 1.6;
    text-transform: uppercase;
}
.team_card .elementor-element p.elementor-heading-title{
	font-size: 20px !important;
    color: var(--e-global-color-secondary) !important;
}

.team_content {
    display: block;
    position: absolute;
    bottom: -50%;
    padding: 20px;
    height: auto;
    z-index: 2;
    transition: all 200ms ease-in-out;
}

.team_content *{
    color: #fff !important;
}

.team_card:hover::before{
    background: #000000ad;
}

.team_card:hover .team_content{
    bottom: 0px;
}

.testmonial_card{
     box-shadow: 0px 15px 35px rgba(0, 0, 0, 0.08);
    -moz-box-shadow: 0px 15px 35px rgba(0, 0, 0,0.08);
    -webkit-box-shadow: 0px 15px 35px rgba(0, 0, 0, 0.08);
}

.our_testimonial .slick-track{
    padding-block-end: 30px;;
}
.slick-track{
    display: flex;
    align-items: stretch;
}
.slick-slide{
    height: auto;
}
.slick-slide > div{
    height: 100%;
}
.slick-slide > div .team_card {
    height: 100%;
}

/* team_card  */

/* bentoBox_grid */

/* .bentoBox_grid > div:last-child{
    grid-column: span 2;
} */

/* bentoBox_grid */


/* menu mobile */
.menu-is-active{
    position: relative !important;
    width: 100% !important; 
    left: 0px !important;
}
.menu-is-active ul .menu-item a.hfe-menu-item{
    background: transparent !important;
}
.menu-is-active ul{
    gap: 15px;
}
.menu-is-active ul li.menu-item{
    border: none !important;
}
nav.hfe-dropdown{
    background: transparent !important;
}

/* column */
.custom-accordion .e-n-accordion{
    column-count: 2;
    display: block;
}
/* overflow */
.overflow-hidden{
	overflow: hidden;
}

/* grid col */
.col-2-grid{
    grid-area: 1 / 1 / 2 / 3;
}
.col-2-grid-end {
	grid-area:1 / 4 / 1 / 2;
}
.row-col-2-grid{
       grid-area: 3 / 2 / 3 / 4;
}
.iconBox{
    transition: all 200ms ease-out;
}
.iconBox:hover{
    transform: translateY(-5px);
}
.iconBox .elementor-icon{
    background: #F5F5F5;
    width: 64px;
    height: 64px;
    border-radius: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.overflow-hidden{
    overflow: hidden;
}

/* slider arrow */
a.carousel-arrow.carousel-next.slick-arrow{
    right: 0 !important;
}
a.carousel-arrow.carousel-prev.slick-arrow{
    left: 0 !important;
}

/* height */
.h-100{
	height: 100%;
}
/* center absolute content */
.centerContent{
	inset: 0 !important;
	margin: auto;
}

/* priceBox */
.priceBox:hover{
	background-color: var(--color-accent-gold) !important; 
	color: #fff !important;
}
.priceBox:hover .elementor-heading-title, .priceBox:hover .elementor-widget-container p , .PricingTable:not(:hover) .priceBox:nth-child(2) .elementor-heading-title, .PricingTable:not(:hover) .priceBox:nth-child(2) .elementor-widget-container p  {
	color: #fff !important;
}
.priceBox:hover .priceGrid .elementor-heading-title, .PricingTable:not(:hover) .priceBox:nth-child(2) .priceGrid .elementor-heading-title{
	color: #fff !important;
}
.priceBox:hover .elementor-icon-list-item .elementor-icon-list-text, .PricingTable:not(:hover) .priceBox:nth-child(2) .elementor-icon-list-item .elementor-icon-list-text{
	color: #fff !important;
}

.PricingTable:not(:hover) .priceBox:nth-child(2)  {
  transform: scale(1.02);
  background-color: var(--color-accent-gold) !important; 
	color: #fff !important;
}

.pricing-card .Custom_btn{
	margin-top: auto !important;
}
.priceBox:hover .Custom_btn.light_bgBtn a::after, .PricingTable:not(:hover) .priceBox:nth-child(2) .Custom_btn.light_bgBtn a::after{
	background-color: var(--color-primary-navy) !important;
}
.priceBox:hover .Custom_btn.light_bgBtn a::before, .PricingTable:not(:hover) .priceBox:nth-child(2) .Custom_btn.light_bgBtn a::before{
	background-color: var(--color-accent-gold) !important;
	background-image: url('/wp-content/uploads/2026/03/arrow2.png') !important;
}
.priceBox:hover .Custom_btn.light_bgBtn a:hover::after, .PricingTable:not(:hover) .priceBox:nth-child(2) .Custom_btn.light_bgBtn a:hover::after {
	background-color: var(--color-primary-navy) !important;
}
.priceBox:hover .Custom_btn.light_bgBtn a:hover::before, .PricingTable:not(:hover) .priceBox:nth-child(2) .Custom_btn.light_bgBtn a:hover::before{
	background-color: var(--color-accent-gold) !important;
	background-image: url('/wp-content/uploads/2026/03/arrow2.png') !important;
}

/* bar_box */

.bar_box{
    transition: all 200ms ease-out;
    border-width: 1px !important;
    border-bottom: none !important;
    border-top: none !important;
}

.bar_box:hover{
    background-color: rgba(46,92,110,.82) !important;
}

/* ── MARQUEE ── */
.marquee{background:var(--teal-dk);overflow:hidden;padding:.82rem 0;border-bottom:1px solid rgba(255,255,255,.06)}
.m-track{display:flex;white-space:nowrap;animation:mScroll 32s linear infinite}
.m-track:hover{animation-play-state:paused}
@keyframes mScroll{to{transform:translateX(-50%)}}
.m-item{display:inline-flex;align-items:center;gap:1rem;padding:0 2.5rem;font-size:.68rem;font-weight:300;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.48)}
.m-dot{width:3px;height:3px;border-radius:50%;background:var(--g);opacity:.7;flex-shrink:0}

/* bar_box */