/*
Theme Name: FPEC Child
Theme URI: https://fpec.com/
Description: Child theme for FPEC based on Hello Elementor.
Author: Your Name or Agency
Author URI: https://yourwebsite.com
Template: hello-elementor
Version: 1.0.0
*/

/* ------------------------------
   Common CSS
------------------------------ */
h1, h2, h3, h4, h5, h6 {
  margin-block-start: 0;
  margin-block-end: 20px;
}
.fpec-plg__actions {
    text-align: center;
}
.videobtn {
    margin-right: 10px;
}
.marginzero {
  margin-bottom: 0;
}
.stickyheaderd .topheader {
    background: #013365;
}

.cta-btn {
  font-family: "Inter", Sans-serif;
  font-size: 18px;
  font-weight: bold;
  text-transform: uppercase;
  padding: 12px 24px;
}
.btn-white {
  background: #fff;
  color: #003366;
}
.btn-blue {
  background: #003366;
  color: #fff;
}

.fpec-tic-btn-wrap {
  text-align: center;
}
.btn-block {
    display: block !important;
}
.btn-block  .cta-btn {
    display: inline-block;
}

.btn-outline-blue {
    color: #003366;
    border: 1px solid #003366;
}
.btn-outline-blue:hover, .btn-outline-blue:focus {
    background: #003366;
    color: #fff;
}


/* base */
.line-dot-right{
  --color:#000; --thickness:2px; --dot-size:10px;
  position:relative; width:100%; height:var(--dot-size);
}
.line-dot-right::before,
.line-dot-right::after{ content:""; position:absolute; top:50%; transform:translateY(-50%); }

/* line (starts at 0, grows to full) */
.line-dot-right::before{
  left:0; height:var(--thickness); width:0;
  background:#E1E1E1; border-radius:999px;
  transition: width 0.8s ease-out;
}

/* dot (slides from left → right end) */
.line-dot-right::after{
  left:0; width:var(--dot-size); height:var(--dot-size);
  background:var(--color); border-radius:50%;
  transition: left 0.8s ease-out;
}

/* when visible */
.line-dot-right.is-visible::before{ width:calc(100% - var(--dot-size)); }
.line-dot-right.is-visible::after{  left:calc(100% - var(--dot-size)); }

/* accessibility: respect reduced motion */
@media (prefers-reduced-motion: reduce){
  .line-dot-right::before, .line-dot-right::after{ transition:none; }
}
.line-dot-right {
    position: relative;
    transition: width 0.8s ease-out, left 0.8s ease-out;
}
.line-dot-right {
    width: 50%;
    margin-left: auto;
}

.fpec-simp .line-dot-right {
    width: 78%;
}

.fpec-tic-inner .line-dot-right {
    width: 70%;
    right: 71px;
}
.fpec-card-box .line-dot-right {
    right: 200px;
    width: 40%;
}

.line-dot-left {
    position: relative;
    transition: width 0.8s ease-out, right 0.8s ease-out;
}

.fpec-sys .line-dot-left {
    width: 58%;
}

/* base */
.line-dot-left{
  --color:#000;              /* dot color */
  --thickness:2px;
  --dot-size:10px;
  position: relative;
  width: 70%;                /* match your right version’s width */
  margin-right: auto;        /* align to LEFT (mirror of margin-left:auto) */
  height: var(--dot-size);
}
.line-dot-left::before,
.line-dot-left::after{
  content:"";
  position:absolute;
  top:50%;
  transform:translateY(-50%);
}

/* LINE (anchor to RIGHT, start collapsed, grow LEFTwards) */
.line-dot-left::before{
  right: 0;
  height: var(--thickness);
  width: 0;
  background: #E1E1E1;
  border-radius: 999px;
  transition: width 0.8s ease-out;
}

/* DOT (slide from RIGHT → LEFT end) */
.line-dot-left::after{
  right: 0;
  width: var(--dot-size);
  height: var(--dot-size);
  background: var(--color);
  border-radius: 50%;
  transition: right 0.8s ease-out;
}

/* when visible */
.line-dot-left.is-visible::before{ width: calc(100% - var(--dot-size)); }
.line-dot-left.is-visible::after{  right: calc(100% - var(--dot-size)); }

/* accessibility */
@media (prefers-reduced-motion: reduce){
  .line-dot-left::before,
  .line-dot-left::after{ transition: none; }
}









/* ------------------------------
   Home page Hero Section
------------------------------ */
.fpec-hero-grid {
  gap: 40px;
  display: flex;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: space-between;
  align-items: center;
}
.hero-right {
  width: 37%;
}
.hero-left {
  width: 63%;
}

.fpec-hero {
  border: 1px solid #e1e1e1;
  border-radius: 10px;
  padding: 50px 20px 50px 50px;
}

.fpec-hero .gform-footer.gform_footer.top_label {
  text-align: left;
  justify-content: flex-start; /* better support than revert-layer */
}

