/* Hero section gravity forms min-height varaibles */
:root {
  --gf-min-height: 671px;
}

@media (max-width: 1024px) {
  :root {
    --gf-min-height: 671px;
  }
}

@media (max-width: 767px) {
  :root {
    --gf-min-height:0;
  }
}


/* ==========================================================================
    ACCESSIBILITY & FOCUS
   ========================================================================== */
a:focus-visible,
button:focus-visible {
  outline: 2px solid #2563eb;
  outline-offset: 3px;
}

a:focus:not(:focus-visible),
button:focus:not(:focus-visible) {
  outline: none;
}

/* Simple, safe skip link */
.skip-link {
  position: absolute;
  top: 0;
  left: 0;
  transform: translateY(-150%);
  background: #000;
  color: #fff;
  padding: 8px 16px;
  text-decoration: none;
  z-index: 9999;
  transition: transform 0.2s ease;
}

.skip-link:focus,
.skip-link:focus-visible {
  transform: translateY(0);
  background: #d93927;
  outline: 2px solid #fff;
}


/* ==========================================================================
   RESET & BASE STYLES
   (Includes Elementor Global Overrides)
   ========================================================================== */
*, *::before, *::after {
  box-sizing: border-box;
}

* {
  margin: 0;
}

@media (prefers-reduced-motion: no-preference) {
  html {
    interpolate-size: allow-keywords;
  }
}

body {
  -webkit-font-smoothing: antialiased;
}

img {
  display: block;
  max-width: 100%;
}

input, button, textarea, select {
  font: inherit;
}

p, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
}

#root, #__next {
  isolation: isolate;
}

p,
figcaption,
blockquote,
dd,
td {
  text-wrap: pretty !important;
}

:where(p) {
  margin-block: 0 0.9em;
}

:where(p:last-of-type) {
  margin-block-end: 0;
}

/* --- Elementor Base: Lists --- */
.elementor-widget-text-editor ul,
.elementor-widget-text-editor ol {
  margin: 0 0 12px 20px;
  padding: 0;
  list-style: disc;
}

.elementor-widget-text-editor ul:last-child,
.elementor-widget-text-editor ol:last-child {
  margin-bottom: 0 !important;
}

.elementor-widget-text-editor p + ul,
.elementor-widget-text-editor p + ol {
  margin-top: 12px;
}

/* --- Elementor Base: Links --- */
.elementor-icon-box-description a, 
.elementor-widget-text-editor a,
.elementor-widget-text-editor p a,
.elementor-widget-text-editor li a {
  color: #00509e;
	font-weight: 700;
}


.elementor-icon-box-description a:hover,
.elementor-widget-text-editor a:hover,
.elementor-widget-text-editor p a:hover,
.elementor-widget-text-editor li a:hover {
  color: #0a6ccc; 
}

/* --- Elementor Base: Buttons --- */
.elementor-button {
    display: inline-block;
    line-height: 1;
    background-color: #00ADB5;
    font-size: 15px;
    padding: 12px 24px;
    -webkit-border-radius: 3px;
    border-radius: 10px;
    color: #fff;
    fill: #fff;
    text-align: center;
    -webkit-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s;
}

/* ==========================================================================
   ELEMENTOR WIDGET ADJUSTMENTS
   ========================================================================== */
.elementor-icon-box-title {
  margin-bottom: 0px;
}
.elementor-icon-wrapper{
	display:flex;
}
/*------------------------------------
  Gravity Forms - Global Styling
------------------------------------*/

body .gform_wrapper .gfield input[type="text"],
body .gform_wrapper .gfield input[type="email"],
body .gform_wrapper .gfield input[type="url"],
body .gform_wrapper .gfield input[type="tel"],
body .gform_wrapper .gfield input[type="password"],
body .gform_wrapper .gfield select,
body .gform_wrapper .gfield textarea {
  font-size: 16px !important;
	margin-bottom: 0px !important;
  box-shadow: none !important;
}

body .gform_wrapper .gform_heading {
  display: none;
}

body .gform_wrapper .gform_body .gform_fields {
  row-gap: 10px;
}

body .gform_wrapper .gfield select {
  
	font-size: 14px !important;
}



body .gform_wrapper .gfield input::placeholder,
body .gform_wrapper .gfield textarea::placeholder {
  opacity: 1 !important;
  font-size: 14px !important;
  line-height: 1 !important;
  color: #6B7280;
}

body .gform_wrapper input[type="submit"] {
  padding: 12px 24px !important;
  font-size: 16px !important;
  border: none !important;
	font-weight:600 !important;
  transition: all 0.3s;
  background-color: #00adb5 !important;
}

body .gform_wrapper input[type="submit"]:hover {
  background-color: #088c96 !important; 
}

body .gform-footer {
	
	margin-top:12px !important;
}

body .gform_validation_errors {
  margin-bottom: 10px !important;
  background-color: #ffffff !important;
}

body .validation_message.gfield_validation_message {
	border:1px solid red !important;
  padding: 6px;
  background-color: #ffffff !important;
}

body .gform_wrapper .gfield textarea {
  --gf-local-height: 90px;
}

body .gform_wrapper input:focus,
body .gform_wrapper textarea:focus,
body .gform_wrapper select:focus {
	 outline-width: 3px !important;
outline-offset: 0 !important;
  border-color: transparent !important;
outline-color: #00adb5 !important;
}