/* @import url('http://example.com/example_style.css'); */

/***********************************************/
/* CSS @imports must be at the top of the file */
/* Add them above this section                 */
/***********************************************/

/* HUBSPOT STYLING */
/* Complete CSS for New HubSpot Forms - includes both CSS variables and legacy classes */
/* Add this to your WordPress theme's style.css or custom CSS section */

/* NEW HUBSPOT FORMS - CSS Variables */
:root {
  /* Global styling */
  --hsf-global__font-family: inherit;
  --hsf-global__font-size: 15px;
  --hsf-global__color: #000;
  --hsf-global-error__color: #F14259;
  
  /* Form background and spacing - FULLY TRANSPARENT */
  --hsf-background__background-color: rgba(0, 0, 0, 0) !important;
  --hsf-background__background-image: none !important;
  --hsf-background__border-radius: 0px;
  --hsf-background__border-width: 0px;
  --hsf-background__border-style: none;
  --hsf-background__padding: 0px;
  
  /* Row spacing */
  --hsf-row__vertical-spacing: 5px;
  --hsf-module__vertical-spacing: 20px;
  
  /* Field labels */
  --hsf-field-label__font-family: inherit;
  --hsf-field-label__font-size: 16px;
  --hsf-field-label__color: #F6F4F8;
  
  /* Input fields styling - FULLY TRANSPARENT, NO BORDERS */
  --hsf-field-input__font-family: inherit;
  --hsf-field-input__color: #000;
  --hsf-field-input__background-color: #f5f8fa !important;
  --hsf-field-input__placeholder-color: #999;
  --hsf-field-input__border-color: transparent;
  --hsf-field-input__border-width: 0px;
  --hsf-field-input__border-style: none;
  --hsf-field-input__border-radius: 280px;
  --hsf-field-input__padding: 12px 20px;
  
  /* Textarea styling - FULLY TRANSPARENT, NO BORDERS */
  --hsf-field-textarea__font-family: inherit;
  --hsf-field-textarea__color: #000;
  --hsf-field-textarea__background-color: #f5f8fa !important;
  --hsf-field-textarea__placeholder-color: #999;
  --hsf-field-textarea__border-color: transparent;
  --hsf-field-textarea__border-width: 0px;
  --hsf-field-textarea__border-style: none;
  --hsf-field-textarea__border-radius: 280px;
  --hsf-field-textarea__padding: 12px 20px;
  
  /* Checkbox and Radio backgrounds - FULLY TRANSPARENT */
  --hsf-field-checkbox__background-color: #f5f8fa !important;
  --hsf-field-radio__background-color: #f5f8fa !important;
  
  /* Button styling to match your gradient design */
  --hsf-button__font-family: inherit;
  --hsf-button__font-size: 14px;
  --hsf-button__color: #fff;
  --hsf-button__background-color: #FD6E16; /* Fallback color */
  --hsf-button__background-image: linear-gradient(75deg, #FD6E16, #F24456, #EE4161, #D5279E);
  --hsf-button__border-radius: 120px;
  --hsf-button__padding: 14px 30px;
  --hsf-button__box-shadow: none;
  --hsf-button__font-weight: 900;
  
  /* Error alert styling */
  --hsf-erroralert__font-family: inherit;
  --hsf-erroralert__font-size: 15px;
  --hsf-erroralert__color: #F14259;
  
  /* Hide the required indicator (asterisk) */
  --hsf-field-label-requiredindicator__color: rgb(229,64,91);
}

/* Force transparency on the form wrapper itself */
.hs-form-iframe,
.hs-form,
.hbspt-form,
[data-hs-forms-root] {
  background: rgba(0, 0, 0, 0) !important;
  background-color: rgba(0, 0, 0, 0) !important;
}

/* Green button variant using CSS variables */
.ff-btn-green {
  --hsf-button__background-color: #A5F66E;
  --hsf-button__background-image: none;
  --hsf-button__color: #151A1B;
}

/* LEGACY HUBSPOT FORMS - Your Original CSS Classes */
.hs-error-msgs li {
	margin-left: -40px !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	color: #F14259;
}

.hs-error-msgs li::marker {
	font-size: 0px !important;
}

.hs-input {
	border-radius: 280px !important;
	border: none !important; 
	font-size: 15px !important;
	font-weight: 500 !important;
	color: #000 !important;
	margin-bottom: 5px !important;
	width: 100%;
	background-color: #f5f8fa !important;
}

.hbspt-form label {
	margin-top: 20px !important;
}

.hbspt-form span {
	font-weight: 600 !important;
	font-size:16px!important
}

.hs-button  {
	width: 100%;
	border-radius: 120px !important;
	border: none !important;
	letter-spacing: 0px !important;
	font-weight: 800 !important;
	transition: .2s ease all !important;
	padding: 14px 30px !important; 
	font-size: 14px !important;
	transition: ease .25s all;
	margin-top: 10px !important;
}

.hs-button:hover {
	opacity: 1 !important;
	transition: ease .25s all;
}

.hs-button  {
	background-image: linear-gradient(75deg, #FD6E16, #F24456, #EE4161, #D5279E) !important;
	border: none !important;
}

.hs-button:hover {
	background-image: linear-gradient(15deg, #FD6E16, #F24456, #EE4161, #D5279E) !important;
}

.ff-btn-green .form-button-black {
	background-color: #A5F66E !important;
	border: solid 2px #A5F66E !important;
	color: #151A1B !important;
	width: 180px;
}

.ff-btn-green .form-button-black:hover {
	background: none !important;
	border: solid 2px #A5F66E !important;
	color: inherit !important;
	width: 180px;
}

/* ADDITIONAL STYLING FOR BOTH NEW AND LEGACY FORMS */
/* These cover any gaps and ensure consistency */

/* Make sure all form inputs have consistent styling with transparent backgrounds */
.hs-form input[type="text"],
.hs-form input[type="email"],
.hs-form input[type="tel"],
.hs-form input[type="number"],
.hs-form select,
.hs-form textarea,
.hsfc-TextInput {
  border-radius: 280px !important;
  border: none !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #000 !important;
  margin-bottom: 5px !important;
  width: 100% !important;
  padding: 12px 20px !important;
  box-sizing: border-box !important;
  background-color: #f5f8fa !important;
}

.hs-form-container {
    width: 100%;
    max-width: 100%;
}

/* Ensure pre-populated values are very bold */
.hsfc-TextInput[value]:not([value=""]) {
  color: #000 !important;
  font-weight: 700 !important;
}

/* Phone field styling improvements */
.hsfc-PhoneInput {
  border-radius: 280px !important;
  overflow: hidden !important;
  border: none !important;
  background-color: rgba(0, 0, 0, 0) !important;
}

.hsfc-PhoneInput__FlagAndCaret {
  border-radius: 0 !important;
  border: none !important;
  background-color: rgba(0, 0, 0, 0) !important;
  border-right: 1px solid rgba(221, 221, 221, 0.3) !important;
}

.hsfc-PhoneInput .hsfc-TextInput {
  border: none !important;
  border-radius: 0 !important;
  margin: 0 !important;
}

/* Extremely tight spacing for new form fields */
.hsfc-TextField,
.hsfc-EmailField,
.hsfc-TextareaField,
.hsfc-PhoneField,
.hsfc-Row {
  margin-bottom: -5px !important;
}

.hsfc-TextField > *:not(:last-child),
.hsfc-EmailField > *:not(:last-child),
.hsfc-TextareaField > *:not(:last-child),
.hsfc-PhoneField > *:not(:last-child) {
  margin-bottom: 0px !important;
}

/* Override any default HubSpot spacing with negative margins */
[data-hsfc-id="Row"] {
  margin-bottom: -5px !important;
}

/* Force extremely tight spacing on form containers */
.hsfc-Step__Content > * {
  margin-bottom: -5px !important;
}

.hsfc-Step__Content > *:last-child {
  margin-bottom: 0 !important;
}

/* Add more space before the navigation/button row */
.hsfc-NavigationRow {
  margin-top: 20px !important;
}

/* Target the first field to reduce top spacing */
.hsfc-Step__Content > *:first-child .hsfc-FieldLabel {
  margin-top: 5px !important;
}

/* Form labels for both old and new forms */
.hs-form-field label,
.hs-form label,
.hsfc-FieldLabel {
  margin-top: 15px !important;
  margin-bottom: 2px !important;
  font-weight: 800 !important;
  font-size: 16px !important;
  color: #F6F4F8 !important;
}

/* Form spans for both old and new forms */
.hs-form span {
  font-weight: 600 !important;
  font-size: 16px !important;
}

/* Button styling that works for both */
.hs-button,
.hs-form input[type="submit"],
.hs-form button[type="submit"] {
  width: 100% !important;
  max-width: 100% !important;
  border-radius: 120px !important;
  border: none !important;
  letter-spacing: 0px !important;
  font-weight: 900 !important;
  transition: ease .25s all !important;
  padding: 14px 30px !important;
  font-size: 14px !important;
  margin-top: 20px !important;
  background-image: linear-gradient(75deg, #FD6E16, #F24456, #EE4161, #D5279E) !important;
  color: #fff !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
}

/* Additional button width enforcement for new forms */
.hs-form .hs-submit input[type="submit"],
.hs-form .hs-submit .hs-button,
.hs-form-booleancheckbox + .hs-submit input[type="submit"],
.hs-form-booleancheckbox + .hs-submit .hs-button {
  width: 100% !important;
  max-width: 100% !important;
}

/* Force button containers to full width for new forms */
.hs-form .hs-submit,
.hs-form .actions,
.hs-form [data-hs-cf-bound="true"] .hs-submit {
  width: 100% !important;
  display: block !important;
}

/* Target new form button containers more aggressively */
.hs-form .hs-submit > *,
.hs-form .actions > *,
.hs-form [data-reactroot] button,
.hs-form [data-reactroot] input[type="submit"] {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 100% !important;
}

/* New forms specific button targeting */
[data-hs-cf-bound="true"] button,
[data-hs-cf-bound="true"] input[type="submit"],
.hs-form-iframe button,
.hs-form-iframe input[type="submit"] {
  width: 100% !important;
  max-width: 100% !important;
}

/* Button hover for both */
.hs-button:hover,
.hs-form input[type="submit"]:hover,
.hs-form button[type="submit"]:hover {
  opacity: 1 !important;
  background-image: linear-gradient(15deg, #FD6E16, #F24456, #EE4161, #D5279E) !important;
  transition: ease .25s all !important;
}

/* Green button styling that works for both old and new */
.ff-btn-green .hs-button,
.ff-btn-green .form-button-black,
.ff-btn-green input[type="submit"],
.ff-btn-green button[type="submit"] {
  background-color: #A5F66E !important;
  background-image: none !important;
  border: solid 2px #A5F66E !important;
  color: #151A1B !important;
  width: 180px !important;
}

.ff-btn-green .hs-button:hover,
.ff-btn-green .form-button-black:hover,
.ff-btn-green input[type="submit"]:hover,
.ff-btn-green button[type="submit"]:hover {
  background: none !important;
  background-image: none !important;
  border: solid 2px #A5F66E !important;
  color: #A5F66E !important;
}

/* Make sure forms inherit page styling */
.hs-form,
.hbspt-form {
  font-family: inherit !important;
}

/* Hide the asterisk completely - works for both legacy and new forms 
.hsfc-FieldLabel__RequiredIndicator,
.hs-form [data-required="true"]::after,
.hs-form .hs-fieldtype-text .hs-form-required,
.hs-form .hs-fieldtype-email .hs-form-required,
.hs-form .hs-fieldtype-phonenumber .hs-form-required,
.hs-form .hs-fieldtype-textarea .hs-form-required,
.hs-form .hs-fieldtype-comments .hs-form-required,
.hs-form .hs-fieldtype-multi_line_text .hs-form-required {
  display: none !important;
}
*/

/* Additional targeting for textarea/comments asterisks 
.hs-form textarea + .hs-form-required,
.hs-form .hs-input[data-type="textarea"] + .hs-form-required,
.hs-form .field.hs-form-field[data-type="textarea"] .hs-form-required {
  display: none !important;
}
*/

/*****************************************/
/* GENERAL STYLES */
/*****************************************/
html {
  scroll-behavior: smooth;
}

.feed-title {
display: none;
}

.feed-item-desc {
display: none;
}

.feed-item-title {
Text-align: center;
}

#hs_cos_wrapper_widget_1714694811974_ div, #hs_cos_wrapper_widget_1714694811974_ p {
text-align: center;
}

footer a:hover {
    text-decoration: none;
    color: #a6f76e!important;
    font-weight: normal !important;
    font-family: REM, sans-serif !important;
}

div#hs_cos_wrapper_module_1714067384925 {
    max-width: 1100px;
    margin: auto;
}

@media (max-width:767px) {
#hs_cos_wrapper_module_1714065320110 .button-wrapper {
    text-align: left;
    margin-top: 20px;
}
}

/* RSS FEED */
.hs-rss-module {
  display: flex !important;
}

@media (max-width:925px) {
  .hs-rss-module {
    flex-direction: column;
  }
  
  .hs-rss-module .hs-rss-item {
    width: auto!important;
  }
  
  .hs-rss-title {
    justify-content: center;
  }
}

.hs-rss-title {
    height: 100%;
    display: flex;
    align-items: center;
    padding: 40px;
}

.hs-rss-item-text {
    height: 100%;
}

.hs-rss-title, .feed-item-title {
 font-size: 22px !important;
  font-weight: bold !important;
/*   margin-bottom: 15px !important; */
}

.hs-rss-title:hover span, .hs-rss-title:hover, .hs-rss-title:hover a, .feed-item-title:hover {
 font-weight: bold !important;
  font-style: none !important;
  color: #F44E48 !important;
  text-decoration: none !important; 
  font-family: REM !important;
}

.hs-rss-item  {
 text-align: center !important;
  width: 33% !important;
  margin: 20px !important;
  min-height: 20vh !important;
  border: solid 2px #F44E48 !important;
  vertical-align: middle !important;
}

.hs-rss-item:hover {
 background-color: #fff !important;; 
}
/* MERGED HEADER */
.row-number-1 {
margin-bottom: -12vh !important;
}

.header__bottom {
  background-color: #151A1B !important;
}

/* FORM - Keeping HubSpot styles as priority */
form {
  background-color: transparent!important;
  padding-top: 20px!important;
}

.form-title {
    border: 1px solid #A5F66E!important;
    padding: 30px 45px 0!important;
    font-family: REM, sans-serif;
    font-style: normal;
    font-weight: 900;
    text-decoration: none;
    background-color: transparent!important;
    border-top-left-radius: 0px;
    border-top-right-radius: 0px;
    color: #151A1B;
    font-size: 30px;
}

/* BUTTONS - Keeping general button styles but HubSpot form buttons take priority */
.button {
	border: none !important;
	transition: all .5s ease !important;
  border-radius: 28px !important;
	color: #fff !important;
	background-image: linear-gradient(75deg, #FD6E16, #F24456, #EE4161, #D5279E) !important;
	background-color: rgba(255,255,255,.0) !important;
	padding: 17px 30px !important;
}

.button:hover {
	border: none !important;
	transition: all .5s ease !important;
	color: #fff !important;
	background-image: linear-gradient(15deg, #FD6E16, #F24456, #EE4161, #D5279E) !important;
	background-color: rgba(255,255,255,.0) !important;
	padding: 17px 30px !important;
}

/* FONTS */

ul li, ol li, li {
  font-weight: 500 !important;
}
.cg-center, .cg-center span {
text-align: center !important;
}

.cg-upper, .cg-upper .fl-heading {
	font-weight: 600;
	text-transform: uppercase;
	font-size: 17px;
}
.cg-med, .cg-lg, .cg-huge {
	color: inherit !important;
}

.cg-sm, .cg-sm span {
	font-size: 20px;
	letter-spacing: -1px !important;
	line-height: 1.2em;
}

.cg-med,  .cg-med span {
	font-size: 28px;
	font-weight: 300;
	letter-spacing: -1px !important;
	line-height: 1.2em;
}
.cg-huge, .cg-huge span {
	font-size: 120px;
	letter-spacing: -1px !important;
	font-weight: bold;
}
sup {
	font-size: 20%;
	vertical-align: 2em;
}
.cg-larger,  .cg-larger span {
	font-size: 90px;
	letter-spacing: -1px !important;
	line-height: .9em !important;
	font-weight: bold !important;
}
.cg-lg, .cg-lg span {
	font-size: 54px !important;
	letter-spacing: -1px !important;
	line-height: 1em;
	font-weight: 300;
}
.cg-bold, .cg-bold span {
	font-weight: bold !important;
	color: inherit;
}
.cg-thin,  .cg-thin span {
	font-weight: 300 !important;
	color: inherit;
}
.cg-massive, .cg-massive span {
	font-size: 240px;
	letter-spacing: -1px !important;
	line-height: .8em;
	font-weight: bold !important;
}

.cg-green, .cg-green span {
	color: #A5F66E !important;
}

li::marker {
	color: #EF425D;
}
.cg-white, .cg-white span {
	color: #fff !important;
}
.cg-gradient, .cg-gradient .fl-heading  {
	 background: -webkit-linear-gradient(0deg, #FD6E16, #F24456, #EE4161, #D5279E) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
	-webkit-box-decoration-break: clone !important;
  line-height: 1.2em !important;
}


/* Keep forms in columns side-by-side on larger screens */
@media screen and (min-width: 769px) {
    .fl-col .hs-form,
    .fl-col .hbspt-form {
        width: 100%;
        max-width: 100%;
        display: inline-block;
    }
    
    .fl-col {
        vertical-align: top;
    }
}
	
	.fl-heading, .fl-rich-text {
		text-align: center;
	}
 .fl-rich-text li  {
		text-align: left;
	 margin-top: 10px;
	 margin-left: 30px;
	}
	.fl-rich-text {
		margin-bottom: -20px !important;
	}
	
	.cg-larger, .cg-larger .fl-heading, .cg-larger span {
		font-size: 40px !important;
	}
	.cg-lg, .cg-lg .fl-heading, .cg-lg span {
		font-size: 32px !important;
	}
	
		.cg-med, .cg-med .fl-heading, .cg-med span {
		font-size: 22px !important;
			line-height: 1em !important;
	}
	
		.cg-sm, .cg-sm .fl-heading, .cg-sm span {
		font-size: 17px !important;
	}
	
	.cg-huge, .cg-huge .fl-heading, .cg-huge span {
		font-size: 65px !important;
		line-height: .9em;
	}
	.cg-massive, .cg-massive .fl-heading, .cg-massive span {
		font-size: 68px !important;
		line-height: .9em;
	}
}

@media screen and (min-width: 1000px) and (max-width: 1590px) {
		.cg-massive, .cg-massive .fl-heading, .cg-massive span {
		font-size: 180px !important;
		line-height: .9em;
	}
			.cg-huge, .cg-huge .fl-heading, .cg-huge span {
		font-size: 90px !important;
		line-height: .9em;
	}
					.cg-larger, .cg-larger .fl-heading, .cg-larger span {
		font-size: 65px !important;
		line-height: .9em;
	}
				.cg-lg, .cg-lg .fl-heading, .cg-lg span {
		font-size: 40px !important;
		line-height: .9em;
	}
}

/*****************************************/