/* Heading / text / button block width */
.elementor-widget-fpec_headline_text_btn_simple {
  width: 805px;
  margin: 0 auto;
}
.fpec-simp-inner .btn-wrap {
    margin-top: 40px;
}

/* ------------------------------
   CTA Section
------------------------------ */
.fpec-cta-bar {
  padding-top: 40px;
  padding-bottom: 20px;
}

.cta-inner {
  display: flex;
  gap: 40px;
  align-items: center;
  flex-wrap: nowrap;
  flex-direction: row;
  align-content: center;
}
.cta-heading-left {
  width: 60%;
  margin-bottom: 20px;
}
.cta-heading-left h2 {
  margin-bottom: 0;
}
.cta-button-right {
  width: 40%;
  text-align: right;
  margin-bottom: 20px;
}
.hero-right {
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.40);
}



/* =========================================
   FPEC Hero — Catalog + Form (No Woo)
   Place in: child-theme/style.css
   ========================================= */

:root{
  --fpec-primary: #0a2e6d;
  --fpec-primary-weak: rgba(10,46,109,.3);
  --fpec-gap: 20px;
  --fpec-card-gap: 18px;
  --fpec-thumb: 96px;
  --fpec-track-height-desktop: 320px;
  --fpec-track-height-tablet: 360px;
}

.fpec-hero .hero-right h3.prod-title, .fpec-hero .hero-right h3.prod-title a {
    color: #393939;
font-size: 20px !important;
font-style: normal;
font-weight: 600;
line-height: normal !important; 
text-transform: uppercase;
    margin-bottom: 5px !important;
}

.fpec-hero .hero-right .prod-excerpt {
color: #393939;
font-family: Inter;
font-size: 18px;
font-style: normal;
font-weight: 400;
line-height: normal; /* 144.444% */
}

/* Layout */
.fpec-hero .fpec-hero-grid{
  display:flex;
  gap:var(--fpec-gap);
    align-items: center;
  justify-content:space-between;
}

/* Vertical carousel container */
.fpec-hero .fpec-carousel{
  height:var(--fpec-track-height-desktop);
  position:relative;
}

/* Slides wrapper (we leave right padding for arrows/dots column) */
.fpec-hero .fpec-slides{
  padding-right:36px;
}

/* A single slide: thumb + content */
.fpec-hero .fpec-slide{
  display:grid;
  grid-template-columns: var(--fpec-thumb) 1fr;
  gap:var(--fpec-card-gap);
  align-items:center;
  padding:12px 10px;
  border-radius:8px;
}

/* Thumb */
.fpec-hero .thumb-wrap img{ width:100%; height:auto; display:block;
border: 2px solid #036;

 }
.fpec-hero .no-thumb{
  width:100%; height:var(--fpec-thumb);
  background:#f4f6f9;
  border:1px solid #e1e1e1;
  border-radius:6px;
}

/* Title + summary (Typography is mostly controlled from Elementor controls) */
.fpec-hero .prod-title{ margin:0 0 6px; line-height:1.1; font-weight:700; }
.fpec-hero .prod-title a{ color:inherit; text-decoration:none; }
.fpec-hero .prod-title a:hover{ text-decoration:underline; }
.fpec-hero .prod-excerpt{ opacity:.9; }

/* Arrows (stacked on the right) */
.fpec-hero .fpec-arrows{
  position:absolute;
  right:20px;
  top:50%;
  transform:translateY(-50%);
  display:grid;
  gap:8px;
  z-index:5;
}
.fpec-hero .fpec-prev,
.fpec-hero .fpec-next{
  appearance:none;
  background:transparent;
  border:0;
  padding:2px;
  font-size:22px; /* ▲ ▼ fallback */
  line-height:1;
  color:var(--fpec-primary);
  cursor:pointer;
}

/* Dots (vertical) */
.fpec-hero .fpec-dots.swiper-pagination{
  position:absolute;
  right:8px;
  top:50%;
  transform:translateY(-50%);
  display:grid;
  gap:0px;
  width:auto;
}
.fpec-hero .fpec-dots .swiper-pagination-bullet{
  width:8px; height:8px; border-radius:50%;
  background:var(--fpec-primary-weak);
  opacity:1; /* keep visible */
}
.fpec-hero .fpec-dots .swiper-pagination-bullet.swiper-pagination-bullet-active{
  background:var(--fpec-primary);
}

/* Responsive */
@media (max-width: 1024px){
  .fpec-hero .fpec-hero-grid{ flex-direction:column; }
  .fpec-hero .hero-left,
  .fpec-hero .hero-right{ flex:1 1 auto; width:100%; }
  .fpec-hero .fpec-carousel{ height:var(--fpec-track-height-tablet); }
}

/* Reduced motion respect */
@media (prefers-reduced-motion: reduce){
  .fpec-hero .swiper,
  .fpec-hero .swiper *{
    transition:none !important;
    animation:none !important;
  }
}



