/*
Theme Name: Gironafly
Theme URI: https://aeiou.cat
Description: Gironafly x aeiou
Author: Fede - aeiou estudi creatiu
Author URI: https:///aeiou.cat
Version: 1.0.0
Template: Divi
*/

:root {
  --gironafly-primary: #113b4b;
  --gironafly-dark: #272724;
  --gironafly-accent: #da8b4a;
  --gironafly-light: #dfe0df;
  --gironafly-white: #ffffff;
  --gf-mobile-header-top: 0px;
  --gf-mobile-header-offset: 0px;
  --gf-scroll-sticky-offset: 0px;
}

sup {
  font-size: 0.4em;
  line-height: 0;
  vertical-align: baseline;
  position: relative;
  top: -1em;
}

/* BASE TYPOGRAPHY */
body {
  font-size: clamp(15px, 1.2vw, 16px);
  line-height: 1.2em !important;
}

body #page-container .et_pb_text,
body #page-container .et_pb_text p,
body #page-container .et_pb_text li,
body #page-container .et_pb_text ul,
body #page-container .et_pb_text ol {
  line-height: 1.2em !important;
}

h1 {
  font-size: clamp(42px, 5vw, 70px);
  line-height: 1.1;
}

@media (max-width: 767px) {
  body #page-container h1 {
    font-size: clamp(45px, 12vw, 57px) !important;
    line-height: 1.08;
  }
}

h2 {
  font-size: clamp(24px, 2.2vw, 32px);
  line-height: 1.2;
}

body #page-container h2 {
  font-size: clamp(24px, 2.2vw, 32px) !important;
  line-height: 1.2;
}

h3 {
  font-size: clamp(18px, 1.8vw, 24px);
  line-height: 1.25;
}

body #page-container h3 {
  font-size: clamp(18px, 1.8vw, 24px) !important;
  line-height: 1.25;
}

body #page-container .gf-title-large h2,
body #page-container .gf-title-large h3 {
  font-size: clamp(36px, 6vw, 96px) !important;
  line-height: 1.05;
}

h4 {
  font-size: clamp(17px, 1.5vw, 21px);
  line-height: 1.3;
}

h5 {
  font-size: clamp(16px, 1.3vw, 18px);
  line-height: 1.35;
}

h6 {
  font-size: clamp(15px, 1.1vw, 16px);
  line-height: 1.4;
}

/* HEADER STYLES */
#main-header .logo_container img {
  transition: opacity 0.22s ease;
  will-change: opacity;
}

#main-header .logo_container img.gf-logo-is-fading {
  opacity: 0;
}

body.gf-home-header-enabled #main-header,
body.gf-home-header-enabled #main-header.et-fixed-header,
body.gf-home-header-enabled .et_fixed_nav #main-header,
body.gf-home-header-enabled .et_non_fixed_nav #main-header,
body.gf-home-header-enabled .et_non_fixed_nav.et_transparent_nav #main-header,
body.gf-home-header-enabled .et_secondary_nav_enabled #main-header {
  position: fixed !important;
  top: 0 !important;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 99999;
  transition: background-color 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

body.gf-home-header-enabled #main-header #et-top-navigation,
body.gf-home-header-enabled #main-header #top-menu-nav,
body.gf-home-header-enabled #main-header #et_mobile_nav_menu,
body.gf-home-header-enabled #main-header .mobile_menu_bar,
body.gf-home-header-enabled #main-header .et-cart-info,
body.gf-home-header-enabled #main-header #et_top_search {
  transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s ease;
}

body.gf-home-header-enabled #page-container,
body.gf-home-header-enabled #main-content,
body.gf-home-header-enabled #main-content .container,
body.gf-home-header-enabled.et_pb_pagebuilder_layout #main-content .container {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

body.gf-home-header-enabled.gf-home-header-top #main-header,
body.gf-home-header-enabled.gf-home-header-top #main-header.et-fixed-header,
body.gf-home-header-enabled.gf-home-header-top .et_fixed_nav #main-header,
body.gf-home-header-enabled.gf-home-header-top .et_non_fixed_nav #main-header,
body.gf-home-header-enabled.gf-home-header-top .et_non_fixed_nav.et_transparent_nav #main-header,
body.gf-home-header-enabled.gf-home-header-top .et_secondary_nav_enabled #main-header,
body.gf-home-header-enabled.gf-home-header-top #main-header .container.et_menu_container {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border-color: transparent !important;
}

body.gf-home-header-enabled.gf-home-header-top #main-header #et-top-navigation,
body.gf-home-header-enabled.gf-home-header-top #main-header #top-menu-nav,
body.gf-home-header-enabled.gf-home-header-top #main-header #et_mobile_nav_menu,
body.gf-home-header-enabled.gf-home-header-top #main-header .mobile_menu_bar,
body.gf-home-header-enabled.gf-home-header-top #main-header .et-cart-info,
body.gf-home-header-enabled.gf-home-header-top #main-header #et_top_search {
  opacity: 0;
  visibility: hidden;
  pointer-events: none !important;
  transform: translateY(-8px);
}

body.admin-bar.gf-home-header-enabled #main-header,
body.admin-bar.gf-home-header-enabled #main-header.et-fixed-header,
body.admin-bar.gf-home-header-enabled .et_fixed_nav #main-header,
body.admin-bar.gf-home-header-enabled .et_non_fixed_nav #main-header,
body.admin-bar.gf-home-header-enabled .et_non_fixed_nav.et_transparent_nav #main-header,
body.admin-bar.gf-home-header-enabled .et_secondary_nav_enabled #main-header {
  top: 32px !important;
}

@media (min-width: 981px) {
  #main-header {
    position: relative;
  }

  #main-header .container.et_menu_container {
    display: flex;
    align-items: center;
    position: static;
    width: 95% !important;
    max-width: none !important;
  }

  #main-header .logo_container {
    position: absolute !important;
    left: 50% !important;
    right: auto !important;
    top: 50%;
    transform: translate(-50%, -50%);
    margin: 0 !important;
    float: none;
    text-align: center;
    z-index: 5;
  }

  #main-header #et-top-navigation {
    width: 100%;
    float: none;
    padding-left: 0 !important;
    display: flex;
    align-items: center;
    position: relative;
    z-index: 20;
    pointer-events: none;
  }

  #main-header #top-menu > li,
  #main-header #top-menu > li *,
  #main-header #et_top_search,
  #main-header #et_top_search *,
  #main-header .et-cart-info,
  #main-header .et-cart-info *,
  #main-header .mobile_menu_bar,
  #main-header .mobile_menu_bar * {
    pointer-events: auto;
  }

  #main-header #top-menu-nav {
    width: 100%;
    position: relative;
    z-index: 20;
  }

  #main-header #top-menu {
    width: 100%;
    display: flex;
    align-items: center;
    position: relative;
    z-index: 20;
  }

  #main-header #top-menu > li {
    float: none;
    display: inline-flex;
    align-items: center;
  }

  #top-menu li {
    padding-right: 40px;
  }

  .wpml-ls-menu-item.menu-item-type-wpml_ls_menu_item {
    padding-right: 10px !important;
  }

  #main-header #top-menu > li:nth-child(3) {
    margin-right: auto;
  }

  #main-header #top-menu > li:nth-child(4) {
    margin-left: auto;
  }
}

