.elementor-kit-7{--e-global-color-primary:#044075;--e-global-color-secondary:#E3042E;--e-global-color-text:#042444;--e-global-color-accent:#666666;--e-global-color-bd4c1a0:#F9F9F9;--e-global-color-5e14a00:#FFFFFF;--e-global-typography-primary-font-family:"Poppins";--e-global-typography-primary-font-size:15px;--e-global-typography-secondary-font-family:"Roboto";--e-global-typography-secondary-font-size:14px;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-size:24px;--e-global-typography-accent-font-family:"Poppins";--e-global-typography-accent-font-size:23px;color:#527598;font-family:"Poppins", Sans-serif;font-size:16px;font-weight:400;}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{background-color:#E3042E;font-size:16px;font-weight:600;color:#000000;padding:60px 60px 60px 60px;}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-kit-7 p{margin-bottom:0px;}.elementor-kit-7 h1{color:#042444;font-family:"Poppins", Sans-serif;font-size:48px;font-weight:700;line-height:1.2px;}.elementor-kit-7 h2{color:#042444;font-family:"Poppins", Sans-serif;}.elementor-kit-7 h3{color:#042444;font-family:"Poppins", Sans-serif;font-size:36px;font-weight:600;line-height:1.3px;}.elementor-kit-7 h4{color:#122138;font-size:24px;font-weight:600;line-height:1.4px;}.elementor-kit-7 h5{color:#122138;font-size:16px;font-weight:600;}.elementor-kit-7 h6{color:#122138;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:0px;}.e-con{--container-max-width:0px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}.elementor .e-div-block-base{min-width:30px;padding:10px;display:block;}.elementor .e-flexbox-base{padding:10px;display:flex;flex-direction:row;}.elementor .e-heading-base{margin:0px;}.elementor .e-heading-link-base{all:unset;cursor:pointer;}.elementor .e-image-link-base{width:fit-content;display:inherit;}.elementor .e-image-base{display:block;}.elementor .e-paragraph-base{margin:0px;}.elementor .e-paragraph-link-base{all:unset;cursor:pointer;}.elementor .e-svg-base{width:65px;height:65px;display:inline-block;}.elementor .e-button-base{text-align:center;padding-block-start:12px;padding-block-end:12px;padding-inline-start:24px;padding-inline-end:24px;border-radius:2px;border-width:0px;background-color:#375EFB;display:inline-block;}.elementor .e-youtube-base{overflow:hidden;aspect-ratio:16/9;}
/* Start custom CSS *//* --- Global Font Styling --- */
/* Forces Poppins on key elements throughout the site */
body,
h1, h2, h3, h4, h5, h6,
.elementor-heading-title,
.elementor-form-fields-wrapper .elementor-field-group input,
.elementor-form-fields-wrapper .elementor-field-group textarea,
.elementor-form-fields-wrapper .elementor-field-group select,
.elementor-form-fields-wrapper .elementor-button,
.elementor-widget-text-editor,
/* Ensure all header buttons also use Poppins */
.elementor-button.header-nav-button,

/* --- Elementor Form Widget Specific Styling (Front Page) --- */

/* Target the FORM Container (ID: 3611d66e) AND its class .hero-form-container */
/* This will apply max-width and centering to the container holding the form and text editor */
#3611d66e.hero-form-container {
    max-width: 800px; /* Or your preferred max width for the form block */
    margin-left: auto !important;   /* Center the form container itself horizontally */
    margin-right: auto !important;
}

/* Ensure Elementor Form fields fill the width of the narrower container */
/* This is good for fields within the #3611d66e container */
#3611d66e.hero-form-container .elementor-form .elementor-field-group {
    width: 100% !important; /* Forces form fields to stretch to 100% of the max-width container */
}

/* This targets the Form Widget (ID: ccb3581) itself to ensure it conforms to its parent container's width */
#3611d66e.hero-form-container > .elementor-widget-form {
    width: auto !important; /* Allow the widget to adjust to its parent's width */
    max-width: 100% !important; /* Ensure it doesn't overflow its parent */
}

/* Apply max-width and centering to the Text Editor widget (disclaimer text) */
#781cc354 { /* Corrected Text Editor Widget ID from JSON */
    max-width: 450px; /* Match form max-width */
    width: auto;      /* Allow its width to adjust to max-width */
    margin-left: auto;   /* Center the text editor within its parent (FORM Container) */
    margin-right: auto;
    padding: 0 10px; /* Add slight horizontal padding if text hits edges */
}


/* Included here for consistency if needed, but Elementor's Style tab is primary. */
.elementor-form-fields-wrapper .elementor-field-group input[type="text"],
.elementor-form-fields-wrapper .elementor-field-group input[type="email"],
.elementor-form-fields-wrapper .elementor-field-group input[type="tel"],
.elementor-form-fields-wrapper .elementor-field-group input[type="number"],
.elementor-form-fields-wrapper .elementor-field-group textarea,
.elementor-form-fields-wrapper .elementor-field-group select {
  background-color: #044075; /* Dark blue background for input fields */
  color: #FFFFFF; /* White text color for input fields */
  border-color: #FFFFFF; /* White border for input fields */
  border-width: 1px;
  border-style: solid;
  border-radius: 1em;
  padding: 15px 15px; /* Adjust as needed */
  font-family: 'Poppins', sans-serif !important; /* ADD THIS LINE (or ensure !important) */
  font-size: 14px;
  font-weight: 500;
  font-style: normal;
}

/* Specific styling for the Submit button in the form widget */
.elementor-form-fields-wrapper .elementor-button:hover {
  background-color: #e3042e !important; /* Stay red */
  transform: scale(1.02); /* Slight grow animation */
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2);
}

