/*
 Theme Name:   Cincinnati Cotillion Club
 Theme URI:    https://cincinnaticotillion.com
 Description:  Child theme of GeneratePress created by Holland Adhaus.
 Author:       Holland Adhaus
 Author URI:   https://hollandadhaus.com
 Template:     generatepress
 Version:      1.0
*/

/**
 * HA
 */

/* Let Elementor Theme Style H1-H6 control size/line-height for Heading widgets */
/* .elementor-widget-heading h1.elementor-heading-title,
.elementor-widget-heading h2.elementor-heading-title,
.elementor-widget-heading h3.elementor-heading-title,
.elementor-widget-heading h4.elementor-heading-title,
.elementor-widget-heading h5.elementor-heading-title,
.elementor-widget-heading h6.elementor-heading-title {
  font-size: revert !important;
  line-height: revert !important;
} */

/* Hide featured images used for preload */
.page .featured-image.page-header-image {
    display: none !important;
    visibility: hidden !important;
}
/* Navigation transitions */
.main-navigation a, 
.main-navigation .menu-toggle, 
.main-navigation .menu-bar-items, 
.main-navigation a:hover, 
.main-navigation .menu-toggle:hover, 
.main-navigation .menu-bar-items:hover, 
.main-navigation a:active, 
.main-navigation .menu-toggle:active, 
.main-navigation .menu-bar-items:active, 
.main-navigation a:focus, 
.main-navigation .menu-toggle:focus, 
.main-navigation .menu-bar-items:focus {
    transition: color .2s ease !important;
}
/* Elementor icon list and nav menu transitions */
.elementor-nav-menu a, 
.elementor-nav-menu a:hover, 
.elementor-nav-menu a:active, 
.elementor-nav-menu a:focus, 
.elementor-icon-list-item a span, 
.elementor-icon-list-item a:hover span, 
.elementor-icon-list-item a:focus span, 
.elementor-icon-list-item a:active span, 
.elementor-social-icon *,
.elementor-social-icon:hover *,
.elementor-social-icon:focus *,
.elementor-social-icon:active * {
    transition: all .2s ease !important;
} 
/* Elementor lazy load carousel/swiper compat */
.swiper-slide-image.swiper-lazy.lazy-hidden, 
.entry img.swiper-slide-image.swiper-lazy.lazy-hidden, 
img.thumbnail.swiper-slide-image.swiper-lazy.lazy-hidden {
    opacity: 1 !important;
}

/********
*** Custom
*/

.e-bo-multiply::before {
  mix-blend-mode: multiply;
}

/* E Buttons */
/* .elementor-button-icon, 
.elementor-button-icon svg {
  font-size: 1.5rem;
} */
.elementor-button-content-wrapper {
  align-items: center;
}

/* 
 * Sticky nav 
 */
/* .sticky-enabled .main-navigation.is_stuck {
    background: rgba(44, 81, 104, 0.95); 
    backdrop-filter: blur(10px);
  }
  .sticky-enabled .main-navigation.is_stuck button.menu-toggle {
    background-color: transparent !important;
  }
  .sticky-enabled .main-navigation.is_stuck.toggled .main-nav > ul {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
  } */

/* Text */
.te0 p:last-child, 
.te0 ul:last-child, 
.te0 ol:last-child {
    margin-bottom: 0 !important;
}
.ac0 a {
  color: inherit !important;
}
.il-h3-p h3, 
.il-h4-p h4 {
    font-size: 1.25rem !important;
    line-height: 1.75rem !important;
    text-transform: inherit !important;
    font-family: inherit !important;
    margin-bottom: 0.25rem;
    color: var(--cc-blue) !important; /*brand color*/
}
.il-h3-p p, 
.il-h4-p p {
    margin-bottom: 0;
} 
.il-inset-ul {
    margin-bottom: 0;
}

/* Homepage hero video */
/* Background video container: fills the hero, behind the content */
#hero .elementor-background-video-container {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 0; /* then give your content containers higher z-index if needed */
}
/* Video: lock its size, but keep Elementor's centering transform */
#hero .elementor-background-video-hosted {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  /* DON'T touch transform/top/left here - let Elementor keep translate(-50%, -50%) */
}
/* Make sure content sits above the video */
#hero .e-child {
  position: relative;
  z-index: 1;
}

/* Termly */
div[name="termly-embed"] {
    margin: -20px;
}