@media (max-width: 980px) {
  body.gf-home-header-enabled {
    --gf-mobile-header-offset: 0px;
  }

  body.gf-home-header-enabled #page-container,
  body.gf-home-header-enabled.gf-mobile-fixed-header #page-container {
    padding-top: 0 !important;
  }

  body.admin-bar.gf-home-header-enabled #main-header,
  body.admin-bar.gf-home-header-enabled #main-header.et-fixed-header,
  body.admin-bar.gf-home-header-enabled .et_fixed_nav #main-header,
  body.admin-bar.gf-home-header-enabled .et_non_fixed_nav #main-header,
  body.admin-bar.gf-home-header-enabled .et_non_fixed_nav.et_transparent_nav #main-header,
  body.admin-bar.gf-home-header-enabled .et_secondary_nav_enabled #main-header {
    top: 46px !important;
  }

  html {
    scroll-padding-top: max(var(--gf-mobile-header-offset, 0px), var(--gf-scroll-sticky-offset, 0px));
  }

  body.gf-mobile-fixed-header #page-container {
    padding-top: var(--gf-mobile-header-offset, 0px);
  }

  .et_fixed_nav #main-header {
    position: fixed;
  }

  #main-header,
  #main-header.et-fixed-header,
  .et_fixed_nav #main-header,
  .et_non_fixed_nav #main-header,
  .et_non_fixed_nav.et_transparent_nav #main-header,
  .et_secondary_nav_enabled #main-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 99999;
    transform: none !important;
    -webkit-transform: none !important;
  }

  #main-header,
  #main-header.et-fixed-header,
  .et_fixed_nav #main-header,
  .et_non_fixed_nav #main-header,
  .et_non_fixed_nav.et_transparent_nav #main-header,
  .et_secondary_nav_enabled #main-header {
    position: fixed !important;
    top: 0 !important;
  }

  body.admin-bar #main-header,
  body.admin-bar #main-header.et-fixed-header,
  body.admin-bar .et_fixed_nav #main-header,
  body.admin-bar .et_non_fixed_nav #main-header,
  body.admin-bar .et_non_fixed_nav.et_transparent_nav #main-header,
  body.admin-bar .et_secondary_nav_enabled #main-header {
    top: 46px;
  }

  body.gf-home-header-enabled #main-header,
  body.gf-home-header-enabled #main-header.et-fixed-header,
  body.gf-home-header-enabled .et_fixed_nav #main-header,
  body.gf-home-header-enabled .et_non_fixed_nav #main-header,
  body.gf-home-header-enabled .et_non_fixed_nav.et_transparent_nav #main-header,
  body.gf-home-header-enabled .et_secondary_nav_enabled #main-header,
  #main-header,
  #main-header.et-fixed-header,
  .et_fixed_nav #main-header,
  .et_non_fixed_nav #main-header,
  .et_non_fixed_nav.et_transparent_nav #main-header,
  .et_secondary_nav_enabled #main-header {
    top: var(--gf-mobile-header-top, 0px) !important;
    z-index: 110001 !important;
  }

  body.gf-home-header-enabled #main-header,
  body.gf-home-header-enabled #main-header.et-fixed-header,
  body.gf-home-header-enabled .et_fixed_nav #main-header,
  body.gf-home-header-enabled .et_non_fixed_nav #main-header,
  body.gf-home-header-enabled .et_non_fixed_nav.et_transparent_nav #main-header,
  body.gf-home-header-enabled .et_secondary_nav_enabled #main-header,
  body.gf-home-header-enabled #main-header .container.et_menu_container,
  body.gf-home-header-enabled.gf-home-header-top #main-header,
  body.gf-home-header-enabled.gf-home-header-top #main-header.et-fixed-header,
  body.gf-home-header-enabled.gf-home-header-top .et_fixed_nav #main-header,
  body.gf-home-header-enabled.gf-home-header-top .et_non_fixed_nav #main-header,
  body.gf-home-header-enabled.gf-home-header-top .et_non_fixed_nav.et_transparent_nav #main-header,
  body.gf-home-header-enabled.gf-home-header-top .et_secondary_nav_enabled #main-header,
  body.gf-home-header-enabled.gf-home-header-top #main-header .container.et_menu_container {
    background: var(--gironafly-primary) !important;
    background-color: var(--gironafly-primary) !important;
    box-shadow: none !important;
    border-color: transparent !important;
  }

  body.gf-home-header-enabled #main-header,
  body.gf-home-header-enabled #main-header .container.et_menu_container,
  body.gf-home-header-enabled #main-header #et-top-navigation,
  body.gf-home-header-enabled #main-header #et_mobile_nav_menu,
  body.gf-home-header-enabled #main-header .mobile_nav,
  body.gf-home-header-enabled #main-header .mobile_menu_bar,
  body.gf-home-header-enabled #main-header .mobile_menu_bar:before,
  body.gf-home-header-enabled #main-header .logo_container,
  body.gf-home-header-enabled #main-header .logo_container img,
  body.gf-home-header-enabled #main-header .et_mobile_menu {
    transition: none !important;
    animation: none !important;
  }

  #main-header .container.et_menu_container {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px;
    width: 100% !important;
    max-width: none !important;
    min-height: 60px;
    padding: 0 20px;
  }

  #main-header .logo_container {
    position: static !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    float: none !important;
    flex: 1 1 auto;
    width: auto !important;
    max-width: calc(100% - 72px);
    height: auto !important;
    margin: 0 !important;
    transform: none !important;
    z-index: 2;
  }

  #main-header .logo_helper {
    display: none !important;
  }

  #main-header .logo_container a {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    line-height: 1;
  }

  #main-header #logo {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 32px;
    height: auto;
  }

  #main-header #et-top-navigation {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    float: none !important;
    width: auto !important;
    margin-left: auto !important;
    padding: 0 !important;
  }

  #main-header #top-menu-nav {
    display: none !important;
  }

  #main-header #et_mobile_nav_menu {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
  }

  body.gf-home-header-enabled.gf-home-header-top #main-header #et-top-navigation,
  body.gf-home-header-enabled.gf-home-header-top #main-header #et_mobile_nav_menu,
  body.gf-home-header-enabled.gf-home-header-top #main-header .mobile_menu_bar,
  body.gf-home-header-enabled.gf-home-header-top #main-header #et_top_search {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
  }

  #main-header .mobile_nav {
    position: static !important;
    display: flex;
    align-items: center;
  }

  #main-header {
    --gf-mobile-menu-top: max(var(--gf-mobile-header-offset, 0px), calc(var(--gf-mobile-header-top, 0px) + 60px));
  }

  #main-header .mobile_nav .select_page {
    display: none !important;
  }

  #main-header .mobile_menu_bar {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 !important;
    line-height: 1;
  }

  #main-header .mobile_menu_bar:before {
    font-size: 34px;
    line-height: 1;
  }

  .et_mobile_menu li a {
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
    color: var(--gironafly-white);
    padding: 14px 0;
    display: block;
    font-size: clamp(22px, 7vw, 30px);
    font-weight: normal;
    line-height: 1.1;
  }

  .et_mobile_menu li.menu-item.menu-item-type-post_type.menu-item-object-page {
    padding: 0 !important;
  }

  #main-header .et_mobile_menu {
    position: fixed !important;
    top: var(--gf-mobile-menu-top) !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    display: none;
    width: 100% !important;
    max-width: none !important;
    height: calc(100dvh - var(--gf-mobile-menu-top)) !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 12px 24px 32px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    background: var(--gironafly-primary) !important;
    border-top: 0 !important;
    box-shadow: none !important;
    transform: none !important;
    z-index: 110000 !important;
    -webkit-overflow-scrolling: touch;
  }

  #main-header .mobile_nav.opened .et_mobile_menu {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  body.gf-mobile-menu-open {
    overflow: hidden;
  }
}

@media (min-width: 783px) and (max-width: 980px) {
  body.admin-bar #main-header,
  body.admin-bar #main-header.et-fixed-header,
  body.admin-bar .et_fixed_nav #main-header,
  body.admin-bar .et_non_fixed_nav #main-header,
  body.admin-bar .et_non_fixed_nav.et_transparent_nav #main-header,
  body.admin-bar .et_secondary_nav_enabled #main-header {
    top: 32px;
  }
}

/* BUTTON STYLES */
body #page-container .et_pb_section a.et_pb_button.gf-btn-brackets,
body #page-container .et_pb_section a.et_pb_button.gf-btn-brackets:hover,
body #page-container .et_pb_section a.et_pb_button.gf-btn-brackets:focus,
body #page-container .et_pb_section a.et_pb_button.gf-btn-brackets:active,
body #page-container .et_pb_section .et_pb_contact button.et_pb_contact_submit,
body #page-container .et_pb_section .et_pb_contact button.et_pb_contact_submit:hover,
body #page-container .et_pb_section .et_pb_contact button.et_pb_contact_submit:focus,
body #page-container .et_pb_section .et_pb_contact button.et_pb_contact_submit:active,
body #page-container .et_pb_section .et_pb_contact input.et_pb_contact_submit,
body #page-container .et_pb_section .et_pb_contact input.et_pb_contact_submit:hover,
body #page-container .et_pb_section .et_pb_contact input.et_pb_contact_submit:focus,
body #page-container .et_pb_section .et_pb_contact input.et_pb_contact_submit:active {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: visible !important;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  color: var(--gironafly-accent) !important;
  text-transform: uppercase;
  padding-left: 28px !important;
  padding-right: 28px !important;
}

body #page-container .et_pb_section .et_pb_contact button.et_pb_contact_submit,
body #page-container .et_pb_section .et_pb_contact input.et_pb_contact_submit {
  margin-top: 20px;
}

body #page-container .et_pb_section a.et_pb_button.gf-btn-brackets::before,
body #page-container .et_pb_section a.et_pb_button.gf-btn-brackets::after,
body #page-container .et_pb_section a.et_pb_button.gf-btn-brackets:hover::before,
body #page-container .et_pb_section a.et_pb_button.gf-btn-brackets:hover::after,
body #page-container .et_pb_section a.et_pb_button.gf-btn-brackets:focus::before,
body #page-container .et_pb_section a.et_pb_button.gf-btn-brackets:focus::after,
body #page-container .et_pb_section a.et_pb_button.gf-btn-brackets:active::before,
body #page-container .et_pb_section a.et_pb_button.gf-btn-brackets:active::after,
body #page-container .et_pb_section .et_pb_contact button.et_pb_contact_submit::before,
body #page-container .et_pb_section .et_pb_contact button.et_pb_contact_submit::after,
body #page-container .et_pb_section .et_pb_contact button.et_pb_contact_submit:hover::before,
body #page-container .et_pb_section .et_pb_contact button.et_pb_contact_submit:hover::after,
body #page-container .et_pb_section .et_pb_contact button.et_pb_contact_submit:focus::before,
body #page-container .et_pb_section .et_pb_contact button.et_pb_contact_submit:focus::after,
body #page-container .et_pb_section .et_pb_contact button.et_pb_contact_submit:active::before,
body #page-container .et_pb_section .et_pb_contact button.et_pb_contact_submit:active::after {
  content: "" !important;
  position: absolute;
  top: 50%;
  width: 11px;
  height: 58px;
  transform: translateY(-50%);
  pointer-events: none;
  display: block !important;
  opacity: 1 !important;
  margin: 0 !important;
  transition: none !important;
}

