/*
Theme Name: Avada Child
Description: Child theme for Avada theme
Author: ThemeFusion
Author URI: https://theme-fusion.com
Template: Avada
Version: 1.0.0
Text Domain: Avada
*/


.notitle .awb-imageframe-caption {display:none!important}

/* =========================================================
   MARTIN MAE - PROJECT CARD IMAGE / GALLERY LAYOUT
   Classes used on Post Card:
   zigzag-card nested-width-fix project-card-lightbox

   Layout:
   - Main image centred at top
   - Gallery thumbnails centred underneath
   - Gallery is 80% of main image width
   - 4 gallery images across
   - Text content underneath
   - No zig-zag / no 50-50 split
   ========================================================= */

.notitle .awb-imageframe-caption {
    display: none !important;
}


/* ---------------------------------------------------------
   1. Text heading emphasis
   --------------------------------------------------------- */

.zigzag-card .fusion-text strong {
    color: #b05225;
    font-size: 1.15em;
    font-weight: 500;
    display: inline-block;
    margin-bottom: 5px !important;
}


/* ---------------------------------------------------------
   2. Card / outer wrapper
   --------------------------------------------------------- */

.zigzag-card.nested-width-fix,
.zigzag-card.nested-width-fix > .fusion-column-wrapper {
    box-sizing: border-box !important;
    overflow: hidden !important;
}


/* ---------------------------------------------------------
   3. Inner row - stack columns vertically
   --------------------------------------------------------- */

.zigzag-card.nested-width-fix .fusion-builder-row-inner {
    display: flex !important;
    flex-wrap: wrap !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}


/* ---------------------------------------------------------
   4. Inner columns - full width
   Removes the old 50/50 image/text layout.
   --------------------------------------------------------- */

.zigzag-card.nested-width-fix .fusion_builder_column_inner {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}


/* ---------------------------------------------------------
   5. Image / gallery column wrapper
   Centres the main image and gallery block.
   --------------------------------------------------------- */

.zigzag-card.nested-width-fix .fusion_builder_column_inner:first-child {
    padding: 0 !important;
    background: #fff !important;
}

.zigzag-card.nested-width-fix .fusion_builder_column_inner:first-child > .fusion-column-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}


/* ---------------------------------------------------------
   6. Main image
   Centred and controlled to 900px.
   --------------------------------------------------------- */

