.site-info .copyright span:nth-of-type(2) {
    display: none !important;
}

.upload-form .elementor-field-type-upload input[type="file"]::file-selector-button {
    border: 0px solid #CCC;
    border-radius: 30px;
    background-color: #FFFFFF !important;
    padding: 10px 20px;
    font-size: 14px;
    font-weight: 700;
    font-family: 'Raleway';
    margin-right: 0px;
}

/* Hide the button by default */
.navbar-toggle {
  display: none !important;
}

/* Show the button only on mobile devices (max-width: 768px) */
@media (max-width: 768px) {
  .navbar-toggle {
    display: block !important;
  }
}

.header_social {
    margin-left: 0px; /* Adjust the value to increase the distance from the left side */
    margin-right: 40px; /* Adjust the value to increase the distance from the right side */
}


.header-navigation-wrapper {
    margin-left: 0px; /* Adjust to increase the distance from the left side */
    margin-right: 80px; /* Adjust to increase the distance from the right side */
}

.rpb-gallery .e-gallery-item {
    position: relative; /* Ensure absolute children are positioned relative to this container */
}

.elementor-gallery-item__overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0); /* Start transparent */
    transition: opacity 0.3s ease; /* Smooth transition for visibility */
    opacity: 0; /* Initial hidden state */
    pointer-events: none; /* Ensures click events are only captured when visible */
}

.rpb-gallery .e-gallery-item:hover .elementor-gallery-item__overlay {
    opacity: 1; /* Show the overlay on hover */
    background-color: rgba(0, 0, 0, 0.3); /* Black with 30% transparency */
    pointer-events: auto; /* Enable interactions when visible */
}

.elementor-gallery-item__overlay .custom-button {
    display: inline-block;
    background-color: #F3E034;
    color: #000000;
    border: none;
    border-radius: 25px;
    cursor: pointer;
    z-index: 1001; /* Ensure it's above other content in the overlay */
    font-family: 'Raleway', sans-serif;
    font-weight: bold;
    text-transform: none;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 10px 20px;
    opacity: 1; /* Visible with overlay */
}

/* --- Global: load Source Serif 4 variations (put this in Additional CSS / Site Settings) --- */
@import url('https://fonts.googleapis.com/css2?family=Source+Serif+4:ital,wght@0,400;1,400;0,700;1,700&display=swap');

/* ---------------------------
   REMOVE MARGIN COLLAPSE
   (this stops the "shrinking padding" effect)
----------------------------*/
.elementor-section {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Allow full scrolling for the page */
body.wp-singular {
    overflow: auto !important;
    height: auto !important;
}

html, body {
    background-color: transparent !important;
}

/* === PAGE-SPECIFIC FULLPAGE RESET WITH NEGATIVE OFFSET === */
body.page-id-31894 #fullpage {
    margin: -58px 0 0 0 !important; /* negative top offset */
    padding: 0 !important;
    height: calc(100% + 78px);        /* compensate for negative margin */
    overflow: hidden;                /* required by FullPage.js */
    line-height: 1;
    -webkit-font-smoothing: antialiased;
}

/* === SECTION STYLING === */
body.page-id-31894 .section {
    display: flex;
    flex-direction: column;
    justify-content: bottom;
    align-items: bottom;
    height: 100vh;
    text-align: bottom;
    font-size: 6rem;
    overflow: hidden;
    position: relative;
}

/* === NAVBAR STYLING === */
body.page-id-31894 .navbar {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-color: #0D1118;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 20px;
    z-index: 10;
}

body.page-id-31894 .navbar .logo {
    font-size: 1.5rem;
    font-weight: bold;
    color: #f1f1f1;
}

body.page-id-31894 .navbar .links {
    display: flex;
    white-space: nowrap;
}

body.page-id-31894 .navbar .links a {
    text-decoration: none;
}

/* === SCROLL TEXT STYLING === */
body.page-id-31894 .scroll-text {
    position: fixed;
    top: 50%;
    transform: translateY(-50%) rotate(-90deg);
    font-size: 1.5rem;
    color: #f1f1f1;
    opacity: 0.8;
    z-index: 5;
}

body.page-id-31894 .scroll-text.left {
    left: 20px;
}

body.page-id-31894 .scroll-text.right {
    right: 20px;
}

/* === TABLE CELL FIX FOR FULLPAGE === */
body.page-id-31894 .fp-tableCell {
    display: table-cell;
    vertical-align: center;
    width: 100%;
    height: 100%;

}

/* FORCE LOGO POSITION - VISUAL CORRECTION */
.custom-logo-link {
    position: absolute !important;
    
    /* Reduced from 3.5vw to 2.5vw to compensate for transparent pixels in the logo file */
    left: 3.6vw !important; 
    
    margin: 0 !important;
    padding: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 100 !important;
}

/* Ensure the image block has no extra behavior */
.custom-logo {
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    max-width: 27% !important;
    height: auto !important;
}

/* Safely push the logo inward by targeting the anchor tag directly */
@media (max-width: 767px) {
    .site-header .header-logo-wrapper .custom-logo-link {
        display: inline-block !important;
        margin-left: 2vw !important;
    }
}

/* ============================================================================
   JOOST COX â€” TABLET-LANDSCAPE CSS
   Put this in: WordPress Admin â†’ Appearance â†’ Customize â†’ Additional CSS
   (or Appearance â†’ Additional CSS, depending on your theme).

   Almost everything here is scoped to tablet landscape only:
     (orientation: landscape) and (any-pointer: coarse)
   - "any-pointer: coarse" = a touch device, even an iPad with a keyboard/trackpad
     attached (plain "pointer: coarse" is false in that case).
   - Desktop and tablet PORTRAIT never match that block, so they stay untouched.

   Works together with the snap engine in the HTML widget (snap-engine-widget.html):
   the engine turns itself OFF in tablet landscape, and this CSS lets the page
   free-scroll while the sections keep their full 100vh height.
   ============================================================================ */