body #page-container .et_pb_section a.et_pb_button.gf-btn-brackets::before,
body #page-container .et_pb_section a.et_pb_button.gf-btn-brackets:hover::before,
body #page-container .et_pb_section a.et_pb_button.gf-btn-brackets:focus::before,
body #page-container .et_pb_section a.et_pb_button.gf-btn-brackets:active::before,
body #page-container .et_pb_section .et_pb_contact button.et_pb_contact_submit::before,
body #page-container .et_pb_section .et_pb_contact button.et_pb_contact_submit:hover::before,
body #page-container .et_pb_section .et_pb_contact button.et_pb_contact_submit:focus::before,
body #page-container .et_pb_section .et_pb_contact button.et_pb_contact_submit:active::before {
  left: 0;
  border-left: 2px solid var(--gironafly-accent);
  border-top: 2px solid var(--gironafly-accent);
  border-bottom: 2px solid var(--gironafly-accent);
  border-radius: 7px 0 0 7px;
}

body #page-container .et_pb_section a.et_pb_button.gf-btn-brackets::after,
body #page-container .et_pb_section a.et_pb_button.gf-btn-brackets:hover::after,
body #page-container .et_pb_section a.et_pb_button.gf-btn-brackets:focus::after,
body #page-container .et_pb_section a.et_pb_button.gf-btn-brackets:active::after,
body #page-container .et_pb_section .et_pb_contact button.et_pb_contact_submit::after,
body #page-container .et_pb_section .et_pb_contact button.et_pb_contact_submit:hover::after,
body #page-container .et_pb_section .et_pb_contact button.et_pb_contact_submit:focus::after,
body #page-container .et_pb_section .et_pb_contact button.et_pb_contact_submit:active::after {
  right: 0;
  border-right: 2px solid var(--gironafly-accent);
  border-top: 2px solid var(--gironafly-accent);
  border-bottom: 2px solid var(--gironafly-accent);
  border-radius: 0 7px 7px 0;
}

@media (max-width: 980px) {
  body #page-container .et_pb_section a.et_pb_button.gf-btn-brackets,
  body #page-container .et_pb_section a.et_pb_button.gf-btn-brackets:hover,
  body #page-container .et_pb_section a.et_pb_button.gf-btn-brackets:focus,
  body #page-container .et_pb_section a.et_pb_button.gf-btn-brackets:active,
  body #page-container .et_pb_section .et_pb_contact button.et_pb_contact_submit,
  body #page-container .et_pb_section .et_pb_contact button.et_pb_contact_submit:hover,
  body #page-container .et_pb_section .et_pb_contact button.et_pb_contact_submit:focus,
  body #page-container .et_pb_section .et_pb_contact button.et_pb_contact_submit:active,
  body #page-container .et_pb_section .et_pb_contact input.et_pb_contact_submit,
  body #page-container .et_pb_section .et_pb_contact input.et_pb_contact_submit:hover,
  body #page-container .et_pb_section .et_pb_contact input.et_pb_contact_submit:focus,
  body #page-container .et_pb_section .et_pb_contact input.et_pb_contact_submit:active {
    padding-left: 22px !important;
    padding-right: 22px !important;
  }

  body #page-container .et_pb_section a.et_pb_button.gf-btn-brackets::before,
  body #page-container .et_pb_section a.et_pb_button.gf-btn-brackets::after,
  body #page-container .et_pb_section a.et_pb_button.gf-btn-brackets:hover::before,
  body #page-container .et_pb_section a.et_pb_button.gf-btn-brackets:hover::after,
  body #page-container .et_pb_section a.et_pb_button.gf-btn-brackets:focus::before,
  body #page-container .et_pb_section a.et_pb_button.gf-btn-brackets:focus::after,
  body #page-container .et_pb_section a.et_pb_button.gf-btn-brackets:active::before,
  body #page-container .et_pb_section a.et_pb_button.gf-btn-brackets:active::after,
  body #page-container .et_pb_section .et_pb_contact button.et_pb_contact_submit::before,
  body #page-container .et_pb_section .et_pb_contact button.et_pb_contact_submit::after,
  body #page-container .et_pb_section .et_pb_contact button.et_pb_contact_submit:hover::before,
  body #page-container .et_pb_section .et_pb_contact button.et_pb_contact_submit:hover::after,
  body #page-container .et_pb_section .et_pb_contact button.et_pb_contact_submit:focus::before,
  body #page-container .et_pb_section .et_pb_contact button.et_pb_contact_submit:focus::after,
  body #page-container .et_pb_section .et_pb_contact button.et_pb_contact_submit:active::before,
  body #page-container .et_pb_section .et_pb_contact button.et_pb_contact_submit:active::after {
    width: 10px;
    height: 50px;
  }
}

/* SPLIT BACKGROUND (for modules with class `gf-bg-right-split`) */
.gf-bg-right-split {
  position: relative;
  overflow: hidden;
  min-height: 112px;
}

.gf-bg-right-split .et_pb_text_inner,
.gf-bg-right-split .et_pb_module_inner {
  position: relative;
  z-index: 2;
}

.gf-bg-right-group {
  --gf-right-preview-width: clamp(220px, 32vw, 560px);
  --gf-right-preview-left-margin: 0%;
  --gf-right-preview-gap: 10px;
  --gf-right-anchor-max-width: 46%;
  position: relative;
  overflow: visible;
}

.gf-bg-right-group .gf-bg-right-preview {
  position: absolute;
  top: 0;
  right: 0;
  width: var(--gf-right-preview-width);
  max-width: 100%;
  border-radius: 27px 0 0 27px;
  overflow: hidden;
  box-sizing: border-box;
  background-color: transparent !important;
  background-image: none;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  opacity: 0;
  visibility: hidden;
  transition: top 0.22s ease;
  pointer-events: none;
  z-index: 30;
}

.gf-bg-right-group .gf-bg-right-preview.is-visible {
  opacity: 1;
  visibility: visible;
}

.gf-bg-right-group .gf-bg-right-preview img {
  display: none;
}

@media (min-width: 981px) {
  .gf-bg-right-group .gf-bg-right-anchor-column {
    width: auto !important;
    max-width: var(--gf-right-anchor-max-width) !important;
  }

  .gf-bg-right-group {
    --gf-right-preview-gap: 32px;
    --gf-right-anchor-max-width: 41%;
  }

  .gf-bg-right-group .gf-bg-right-anchor-column .gf-bg-right-split .et_pb_text_inner,
  .gf-bg-right-group .gf-bg-right-anchor-column .gf-bg-right-split .et_pb_module_inner {
    font-size: clamp(68px, 4.5vw, 82px) !important;
    line-height: 1.08em !important;
  }
}

@media (max-width: 980px) {
  .gf-bg-right-split {
    padding-right: 0 !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
  }

  .gf-bg-right-group {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
  }

  .gf-bg-right-group .gf-bg-right-anchor-column {
    width: 100% !important;
    max-width: none !important;
  }

  .gf-bg-right-group .gf-bg-right-preview {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    display: block !important;
    order: 99;
    flex: 0 0 100%;
    width: 100% !important;
    max-width: none !important;
    min-height: clamp(220px, 58vw, 360px);
    margin-top: 24px;
    border-radius: 24px;
    aspect-ratio: 16 / 10;
  }
}

/* SECTORS SECTION */
.sectors {
  --gf-sectors-collapsed-height: clamp(150px, 14vw, 190px);
  --gf-sectors-expanded-height: 50vh;
  --gf-sectors-section-collapsed-height: auto;
  --gf-sectors-section-expanded-height: 50vh;
  --gf-sectors-expand-duration: 0.9s;
  --gf-sectors-expand-easing: cubic-bezier(0.65, 0, 0.35, 1);
  --gf-sectors-hover-text-color: #ffffff;
  --gf-sectors-hover-heading-color: var(--gf-sectors-hover-text-color);
  --gf-sectors-hover-body-color: var(--gf-sectors-hover-text-color);
}

.sectors.gf-sectors-panel {
  position: relative;
  overflow: hidden;
  height: var(--gf-sectors-section-collapsed-height, auto);
  min-height: var(--gf-sectors-section-collapsed-height, auto);
  max-height: var(--gf-sectors-section-collapsed-height, none);
  transition-property: height, min-height, max-height, background-color, color !important;
  transition-duration: var(--gf-sectors-expand-duration), var(--gf-sectors-expand-duration), var(--gf-sectors-expand-duration), 0.24s, 0.24s !important;
  transition-timing-function: var(--gf-sectors-expand-easing), var(--gf-sectors-expand-easing), var(--gf-sectors-expand-easing), ease, ease !important;
  transition-delay: 0s, 0s, 0s, 0s, 0s !important;
  will-change: height, min-height, max-height;
}

.sectors.gf-sectors-panel > .et_pb_row {
  position: relative;
  z-index: 1;
}

.sectors.gf-sectors-panel .et_pb_text_inner,
.sectors.gf-sectors-panel .et_pb_text_inner * {
  transition: color 0.24s ease, opacity 0.24s ease !important;
  opacity: 1 !important;
}