.zigzag-card.nested-width-fix .fusion_builder_column_inner:first-child .fusion-image-element {
    width: 100% !important;
    max-width: 900px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.zigzag-card.nested-width-fix .fusion_builder_column_inner:first-child .fusion-image-element .fusion-imageframe,
.zigzag-card.nested-width-fix .fusion_builder_column_inner:first-child .fusion-image-element a,
.zigzag-card.nested-width-fix .fusion_builder_column_inner:first-child .fusion-image-element img {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    box-sizing: border-box !important;
}


/* ---------------------------------------------------------
   7. Gallery wrapper
   Gallery is 80% of the main image width and centred.
   900px main image x 80% = 720px gallery.
   --------------------------------------------------------- */

.zigzag-card.nested-width-fix .awb-gallery-wrapper {
    width: 80% !important;
    max-width: 720px !important;
    margin: 10px auto 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

.zigzag-card.nested-width-fix .fusion-gallery-container,
.zigzag-card.nested-width-fix .fusion-gallery {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}


/* ---------------------------------------------------------
   8. Avada absolute gallery correction
   Avada positions gallery items with inline left values.
   These rules keep the block centred and preserve 4 columns.
   --------------------------------------------------------- */

.zigzag-card.nested-width-fix .fusion-gallery {
    position: relative !important;
}

.zigzag-card.nested-width-fix .fusion-gallery-column {
    width: 25% !important;
    max-width: 25% !important;
    padding: 2.5px !important;
    box-sizing: border-box !important;
}


/* ---------------------------------------------------------
   9. Image crop / sizing
   --------------------------------------------------------- */

.zigzag-card.nested-width-fix img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    object-fit: cover !important;
    display: block !important;
    box-sizing: border-box !important;
}


/* ---------------------------------------------------------
   10. Text block underneath
   --------------------------------------------------------- */

.zigzag-card.nested-width-fix .fusion_builder_column_inner:nth-child(2) {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    padding: 18px 18px 24px 18px !important;
    background: #fff !important;
    box-sizing: border-box !important;
}

.zigzag-card.nested-width-fix .fusion_builder_column_inner:nth-child(2) > .fusion-column-wrapper {
    max-width: 90% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
    overflow: visible !important;
}


/* ---------------------------------------------------------
   11. Text safety / alignment
   --------------------------------------------------------- */

.zigzag-card.nested-width-fix .fusion-text,
.zigzag-card.nested-width-fix .fusion-title,
.zigzag-card.nested-width-fix .fusion-title-heading,
.zigzag-card.nested-width-fix p {
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    text-align: center !important;
}


/* ---------------------------------------------------------
   12. Mobile / tablet
   Keeps same format:
   main image above, 4 thumbnails below.
   Gallery full width on mobile.
   --------------------------------------------------------- */

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

    .zigzag-card.nested-width-fix,
    .zigzag-card.nested-width-fix > .fusion-column-wrapper,
    .zigzag-card.nested-width-fix .fusion-builder-row-inner,
    .zigzag-card.nested-width-fix .fusion_builder_column_inner,
    .zigzag-card.nested-width-fix .fusion_builder_column_inner > .fusion-column-wrapper {
        --awb-padding-left: 0px !important;
        --awb-padding-right: 0px !important;
        --awb-spacing-left: 0px !important;
        --awb-spacing-right: 0px !important;
        --awb-spacing-left-small: 0px !important;
        --awb-spacing-right-small: 0px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    .zigzag-card.nested-width-fix .fusion-builder-row-inner {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .zigzag-card.nested-width-fix .fusion_builder_column_inner {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        flex: none !important;
        clear: both !important;
    }

    .zigzag-card.nested-width-fix .fusion_builder_column_inner:first-child {
        padding: 0 !important;
        background: #fff !important;
    }

    .zigzag-card.nested-width-fix .fusion_builder_column_inner:first-child > .fusion-column-wrapper {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .zigzag-card.nested-width-fix .fusion_builder_column_inner:first-child .fusion-image-element {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
    }

    /* Mobile gallery full width */
    .zigzag-card.nested-width-fix .awb-gallery-wrapper,
    .zigzag-card.nested-width-fix .fusion-gallery-container,
    .zigzag-card.nested-width-fix .fusion-gallery {
        width: 100% !important;
        max-width: 100% !important;
        margin: 8px 0 0 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    /* Remove Avada absolute gallery positioning on mobile */
    .zigzag-card.nested-width-fix .fusion-gallery {
        position: relative !important;
        height: auto !important;
        display: flex !important;
        flex-wrap: nowrap !important;
        justify-content: center !important;
    }

    .zigzag-card.nested-width-fix .fusion-gallery-column {
        position: relative !important;
        left: auto !important;
        top: auto !important;
        width: 25% !important;
        max-width: 25% !important;
        flex: 0 0 25% !important;
        padding: 2px !important;
        box-sizing: border-box !important;
    }

    .zigzag-card.nested-width-fix .fusion_builder_column_inner:nth-child(2) {
        padding: 24px 22px 28px 22px !important;
        background: #fff !important;
    }

    .zigzag-card.nested-width-fix .fusion_builder_column_inner:nth-child(2) > .fusion-column-wrapper {
        max-width: 92% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        text-align: center !important;
        overflow: visible !important;
    }

    .zigzag-card.nested-width-fix,
    .zigzag-card.nested-width-fix > .fusion-column-wrapper {
        border: none !important;
        box-shadow: none !important;
        background: transparent !important;
    }
}





/* =========================================================
   END OF EDITED 
========================================================= */

/* Make sticky header movement smooth and consistent */
.mm-header,
.mm-header.fusion-sticky-transition,
.mm-header.fusion-sticky-scroll-transition,
.mm-header.fusion-scrolling-up,
.mm-header.fusion-scrolling-down {
  transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
  animation-duration: 0.4s !important;
}



/* =========================================================
   Gravity Forms
========================================================= */

.gform_wrapper {
  font-size: 14px !important;
}

.gform_description {
  color: #ffffff !important;
}

.gform_wrapper input,
.gform_wrapper textarea,
.gform_wrapper select,
.gform_wrapper label,
.gform_wrapper .gfield_label,
.gform_wrapper .gform_description,
.gform_wrapper .gfield_description,
.gform_wrapper .gform_footer,
.gform_wrapper button {
  font-size: 14px !important;
}

/* Gravity Forms – fields */
.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="number"],
.gform_wrapper input[type="url"],
.gform_wrapper input[type="password"],
.gform_wrapper select {
  height: 40px !important;
  line-height: 40px !important;
  padding: 0 10px !important;
  box-sizing: border-box !important;
  border: none !important;
  border-radius: 4px !important;
  box-shadow: none !important;
  outline: none !important;
}

.gform_wrapper textarea {
  min-height: 120px !important;
  padding: 10px !important;
  box-sizing: border-box !important;
  border: none !important;
  border-radius: 4px !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Gravity Forms – focus states */
.gform_wrapper input:focus,
.gform_wrapper textarea:focus,
.gform_wrapper select:focus {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Gravity Forms – validation/error borders */
.gform_wrapper .gfield_error input,
.gform_wrapper .gfield_error textarea,
.gform_wrapper .gfield_error select {
  border: none !important;
  box-shadow: none !important;
}

/* Gravity Forms – submit buttons */
.gform_wrapper .gform_footer input[type="submit"],
.gform_wrapper .gform_footer button,
.gform_wrapper .gform_page_footer input[type="submit"] {
  background-color: #29405f !important;
  border: none !important;
  color: #ffffff !important;
  border-radius: 25px !important;
}

.gform_wrapper .gform_footer input[type="submit"]:hover,
.gform_wrapper .gform_footer button:hover {
  background-color: #1f3047 !important;
  border: none !important;
}

/* Gravity Form 1 – custom button colour */
#gform_wrapper_1 .gform_button,
#gform_wrapper_1 input[type="submit"] {
  background-color: #444444 !important;
  border: none !important;
  color: #ffffff !important;
}

#gform_wrapper_1 .gform_button:hover,
#gform_wrapper_1 input[type="submit"]:hover {
  background-color: #333333 !important;
  border: none !important;
}


/* =========================================================
   Brand Taper Borders
========================================================= */

.brand-taper-borders .fusion-column-wrapper {
  position: relative;
  border-top: 0 !important;
  border-bottom: 0 !important;
}

.brand-taper-borders .fusion-column-wrapper::before,
.brand-taper-borders .fusion-column-wrapper::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(
    to right,
    transparent 0%,
    var(--awb-color4) 25%,
    var(--awb-color4) 75%,
    transparent 100%
  );
  pointer-events: none;
}

.brand-taper-borders .fusion-column-wrapper::before {
  top: 0;
}

.brand-taper-borders .fusion-column-wrapper::after {
  bottom: 0;
}


/* =========================================================
   Mobile Background Control
========================================================= */

@media only screen and (min-width: 801px) {
  .mobile-bg-only {
    --awb-bg-image: none !important;
  }

  .mobile-bg-only .fusion-column-wrapper {
    background-image: none !important;
  }
}


/* =========================================================
   Four Column Divider
========================================================= */

.fusion-fullwidth.four-cols-divider .fusion-layout-column .fusion-column-wrapper {
  position: relative;
}

.fusion-fullwidth.four-cols-divider .fusion-layout-column:not(:last-child) .fusion-column-wrapper::after {
  content: "";
  position: absolute;
  right: 0;
  top: 10%;
  height: 80%;
  width: 2px;
  background: #29405f;
  z-index: 9999;
  pointer-events: none;
}

@media (max-width: 800px) {
  .fusion-fullwidth.four-cols-divider .fusion-layout-column .fusion-column-wrapper::after {
    display: none !important;
  }
}


/* =========================================================
   Avada Background Slider – Ken Burns + Gradient Overlay
========================================================= */

.kb-bgslider {
  position: relative;
}

.kb-bgslider .awb-background-slider {
  position: absolute;
  inset: 0;
  z-index: 1;
  overflow: hidden;
  mix-blend-mode: normal !important;
}

.kb-bgslider .awb-background-slider__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform-origin: center center;
  transform: scale(1.04);
  transition: transform 5s linear;
  will-change: transform;
}

.kb-bgslider .swiper-slide-active .awb-background-slider__image {
  transform: scale(1.08);
}

.kb-bgslider::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 2;
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,0.35) 0%,
    rgba(0,0,0,0.80) 100%
  );
}