/* Fix E-FA icon fill color bug */
.elementor-icon-list-icon svg.svg-inline--fa path {
  fill: inherit;
}
/* Equal height fix for Elementor Loop Carousels with .force-eq-height */
.force-eq-height .swiper-slide {
  height: auto !important;
}
.force-eq-height .elementor-widget-theme-post-content, 
.force-eq-height .elementor[data-elementor-type="wp-post"], 
.force-eq-height .elementor[data-elementor-type="wp-post"] > .elementor-element {
    height: 100% !important;
}

/**
* Gravity Forms
*/

/* Hide required initial instructions */
.gform_required_legend {
    display: none !important;
}
/* Rounded input corners */
.gform_wrapper.gravity-theme input[type="color"], 
.gform_wrapper.gravity-theme input[type="date"], 
.gform_wrapper.gravity-theme input[type="datetime-local"], 
.gform_wrapper.gravity-theme input[type="datetime"], 
.gform_wrapper.gravity-theme input[type="email"], 
.gform_wrapper.gravity-theme input[type="month"], 
.gform_wrapper.gravity-theme input[type="number"], 
.gform_wrapper.gravity-theme input[type="password"], 
.gform_wrapper.gravity-theme input[type="search"], 
.gform_wrapper.gravity-theme input[type="tel"], 
.gform_wrapper.gravity-theme input[type="text"], 
.gform_wrapper.gravity-theme input[type="time"], 
.gform_wrapper.gravity-theme input[type="url"], 
.gform_wrapper.gravity-theme input[type="week"], 
.gform_wrapper.gravity-theme select, 
.gform_wrapper.gravity-theme textarea, 
.gform_wrapper.gravity-theme .ginput_complex input, 
.gform_wrapper.gravity-theme .ginput_complex select, 
.gform_wrapper.gravity-theme .gform_footer button, 
.gform_wrapper.gravity-theme .gform_footer input, 
.gform_wrapper.gravity-theme .gform_page_footer button, 
.gform_wrapper.gravity-theme .gform_page_footer input {
    border-radius: 0.25rem;
}
/* Hide instructions on fields with class .hide-instruction */
.gform_wrapper .gfield.hide-instruction .instruction {
    display: none;
    visibility: none;
}
/* Submit buttons */
.gform_button, .gform_wrapper input[type="submit"] {
    font-weight: 900 !important;
    font-family: "Montserrat", "Font Awesome 7 Pro"; /* Site font */
    font-size: 1rem !important;
    line-height: 1.5rem !important;
}
/* Fix state subfield in address field */
.ginput_address_state {
    margin-bottom: 8px;
}

.gform_fields {
    --gf-form-gap-y: 1.5rem;
}
.gform_button {
    border-radius: 0 !important;
    font-weight: 900 !important;
    font-family: "Montserrat", "Font Awesome 7 Pro", sans-serif !important;
    --fa-style-family-classic: "Font Awesome 7 Pro" !important;
    --fa-font-solid: normal 900 1em/1 'Font Awesome 7 Pro' !important;
}
.gform-button:hover, 
.gform-button:active, 
.gform-button:focus {
    color: var(--cc-blue) !important; /* brand color */
    --gf-ctrl-btn-bg-color-hover-primary: var(--cc-blue) !important; /* brand color */
}
.gform_wrapper .gform-button--width-full {
    width: 100% !important;
}
.gform-datepicker {
  width: 100% !important;
}
.gform_wrapper .gform_button, 
.gform_wrapper input[type="submit"] {
    font-weight: 900 !important;
    border-radius: 0 !important;
    background: var(--cc-gold); /* brand color */
    color: var(--cc-blue) !important; /* brand color */
}
.gform_wrapper .gform_button:hover, 
.gform_wrapper .gform_button:active, 
.gform_wrapper .gform_button:focus, 
.gform_wrapper input[type="submit"]:hover, 
.gform_wrapper input[type="submit"]:active, 
.gform_wrapper input[type="submit"]:focus {
    background: var(--cc-gold) !important; /* brand color */
    color: var(--cc-blue) !important; /* brand color */
}