/* ------------------------------
   FPEC_System_Overview_Section
------------------------------ */
.fpec-sys .fpec-sys-top {
  margin-bottom: 12px;
  display: flex;
  gap: 40px;
  align-items: center;
  flex-wrap: nowrap;
  flex-direction: row;
  align-content: center;
}
.fpec-sys-mid {
    margin-top: 40px;
}
.fpec-sys .fpec-sys-top-heading-left {
  width: 71%;
}
.fpec-sys .fpec-sys-top-heading-left h2,
.fpec-sys .fpec-sys-top-btn a {
  margin-bottom: 0;
}
.fpec-sys-features h6 {
    text-transform: uppercase;
}
.fpec-sys .fpec-sys-top-btn {
  width: 27%;
  text-align: right;
}

.fpec-sys .fpec-sys-mid {
  display: grid;
  grid-template-columns: 0.7fr 1fr;
  gap: 40px;
  align-items: start;
}
.fpec-sys .fpec-sys-mid .fpec-sys-mid-left img {
  width: 100%;
  height: auto;
  display: block;
}

.fpec-sys .fpec-sys-features {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  margin: 20px 0 28px;
}
.fpec-sys .fpec-sys-features .title {
  margin: 0 0 10px;
  font-weight: 700;
}
.fpec-sys .fpec-sys-features .text p {
  margin: 0 0 10px;
}

.fpec-sys .fpec-sys-bottom {
  text-align: center;
  max-width: 700px;
  margin: 8px auto 0;
}

@media (max-width: 991px) {
  .fpec-sys .fpec-sys-mid {
    grid-template-columns: 1fr;
  }
  .fpec-sys .fpec-sys-features {
    grid-template-columns: 1fr;
  }
}

/* ------------------------------
   FPEC_Text_Image_CTA_Widget
------------------------------ */

/* Layout */
.fpec-tic-inner {
  max-width: 980px;
  margin: 0 auto;
}

.fpec-tic-mid {
  display: grid;
  grid-template-columns: 1fr 0.7fr;
  gap: 32px;
  align-items: start;
  margin: 40px 0;
}
.fpec-tic-mid-right img {
  width: 100%;
  height: auto;
  display: block;
}

/* Responsive */
@media (max-width: 991px) {
  .fpec-tic-mid {
    grid-template-columns: 1fr;
  }
}

/* ------------------------------
   FPEC_Image_RightContent_Boxes_Widget
------------------------------ */

.fpec-irb-inner {
  display: grid;
  grid-template-columns: 1.1fr 1fr; /* unified definition */
  gap: 36px;
  align-items: start;
}
.fpec-irb-inner-left img {
  width: 100%;
  height: auto;
  display: block;
}
.fpec-irb-inner-right-boxes h6 {
    text-transform: uppercase;
}
.fpec-irb-inner-right-boxes {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin: 8px 0 22px;
}
.fpec-irb-inner-right-box, .fpec-irb-inner-box {
  background: #fff;
  padding: 0px;
}

@media (max-width: 1024px) {
  .fpec-irb-inner {
    grid-template-columns: 1fr;
  }
  .fpec-irb-inner-right-boxes {
    grid-template-columns: 1fr;
  }
}

/* ------------------------------
   FPEC_About_Text_Images_Widget
------------------------------ */


.fpec-about-inner {
  margin: 0 auto;
  padding: 10px 16px;
  display: grid;
  grid-template-columns: 0.7fr 1fr;
  align-items: start;
  gap: 40px;
}

.image-wrap {
  position: relative;
}
.image-wrap .main {
  width: 100%;
  height: auto;
  display: block;
}


@media (max-width: 1024px) {
.fpec-about-inner  {
    grid-template-columns: 1fr;
  }
  .image-wrap .overlay {
    transform: translate(0, 12px);
    position: relative;
    left: auto;
    bottom: auto;
    display: block;
    margin-top: 12px;
  }
}

/* ------------------------------
   FPEC_Join_Card_Widget
------------------------------ */

.fpec-join-card {
    max-width: 1050px;
    margin: 0 auto;
}
.fpec-card-box {
    border-radius: 10px;
    border: 1px solid var(--Stroke, #E1E1E1);
    background: #FFF;
    box-shadow: 1px 1px 6px 0 rgba(50, 50, 50, 0.39);
}

.fpec-join-card-inner {
    border-radius: 10px 10px 0 0;
    border-top: 20px solid #003366;
}
.fpec-join-card-inner {
    padding: 50px;
}
.divider {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 6px 0 18px;
}
.divider__line {
  width: 60px;
  height: 2px;
  background: #e3e7ed;
  display: inline-block;
}
.divider__dot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: #0a2e6d;
  display: inline-block;
}

/* ------------------------------
   FPEC_Testimonial_Card_Widget
------------------------------ */