.kb-bgslider > * {
  position: relative;
  z-index: 3;
}

@media (max-width: 800px), (prefers-reduced-motion: reduce) {
  .kb-bgslider .awb-background-slider__image {
    transition: none !important;
    transform: none !important;
  }
}


/* =========================================================
   Blog / News Page Styling
========================================================= */

.whitblog .fusion-link-wrapper a {
  color: #fff !important;
}

.fusion-image-wrapper .fusion-rollover .fusion-rollover-content a {
  color: #fff !important;
  font-size: 18px !important;
}

.fusion-rollover-categories {
  display: none !important;
}


/* =========================================================
   Home Page Blog Styling
========================================================= */

.HP_blog .fusion-flexslider {
  padding: 10px !important;
  border-radius: 20px !important;
}

.HP_blog .fusion-post-wrapper {
  border: 2px solid #fff !important;
  border-radius: 20px !important;
}

.HP_blog .fusion-post-content-container {
  color: #fff !important;
}

.HP_blog .blog-shortcode-post-title .entry-title {
  color: #fff !important;
  font-size: 2.5em !important;
}

.HP_blog .body a {
  color: #fff !important;
}

.HP_blog .sep-double {
  display: none !important;
}

.HP_blog .fusion-image-wrapper {
  border-radius: 20px !important;
}

.whitblogb .fusion-blog-shortcode a {
  color: #fff !important;
  font-size: 2.5em !important;
}

.blog-shortcode-post-title .entry-title .fusion-responsive-typography-calculated {
  color: #fff !important;
  font-size: 26px !important;
}


/* =========================================================
   Header Sticky Border
========================================================= */

.fusion-sticky-container {
  border-bottom: 0;
  transition: background-color 0.3s ease, box-shadow 0.3s ease !important;
}

.fusion-sticky-container.fusion-sticky-transition {
  border-bottom: 1px solid var(--awb-color5);
}


/* =========================================================
   Icons
========================================================= */

.course-icon svg {
  fill: #444444 !important;
}


/* =========================================================
   White Text Utility
========================================================= */

.whitetext p,
.whitetext li {
  color: #fff !important;
}

.whitetext strong {
  font-weight: 600 !important;
  color: #f7962b !important;
}