.sectors .gf-sector-card {
  position: relative;
  display: flex;
  align-items: flex-end;
  height: var(--gf-sectors-collapsed-height) !important;
  min-height: var(--gf-sectors-collapsed-height) !important;
  max-height: var(--gf-sectors-collapsed-height);
  overflow: hidden;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  cursor: pointer;
  transition-property: height, min-height, max-height, background-position, color, opacity !important;
  transition-duration: var(--gf-sectors-expand-duration), var(--gf-sectors-expand-duration), var(--gf-sectors-expand-duration), var(--gf-sectors-expand-duration), 0.24s, 0.24s !important;
  transition-timing-function: var(--gf-sectors-expand-easing), var(--gf-sectors-expand-easing), var(--gf-sectors-expand-easing), var(--gf-sectors-expand-easing), ease, ease !important;
  transition-delay: 0s, 0s, 0s, 0s, 0s, 0s !important;
  will-change: height, min-height, max-height;
}

.sectors .gf-sector-card .et_pb_text_inner,
.sectors .gf-sector-card .et_pb_text_inner * {
  opacity: 1 !important;
  transition: opacity 0.24s ease, color 0.24s ease !important;
}

@media (min-width: 981px) and (hover: hover) and (pointer: fine) {
  .sectors.gf-sectors-panel:hover,
  .sectors.gf-sectors-panel.is-hovered,
  .sectors.gf-sectors-panel:focus-within,
  .sectors.gf-sectors-panel.is-active {
    height: var(--gf-sectors-section-expanded-height, var(--gf-sectors-expanded-height));
    min-height: var(--gf-sectors-section-expanded-height, var(--gf-sectors-expanded-height));
    max-height: var(--gf-sectors-section-expanded-height, var(--gf-sectors-expanded-height));
  }

  .sectors.gf-sectors-panel:hover .et_pb_text_inner,
  .sectors.gf-sectors-panel:hover .et_pb_text_inner *,
  .sectors.gf-sectors-panel.is-hovered .et_pb_text_inner,
  .sectors.gf-sectors-panel.is-hovered .et_pb_text_inner *,
  .sectors.gf-sectors-panel:focus-within .et_pb_text_inner,
  .sectors.gf-sectors-panel:focus-within .et_pb_text_inner *,
  .sectors.gf-sectors-panel.is-active .et_pb_text_inner,
  .sectors.gf-sectors-panel.is-active .et_pb_text_inner * {
    opacity: 1 !important;
  }

  .sectors.gf-sectors-panel:hover,
  .sectors.gf-sectors-panel:hover *,
  .sectors.gf-sectors-panel.is-hovered,
  .sectors.gf-sectors-panel.is-hovered *,
  .sectors.gf-sectors-panel:focus-within,
  .sectors.gf-sectors-panel:focus-within *,
  .sectors.gf-sectors-panel.is-active,
  .sectors.gf-sectors-panel.is-active * {
    color: var(--gf-sectors-hover-text-color) !important;
  }

  .sectors.gf-sectors-panel:hover .et_pb_text_1_tb_footer .et_pb_text_inner h2,
  .sectors.gf-sectors-panel.is-hovered .et_pb_text_1_tb_footer .et_pb_text_inner h2,
  .sectors.gf-sectors-panel:focus-within .et_pb_text_1_tb_footer .et_pb_text_inner h2,
  .sectors.gf-sectors-panel.is-active .et_pb_text_1_tb_footer .et_pb_text_inner h2 {
    color: var(--gf-sectors-hover-heading-color) !important;
  }

  .sectors.gf-sectors-panel:hover .et_pb_text_2_tb_footer .et_pb_text_inner,
  .sectors.gf-sectors-panel:hover .et_pb_text_2_tb_footer .et_pb_text_inner *,
  .sectors.gf-sectors-panel.is-hovered .et_pb_text_2_tb_footer .et_pb_text_inner,
  .sectors.gf-sectors-panel.is-hovered .et_pb_text_2_tb_footer .et_pb_text_inner *,
  .sectors.gf-sectors-panel:focus-within .et_pb_text_2_tb_footer .et_pb_text_inner,
  .sectors.gf-sectors-panel:focus-within .et_pb_text_2_tb_footer .et_pb_text_inner *,
  .sectors.gf-sectors-panel.is-active .et_pb_text_2_tb_footer .et_pb_text_inner,
  .sectors.gf-sectors-panel.is-active .et_pb_text_2_tb_footer .et_pb_text_inner * {
    color: var(--gf-sectors-hover-body-color) !important;
  }

  .sectors .gf-sector-card:hover,
  .sectors .gf-sector-card.is-hovered,
  .sectors .gf-sector-card:focus,
  .sectors .gf-sector-card:focus-within,
  .sectors .gf-sector-card.is-active {
    height: var(--gf-sectors-expanded-height) !important;
    min-height: var(--gf-sectors-expanded-height) !important;
    max-height: var(--gf-sectors-expanded-height);
  }

  .sectors .gf-sector-card:hover .et_pb_text_inner,
  .sectors .gf-sector-card:hover .et_pb_text_inner *,
  .sectors .gf-sector-card.is-hovered .et_pb_text_inner,
  .sectors .gf-sector-card.is-hovered .et_pb_text_inner *,
  .sectors .gf-sector-card:focus .et_pb_text_inner,
  .sectors .gf-sector-card:focus .et_pb_text_inner *,
  .sectors .gf-sector-card:focus-within .et_pb_text_inner,
  .sectors .gf-sector-card:focus-within .et_pb_text_inner *,
  .sectors .gf-sector-card.is-active .et_pb_text_inner,
  .sectors .gf-sector-card.is-active .et_pb_text_inner * {
    color: var(--gf-sectors-hover-body-color) !important;
  }

  .sectors .gf-sector-card:hover,
  .sectors .gf-sector-card:hover *,
  .sectors .gf-sector-card.is-hovered,
  .sectors .gf-sector-card.is-hovered *,
  .sectors .gf-sector-card:focus,
  .sectors .gf-sector-card:focus *,
  .sectors .gf-sector-card:focus-within,
  .sectors .gf-sector-card:focus-within *,
  .sectors .gf-sector-card.is-active,
	  .sectors .gf-sector-card.is-active * {
	    color: var(--gf-sectors-hover-text-color) !important;
	  }
	}

.page-id-23 .et-l--post > .et_builder_inner_content .et_pb_section.et_pb_section_28:hover,
.page-id-23 .et-l--post > .et_builder_inner_content .et_pb_section.et_pb_section_29:hover,
.page-id-23 .et-l--post > .et_builder_inner_content .et_pb_section.et_pb_section_30:hover,
.page-id-23 .et-l--post > .et_builder_inner_content .et_pb_section.et_pb_section_31:hover,
.page-id-23 .et-l--post > .et_builder_inner_content .et_pb_section.et_pb_section_32:hover,
.page-id-23 .et-l--post > .et_builder_inner_content .et_pb_section.et_pb_section_33:hover {
  background-color: rgba(38, 38, 36, 0.5) !important;
  background-color: color(srgb 0.15 0.15 0.14 / 0.5) !important;
}

