.elementor-kit-2195{--e-global-color-primary:#372F12;--e-global-color-text:#35331A;--e-global-color-secondary:#F6F4ED;--e-global-color-accent:#00568C;--e-global-color-86b4fcd:#02010100;--e-global-color-fce4bf7:#E2E1CE;--e-global-color-d6c5852:#888670;--e-global-color-60906fc:#DCBA7F;--e-global-color-567af6b:#E6E4DA;--e-global-color-8d1f9c5:#122937;--e-global-color-daa18b1:#FFFAEE;--e-global-color-8a87d4d:#E26D5C;--e-global-color-1e899d3:#732520;--e-global-color-64d490f:#203B2B;--e-global-color-58970e3:#237A49;--e-global-color-d3f48fd:#C5C3BC;--e-global-typography-primary-font-family:"ff-din-paneuropean-cond";--e-global-typography-primary-font-size:45px;--e-global-typography-primary-font-weight:500;--e-global-typography-primary-text-transform:uppercase;--e-global-typography-primary-font-style:normal;--e-global-typography-primary-text-decoration:none;--e-global-typography-primary-line-height:1em;--e-global-typography-primary-letter-spacing:0.01em;--e-global-typography-primary-word-spacing:0em;--e-global-typography-secondary-font-family:"plantin";--e-global-typography-secondary-font-size:32px;--e-global-typography-secondary-font-weight:300;--e-global-typography-secondary-font-style:normal;--e-global-typography-secondary-text-decoration:none;--e-global-typography-secondary-line-height:1.2em;--e-global-typography-secondary-word-spacing:0em;--e-global-typography-text-text-transform:none;--e-global-typography-text-font-style:normal;--e-global-typography-text-text-decoration:none;--e-global-typography-text-letter-spacing:0.1px;--e-global-typography-accent-font-size:24px;--e-global-typography-accent-font-weight:300;--e-global-typography-accent-font-style:normal;--e-global-typography-accent-text-decoration:none;--e-global-typography-accent-line-height:0.9em;--e-global-typography-accent-letter-spacing:0.01em;--e-global-typography-accent-word-spacing:0em;--e-global-typography-500544d-font-family:"ff-din-paneuropean-cond";--e-global-typography-500544d-font-size:24px;--e-global-typography-500544d-font-weight:500;--e-global-typography-500544d-text-transform:uppercase;--e-global-typography-500544d-font-style:normal;--e-global-typography-500544d-text-decoration:none;--e-global-typography-500544d-letter-spacing:3px;--e-global-typography-500544d-word-spacing:0px;--e-global-typography-6b1fb1c-font-family:"ff-din-paneuropean";--e-global-typography-6b1fb1c-font-size:13px;--e-global-typography-6b1fb1c-font-weight:500;--e-global-typography-6b1fb1c-text-transform:uppercase;--e-global-typography-6b1fb1c-font-style:normal;--e-global-typography-6b1fb1c-text-decoration:none;--e-global-typography-6b1fb1c-line-height:20px;--e-global-typography-6b1fb1c-letter-spacing:0.11em;--e-global-typography-6b1fb1c-word-spacing:0em;--e-global-typography-a36f439-font-family:"ff-din-paneuropean-cond";--e-global-typography-a36f439-font-size:51px;--e-global-typography-a36f439-font-weight:500;--e-global-typography-a36f439-text-transform:uppercase;--e-global-typography-a36f439-line-height:1em;--e-global-typography-a36f439-letter-spacing:2.8px;--e-global-typography-a36f439-word-spacing:0px;--e-global-typography-2de3433-font-family:"plantin";--e-global-typography-2de3433-font-size:29px;--e-global-typography-2de3433-font-weight:300;--e-global-typography-2de3433-text-transform:uppercase;--e-global-typography-2de3433-line-height:40px;--e-global-typography-2de3433-letter-spacing:4.5px;--e-global-typography-34616d9-font-family:"plantin";--e-global-typography-34616d9-font-size:19px;--e-global-typography-34616d9-font-weight:300;--e-global-typography-34616d9-font-style:normal;--e-global-typography-34616d9-line-height:1.5em;--e-global-typography-34616d9-letter-spacing:0.1px;background-color:var( --e-global-color-secondary );color:var( --e-global-color-text );font-family:"ff-din-paneuropean", Sans-serif;font-size:18px;font-weight:normal;line-height:1.5em;}.elementor-kit-2195 button,.elementor-kit-2195 input[type="button"],.elementor-kit-2195 input[type="submit"],.elementor-kit-2195 .elementor-button{background-color:var( --e-global-color-primary );font-family:var( --e-global-typography-6b1fb1c-font-family ), Sans-serif;font-size:var( --e-global-typography-6b1fb1c-font-size );font-weight:var( --e-global-typography-6b1fb1c-font-weight );text-transform:var( --e-global-typography-6b1fb1c-text-transform );font-style:var( --e-global-typography-6b1fb1c-font-style );text-decoration:var( --e-global-typography-6b1fb1c-text-decoration );line-height:var( --e-global-typography-6b1fb1c-line-height );letter-spacing:var( --e-global-typography-6b1fb1c-letter-spacing );word-spacing:var( --e-global-typography-6b1fb1c-word-spacing );color:var( --e-global-color-fce4bf7 );border-style:solid;border-width:1px 1px 1px 1px;border-color:#00000000;border-radius:0em 0em 0em 0em;padding:20px 30px 20px 30px;}.elementor-kit-2195 button:hover,.elementor-kit-2195 button:focus,.elementor-kit-2195 input[type="button"]:hover,.elementor-kit-2195 input[type="button"]:focus,.elementor-kit-2195 input[type="submit"]:hover,.elementor-kit-2195 input[type="submit"]:focus,.elementor-kit-2195 .elementor-button:hover,.elementor-kit-2195 .elementor-button:focus{background-color:var( --e-global-color-secondary );color:var( --e-global-color-primary );}.elementor-kit-2195 e-page-transition{background-color:#FFBC7D;}.elementor-kit-2195 a:hover{color:var( --e-global-color-primary );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}.elementor-lightbox{background-color:#122937F2;}@media(max-width:1024px){.elementor-kit-2195{--e-global-typography-primary-font-size:39px;--e-global-typography-secondary-font-size:28px;--e-global-typography-text-font-size:18px;--e-global-typography-accent-font-size:28px;--e-global-typography-500544d-font-size:21px;--e-global-typography-6b1fb1c-font-size:14px;--e-global-typography-34616d9-font-size:18px;--e-global-typography-34616d9-line-height:1.4em;--e-global-typography-34616d9-letter-spacing:0.1px;}.elementor-kit-2195 button,.elementor-kit-2195 input[type="button"],.elementor-kit-2195 input[type="submit"],.elementor-kit-2195 .elementor-button{font-size:var( --e-global-typography-6b1fb1c-font-size );line-height:var( --e-global-typography-6b1fb1c-line-height );letter-spacing:var( --e-global-typography-6b1fb1c-letter-spacing );word-spacing:var( --e-global-typography-6b1fb1c-word-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-2195{--e-global-typography-primary-font-size:28px;--e-global-typography-primary-line-height:1.1em;--e-global-typography-secondary-font-size:29px;--e-global-typography-text-font-size:17px;--e-global-typography-500544d-font-size:18px;--e-global-typography-6b1fb1c-font-size:13px;--e-global-typography-a36f439-font-size:44px;--e-global-typography-2de3433-font-size:28px;--e-global-typography-34616d9-font-size:17px;--e-global-typography-34616d9-line-height:1.4em;--e-global-typography-34616d9-letter-spacing:0.1px;font-size:17px;}.elementor-kit-2195 button,.elementor-kit-2195 input[type="button"],.elementor-kit-2195 input[type="submit"],.elementor-kit-2195 .elementor-button{font-size:var( --e-global-typography-6b1fb1c-font-size );line-height:var( --e-global-typography-6b1fb1c-line-height );letter-spacing:var( --e-global-typography-6b1fb1c-letter-spacing );word-spacing:var( --e-global-typography-6b1fb1c-word-spacing );padding:16px 24px 18px 24px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */.multiply img,
img.multiply{
    mix-blend-mode: multiply;
}

.no-touch:not(.elementor-element-edit-mode){
    pointer-events: none;
}

/* utility classes */
@media (max-width:767px) {
.sm-no-bg{
    background-image: none!important;
}
.sm-no-bg:before{
    content:none;
}
}

/* Global lightbox styling */
.elementor-lightbox .elementor-slideshow__title {
  font-size: 1.5rem;
  /*font-family: 'ff-din-paneuropean';*/
  font-family: 'plantin';
  font-weight: 300;
  /*text-transform: uppercase;*/
}

.elementor-lightbox .elementor-swiper-button {
  width: 10vw;
  outline:none;
}

.elementor-lightbox .elementor-swiper-button:is(:hover,:focus, :active){
  opacity: 1!important;
}

.elementor-lightbox .elementor-lightbox-item {
  padding: 70px 10vw;
}

@media (min-width:768px){
 .elementor-lightbox .elementor-lightbox-item {
  padding: 40px;
} 
}

/* use container as CTA */
.img-cta-overlay a {
  display: block;
}

.img-cta-overlay a:after{
    content: '';
    background-image: var(--overlay-gradient, radial-gradient(#0002, #000) );
    position: absolute;
    top:0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0.2;
    transition: opacity 1s ease;
}

.img-cta-overlay a:hover:after{
 opacity: 0.7;   
}

/* elementor overrides */

.elementor-bg-transform-zoom-in:hover .elementor-bg, .elementor-bg-transform-zoom-out .elementor-bg {
  transform: scale(1.1) !important;
}
.elementor-cta--skin-classic .elementor-cta__bg {
  background-position: 50% 30%;
}

/*form checkboxes */
.ehp-form__field-group.is-field-group-accept label {display: inline-block; position: static;height: auto;width: 90%;clip: none;margin: 0;overflow: visible;}

.ehp-form__field-group.is-field-group-accept .elementor-field-subgroup {
  float: left;
  display: inline-block;
  width: 10%;
}

.ehp-form__field-group.is-field-group-accept {display: flex;flex-direction: row-reverse;}

.ehp-form__field-group input[type="checkbox"] {appearance: none; position:relative;}


.ehp-form__field-group input[type="checkbox"]::before,
.ehp-form__field-group input[type="checkbox"]:checked::after {
  content: '';
  font-size: 50px;
  display: block;
  width: 1em;
  height: 1em;
  background: transparent;
  border: 3px solid currentColor;
  border-radius: inherit;
}
.ehp-form__field-group input[type="checkbox"]:checked::after {
  position: absolute;
  top: 0;
  background: currentColor;
  transform: scale(0.7);
}

/* image carousel with captions */

.carousel-show-caption .swiper-slide .swiper-slide-inner{
    line-height: 0 !important;
}

.carousel-show-caption .swiper-slide .swiper-slide-inner:before{
    content: '';
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;

    opacity: 0.5;
    background: linear-gradient(180deg, transparent, #000);
    transition: opacity 0.5s ease;
}

.carousel-show-caption .swiper-slide .elementor-image-carousel-caption{
    display: flex;
    width: 100%;
    position: absolute;
    bottom: 0;
    padding: 20px;
    transition: opacity .5s ease, transform .5s ease-out;
}


.carousel-show-caption .swiper-slide:not(:hover) .swiper-slide-inner:before {
    opacity: 0;
}

.carousel-show-caption .swiper-slide:not(:hover) .elementor-image-carousel-caption {
    opacity: 0;
    transform: translate(0, 30px);
}

/** accordion-cta section **/

@media (min-width:768px){
.accordion-cta .elementor-widget-call-to-action{
    width: 33%;
    flex: 1 1 auto;
}
.accordion-cta .elementor-widget-call-to-action:is(:hover, :focus-within,:active, .active) {
  width: 66%;
}

.accordion-cta .elementor-widget-call-to-action {
  transition: width 1s ease !important;
}
}

.accordion-cta .elementor-widget-call-to-action .elementor-cta__button-wrapper{
    animation: fadeInUp 1s ease forwards;
}

.accordion-cta .elementor-widget-call-to-action:not(:hover, :focus-within, :active,.active) .elementor-cta__button-wrapper {
  display: none;
}

.accordion-cta .elementor-cta__content {
  transition: height .5s ease;
  height: auto;
  margin-top: 40px;
  margin-bottom: -10px;
}

/* font styles */
.subheading {
  font-family: var(--e-global-typography-500544d-font-family), Sans-serif;
  font-size: var(--e-global-typography-500544d-font-size);
  font-weight: var(--e-global-typography-500544d-font-weight);
  text-transform: var(--e-global-typography-500544d-text-transform);
  font-style: var(--e-global-typography-500544d-font-style);
  text-decoration: var(--e-global-typography-500544d-text-decoration);
  letter-spacing: var(--e-global-typography-500544d-letter-spacing);
  word-spacing: var(--e-global-typography-500544d-word-spacing);
}


@keyframes fadeInUp{
    0%{opacity:0;transform:translate3d(0,50px,0);}
    100%{opacity:1;transform:none;}
}

/*****************
* HUBSPOT FORMS *
*****************/
.hbspt-form {
	--form-accent: var(--e-global-color-accent,#0a66c2); /* primary accent color */
	--form-border: var(--e-global-color-primary,#8c8c8c);
	--form-placeholder: #6b6b6b;
    --form-text: var(--e-global-color-primary,#122937);
	box-sizing: border-box;
	font-size: 1rem;
	font-weight: 400;
	/*font-family: system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial;*/
}

.hbspt-form fieldset {
  width: 100%;
  max-width: 100% !important;
  display: flex;
  gap: 1em;
  appearance: none;
  border: none;
  padding: 0;
  margin-bottom: 1em;
}

/* Field wrapper that will contain input + label */
.hbspt-form .hs-form-field {
  position: relative;
  margin: 0 0 2em 0;
  width: 100%;
}

/* Inputs and textareas: only bottom border, full width and responsive
   -- exclude checkbox and radio inputs so they don't get text-input styles */
.hbspt-form input.hs-input:not([type="checkbox"]):not([type="radio"]), .hbspt-form textarea.hs-input {
  width: 100% !important;
  padding: 1em 0 0.5em 0;
  border: none;
  border-radius: 0;
  border-bottom: 1px solid var(--form-border);
  color: var(--form-text);
  background: transparent;
  outline: none;
  font-size: 1em;
  line-height: 1.2;
  box-sizing: border-box;
  transition: border-color 150ms ease-in-out;
}

/* Make inputs flexible inside multi-column fieldsets */
.hbspt-form fieldset.form-columns-2 .hs-form-field {
  width: 48%;
  display: inline-block;
  vertical-align: top;
}

.hbspt-form .hs-form-field > label{
  font-size: 1em;
  color: var(--form-placeholder);
  pointer-events: none;
}

/* select fields */
.hbspt-form .hs-fieldtype-select {
	display:flex;
	align-items: center;
}

.hbspt-form .hs-fieldtype-select label{
	margin-right: 1em;
}

.hbspt-form .hs-fieldtype-select select {
  min-width: 10em;    
  padding: 0.25em 1em 0.25em 0.25em;
  background: rgba(255,255,255,0.8);
  border-color: var(--form-border);
}


/* Floating label styling - apply only to non-checkbox/non-radio fields so checkbox labels remain static */
.hbspt-form .hs-form-field:where(.hs-fieldtype-text,.hs-fieldtype-textarea, .hs-fieldtype-phonenumber) > label {
  position: absolute;
  left: 0;
  top: 0.6em;
  transform-origin: left top;
  transition: transform 150ms ease, color 150ms ease, top 150ms ease, font-size 150ms ease;
}

/* Ensure checkbox/radio group labels are static and inherit normal flow */
.hbspt-form .hs-fieldtype-checkbox > label, .hbspt-form .hs-fieldtype-radio > label {
  position: static;
  top: auto;
  transform: none;
  margin-bottom: 0.75em;
  display: block;
  color: var(--form-placeholder);
}

.hbspt-form .hs-form-radio > label, .hbspt-form .hs-form-checkbox > label {
  color: var(--form-placeholder);
}

/* When input is focused or has content, move label up and shrink
   Exclude checkbox and radio inputs from these rules */
.hbspt-form .input input:not([type="checkbox"]):not([type="radio"]):focus, .hbspt-form .input textarea:focus {
  border-bottom-color: var(--form-accent);
}

/* Preferred structure: input followed by label (if not, our absolute positioning still works) */
.hbspt-form .input input:not([type="checkbox"]):not([type="radio"]):not(:placeholder-shown) + label, .hbspt-form .input textarea:not(:placeholder-shown) + label, .hbspt-form .input input:not([type="checkbox"]):not([type="radio"]):focus + label, .hbspt-form .input textarea:focus + label {
  transform: translateY(-1em) scale(0.85);
  color: var(--form-accent);
  top: 0 !important;
  /* font-size: 0.85em; */
}

/* Fallback: when label is before input (HubSpot often renders label before input). Use :has to detect input states on the wrapper
   Only consider non-checkbox/radio inputs in the :has() conditions */
.hbspt-form .hs-form-field:has(input:not([type="checkbox"]):focus) label, .hbspt-form .hs-form-field:has(textarea:focus) label, .hbspt-form .hs-form-field:has(input:not([type="checkbox"]):not(:placeholder-shown)) label, .hbspt-form .hs-form-field:has(textarea:not(:placeholder-shown)) label {
  transform: translateY(-1em) scale(0.85);
  color: var(--form-accent);
  top: 0 !important;
  /* font-size: 0.85em; */
}

/* Focus-visible accessibility */
.hbspt-form .hs-input:not([type="checkbox"]):not([type="radio"]):focus {
  outline: none;
  box-shadow: 0 2px 0 -1px rgba(10,102,194,0.15);
}

.hbspt-form .hs-error-msgs label {
  position: static;
  transform: none !important;
  color: #a50808 !important;
  font-size: 0.85em !important;
  font-weight: 500;
}

/* international select */
.hbspt-form .hs-fieldtype-intl-phone.hs-input select {
  padding: 0.75em 0 0.5em;
  vertical-align: baseline;
  position:absolute;
  appearance:none;
  background:none;
  border:none;
  display: block;
  opacity: 0;
  width: 1em !important;
  float: none;
  z-index: 1;
}

.hbspt-form .hs-fieldtype-intl-phone.hs-input input {
  float: none;
  width: 100% !important;
}

.hbspt-form .hs-fieldtype-intl-phone.hs-input:after {
  border: none;
  display: none;
}


/* Textarea adjustments */
.hbspt-form textarea.hs-input {
  min-height: 8em;
}

/* Checkbox list styling - keep default inputs but space nicely */
.hbspt-form .inputs-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em 1em;
}


/* Larger custom checkboxes with solid filled checked state */
.hbspt-form .hs-form-field input[type="checkbox"] {
  -webkit-appearance: none;
  appearance: none;
  font-size: 20px;
  width: 1em;
  height: 1em;
  min-width: 1em;
  min-height: 1em;
  border: 2px solid var(--form-border);
  border-radius: 3px;
  background: #fff;
  display: inline-block;
  vertical-align: middle;
  margin: 0;
  margin-right: 0.25em;
  cursor: pointer;
  transition: background 140ms ease, border-color 140ms ease, transform 120ms ease;
  box-sizing: border-box;
}

.hbspt-form .hs-form-field input[type="checkbox"]:checked {
  background: var(--form-accent);
  border-color: var(--form-accent);
}

.hbspt-form .hs-form-field input[type="checkbox"]:focus {
  outline: none;
  box-shadow: 0 0 0 4px rgba(10,102,194,0.12);
}

/* Keep the label text vertically centered with the larger checkbox */
.hbspt-form .hs-form-checkbox-display {
  align-items: center;
}

.hbspt-form .hs-form-checkbox-display {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  cursor: pointer;
}

label.hs-form-booleancheckbox-display input{
  float:left;
  margin: 0.25em 0.5em 0.25em 0 !important;
}

/* Optional: slightly increase checkbox hit area on touch devices */
@media (pointer: coarse) {
  .hbspt-form .hs-form-field input[type="checkbox"] {
    font-size: 24px;
  }
}

/* Hide HubSpot's built-in label spacing if present */
.hbspt-form .hs-form-field .input {
  position: relative;
  margin: 0 !important;
}

/* recaptcha */
.hbspt-form .hs_recaptcha.hs-recaptcha {
  width: 30%;
  float: left;
  margin-top: 1em;
}

.hbspt-form .hs_recaptcha.hs-recaptcha .grecaptcha-badge{
  transform-origin:0 0;
  transform:scale(0.75);
}

.hbspt-form .hs_recaptcha + .hs_submit {
  width: auto;
  float: right;
  margin-top: 1em;
}

.hs_consent.hs-form-field span {
  font-size: 0.95rem;
  line-height: 1.3em;
  opacity: 0.75;
}

/* submit button */
.hbspt-form .hs-button.primary {
  display: block;
  text-align: center;
  background: transparent;
  color: var(--form-accent);
  border: 1px solid currentColor;
  padding: 1em 2em;
  cursor: pointer;
  border-radius: 0;
  text-transform: uppercase;
  transition: background 300ms;
  transition-property: background, border-color, color;
}

.hbspt-form .hs-button.primary:hover {
  background: var(--form-accent);
  color: #fff;
  border-color: var(--form-accent);
}

.hs_golf_academy_interests .inputs-list li {
  flex: 1 0 40%;
}

/* Responsive settings */
@media (max-width: 640px) {
  .hbspt-form fieldset.form-columns-2 .hs-form-field,
  .hbspt-form fieldset{
    width: 100%;
    display: block;
    margin-right: 0;
  }
  
  .hbspt-form .inputs-list li {
    flex: 1 0 150px;
    }
}/* End custom CSS */