
/* Make text look crisper and more legible in all browsers */
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Focus state style for keyboard navigation for the focusable elements */
*[tabindex]:focus-visible,
  input[type="file"]:focus-visible {
   outline: 0.125rem solid #4d65ff;
   outline-offset: 0.125rem;
}

/* Get rid of top margin on first element in any rich text element */
.w-richtext > :not(div):first-child, .w-richtext > div:first-child > :first-child {
  margin-top: 0 !important;
}

/* Get rid of bottom margin on last element in any rich text element */
.w-richtext>:last-child, .w-richtext ol li:last-child, .w-richtext ul li:last-child {
	margin-bottom: 0 !important;
}

/* Prevent all click and hover interaction with an element */
.pointer-events-off {
	pointer-events: none;
}

/* Enables all click and hover interaction with an element */
.pointer-events-on {
  pointer-events: auto;
}

.emphasis { font-size: 1.1em; margin: 0 auto; padding: 0 2em; text-align:center; }
.mainemph { color: #96c36b;}
.highlight { color: #d8ff8e; }
   
/* Create a class of .div-square which maintains a 1:1 dimension of a div */
.div-square::after {
	content: "";
	display: block;
	padding-bottom: 100%;
}

/* Make sure containers never lose their center alignment */
.container-medium, .container-small, .container-large {
   margin-right: auto !important;
   margin-left: auto !important;
}

/* 
Make the following elements inherit typography styles from the parent and not have hardcoded values. 
Important: You will not be able to style for example "All Links" in Designer with this CSS applied.
Uncomment this CSS to use it in the project. Leave this message for future hand-off.
*/
/*
a,
.w-input,
.w-select,
.w-tab-link,
.w-nav-link,
.w-dropdown-btn,
.w-dropdown-toggle,
.w-dropdown-link {
  color: inherit;
  text-decoration: inherit;
  font-size: inherit;
}
*/

/* Apply "..." after 3 lines of text */
.text-style-3lines {
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
}

/* Apply "..." after 2 lines of text */
.text-style-2lines {
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

/* Adds inline flex display */
.display-inlineflex {
  display: inline-flex;
}

/* These classes are never overwritten */
.hide {
  display: none !important;
}

.ui-disabled { pointer-events: none; color: dimgray!important; accent-color: gray!important; }

@media screen and (max-width: 991px) {
    .hide, .hide-tablet {
        display: none !important;
    }
}
  @media screen and (max-width: 767px) {
    .hide-mobile-landscape{
      display: none !important;
    }
}
  @media screen and (max-width: 479px) {
    .hide-mobile{
      display: none !important;
    }
}
 
.margin-0 {
  margin: 0rem !important;
}
  
.padding-0 {
  padding: 0rem !important;
}

.spacing-clean {
padding: 0rem !important;
margin: 0rem !important;
}

.margin-top {
  margin-right: 0rem !important;
  margin-bottom: 0rem !important;
  margin-left: 0rem !important;
}

.padding-top {
  padding-right: 0rem !important;
  padding-bottom: 0rem !important;
  padding-left: 0rem !important;
}
  
.margin-right {
  margin-top: 0rem !important;
  margin-bottom: 0rem !important;
  margin-left: 0rem !important;
}

.padding-right {
  padding-top: 0rem !important;
  padding-bottom: 0rem !important;
  padding-left: 0rem !important;
}

.margin-bottom {
  margin-top: 0rem !important;
  margin-right: 0rem !important;
  margin-left: 0rem !important;
}

.padding-bottom {
  padding-top: 0rem !important;
  padding-right: 0rem !important;
  padding-left: 0rem !important;
}

.margin-left {
  margin-top: 0rem !important;
  margin-right: 0rem !important;
  margin-bottom: 0rem !important;
}
  
.padding-left {
  padding-top: 0rem !important;
  padding-right: 0rem !important;
  padding-bottom: 0rem !important;
}
  
.margin-horizontal {
  margin-top: 0rem !important;
  margin-bottom: 0rem !important;
}

.padding-horizontal {
  padding-top: 0rem !important;
  padding-bottom: 0rem !important;
}

.margin-vertical {
  margin-right: 0rem !important;
  margin-left: 0rem !important;
}
  
.padding-vertical {
  padding-right: 0rem !important;
  padding-left: 0rem !important;
}

.w-input {
   color: #d8ff8e !important;
}

.rl-form-text-area, .rl-form-text-area:active, .rl-form-text-area:focus {
  color: #d8ff8e !important;
}
   
.special {
   font-size:1rem!important; 
   font-weight:normal; 
   text-transform:none; 
   font-family:proxima-nova, sans-serif; 
   color: white; 
   padding:0.25em 0; 
   margin:0;
   margin-block:0;
   display:inline;
}
   
h1 {
  text-transform: none !important;
} 
   
/* ── Submit button hover / active states ─────────────────────────────────── */
/* Only apply hover when the button is enabled (ui-disabled removed by JS) */
#fSubmit:not(.ui-disabled):hover {
  color: #d8ff8e !important;
  border-color: #d8ff8e !important;
}

/* Snap back to white the moment the button is pressed, giving clear click
   feedback and preventing the hover colour persisting after submission */
#fSubmit:active {
  color: #fff !important;
  border-color: #fff !important;
}

/* ── Hero layout fix for real-world viewport heights ────────────────── */

/* Switch from vertical centering to top-align so content
   never overflows above the viewport on shorter screens */
.hero_container {
    align-items: flex-start;
    overflow-y: hidden;
}

/* H1 is grid row 1 — pad it down past the fixed navbar only */
#w-node-_133d34c3-45e6-88f0-8514-190a95d5156b-3a286008.heading {
    padding-top: 0;
    margin-top: 2.75em !important;
}

/* Section needs no extra top padding since hero_container
   now top-aligns and H1 handles navbar clearance */
.padding-section-large.is-hero {
    padding-top: 0;
}

@media screen and (min-width: 768px) {
  /* 1. Vertically center the content container within the full hero height */
   .hero_container {
      align-items: center;
   }
}   

/* iPhone SE / 2nd Gen — navbar is shorter so less clearance needed */
@media screen and (max-width: 479px) {
/*    #w-node-_133d34c3-45e6-88f0-8514-190a95d5156b-3a286008.heading { */
   h1 {   
       padding-top: 0;
   }
   .hero_container {
       align-items: flex-start;
       overflow-y: visible;
   }
   /* ── home_hero: allow scroll on small screens so buttons are reachable ─ */
   .home_hero {
       overflow-y: auto;
       -webkit-overflow-scrolling: touch; /* smooth momentum scroll on iOS */
   }
}

@media screen and (max-width: 479px) {
   .heading {
      font-size: 2rem;
   }
   .hero_content_button-wrap {
      grid-row-gap: 8px;
   }
   #about .padding-global .container-large .padding-section-large { 
      padding-top: 0; 
   }  
    #mainBtns {
        display: grid !important;
        grid-template-columns: 1fr;
        grid-row-gap: 12px;
        margin-bottom: 2em;
        width: 100%;
    }
    #mainBtns .button {
        width: 100%;
        text-align: center;
        box-sizing: border-box;
    }
}  

/* Safari on iOS ignores flex overflow — force visibility */
@supports (-webkit-touch-callout: none) {
    #mainBtns {
        display: grid !important;
        grid-template-columns: 1fr;
        grid-row-gap: 12px;
    }
    #mainBtns .button {
        width: 100%;
        text-align: center;
    }
}

@media screen and (max-width: 375px) {
     .tagline { 
     font-size: 1em; 
   }
}