@media (max-width: 980px), (hover: none) {
	  .sectors {
	    --gf-sectors-collapsed-height: clamp(120px, 22vw, 160px);
  }

  .et_pb_section.sectors:not(.is-active):hover,
  .et_pb_section.sectors:not(.is-active).is-hovered,
  .et_pb_section.sectors:not(.is-active):focus-within {
    height: var(--gf-sectors-section-collapsed-height, auto) !important;
    min-height: var(--gf-sectors-section-collapsed-height, auto) !important;
    max-height: var(--gf-sectors-section-collapsed-height, none) !important;
  }

  .et-l--post > .et_builder_inner_content .et_pb_section.et_pb_section_28,
  .et-l--post > .et_builder_inner_content .et_pb_section.et_pb_section_29,
  .et-l--post > .et_builder_inner_content .et_pb_section.et_pb_section_30,
  .et-l--post > .et_builder_inner_content .et_pb_section.et_pb_section_31,
  .et-l--post > .et_builder_inner_content .et_pb_section.et_pb_section_32,
	  .et-l--post > .et_builder_inner_content .et_pb_section.et_pb_section_33 {
	    background-repeat: no-repeat !important;
	    background-position: center center !important;
	    background-size: cover !important;
	    background-blend-mode: color !important;
	    background-color: hsl(from var(--gcid-5w3redm6hd) calc(h + 0) calc(s + 0) calc(l + 0) / 0.3) !important;
	  }

	  .et-l--post > .et_builder_inner_content .et_pb_section.et_pb_section_28 {
	    background-image: url('/wp-content/uploads/2026/03/gironafly-01-corporatiu-1.webp') !important;
	  }

  .et-l--post > .et_builder_inner_content .et_pb_section.et_pb_section_29 {
    background-image: url('/wp-content/uploads/2026/03/gironafly-02-construccio-1.webp') !important;
  }

  .et-l--post > .et_builder_inner_content .et_pb_section.et_pb_section_30 {
    background-image: url('/wp-content/uploads/2026/03/gironafly-03-publicitat-1.webp') !important;
  }

  .et-l--post > .et_builder_inner_content .et_pb_section.et_pb_section_31 {
    background-image: url('/wp-content/uploads/2026/03/gironafly-04-turisme-1.webp') !important;
  }

  .et-l--post > .et_builder_inner_content .et_pb_section.et_pb_section_32 {
    background-image: url('/wp-content/uploads/2026/03/gironafly-05-esports-1.webp') !important;
  }

  .et-l--post > .et_builder_inner_content .et_pb_section.et_pb_section_33 {
    background-image: url('/wp-content/uploads/2026/03/gironafly-06-real-state-1.webp') !important;
  }

  .sectors.gf-sectors-panel,
  .sectors.gf-sectors-panel *,
  .sectors .gf-sector-card,
  .sectors .gf-sector-card * {
    color: var(--gf-sectors-hover-text-color) !important;
  }

  .sectors:not(.is-active):hover,
  .sectors:not(.is-active).is-hovered,
  .sectors:not(.is-active):focus-within {
    color: var(--gf-sectors-hover-text-color) !important;
  }

  .sectors:not(.is-active):hover *,
  .sectors:not(.is-active).is-hovered *,
  .sectors:not(.is-active):focus-within * {
    color: var(--gf-sectors-hover-text-color) !important;
  }

  .sectors.gf-sectors-panel {
    height: var(--gf-sectors-section-collapsed-height, auto);
    min-height: var(--gf-sectors-section-collapsed-height, auto);
    max-height: var(--gf-sectors-section-collapsed-height, none);
  }

  .sectors.gf-sectors-panel.is-active {
    height: var(--gf-sectors-section-expanded-height, var(--gf-sectors-expanded-height));
    min-height: var(--gf-sectors-section-expanded-height, var(--gf-sectors-expanded-height));
    max-height: var(--gf-sectors-section-expanded-height, var(--gf-sectors-expanded-height));
  }

  .sectors.gf-sectors-panel.is-active .et_pb_text_inner,
  .sectors.gf-sectors-panel.is-active .et_pb_text_inner * {
    opacity: 1 !important;
  }

  .sectors.gf-sectors-panel.is-active,
  .sectors.gf-sectors-panel.is-active * {
    color: var(--gf-sectors-hover-text-color) !important;
  }

  .sectors.gf-sectors-panel.is-active .et_pb_text_1_tb_footer .et_pb_text_inner h2 {
    color: var(--gf-sectors-hover-heading-color) !important;
  }

  .sectors.gf-sectors-panel.is-active .et_pb_text_2_tb_footer .et_pb_text_inner,
  .sectors.gf-sectors-panel.is-active .et_pb_text_2_tb_footer .et_pb_text_inner * {
    color: var(--gf-sectors-hover-body-color) !important;
  }

  .sectors .gf-sector-card {
    height: var(--gf-sectors-collapsed-height) !important;
    min-height: var(--gf-sectors-collapsed-height) !important;
    max-height: var(--gf-sectors-collapsed-height);
    cursor: pointer;
  }

  .sectors .gf-sector-card:not(.is-active):hover,
  .sectors .gf-sector-card:not(.is-active).is-hovered,
  .sectors .gf-sector-card:not(.is-active):focus,
  .sectors .gf-sector-card:not(.is-active):focus-within {
    height: var(--gf-sectors-collapsed-height) !important;
    min-height: var(--gf-sectors-collapsed-height) !important;
    max-height: var(--gf-sectors-collapsed-height) !important;
  }

  .sectors .gf-sector-card:not(.is-active):hover .et_pb_text_inner,
  .sectors .gf-sector-card:not(.is-active):hover .et_pb_text_inner *,
  .sectors .gf-sector-card:not(.is-active).is-hovered .et_pb_text_inner,
  .sectors .gf-sector-card:not(.is-active).is-hovered .et_pb_text_inner *,
  .sectors .gf-sector-card:not(.is-active):focus .et_pb_text_inner,
  .sectors .gf-sector-card:not(.is-active):focus .et_pb_text_inner *,
  .sectors .gf-sector-card:not(.is-active):focus-within .et_pb_text_inner,
  .sectors .gf-sector-card:not(.is-active):focus-within .et_pb_text_inner * {
    color: var(--gf-sectors-hover-text-color) !important;
  }

  .sectors .gf-sector-card.is-active {
    height: var(--gf-sectors-expanded-height) !important;
    min-height: var(--gf-sectors-expanded-height) !important;
    max-height: var(--gf-sectors-expanded-height);
  }

  .sectors .gf-sector-card.is-active .et_pb_text_inner,
  .sectors .gf-sector-card.is-active .et_pb_text_inner * {
    color: var(--gf-sectors-hover-body-color) !important;
  }

  .sectors .gf-sector-card.is-active {
    color: var(--gf-sectors-hover-text-color) !important;
  }

  .sectors .gf-sector-card.is-active * {
    color: var(--gf-sectors-hover-text-color) !important;
  }

  .sectors.gf-sectors-panel .et_pb_text_inner,
  .sectors.gf-sectors-panel .et_pb_text_inner *,
  .sectors .gf-sector-card .et_pb_text_inner,
  .sectors .gf-sector-card .et_pb_text_inner * {
    opacity: 1 !important;
  }

  .sectors .et_pb_text_inner:hover,
  .sectors .et_pb_text_inner:hover *,
  .sectors .et_pb_text_inner h1:hover,
  .sectors .et_pb_text_inner h2:hover,
  .sectors .et_pb_text_inner h3:hover,
  .sectors .et_pb_text_inner h4:hover,
  .sectors .et_pb_text_inner h5:hover,
  .sectors .et_pb_text_inner h6:hover {
    color: inherit !important;
  }
}

/* FOLDER CAROUSEL */
.gf-folder-carousel {
  --gf-folder-slide-width: min(60vw, 1240px);
  --gf-folder-mobile-inline-padding: 16px;
  position: relative;
  width: 100%;
  max-width: 100%;
  left: auto;
  margin-left: 0;
  margin-right: 0;
  box-sizing: border-box;
}

.gf-folder-carousel .swiper {
  overflow: hidden;
  padding-left: max(0px, calc((100% - var(--gf-folder-slide-width)) / 2));
  padding-right: max(0px, calc((100% - var(--gf-folder-slide-width)) / 2));
  box-sizing: border-box;
}

.gf-folder-carousel .swiper-wrapper {
  display: flex;
  align-items: center;
  width: max-content;
  will-change: transform;
}

.gf-folder-carousel .swiper-slide {
  width: var(--gf-folder-slide-width);
  flex-shrink: 0;
  aspect-ratio: 16 / 9;
  border-radius: 16px;
  overflow: hidden;
}

.gf-folder-carousel .swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gf-carousel-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  width: 100%;
  margin-top: 15px;
  margin-bottom: 30px;
}

.gf-carousel-pagination[hidden] {
  display: none;
}

.gf-carousel-pagination__bullet {
  width: 9px;
  height: 9px;
  padding: 0;
  border: 1px solid var(--gironafly-accent);
  border-radius: 50%;
  background: transparent;
  appearance: none;
  cursor: pointer;
  opacity: 0.55;
  transition: background-color 180ms ease, opacity 180ms ease, transform 180ms ease;
  -webkit-tap-highlight-color: transparent;
}

.gf-carousel-pagination__bullet:hover,
.gf-carousel-pagination__bullet:focus-visible,
.gf-carousel-pagination__bullet.is-active {
  background: var(--gironafly-accent);
  opacity: 1;
}

.gf-carousel-pagination__bullet.is-active {
  transform: scale(1.28);
}

.gf-folder-carousel__controls {
  margin-top: 24px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 20px;
}

.gf-folder-carousel__controls-side {
  display: flex;
}

.gf-folder-carousel__controls-left {
  justify-content: flex-start;
}

.gf-folder-carousel__controls-right {
  justify-content: flex-end;
}

.gf-folder-carousel__controls-center {
  display: flex;
  justify-content: center;
}

.gf-folder-carousel__projects-btn.et_pb_button {
  margin: 0 !important;
}

.gf-folder-carousel__projects-btn.et_pb_button,
.gf-folder-carousel__projects-btn.et_pb_button:hover,
.gf-folder-carousel__projects-btn.et_pb_button:focus,
.gf-folder-carousel__projects-btn.et_pb_button:focus-visible,
.gf-folder-carousel__projects-btn.et_pb_button:active,
.gf-folder-carousel__arrow,
.gf-folder-carousel__arrow:hover,
.gf-folder-carousel__arrow:focus,
.gf-folder-carousel__arrow:focus-visible,
.gf-folder-carousel__arrow:active {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  color: var(--gironafly-accent) !important;
  text-decoration: none !important;
  transform: none !important;
  transition: none !important;
  -webkit-tap-highlight-color: transparent;
}

.gf-folder-carousel__projects-btn.et_pb_button::after,
.gf-folder-carousel__projects-btn.et_pb_button:hover::after,
.gf-folder-carousel__projects-btn.et_pb_button:focus::after,
.gf-folder-carousel__projects-btn.et_pb_button:focus-visible::after,
.gf-folder-carousel__projects-btn.et_pb_button:active::after {
  display: none !important;
}