.elementor-widget-fpec-testimonial-carousel .elementor-widget-container {
    max-width: 1050px;
    margin: 0 auto;
}
.fpec-tc .fpec-tc-row {
  display: grid;
  grid-template-columns: 0.5fr 1fr;
  gap: 48px;
  align-items: center;
}
/* ===== FPEC Testimonial Carousel fixes ===== */
.fpec-tc-right {
    position: relative;
    overflow: hidden;
    padding-top: 35px;
    margin-top: -62px;
}

.fpec-tc-slider {
    position: relative;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, .08);
    border-radius: 10px;
    padding: 32px 36px 12px 36px;
    overflow: hidden;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .06);
}
.fpec-tc .quote-deco svg {
    width: 81px;
}
.fpec-tc .quote-deco {
    position: absolute;
    top: -15px;
    right: 36px;
    width: 72px;
    height: 72px;
    z-index: 1;
}
.swiper-pagination-arrow {
    width: 100% !important;
    display: flex;
    justify-content: center;
}
.fpec-tc-slider .swiper-pagination-arrow div {
    left: auto !important;
    bottom: 10px;
    width: auto;
    top: unset !important;
    position: absolute;
    text-align: center;
    transition: .3s opacity;
    transform: translate3d(0, 0, 0);
    z-index: 10;
    right: auto !important;
}
.fpec-tc-slider .swiper-pagination-arrow div:after {
    font-size: 20px !important;
    color: #013365;
    font-weight: bold;
}
.swiper.fpec-tc-swiper {
    padding-bottom: 63px;
}
.swiper-pagination-arrow .swiper-button-prev {
    margin-left: -30px !important;
}

.swiper-pagination-arrow .swiper-button-next {
    margin-right: -30px !important;
}

.fpec-tc .swiper{
  overflow: hidden;    
}
.fpec-tc-slider {
    position: relative;
    overflow: hidden;
}
.fpec-tc .stars, .fpec-tc .stars path {
    color: #013365;
    fill: #013365;
}
.fpec-tc .t-author {
    color: #013365;
}
.fpec-tc .swiper-wrapper{ align-items: stretch; }
.fpec-tc .swiper-slide{ height: auto; }
.fpec-tc .tc-card{ height: 100%; }

/* Optional: layout + card styles (if you want to move inline styles to CSS) */
@media (max-width:980px){ .fpec-tc .fpec-tc-row{ grid-template-columns:1fr; gap:24px; } }

.fpec-tc .stars{ display:flex; gap:6px; margin-bottom:14px; }
.fpec-tc .t-text{ margin:0 0 14px; }
.fpec-tc .t-author{ font-weight:700; }
.fpec-tc .t-company{ opacity:.8; margin-top:2px; }











/* Category Page  */