/* ----------------------------------------------------------------------------
   ONE BASE LINE (applies on ALL views) â€” required for the hero swap to work.
   It hides the tablet hero image everywhere by default, so it can be shown
   ONLY in tablet landscape (below). If you already hide this element some other
   way in Elementor, you can delete this line.
   ---------------------------------------------------------------------------- */
.tablet-hero-image {
  display: none;
}


@media (orientation: landscape) and (any-pointer: coarse) {

  /* --- Free-scroll: let the page scroll; sections keep their 100vh --- */
html, body {
  overflow-x: hidden !important;
  overflow-y: auto !important;
  height: auto !important;
}
  #fullpage {
    transform: none !important;    /* drop any leftover snap transform */
    height: auto !important;        /* wrapper grows so the page can scroll */
    overflow: visible !important;   /* don't clip the stacked full-height sections */
  }

  /* ==========================================================================
     PER-ELEMENT EDIT UTILITIES (tablet landscape only)
     Apply a class to an element in Elementor:
       edit the element â†’ Advanced tab â†’ CSS Classes â†’ type the class name.
     ========================================================================== */

  /* 1) Hide an element completely in tablet landscape. */
  .tablet-landscape-hide {
    display: none !important;
  }

  /* 2) Make an element ~30% wider than it is now (fewer lines â†’ fits better).
        130% is read against its PARENT's width, so if the element currently
        fills its parent this is â‰ˆ30% wider. Change 130% to taste. */
  .bio-text {
    width: 130% !important;
    max-width: none !important;
  }
	
	  /* 2) Make an element ~5% wider than it is now (fewer lines â†’ fits better).
        105% is read against its PARENT's width, so if the element currently
        fills its parent this is â‰ˆ30% wider. Change 105% to taste. */
  .wider-text {
    width: 105% !important;
    max-width: none !important;
  }

  /* 3) Push a container's content (its children) DOWN by 10% of the container's
        own height. Put this class on the 100vh container. `top: 10%` on the
        relatively-positioned children is measured against the container height,
        so it's a true 10%-of-container shift. Change 10% to taste. */
  .content-shift-vertical > * {
    position: relative !important;
    top: 10% !important;
  }

  /* 5) Shift a container's BACKGROUND IMAGE toward the RIGHT inside the container.
        background-position-x: 0% = far left, 50% = centered, 100% = far right.
        80% moves a normally-centered background ~30% to the right. Set to taste. */
  .image-horizontal-shift {
    background-position-x: 80% !important;
  }
}
/* Hero text wrapper: return to normal flow on mobile (Elementor's Position
   setting isn't responsive, so this does it per-device). */
@media (max-width: 767px) {
  .hero-text-flow,
  .hero-text-flow.elementor-absolute {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
  }
}
/* MOBILE: no fixed/viewport heights — every section & container sizes to its content */
@media (max-width: 767px) {
  html, body {
    height: auto !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }
  #fullpage {
    height: auto !important;
    overflow: visible !important;
    transform: none !important;
  }

  /* Clear any viewport-locked minimum height everywhere inside the page */
  #fullpage,
  #fullpage * {
    min-height: 0 !important;
  }

  /* Let the sections/containers grow to their content (wrappers only, not <img>) */
  #fullpage,
  #fullpage > *,
  #fullpage .section,
  #fullpage .elementor-section,
  #fullpage .elementor-top-section,
  #fullpage .elementor-container,
  #fullpage .e-con,
  #fullpage .e-con-inner,
  #fullpage [class*="elementor-element"] {
    height: auto !important;
  }
}
/* Hide the BIO_PORTRAIT background image on mobile only */
@media (max-width: 767px) {
  .elementor-element.elementor-element-0e131d9,
  .elementor-element.elementor-element-0e131d9::before,
  .elementor-element.elementor-element-0e131d9::after {
    background-image: none !important;
  }
}
/* ===== SECTION EYEBROW ===== */
.jc-eyebrow {
  --eb-size: clamp(0.825rem, 0.57rem + 0.525vw, 1.2rem); /* 30% of headline, desktop */
  --eb-track: 0.14em;
  margin: 0 0 clamp(1rem, 1vw + 0.75rem, 2rem);
  padding: 0;
  font-family: 'Inter', sans-serif;
  font-size: var(--eb-size);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: var(--eb-track);
  text-transform: uppercase;
  color: #E34234;
}

/* The underline lives on this wrapper, so it is exactly as wide as the text */
.jc-eyebrow__line {
  display: inline-block;
  padding-bottom: 0.55em;                 /* gap between text and line */
  border-bottom: max(2px, 0.12em) solid #E34234;
}

/* Cancels the extra space letter-spacing adds after the last letter */
.jc-eyebrow__text {
  display: inline-block;
  margin-right: calc(var(--eb-track) * -1);
}

/* TABLET: only matters if an eyebrow is visible there (30% of 2.8rem) */
@media (min-width: 768px) and (max-width: 1024px) {
  .jc-eyebrow { --eb-size: 0.84rem; }
}

/* MOBILE: 34% of the mobile headline */
@media (max-width: 767px) {
  .jc-eyebrow { --eb-size: clamp(0.765rem, 3.25vw, 1.15rem); }
}
.widget_polylang { visibility: hidden !important; pointer-events: none !important; }