.gf-folder-carousel__arrow {
  width: 44px;
  height: 44px;
  border: 2px solid var(--gironafly-accent);
  color: var(--gironafly-accent);
  background: transparent;
  appearance: none;
  border-radius: 8px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  line-height: 1;
}

.gf-folder-carousel__prev {
  margin-left: 48px;
}

.gf-folder-carousel__next {
  margin-right: 48px;
}

@media (max-width: 980px) {
  .gf-folder-carousel .swiper {
    padding-left: var(--gf-folder-mobile-inline-padding);
    padding-right: var(--gf-folder-mobile-inline-padding);
  }
  .gf-folder-carousel .swiper-slide {
    width: calc(100% - (var(--gf-folder-mobile-inline-padding) * 2));
    max-width: calc(100vw - (var(--gf-folder-mobile-inline-padding) * 2));
    aspect-ratio: 4 / 3;
  }

  .gf-folder-carousel__controls {
    margin-top: 22px;
    gap: 12px;
  }

  .gf-carousel-pagination {
    gap: 8px;
  }

  .gf-folder-carousel__arrow {
    width: 38px;
    height: 38px;
    font-size: 18px;
  }

  .gf-folder-carousel__prev {
    margin-left: 16px;
  }

  .gf-folder-carousel__next {
    margin-right: 16px;
  }
}

/* LOGO CAROUSEL */
.gf-logo-carousel {
  --gf-logo-gap: 24px;
  position: relative;
  width: 100%;
  height: 35vh;
}

.gf-logo-carousel .swiper {
  overflow: hidden;
  height: 100%;
}

.gf-logo-carousel .swiper-wrapper {
  align-items: stretch;
  height: 100%;
}

.gf-logo-carousel[data-marquee="1"] .swiper-wrapper {
  transition-timing-function: linear !important;
}

.gf-logo-carousel .swiper-slide {
  display: flex;
  height: 100%;
  position: relative;
}

.gf-logo-carousel .swiper-slide.swiper-slide-visible:has(+ .swiper-slide-visible)::after {
  content: "";
  position: absolute;
  top: 10%;
  right: calc(var(--gf-logo-gap) / -2);
  width: 1px;
  height: 80%;
  background: #dfe0df;
  pointer-events: none;
}

.gf-logo-carousel__item {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 18px 22px;
  box-sizing: border-box;
}

.gf-logo-carousel__item img {
  display: block;
  width: 40%;
  max-width: 100%;
  height: auto;
  object-fit: contain;
  object-position: center;
  user-select: none;
  -webkit-user-drag: none;
}

@media (max-width: 980px) {
  .gf-logo-carousel {
    --gf-logo-gap: 24px;
    height: 24vh;
  }

  .gf-logo-carousel .swiper-slide::after {
    display: none !important;
  }

  .gf-logo-carousel__item {
    padding: 12px 10px;
  }
}

/* FEATURED PROJECTS CAROUSEL */
.gf-featured-projects-carousel {
  width: 100%;
}

.gf-featured-projects-carousel .swiper {
  overflow: hidden;
}

.gf-featured-projects-carousel .swiper-wrapper {
  align-items: stretch;
  transition-timing-function: linear !important;
}

.gf-featured-projects-carousel .swiper-slide {
  height: auto;
}

.gf-featured-projects-carousel__card {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 22px;
  overflow: hidden;
  background: var(--gironafly-light);
  text-decoration: none;
  box-shadow: none !important;
  transform: none !important;
  -webkit-tap-highlight-color: transparent;
}

.gf-featured-projects-carousel__media,
.gf-featured-projects-carousel__media img {
  display: block;
  width: 100%;
  height: 100%;
}

.gf-featured-projects-carousel__media img {
  object-fit: cover;
  transform: none !important;
  transition: none !important;
}

.gf-featured-projects-carousel__overlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 12px;
  padding: 44px 36px;
  background: linear-gradient(180deg, rgba(39, 39, 36, 0.52) 0%, rgba(39, 39, 36, 0.58) 100%);
  color: var(--gironafly-white);
  opacity: 0;
  transition: none !important;
  pointer-events: none;
}

.gf-featured-projects-carousel__title {
  display: block;
  font-size: clamp(24px, 2.8vw, 54px);
  font-weight: 400;
  line-height: 1.04;
  text-transform: uppercase;
}

.gf-featured-projects-carousel__category {
  display: inline-block;
  font-size: clamp(14px, 1.4vw, 20px);
  font-weight: 400;
  color: var(--gironafly-accent);
  line-height: 1.2;
}

.gf-featured-projects-carousel__card:hover,
.gf-featured-projects-carousel__card:focus,
.gf-featured-projects-carousel__card:focus-visible,
.gf-featured-projects-carousel__card:active,
.gf-featured-projects-carousel__card:hover .gf-featured-projects-carousel__media img,
.gf-featured-projects-carousel__card:focus .gf-featured-projects-carousel__media img,
.gf-featured-projects-carousel__card:focus-visible .gf-featured-projects-carousel__media img,
.gf-featured-projects-carousel__card:active .gf-featured-projects-carousel__media img {
  box-shadow: none !important;
  opacity: 1 !important;
  text-decoration: none !important;
  transform: none !important;
}

@media (min-width: 981px) and (hover: hover) and (pointer: fine) {
  .gf-featured-projects-carousel__card:hover .gf-featured-projects-carousel__overlay,
  .gf-featured-projects-carousel__card:focus .gf-featured-projects-carousel__overlay,
  .gf-featured-projects-carousel__card:focus-visible .gf-featured-projects-carousel__overlay,
  .gf-featured-projects-carousel__card:active .gf-featured-projects-carousel__overlay {
    opacity: 1;
  }
}

@media (max-width: 980px), (hover: none) {
  .gf-featured-projects-carousel__overlay {
    opacity: 1;
  }

  .gf-featured-projects-carousel__card {
    border-radius: 18px;
  }

  .gf-featured-projects-carousel__overlay {
    gap: 8px;
    padding: 22px 20px;
  }

  .gf-featured-projects-carousel__title {
    font-size: clamp(18px, 5.8vw, 30px);
  }

  .gf-featured-projects-carousel__category {
    font-size: clamp(12px, 3.8vw, 16px);
  }
}

/* VIMEO BACKGROUND VIDEO */
.gf-vimeo-section {
  position: relative !important;
  overflow: hidden !important;
}

.gf-vimeo-bg {
  position: absolute !important;
  inset: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

/* Divi wraps iframes in .fluid-width-video-wrapper with padding-top for aspect ratio.
   Inside a background container that needs to fill its parent, that padding must be removed. */
.gf-vimeo-bg .fluid-width-video-wrapper {
  width: 100% !important;
  position: absolute !important;
  inset: 0 !important;
  padding: 0 !important;
  height: 100% !important;
}

.gf-vimeo-bg iframe {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: auto !important;
  height: auto !important;
  min-width: 100% !important;
  min-height: 100% !important;
  aspect-ratio: 16 / 9 !important;
  border: 0 !important;
  pointer-events: none !important;
}

/* Keep section content above the video */
.gf-vimeo-section > :not(.gf-vimeo-bg) {
  position: relative;
  z-index: 1;
}

/* Mobile: aspect-ratio + min-height:100% no es fiable en Safari/iOS.
   Usamos vh directamente: el iframe tiene al menos 100vh de alto y 177.78vh de ancho
   (ratio 16:9 exacto). min-width/min-height:100% cubre secciones más cortas que 100vh. */
@media (max-width: 980px) {
  body.home .gf-vimeo-bg iframe {
    min-width: max(100%, 177.78vh) !important;
    min-height: max(100%, 100vh) !important;
    width: auto !important;
    height: auto !important;
    aspect-ratio: unset !important;
  }
}

/* PROJECTES PAGE */
.et_pb_filterable_portfolio_1.et_pb_filterable_portfolio {
  --gf-projects-gap: clamp(24px, 1.7vw, 30px);
  --gf-projects-row-gap: clamp(44px, 3.6vw, 60px);
  --gf-projects-radius: 22px;
  --gf-projects-filter-radius: 20px;
}

.et_pb_filterable_portfolio_1.et_pb_filterable_portfolio .et_pb_portfolio_filters {
  margin: 0 0 clamp(34px, 4vw, 56px);
  padding: 0;
  background: transparent;
}

.et_pb_filterable_portfolio_1.et_pb_filterable_portfolio .et_pb_portfolio_filters > ul {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 0;
  width: fit-content;
  max-width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  border: 1px solid rgba(255, 255, 255, 0.88);
  border-radius: var(--gf-projects-filter-radius);
  overflow: hidden;
}

.et_pb_filterable_portfolio_1.et_pb_filterable_portfolio .et_pb_portfolio_filter {
  margin: 0;
  padding: 0;
  list-style: none;
}

.et_pb_filterable_portfolio_1.et_pb_filterable_portfolio .et_pb_portfolio_filter + .et_pb_portfolio_filter {
  border-left: 1px solid rgba(255, 255, 255, 0.42);
}

.et_pb_filterable_portfolio_1.et_pb_filterable_portfolio .et_pb_portfolio_filter a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 12px 40px;
  color: var(--gironafly-white) !important;
  background: transparent;
  font-size: 15px;
  line-height: 1;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  border: 0;
  transition: background-color 0.22s ease, color 0.22s ease;
}