/* E Swiper Pagination Dots */
.swiper-pagination-bullet {
  border-radius: 0 !important;
}
.swiper-pagination-bullet:not(.swiper-pagination-bullet-active) {
  opacity: 100% !important;
  border: 2px solid var(--dots-normal-color,#000) !important;
  background: transparent !important;
}
.swiper-pagination-bullet:hover {
    background: var(--dots-hover-color,#000) !important;
    border: 2px solid var(--dots-hover-color,#000) !important;
}

/**** Split section with bleeds ****/
:root {
  --site-content-max: 1140px;
  --outer-pad: 0;            /* default; overridden by .outer-pad at <=1200px */
}

/* Outer section: no side padding */
.split-bleed {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Centered wrapper defines a container for cqw units */
.split-bleed .split-inner {
  width: 100% !important;
  max-width: var(--site-content-max) !important;
  margin: 0 auto !important;
  display: flex !important;
  gap: 0 !important;
  align-items: stretch !important;
  container-type: inline-size !important; /* 1cqw = 1% of this wrapper's width */
}

/* Columns */
.split-left { flex: 0 0 auto !important; min-width: 0 !important; }
.split-right { flex: 0 0 50cqw !important; max-width: 50cqw !important; min-width: 0 !important; }

/* >=1201px: bleed LEFT by gutter; RIGHT stays boxed */
@media (min-width:1201px){
  .split-bleed {
    --inner: min(var(--site-content-max), 100vw) !important;
    --gutter: calc((100vw - var(--inner)) / 2) !important;
  }
  .split-left {
    width: calc(50cqw + var(--gutter)) !important;
    margin-left: calc(var(--gutter) * -1) !important;
  }
}

/* <=1200px: stack; make both 100% width; only counter a parent pad if declared */
@media (max-width:1200px){
  /* If a parent set --outer-pad (e.g., via .outer-pad), let this section bleed over it */
  .split-bleed{
    margin-left: calc(-1 * var(--outer-pad)) !important;
    margin-right: calc(-1 * var(--outer-pad)) !important;
  }

  .split-bleed .split-inner{
    flex-direction: column !important;
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
  }

  /* Reset the 50cqw basis when stacked */
  .split-left, .split-right{
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }
}
/**** END ****/

/* Outermost section (no side padding) */
.split-bleed-alt {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Centered wrapper establishes container for cqw units */
.split-bleed-alt .split-inner-alt {
  width: 100% !important;
  max-width: var(--site-content-max) !important;
  margin: 0 auto !important;
  display: flex !important;
  gap: 0 !important;
  align-items: stretch !important;
  container-type: inline-size !important; /* 1cqw = 1% of this wrapper's width */
}

/* Columns */
.split-left-alt  { flex: 0 0 50cqw !important; max-width: 50cqw !important; min-width: 0 !important; } /* boxed LEFT (50% of inner) */
.split-right-alt { flex: 0 0 auto !important; min-width: 0 !important; }                     /* bleed RIGHT on desktop */

/* >=1201px: bleed the RIGHT to the viewport edge; LEFT stays boxed */
@media (min-width:1201px){
  .split-bleed-alt {
    --inner: min(var(--site-content-max), 100vw) !important;
    --gutter: calc((100vw - var(--inner)) / 2) !important; /* viewport --> inner wrapper gutter */
  }
  .split-right-alt{
    width: calc(50cqw + var(--gutter)) !important;
    margin-right: calc(var(--gutter) * -1) !important; /* push to the right screen edge */
  }
}

/* <=1200px: stack; both columns full width; only counter parent pad if declared */
@media (max-width:1200px){
  .split-bleed-alt{
    margin-left:  calc(-1 * var(--outer-pad)) !important;
    margin-right: calc(-1 * var(--outer-pad)) !important;
  }

  .split-bleed-alt .split-inner-alt{
    flex-direction: column !important;
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
  }

  /* Reset the 50cqw basis when stacked */
  .split-left-alt,
  .split-right-alt{
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }
}
/**** END alt ****/

/* CCC Split Section Decorative Dividers */
@media (max-width: 1200px) {
  .ccc-split-outer-vdiv .split-bleed::after {
      content: '';
      background-image: url('/wp-content/uploads/2026/04/cincinnati-cotillion-club-divider-horizontal-single.svg');
      background-repeat: repeat-x;
      background-size: contain;
      background-position: center center;
      height: 2rem;
      width: 100%;
      display: block;
      position: relative;
      bottom: -1rem;
      z-index: 1;
      pointer-events: none;
  }
}
@media (min-width: 1201px) {
  .ccc-split-outer-vdiv::after {
      content: '';
      background-image: url('/wp-content/uploads/2026/04/cincinnati-cotillion-club-divider-vertical-single.svg');
      background-size: contain;
      background-position: center center;
      display: block;
      position: absolute;
      width: 2rem;
      height: 100%;
      top: 50%;
      right: calc( 50% - 1rem);
      transform: translateY(-50%);
      z-index: 1;
      pointer-events: none;
  }
}
/* END CCC Deco Splits */