.fpec-products-wrap .fpec-prod-card {
    margin-bottom: 50px;
    border-radius: 10px;
    border: 1px solid var(--Stroke, #E1E1E1);
    background: #FFF;
    box-shadow: 1px 1px 6px 0 rgba(50, 50, 50, 0.39);
    border-top: 20px solid #003366;
    padding: 50px;
}
.elementor-widget-fpec-category-products {
    padding-top: 70px;
}
.fpec-products-wrap .fpec-prod-card__inner {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 28px;
    align-items: center;
}
.fpec-prod-card__right, .fpec-prod-card__right img {
    text-align: center;
    margin: 0 auto;
}
.fpec-products-wrap{display:grid; gap:40px;}
            .fpec-prod-card__excerpt{margin:0 0 60px 0; line-height:1.6;}
            .fpec-prod-card__excerpt ul{margin:0 0 1rem 1.25rem; padding-left:0rem;}
            .fpec-prod-card__excerpt li{margin:0.25rem 0;}
            
            .fpec-prod-card__right img{max-width:100%; height:auto; display:block;}
            @media (max-width: 900px){
                .fpec-prod-card__inner{grid-template-columns: 1fr;}
                .fpec-prod-card__right{order:-1;}
            }
       



/*  Page title */

/* Base structure; most styles come from controls */

.fpec-ptd:before, .fpec-pt:before {
   /* background: linear-gradient(90deg, #003366 0%, rgba(0, 51, 102, 0) 75%);*/
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    left: 0;
    top: 0;
    position: absolute;
    inset: 0;
    background: #003366;
    opacity: 1;
    mix-blend-mode: color;
}
            .fpec-pt,  .fpec-ptd {
                position: relative;
                background-position: center;
                background-size: cover;
                background-repeat: no-repeat;
                overflow: hidden;
    display: block;
    position: relative;
            }

.fpec-pt .e-con-inner, .fpec-ptd .e-con-inner {
    padding-bottom: 0 !important;
}
.fpec-pt .fpec-pt-box, .fpec-ptd .fpec-ptd-box {
    width: 57%;
    background: #fff;
    padding: 40px 40px 20px 40px;
    border-radius: 10px 10px 0 0;
}


            .fpec-pt__cat { text-transform: uppercase; letter-spacing:.06em; font-weight:600; }



/* Product Overview */

.fpec-ov {gap: 40px;
    display: flex;
    flex-wrap: nowrap;
}

.fpec-ov .fpec-ov__media {
    width: 50%;
}
.fpec-ov .fpec-ov__card {
    width: 50%;
}
.fpec-ov__card-inner {
    margin-top: 100px;
    border-radius: 10px;
    border: 1px solid var(--Stroke, #E1E1E1);
    background: #FFF;
    box-shadow: 1px 1px 6px 0 rgba(50, 50, 50, 0.39);
    border-top: 20px solid #003366;padding: 50px;
}
.fpec-ov a.fpec-ov__brochure {
    color: #003366 !important;
}
.fpec-ov .fpec-ov__card-inner ul {
    padding-inline-start: 15px;
    padding-top: 20px;
}
.fpec-ov .fpec-ov__card-inner ul li {
    margin-bottom: 13px;
}
.fpec-ov-btn {
    padding-top: 30px;
}
.fpec-ov__img.fpec-ov__img--bottom {
    margin-left: -70px;
}
.fpec-ov-order-today {
    padding: 50px;
}
.fpec-ov {
    padding-bottom: 100px;
}

/*Product Video */
.fpec-vp{
    margin-bottom: 100px;
    border-radius: 10px;
    border: 1px solid var(--Stroke, #E1E1E1);
    background: #FFF;
    box-shadow: 1px 1px 6px 0 rgba(50, 50, 50, 0.39);
    border-top: 20px solid #003366;
    padding: 50px;
}
.fpec-vp__wrap {
    gap: 40px;
    display: flex;
    flex-wrap: nowrap;
}
.fpec-vp__wrap .fpec-vp__player {
    width: 70%;
}
.fpec-vp__wrap .fpec-vp__list {
    width: 30%;
}
.fpec-vp__item {
    margin-bottom: 43px;
    display: block;
}
.fpec-vp.has-list .fpec-vp__heading {
    margin-bottom: 40px;
}
/* Second grid layout (extra videos) */
.fpec-vp__more-grid {
  display: grid;
  gap: 24px;
}
.fpec-vp__player.fpec-vp-full-player {
    width: 100%;
}
/* Switch by PHP-generated class */
.fpec-vp__more-grid.cols-2 { grid-template-columns: repeat(2, 1fr); }
.fpec-vp__more-grid.cols-3 { grid-template-columns: repeat(3, 1fr); }

/* Tablet: cap at 2 columns for readability */
@media (max-width: 1024px){
  .fpec-vp__more-grid.cols-3 { grid-template-columns: repeat(2, 1fr); }
}

/* Mobile: single column */
@media (max-width: 640px){
  .fpec-vp__more-grid { grid-template-columns: 1fr; }
}

/* Keep embeds responsive */
.fpec-vp__more-grid iframe{
  width:100%;
  height:auto;
  aspect-ratio:16/9;
  display:block;
}

@media (min-width:1024px){
.fpec-menu-cat-viewall {
    display: none !important;
}
  /* Left big player height */
  .fpec-vp__player .fpec-vp__iframe-wrap{
    height:457px;
  }
  .fpec-vp__player .fpec-vp__iframe-wrap iframe{
    width:100%;
    height:100% !important;   /* override any global iframe height:auto */
    aspect-ratio:auto !important;
    display:block;
  }

  /* Right sidebar small videos height */
  .fpec-vp__list .fpec-vp__mini-wrap iframe{
    width:100%;
    height:218px !important;  /* fixed height for desktop */
    aspect-ratio:auto !important;
    display:block;
        padding-top: 30px;
  }
}

.fpec-vp__more-grid iframe{
  width:100%;
  height:auto;
  aspect-ratio:16/9;
  display:block;
}


/*Product Parts */

.fpec-parts {
    margin-bottom: 100px;
    border-radius: 10px;
    border: 1px solid var(--Stroke, #E1E1E1);
    background: #FFF;
    box-shadow: 1px 1px 6px 0 rgba(50, 50, 50, 0.39);
    border-top: 20px solid #003366;
    padding: 50px;
}
.fpec-parts__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 48px 64px;
    align-items: start;
}
.fpec-parts__grid .fpec-parts__card {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 30px;
}
.fpec-parts__grid {
    margin-top: 60px;
}
.fpec-parts__grid .fpec-parts__card .part-image {
    width: 30%;
}
.fpec-parts__grid .fpec-parts__card .fpec-parts__title {
    font-size: 18px;
    margin: 0 !important;
    line-height: normal !important;
    font-weight: normal;
}
.fpec-parts__grid .fpec-parts__card .fpec-parts__content p {
    margin: 0;
}
.fpec-parts__cta {
    display: block;
    text-align: center;
    margin-top: 50px;
}



/* Other Page  */
.fpec-sh__inner{
                display:grid;
                grid-template-columns: 1.1fr 1fr;
                align-items:center;
                gap: 48px; /* default; overridden by control */
            }
            .fpec-sh.img-left .fpec-sh__inner{
                grid-template-columns: 1fr 1.1fr;
            }
            .fpec-sh.img-left .fpec-sh__col--text{ order: 2; }
            .fpec-sh.img-left .fpec-sh__col--image{ order: 1; }
            .fpec-sh__img{ width:100%; height:auto; display:block; }

            @media (max-width: 992px){
                .fpec-sh__inner{ grid-template-columns:1fr; }
                .fpec-sh.img-left .fpec-sh__col--text,
                .fpec-sh.img-right .fpec-sh__col--text{ order: 2; }
                .fpec-sh.img-left .fpec-sh__col--image,
                .fpec-sh.img-right .fpec-sh__col--image{ order: 1; }
            }


/* ------------------------------
   Footer / Gravity Forms
------------------------------ */

.fpec-cta {
    max-width: 1050px;
    margin: 0 auto;
    z-index: 1;
    position: relative;
}

.fpec-cta-box {
    border-radius: 10px;
    background: var(--Blue, #036);
    padding: 70px 130px;
    text-align: center;
    margin-bottom: -200px;
}
.gform_wrapper.gravity-theme input[type="text"], .gform_wrapper.gravity-theme input[type="email"], .gform_wrapper.gravity-theme input[type="tel"] {
  height: 47px;
}

.gform-footer.gform_footer.top_label {
  text-align: center;
  justify-content: center;
}

.gform-footer.gform_footer.top_label input[type="submit"] {
	font-family: "Inter", Sans-serif;
    font-size: 18px;
    font-weight: bold !important;
    text-transform: uppercase;
  padding: 15px 30px;
  border: 0 !important;
}

.fpec-cta-box  .gform-footer.gform_footer.top_label input[type="submit"] {
  background: #fff !important;
  color: var(--e-global-color-accent);
}
.fpec-cta-box h2.heading {
    margin-left: auto;
    margin-right: auto;
}
.fpec-cta-box .body-text p a {
    color: #fff;
}


.single.single-products .elementor-widget-video-playlist {
    margin-bottom: 50px;
    border-radius: 10px;
    border: 1px solid var(--Stroke, #E1E1E1);
    background: #FFF;
    box-shadow: 1px 1px 6px 0 rgba(50, 50, 50, 0.39);
    border-top: 20px solid #003366;
    padding: 50px;
}
.fpec-tc .tc-card .stars {
    display: none !important;
}


/* meun Css */

/* ------------------ Cards (other widget) ------------------ */
@media only screen and (max-width:1024px){
nav.e-n-menu ul.e-n-menu-heading li.e-n-menu-item .e-n-menu-title {
    display: flex;
    justify-content: space-between;
}
	nav.e-n-menu ul.e-n-menu-heading li.e-n-menu-item .e-n-menu-title a.e-n-menu-title-container {
    display: block;
    width: 93% !important;
}
	.e-n-menu .e-n-menu-wrapper {
    border-bottom: 10px solid #003366 !important;
    border-radius: 0 0 20px 20px !important;
}
	.e-n-menu-wrapper ul.e-n-menu-heading li.e-n-menu-item .e-n-menu-title:hover a.e-n-menu-title-container span, .e-n-menu-wrapper ul.e-n-menu-heading li.e-n-menu-item .e-n-menu-title:focus a.e-n-menu-title-container span {
    color: #fff !important;
}

.e-n-menu-wrapper ul.e-n-menu-heading li.e-n-menu-item .e-n-menu-title:hover button svg , .e-n-menu-wrapper ul.e-n-menu-heading li.e-n-menu-item .e-n-menu-title:focus button svg {
    fill: #fff !important;
}
}
.fpec-menu-card{
  display:block;
  text-decoration:none;
  color:inherit;
  background:#e9e9e9;            /* overridden by controls */
  border-radius:22px;             /* overridden by controls */
  transition:background .2s, box-shadow .2s, transform .2s;
  height:100%;
}
.fpec-menu-card.has-hover-shadow:hover{
  box-shadow:0 8px 28px rgba(0,0,0,.10);
  transform:translateY(-1px);
}
.fpec-menu-card__icon{ line-height:1; display:inline-flex; margin-bottom:.5rem; }
.fpec-menu-card__title{ margin:0 0 .25rem 0; }
.fpec-menu-card__text{ margin:0; }

/* Card grid responsiveness */
@media (max-width:900px){
  .fpec-menu-cards__grid{ grid-template-columns:repeat(2, minmax(0,1fr)) !important; }
}
@media (max-width:767px){
  .fpec-menu-cards__grid{ grid-template-columns:1fr !important; }
  .fpec-cols-box .fpec-cols{ grid-template-columns:1fr !important; }
}


/* ------------------ Mega Products Menu (one-pane) ------------------ */
.elementor-widget-fpec-mega-products-menu .fpec-cat-btn{
  font-size:16px !important;
  font-weight:500 !important;
}
/* --- Caret (desktop defaults stay as-is) --- */
/* desktop/tablet: closed = down, open = right (what you have now) */
.elementor-widget-fpec-mega-products-menu .fpec-cat-btn .fpec-cat-caret{ margin-left:16px; }
.elementor-widget-fpec-mega-products-menu .fpec-cat-btn .fpec-cat-caret::before{
  content:"▾";               /* closed */
  display:inline-block;
  opacity:.85;
}
.elementor-widget-fpec-mega-products-menu .fpec-cat-btn.is-active .fpec-cat-caret::before{
  content:"▸";               /* open */
}

/* --- Mobile override (<=767px): closed = right, open = down --- */
@media (max-width:767px){
  .elementor-widget-fpec-mega-products-menu .fpec-cat-btn .fpec-cat-caret::before{
    content:"▸" !important;             /* closed on mobile */
  }
  .elementor-widget-fpec-mega-products-menu .fpec-cat-btn.is-active .fpec-cat-caret::before{
    content:"▾" !important;             /* open on mobile */
  }
}

/* container grid (desktop/top-right panel) */
.elementor-widget-fpec-mega-products-menu .fpec-onepane-grid{
  display:grid;
  grid-template-columns:minmax(260px,360px) 1fr 1fr;
  grid-auto-rows:min-content;
  column-gap:24px;
  row-gap:18px;
  align-items:start;
}

/* left list */
.elementor-widget-fpec-mega-products-menu .fpec-onepane-cats{
  grid-column:1;
  display:grid;
  gap:10px;
  margin:0;
}

.elementor-widget-fpec-mega-products-menu .fpec-cat-btn{
  width:100%;
  text-align:left;
  border:0;
  border-radius:14px;
  padding:16px 18px;
  background:#EEF0F2;
  color:#12254A;
  cursor:pointer;
  line-height:1.2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  transition:background-color .2s, color .2s;
}

/* caret: default = down; ACTIVE = right */
.elementor-widget-fpec-mega-products-menu .fpec-cat-btn .fpec-cat-caret::before{
  content:"▾";
  display:inline-block;
  margin-left:16px;
  opacity:.85;
}
.elementor-widget-fpec-mega-products-menu .fpec-cat-btn.is-active .fpec-cat-caret::before{
  content:"▸";
}

.elementor-widget-fpec-mega-products-menu .fpec-cat-btn.is-active, .elementor-widget-fpec-mega-products-menu .fpec-cat-btn.is-current{
  background:#0B3A6B;
  color:#fff !important;
}
/* (optional) ensure inner spans flip to white even if something overrides */
.elementor-widget-fpec-mega-products-menu button.fpec-cat-btn.is-active span{ color:#fff; }

/* products panel sits at the very top on desktop — no blank gap */
.elementor-widget-fpec-mega-products-menu .fpec-onepane-products{
  grid-column:2 / -1;
  grid-row:1;
  align-self:start;
  margin-top:0;
}

/* product links grid */
.elementor-widget-fpec-mega-products-menu .fpec-mega-prod-links{
  list-style:none;
  margin:0 0 14px 0;
  padding:0;
  display:grid;
  gap:16px;
  grid-template-columns:repeat(2, minmax(260px,1fr));
}
@media (min-width:1200px){
  .elementor-widget-fpec-mega-products-menu .fpec-mega-prod-links{
    grid-template-columns:repeat(2, minmax(260px,1fr));
  }
}
.elementor-widget-fpec-mega-products-menu .fpec-mega-prod-links li a {
    display: block;
    padding: 16px 18px;
    border-radius: 12px;
    background: #EEF0F2;
    text-decoration: none;
}
.elementor-widget-fpec-mega-products-menu .fpec-mega-prod-links li a:hover, .elementor-widget-fpec-mega-products-menu ul.fpec-mega-prod-links a.is-current {
	    background: #0B3A6B;
    color: #fff !important;
}
.elementor-widget-fpec-mega-products-menu .fpec-mega-prod-links a:hover{
  filter:brightness(0.97);
}

/* view-all button */
.elementor-widget-fpec-mega-products-menu .fpec-menu-cat-viewall a{
  display:inline-block;
  padding:12px 18px;
  border-radius:10px;
  background:#0B3A6B;
  color:#fff;
  text-decoration:none;
}
.elementor-widget-fpec-mega-products-menu .fpec-menu-cat-viewall a:hover{
  filter:brightness(1.05);
}

/* Mobile (<=767px): panel moves under active button, single column */
@media (max-width:767px){
  .elementor-widget-fpec-mega-products-menu .fpec-onepane-grid{
    grid-template-columns:1fr;
    gap:12px;
  }
  .elementor-widget-fpec-mega-products-menu .fpec-onepane-products{
    grid-column:1;
    grid-row:auto;            /* position controlled by JS */
  }
  .elementor-widget-fpec-mega-products-menu .fpec-mega-prod-links{
    grid-template-columns:1fr !important;
  }
}








@media (max-width: 767px){

main .elementor-element.e-flex.e-con-boxed.e-con {
    padding-left: 15px;
    padding-right: 15px;
}
.fpec-hero {
    padding: 50px 20px 50px 20px !important;
}
.cta-inner {
    flex-direction: column !important;
    gap: 0 !important;
}
	.cta-inner .cta-heading-left, .cta-inner .cta-button-right {
    width: 100%;
    text-align: left !important;
}
	.fpec-sys .fpec-sys-top-heading-left {
    width: 100% !important;
}
	.fpec-sys .fpec-sys-top {
    flex-direction: column !important;
}
	.fpec-about-inner {
    padding: 0 !important;
}
	.fpec-join-card-inner {
    padding: 30px 20px;
}
	.fpec-cta-box {
    padding: 50px 20px;
}
	.fpec-hero .hero-right h3.prod-title, .fpec-hero .hero-right h3.prod-title a {
    font-size: 17px !important;
	}
	.fpec-hero .hero-right .prod-excerpt {
    font-size: 15px;
}
	.fpec-hero .fpec-slide {
    grid-template-columns: 0.4fr 1fr;
}
	.fpec-pt .fpec-pt-box, .fpec-ptd .fpec-ptd-box {
    width: 100% !important;
}
	.fpec-two-pane .fpec-left {
    flex: unset !important;
    width: 100%;
}
	.fpec-two-pane {
    flex-direction: column !important;
}
.fpec-two-pane .fpec-right {
    flex: unset !important;
    width: 100% !important;
}
	.fpec-products-wrap .fpec-prod-card__inner .fpec-prod-card__right {
    order: unset !important;
}
	.fpec-products-wrap .fpec-prod-card {
    padding: 40px 20px;
        margin-bottom: 0;
}
	.fpec-sh .fpec-sh__inner {
    grid-template-columns: unset !important;
}
	.btn-block a.cta-btn:first-child {
    margin-bottom: 10px;
}
	.fpec-products-wrap .fpec-prod-card__inner {
    display: flex;
    flex-direction: column-reverse;
}
.elementor-element.e-flex.e-con-boxed.e-con .elementor-element.elementor-widget.elementor-widget-fpec-split-hero:nth-child(2) .fpec-sh {
    padding-top: 0;
}	
	.fpec-pt__actions a {
    display: inline-block !important;
}
}





/* === FPEC Accordion (Split) — robust split with grid areas === */
.elementor-widget-fpec-accordion-split .acc-list{
  display:grid; row-gap:16px;
}
.acc-body {
    margin-top: 20px;
}
/* Header row */
.elementor-widget-fpec-accordion-split .acc-head{
  display:flex; align-items:center; justify-content:space-between;
  width:100%;text-align: left;
    justify-content: space-between;
  padding:16px 18px;
  border:0; border-radius:14px;
  background:#EEF0F2; color:#000;
  cursor:pointer;
  transition:background-color .2s, color .2s, box-shadow .2s;
}
.elementor-widget-fpec-accordion-split .acc-head:hover{ color:#fff; }
.elementor-widget-fpec-accordion-split .acc-head.is-active{ background:#0B3A6B; color:#fff; }
.elementor-widget-fpec-accordion-split .acc-head .acc-caret::before{ content:"▸"; }
.elementor-widget-fpec-accordion-split .acc-head.is-active .acc-caret::before{ content:"▴"; }

/* Body / Panel */
.elementor-widget-fpec-accordion-split .acc-body[hidden]{ display:none !important; }

.elementor-widget-fpec-accordion-split .acc-panel{
  display:grid; gap:20px;
  background:#fff;
  border-radius:12px;
  padding:20px;
  box-shadow:none;
}

/* Base areas for children */
.elementor-widget-fpec-accordion-split .acc-media{ grid-area: media; }
.elementor-widget-fpec-accordion-split .acc-content{ grid-area: content; }

/* Desktop/tablet two-column only when there's an image */
@media (min-width:900px){
  /* Image LEFT (default) */
  .elementor-widget-fpec-accordion-split .acc-panel.has-media{
    grid-template-columns: minmax(240px,35%) 1fr;
    grid-template-areas: "media content";
  }
  /* Image RIGHT */
  .elementor-widget-fpec-accordion-split .acc-panel.has-media[data-pos="right"]{
    grid-template-columns: 1fr minmax(240px,35%);
    grid-template-areas: "content media";
  }
}

/* Mobile: always single column */
@media (max-width:899.98px){
  .elementor-widget-fpec-accordion-split .acc-panel{
    grid-template-columns: 1fr;
    grid-template-areas: "media" "content";
  }
}

.elementor-widget-fpec-accordion-split .acc-media img{
  display:block; width:100%; height:auto; border-radius:12px;
}

/* content text + buttons */
.elementor-widget-fpec-accordion-split .acc-text{ margin:0; }
.elementor-widget-fpec-accordion-split .acc-btns{ margin-top:16px; display:flex; flex-wrap:wrap; gap:12px; }
/* uses site .cta-btn .btn-blue / .btn-white styles */