.et_pb_filterable_portfolio_1.et_pb_filterable_portfolio .et_pb_portfolio_filter a:hover,
.et_pb_filterable_portfolio_1.et_pb_filterable_portfolio .et_pb_portfolio_filter a:focus-visible {
  color: var(--gironafly-primary) !important;
  background: rgba(223, 224, 223, 0.9);
}

.et_pb_filterable_portfolio_1.et_pb_filterable_portfolio .et_pb_portfolio_filter a.active {
  color: var(--gironafly-primary) !important;
  background: var(--gironafly-light);
}

.et_pb_filterable_portfolio_1 .et_pb_posts {
  --column-count: 3 !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: var(--gf-projects-row-gap) var(--gf-projects-gap);
}

.et_pb_filterable_portfolio_1 .et_pb_portfolio_item {
  width: auto !important;
  margin: 0 !important;
  float: none !important;
}

.et_pb_filterable_portfolio_1 .et_pb_portfolio_item .et_portfolio_image,
.et_pb_filterable_portfolio_1 .et_pb_portfolio_item .entry-featured-image-url {
  display: block;
  border-radius: var(--gf-projects-radius);
  overflow: hidden;
  background: rgba(255, 255, 255, 0.04);
}

.et_pb_filterable_portfolio_1 .et_pb_portfolio_item img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  transform: scale(1);
  transform-origin: center;
  transition: transform 0.35s ease;
}

@media (hover: hover) and (pointer: fine) {
  .et_pb_filterable_portfolio_1 .et_pb_portfolio_item:hover img,
  .et_pb_filterable_portfolio_1 .et_pb_portfolio_item:focus-within img {
    transform: scale(1.04);
  }

  .et_pb_filterable_portfolio_1 .et_pb_portfolio_item:hover .et_pb_module_header,
  .et_pb_filterable_portfolio_1 .et_pb_portfolio_item:hover .et_pb_module_header a,
  .et_pb_filterable_portfolio_1 .et_pb_portfolio_item:focus-within .et_pb_module_header,
  .et_pb_filterable_portfolio_1 .et_pb_portfolio_item:focus-within .et_pb_module_header a {
    color: var(--gcid-1ysytucpu4) !important;
    text-decoration-line: underline !important;
    text-decoration-style: solid !important;
  }
}

.et_pb_filterable_portfolio_1 .et_overlay {
  display: none !important;
}

.et_pb_filterable_portfolio_1 .et_pb_module_header {
  margin-top: 24px;
  margin-bottom: 0;
  color: var(--gironafly-white);
  font-size: clamp(22px, 2.25vw, 38px);
  line-height: 1.08;
  text-transform: uppercase;
}

.et_pb_filterable_portfolio_1 .post-meta {
  display: none;
}

.et_pb_filterable_portfolio_1 .et_pb_portofolio_pagination ul,
.et_pb_filterable_portfolio_1 .et_pb_portofolio_pagination li {
  list-style: none;
  margin: 0;
  padding: 0;
}

@media (max-width: 980px) {
  .et_pb_filterable_portfolio_1.et_pb_filterable_portfolio .et_pb_portfolio_filters > ul {
    display: flex;
    width: 100%;
  }

  .et_pb_filterable_portfolio_1.et_pb_filterable_portfolio .et_pb_portfolio_filter {
    flex: 1 1 50%;
  }

  .et_pb_filterable_portfolio_1.et_pb_filterable_portfolio .et_pb_portfolio_filter a {
    width: 100%;
    padding: 12px 20px;
    font-size: 14px;
  }

  .et_pb_filterable_portfolio_1 .et_pb_posts {
    --column-count: 2 !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .et_pb_filterable_portfolio_1 .et_pb_module_header {
    margin-top: 18px;
    font-size: clamp(18px, 4vw, 28px);
  }
}

@media (max-width: 767px) {
  .et_pb_filterable_portfolio_1.et_pb_filterable_portfolio .et_pb_portfolio_filter {
    flex: 1 1 100%;
  }

  .et_pb_filterable_portfolio_1 .et_pb_posts {
    --column-count: 1 !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .et_pb_filterable_portfolio_1 .et_pb_portfolio_filters > ul {
    border-radius: 16px;
  }
}

/* BLOG PAGE */
.et_pb_blog_1.et_pb_blog {
  --gf-blog-gap: clamp(36px, 4vw, 56px);
  --gf-blog-card-gap: clamp(28px, 4vw, 72px);
  --gf-blog-row-gap: clamp(24px, 3vw, 40px);
  --gf-blog-radius: 22px;
}

.et_pb_blog_1.et_pb_blog .et_pb_ajax_pagination_container.et_pb_posts,
.et_pb_blog_1.et_pb_blog .et_pb_posts {
  display: flex !important;
  flex-direction: column !important;
  gap: var(--gf-blog-gap);
}

.et_pb_blog_1.et_pb_blog article.et_pb_post {
  display: grid;
  grid-template-columns: minmax(0, min(52%, 760px)) minmax(320px, 1fr);
  grid-template-rows: 1fr auto auto 1fr;
  column-gap: var(--gf-blog-card-gap);
  margin-bottom: 0 !important;
}

.et_pb_blog_1.et_pb_blog article.et_pb_post > .entry-featured-image-url,
.et_pb_blog_1.et_pb_blog article.et_pb_post .et_pb_image_container {
  float: none;
  width: 100%;
  margin: 0 !important;
  grid-column: 1;
  grid-row: 1 / -1;
}

.et_pb_blog_1.et_pb_blog article.et_pb_post.et_pb_no_thumb .et_pb_image_container {
  display: none;
}

.et_pb_blog_1.et_pb_blog article.et_pb_post .entry-title,
.et_pb_blog_1.et_pb_blog article.et_pb_post .post-meta,
.et_pb_blog_1.et_pb_blog article.et_pb_post .post-content {
  margin-left: 0;
  max-width: none;
}

.et_pb_blog_1.et_pb_blog article.et_pb_post.et_pb_no_thumb {
  display: block;
}

.et_pb_blog_1.et_pb_blog article.et_pb_post .entry-title {
  grid-column: 2;
  grid-row: 2;
  width: 100%;
  justify-self: stretch;
  margin: 0 0 clamp(20px, 2vw, 30px) !important;
  font-size: clamp(28px, 2.5vw, 52px);
  line-height: 1.05;
  text-transform: uppercase;
}

.et_pb_blog_1.et_pb_blog article.et_pb_post .entry-featured-image-url,
.et_pb_blog_1.et_pb_blog article.et_pb_post .et_pb_slides,
.et_pb_blog_1.et_pb_blog article.et_pb_post .et_pb_video_overlay {
  display: block;
  margin: 0 !important;
  grid-column: 1;
  grid-row: 1 / -1;
  border-radius: var(--gf-blog-radius);
  overflow: hidden;
}

.et_pb_blog_1.et_pb_blog article.et_pb_post .entry-featured-image-url img,
.et_pb_blog_1.et_pb_blog article.et_pb_post .et_pb_main_image,
.et_pb_blog_1.et_pb_blog article.et_pb_post .et_pb_image_container img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 11;
  object-fit: cover;
}

.et_pb_blog_1.et_pb_blog article.et_pb_post .post-meta {
  display: none;
}

.et_pb_blog_1.et_pb_blog article.et_pb_post .post-content {
  grid-column: 2;
  grid-row: 3;
  width: 100%;
  justify-self: stretch;
  display: block;
  min-height: 0;
  padding-top: 0;
  margin-top: 0;
  overflow: visible;
}

.et_pb_blog_1.et_pb_blog article.et_pb_post .post-content .post-content-inner {
  max-width: 42ch;
  margin-left: 0;
  margin-bottom: clamp(18px, 2vw, 28px);
}

.et_pb_blog_1.et_pb_blog article.et_pb_post .post-content .post-content-inner > :last-child,
.et_pb_blog_1.et_pb_blog article.et_pb_post .post-content > :last-child {
  margin-bottom: 0;
}

.et_pb_blog_1.et_pb_blog article.et_pb_post .post-content a.more-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  clear: none !important;
  margin-top: 0;
  padding: 12px 22px;
  color: var(--gironafly-accent) !important;
  text-transform: uppercase;
  text-decoration: none;
}

.et_pb_blog_1.et_pb_blog article.et_pb_post .post-content a.more-link::before,
.et_pb_blog_1.et_pb_blog article.et_pb_post .post-content a.more-link::after {
  content: "";
  position: absolute;
  top: 0;
  width: 14px;
  height: 100%;
}

.et_pb_blog_1.et_pb_blog article.et_pb_post .post-content a.more-link::before {
  left: 0;
  border-left: 2px solid var(--gironafly-accent);
  border-top: 2px solid var(--gironafly-accent);
  border-bottom: 2px solid var(--gironafly-accent);
  border-radius: 10px 0 0 10px;
}

.et_pb_blog_1.et_pb_blog article.et_pb_post .post-content a.more-link::after {
  right: 0;
  border-right: 2px solid var(--gironafly-accent);
  border-top: 2px solid var(--gironafly-accent);
  border-bottom: 2px solid var(--gironafly-accent);
  border-radius: 0 10px 10px 0;
}