/* --- Responsive Adjustments: Tablet (max-width: 768px) --- */
@media (max-width: 768px) {
  /* HERO Container & LEFT CONTENT WRAPPER Responsive */
  #12415935 { /* HERO Container */
      flex-direction: column; /* Stack LEFT CONTENT WRAPPER and remaining background vertically */
      padding-left: 0 !important;
      padding-right: 0 !important;
      align-items: center;
      min-height: unset; /* Remove full height on mobile if content makes it scroll */
  }

  #4503996f { /* LEFT CONTENT WRAPPER */
      width: 95% !important; /* Take up almost full width on tablet/mobile */
      padding-left: 15px !important; /* Some padding from screen edges */
      padding-right: 15px !important;
      padding-top: 20px !important; /* Adjust internal padding on mobile */
      padding-bottom: 20px !important;
  }

  /* Form Container & Text Editor responsive for mobile/tablet */
  #694b2b3d, /* FORM Container */
  #781cc354 { /* Text Editor */
      max-width: 100% !important; /* Form and text editor take full width of LEFT CONTENT WRAPPER */
      margin-left: 0 !important; /* Remove auto margins for centering */
      margin-right: 0 !important;
      padding-left: 0 !important; /* Ensure no unwanted padding pushes it */
      padding-right: 0 !important;
  }

  /* Specific Elementor Form Field adjustments for mobile */
  #694b2b3d .elementor-form-fields-wrapper .elementor-field-group {
      width: 100% !important; /* Ensure fields stack if necessary */
  }
  #694b2b3d .elementor-form-fields-wrapper .elementor-field-group-email,
  #694b2b3d .elementor-form-fields-wrapper .elementor-field-group-tel, /* For Phone field */
  #694b2b3d .elementor-form-fields-wrapper .elementor-field-group-number { /* For ZIP Code field */
      width: 100% !important; /* Forces these specific fields to stack on mobile */
  }
}

.issue-nav ul {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

.issue-nav ul li {
  position: relative;
  padding-left: 1.5em;
  margin-bottom: 1em;
  font-weight: 600;
  color: #044075; /* Base text color (blue) */
  transition: color 0.2s ease;
}

.issue-nav {
  position: sticky;
  top: 100px;
}

.issue-nav ul li a {
  color: #042444;
  text-decoration: none;
  display: block;
  padding: 8px 0 8px 1.5em;  /* Makes room for the star */
  position: relative;         /* Needed for ::before to position correctly */
  transition: color 0.2s ease;
  font-weight: 600;
}

.issue-nav ul li a::before {
  content: "★";               /* Your desired star */
  color: #e3042e;             /* Red star */
  font-size: 1em;
  position: absolute;
  left: 0;
  top: 11px;                  /* Aligns nicely with text */
  line-height: 1;
  font-weight: bold;
}

.issue-nav ul li a:hover,
.issue-nav ul li a.active {
  color: #e3042e;
  font-weight: 700;
}

.issue-card .elementor-icon i {
  color: #e3042e;      /* Red */
  font-size: 2.5em;    /* Adjust as needed */
  filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.25)); /* Soft highlight */
  transition: transform 0.3s ease;
}

.issue-card .elementor-icon:hover i {
  transform: scale(1.1);  /* Slight hover scale for polish */
}

.issue-nav p {
  margin: 0 0 16px 0;
  padding-left: 1.5em;
  position: relative;
}

.issue-nav p a {
  color: #042444;
  text-decoration: none;
  font-weight: 600;
  display: block;
  transition: color 0.2s ease;
}

.issue-nav p a::before {
  content: "★";
  position: absolute;
  left: -1.2em;
  top: 2px;
  color: #e3042e;
  font-size: 1em;
  font-weight: bold;
}

.issue-nav p a:hover,
.issue-nav p a.active {
  color: #e3042e;
  font-weight: 700;
}

.elementor-popup-modal .dialog-overlay {
  z-index: 1000;
  pointer-events: none; /* Allow clicks to pass through the overlay */
}
.elementor-popup-modal .dialog-widget-content {
  position: relative;
  z-index: 1001;
  pointer-events: auto; /* Ensure popup content is interactive */
}

/* Only buttons with class .menu-button */
.elementor-button {
  font-size: clamp(1.2rem, 3vw, 1.95rem) !important;
  padding: 0.5em 1em !important;
}

@media screen and (max-width: 1200px) and (min-width: 1025px) {
  .menu-button {
    font-size: 1.6rem !important;
  }
}

/* --- Global Main Button Style --- */
.site-button-main .elementor-button {
    /* Font and Size */
    font-family: 'Poppins', sans-serif !important;
    font-size: 0.9rem !important; /* Smaller font size */
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    
    /* Sizing and Spacing */
    padding: 10px 22px !important; /* Smaller padding */
    line-height: 1.2;
    
    /* Colors and Border */
    background-color: #e3042e !important; /* Your Red */
    color: #ffffff !important;
    border-radius: 8px !important;
    border: none !important;

    /* Smooth Hover Animation */
    transition: all 0.3s ease !important;
}

/* --- Global Button HOVER Style --- */
.site-button-main .elementor-button:hover {
    background-color: #044075 !important; /* Your Blue */
    transform: translateY(-4px); /* A subtle lift */
}

/* --- MODIFIER: For a Larger Button --- */
/* Add the class "button--large" to any button to make it bigger */
.site-button-main.button--large .elementor-button {
    font-size: 1.1rem !important;       /* Larger font */
    padding: 14px 30px !important;      /* More padding for a bigger feel */
}/* End custom CSS */