.et_pb_blog_1.et_pb_blog .et_overlay,
.et_pb_blog_1.et_pb_blog .et_overlay::before {
  display: none !important;
}

@media (max-width: 980px) {
  .et_pb_blog_1.et_pb_blog article.et_pb_post {
    display: block;
  }

  .et_pb_blog_1.et_pb_blog article.et_pb_post > .entry-featured-image-url,
  .et_pb_blog_1.et_pb_blog article.et_pb_post .et_pb_image_container,
  .et_pb_blog_1.et_pb_blog article.et_pb_post .et_pb_slides,
  .et_pb_blog_1.et_pb_blog article.et_pb_post .et_pb_video_overlay {
    float: none !important;
    width: 100% !important;
    margin: 0 0 20px !important;
  }

  .et_pb_blog_1.et_pb_blog article.et_pb_post .entry-title {
    font-size: clamp(24px, 5vw, 36px);
  }

  .et_pb_blog_1.et_pb_blog article.et_pb_post .post-content {
    min-height: auto;
    overflow: visible;
  }

  .et_pb_blog_1.et_pb_blog article.et_pb_post .post-content a.more-link {
    margin-top: 24px;
  }
}

/* BLOCK SCROLL SECTIONS */
html {
  scroll-padding-top: max(var(--gf-mobile-header-offset, 0px), var(--gf-scroll-sticky-offset, 0px));
}

body #main-content .container:has(.gf-scroll-block),
body #main-content .et_builder_inner_content:has(.gf-scroll-block),
body #main-content .entry-content:has(.gf-scroll-block),
body #main-content article:has(.gf-scroll-block) {
  overflow: visible !important;
}

.gf-scroll-block-group {
  position: relative;
  overflow: visible !important;
}

.gf-scroll-block {
  position: sticky;
  top: max(var(--gf-mobile-header-offset, 0px), var(--gf-scroll-sticky-offset, 0px));
  z-index: 1;
  scroll-margin-top: max(var(--gf-mobile-header-offset, 0px), var(--gf-scroll-sticky-offset, 0px));
  overflow: visible !important;
}

@media (max-width: 980px) {
  .gf-scroll-block {
    scroll-margin-top: max(var(--gf-mobile-header-offset, 0px), var(--gf-scroll-sticky-offset, 0px));
  }
}

/* MOBILE HOVER RESET */
@media (max-width: 980px), (hover: none) {
  .sectors .gf-sector-card,
  .gf-bg-right-split {
    cursor: default;
  }

  .gf-bg-right-group .gf-bg-right-preview {
    pointer-events: none;
  }

  #et_search_icon:hover,
  .et-social-icon a:hover,
  .et-social-icons a:hover,
  .et_pb_widget li a:hover,
  .wp-pagenavi a:hover,
  .nav ul li a:hover,
  .et_mobile_menu li a:hover,
  .et-menu-nav li.mega-menu > ul > li > a:first-child:hover {
    color: inherit !important;
    background-color: transparent !important;
    opacity: 1 !important;
    text-decoration: inherit !important;
    box-shadow: none !important;
  }

  .et_pb_contact_reset:hover,
  .et_pb_contact_submit:hover,
  .et_pb_newsletter_button:hover {
    background-color: transparent !important;
    box-shadow: none !important;
    transform: none !important;
  }

  .et_pb_newsletter_button:hover:after {
    opacity: 1 !important;
    margin-left: 0 !important;
  }

  .et_pb_image.et_pb_has_overlay:hover .et_pb_image_wrap .et_overlay,
  .et_pb_has_overlay:not(.et_pb_image):hover .et_overlay,
  .et_portfolio_image:hover .et_overlay,
  .et_shop_image:hover .et_overlay {
    opacity: 0 !important;
    z-index: -1 !important;
  }

  .et_pb_section_video_on_hover:hover > .et_pb_section_video_bg {
    display: block !important;
  }

  .et_pb_section_video_on_hover:hover > .et_pb_section_video_bg_hover,
  .et_pb_section_video_on_hover:hover > .et_pb_section_video_bg_hover_inherit {
    display: none !important;
  }

  .gf-featured-projects-carousel__card:hover .gf-featured-projects-carousel__overlay {
    opacity: 1 !important;
  }

  .gf-featured-projects-carousel__card:hover .gf-featured-projects-carousel__media img {
    transform: none !important;
  }

  .et_pb_filterable_portfolio_1.et_pb_filterable_portfolio .et_pb_portfolio_filter a:hover {
    color: var(--gironafly-white) !important;
    background: transparent !important;
  }
}

/* MASONRY GALLERY */
.gf-masonry-gallery {
  display: grid;
  grid-template-columns: repeat(var(--gf-masonry-columns, 3), minmax(0, 1fr));
  gap: var(--gf-masonry-gap, 20px);
  align-items: start;
}

.gf-masonry-gallery__column {
  display: flex;
  flex-direction: column;
  gap: var(--gf-masonry-gap, 20px);
  min-width: 0;
}

.gf-masonry-gallery__item {
  display: block;
  width: 100%;
  margin: 0;
}

.gf-masonry-gallery__link,
.gf-masonry-gallery__media {
  display: block;
  width: 100%;
}

.gf-masonry-gallery__image {
  display: block;
  width: 100%;
  height: auto;
}

.gf-masonry-gallery__caption {
  margin-top: 10px;
  font-size: 0.95rem;
  line-height: 1.35;
}

@media (max-width: 980px) {
  .gf-masonry-gallery {
    grid-template-columns: repeat(var(--gf-masonry-columns-tablet, 2), minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .gf-masonry-gallery {
    grid-template-columns: repeat(var(--gf-masonry-columns-mobile, 1), minmax(0, 1fr));
  }
}

/* DIVI GALLERY MASONRY */
.et_pb_gallery.et_pb_gallery_grid.masonry {
  width: 100%;
}

.et_pb_gallery.et_pb_gallery_grid.masonry .et_pb_gallery_items {
  --gf-divi-masonry-gap: 12px;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--gf-divi-masonry-gap);
  align-items: start;
  width: 100% !important;
  height: auto !important;
  opacity: 1;
  visibility: visible;
  transition: opacity 0.28s ease;
}

.et_pb_gallery.et_pb_gallery_grid.masonry .gf-divi-masonry-column {
  display: flex;
  flex-direction: column;
  gap: var(--gf-divi-masonry-gap);
  min-width: 0;
}

.et_pb_gallery.et_pb_gallery_grid.masonry:not(.gf-masonry-ready) .et_pb_gallery_items {
  opacity: 0;
  visibility: hidden;
}

.et_pb_gallery.et_pb_gallery_grid.masonry .et_pb_gallery_item {
  display: block !important;
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

.et_pb_gallery.et_pb_gallery_grid.masonry .et_pb_gallery_image,
.et_pb_gallery.et_pb_gallery_grid.masonry .et_pb_gallery_image a {
  display: block;
}

.et_pb_gallery.et_pb_gallery_grid.masonry .et_pb_gallery_image {
  overflow: hidden;
}

.et_pb_gallery.et_pb_gallery_grid.masonry .et_pb_gallery_image img {
  display: block;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  object-fit: contain;
}

.et_pb_gallery.et_pb_gallery_grid.masonry .et_pb_gallery_title,
.et_pb_gallery.et_pb_gallery_grid.masonry .et_pb_gallery_caption {
  margin-top: 8px;
}

.et_pb_gallery.et_pb_gallery_grid.masonry .et_pb_gallery_pagination {
  margin-top: 12px;
}

@media (max-width: 980px) {
  .et_pb_gallery.et_pb_gallery_grid.masonry .et_pb_gallery_items {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .et_pb_gallery.et_pb_gallery_grid.masonry .et_pb_gallery_items {
    --gf-divi-masonry-gap: 10px;
    grid-template-columns: minmax(0, 1fr);
  }

  .et_pb_gallery.et_pb_gallery_grid.masonry .et_pb_gallery_item {
    margin-bottom: 0 !important;
  }
}

/* PARALAX BACKGROUNDS */
.paralax {
  position: relative !important;
  overflow: hidden;
  isolation: isolate;
}

.paralax > :not(.gf-paralax-bg):not(.et-pb-background-video):not(.et_pb_section_video_bg):not(.et_pb_video_bg):not(.et_pb_column_video_bg),
.gf-paralax-clip > :not(.gf-paralax-bg) {
  position: relative;
  z-index: 1;
}

.paralax > .gf-paralax-bg,
.gf-paralax-clip > .gf-paralax-bg,
.paralax > .et-pb-background-video,
.paralax > .et_pb_section_video_bg,
.paralax > .et_pb_video_bg,
.paralax > .et_pb_column_video_bg {
  position: absolute;
  top: calc(var(--gf-paralax-bleed, 140px) * -1);
  right: 0;
  bottom: calc(var(--gf-paralax-bleed, 140px) * -1);
  left: 0;
  z-index: 0 !important;
  pointer-events: none !important;
  will-change: transform;
  transform: translate3d(0, 0, 0);
}

.gf-paralax-clip {
  position: relative !important;
  overflow: hidden !important;
}

.gf-paralax-media {
  will-change: transform;
  transform: translate3d(0, 0, 0) scale(1.18);
  transform-origin: center center;
  backface-visibility: hidden;
}
