@charset "UTF-8";
/**
 * Wings Theme - Main Stylesheet (Modern Sass Syntax)
 *
 * This is the main SCSS file that uses modern @use and @forward syntax
 * instead of the deprecated @import rules.
 *
 * @package Wings
 * @version 1.0.0
 */
/**
 * Wings Theme - Index File
 *
 * This file forwards all mixins and variables so they can be used
 * without namespaces in the modern @use syntax.
 *
 * @package Wings
 */
/**
 * Wings Theme - Variables (Phase 2B Integration)
 *
 * This file contains CSS custom properties (variables) with conditional loading:
 * - When Wings Config V2 is active: V2 token system takes priority
 * - When V2 is not active: These fallback values are used
 *
 * Phase 2B: Theme Integration with Token System
 *
 * @package Wings
 */
:root:not([data-wings-v2-active=true]) {
  --wings-primary-color: #191aff;
  --wings-secondary-color: #666;
  --wings-surface-bg-color: #fff;
  --wings-text-color: #404040;
  --wings-heading-color: var(--wings-text-color);
  --wings-link-color: var(--wings-primary-color);
  --wings-link-hover-color: var(--wings-primary-color);
  --wings-button-bg-color: var(--wings-primary-color);
  --wings-button-text-color: #fff;
  --wings-button-hover-bg-color: var(--wings-primary-color);
  --wings-button-hover-text-color: #fff;
  --wings-form-bg-color: var(--wings-surface-bg-color);
  --wings-form-text-color: var(--wings-text-color);
  --wings-form-body-bg-color: var(--wings-surface-bg-color);
  --wings-list-marker-color: var(--wings-primary-color);
  --wings-petition-counter-bg-color: var(--wings-primary-color);
  --wings-petition-counter-text-color: #fff;
  --wings-cta-bg-color: var(--wings-primary-color);
  --wings-cta-text-color: #fff;
  --wings-forms-bg-color: var(--wings-surface-bg-color);
  --wings-forms-text-color: var(--wings-text-color);
  --wings-social-icon-color: var(--wings-secondary-color);
  --wings-social-icon-hover-color: var(--wings-primary-color);
  --wings-header-bg-color: var(--wings-primary-color);
  --wings-header-text-color: #fff;
  --wings-heading-font-family: sans-serif;
  --wings-body-font-family: sans-serif;
  --wings-heading-font-weight: 600;
  --wings-body-font-weight: 400;
  --wings-font-size-base: 19px;
  --wings-font-size-base-mobile: 17px;
  --wings-line-height-base: 1.5;
  --wings-heading-uppercase: false;
}

:root {
  --wings-spacing-unit: 1rem;
  --wings-section-padding: calc(var(--wings-spacing-unit) * 2);
  --wings-border-radius: 5px;
  --wings-border-radius-large: 10px;
  --wings-border-radius-small: 3px;
  --wings-content-width-standard: 743px;
  --wings-content-width-large: 960px;
  --wings-content-width-xl: 1200px;
  --wings-content-width-xxl: 1320px;
  --wings-content-width-xxl-wide: 1600px;
  --wings-container-padding: 1rem;
  --wings-container-padding-mobile: 0.625rem; /* 10px */
  --wings-container-padding-tablet: 1.5rem; /* 24px */
  --wings-container-padding-desktop: 2rem; /* 32px */
}

.wings-no-elevation {
  --wings-card-shadow: var(--wings-shadow-none);
  --wings-card-hover-shadow: var(--wings-shadow-none);
  --wings-surface-shadow: var(--wings-shadow-none);
}

.wings-headings-uppercase {
  --wings-heading-uppercase: true;
}

/**
 * Wings Theme - Mixins
 *
 * This file contains reusable SCSS mixins that provide consistent
 * styling patterns across the Wings theme.
 *
 * @package Wings
 */
/**
 * Apply Wings theme colors to an element
 */
/**
 * Apply Wings surface colors (for cards, containers)
 */
/**
 * Apply Wings primary colors
 */
/**
 * Apply Wings button colors
 */
/**
 * Apply Wings heading styles
 */
/**
 * Apply Wings body text styles
 */
/**
 * Apply Wings container styles
 */
/**
 * Apply responsive container with mobile-first padding
 */
/**
 * Apply responsive spacing
 */
/**
 * Apply Wings border radius
 */
/**
 * Apply Wings box shadow
 */
/**
 * Apply Wings card style
 */
/**
 * Apply Wings transition
 */
/**
 * Apply smart surface transition
 */
/**
 * Apply hover lift effect with smart transitions
 */
/**
 * Mobile breakpoint
 */
/**
 * Tablet breakpoint
 */
/**
 * Desktop breakpoint
 */
/**
 * Apply focus visible styles
 */
/**
 * Screen reader only text
 */
/**
 * Clearfix
 */
/**
 * Flex center
 */
/**
 * Grid layout
 */
/**
 * Wings Theme - Font System
 *
 * Comprehensive font management including:
 * - Custom font @font-face declarations
 * - Font utility classes
 * - Font loading states
 * - Typography mixins
 *
 * @package Wings
 */
.wings-fonts-loading {
  font-display: swap;
}

.wings-fonts-loaded {
  font-display: auto;
}

@font-face {
  font-family: Poppins;
  src: url(../fonts/poppins-bold-webfont.woff2) format("woff2"), url(../fonts/poppins-bold-webfont.woff) format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
.wings-font-heading {
  font-family: var(--wings-heading-font-family);
  font-weight: var(--wings-heading-font-weight, 700);
}

.wings-font-body {
  font-family: var(--wings-body-font-family);
  font-weight: var(--wings-body-font-weight, 400);
}

.wings-font-light {
  font-weight: 300;
}

.wings-font-regular {
  font-weight: 400;
}

.wings-font-medium {
  font-weight: 500;
}

.wings-font-semibold {
  font-weight: 600;
}

.wings-font-bold {
  font-weight: 700;
}

.wings-font-extrabold {
  font-weight: 800;
}

.wings-font-black {
  font-weight: 900;
}

.wings-text-xs {
  font-size: 0.75rem;
}

.wings-text-sm {
  font-size: 0.875rem;
}

.wings-text-base {
  font-size: 1rem;
}

.wings-text-lg {
  font-size: 1.125rem;
}

.wings-text-xl {
  font-size: 1.25rem;
}

.wings-text-2xl {
  font-size: 1.5rem;
}

.wings-text-3xl {
  font-size: 1.875rem;
}

.wings-text-4xl {
  font-size: 2.25rem;
}

.wings-text-5xl {
  font-size: 3rem;
}

.wings-leading-tight {
  line-height: 1.25;
}

.wings-leading-snug {
  line-height: 1.375;
}

.wings-leading-normal {
  line-height: 1.5;
}

.wings-leading-relaxed {
  line-height: 1.625;
}

.wings-leading-loose {
  line-height: 2;
}

.wings-tracking-tighter {
  letter-spacing: -0.05em;
}

.wings-tracking-tight {
  letter-spacing: -0.025em;
}

.wings-tracking-normal {
  letter-spacing: 0;
}

.wings-tracking-wide {
  letter-spacing: 0.025em;
}

.wings-tracking-wider {
  letter-spacing: 0.05em;
}

.wings-tracking-widest {
  letter-spacing: 0.1em;
}

.wings-italic {
  font-style: italic;
}

.wings-not-italic {
  font-style: normal;
}

.wings-uppercase {
  text-transform: uppercase;
}

.wings-lowercase {
  text-transform: lowercase;
}

.wings-capitalize {
  text-transform: capitalize;
}

.wings-normal-case {
  text-transform: none;
}

.wings-underline {
  text-decoration: underline;
}

.wings-line-through {
  text-decoration: line-through;
}

.wings-no-underline {
  text-decoration: none;
}

.wings-font-display-auto {
  font-display: auto;
}

.wings-font-display-block {
  font-display: block;
}

.wings-font-display-swap {
  font-display: swap;
}

.wings-font-display-fallback {
  font-display: fallback;
}

.wings-font-display-optional {
  font-display: optional;
}

@media (max-width: 768px) {
  .wings-text-5xl {
    font-size: 2.5rem;
  }
  .wings-text-4xl {
    font-size: 2rem;
  }
  .wings-text-3xl {
    font-size: 1.75rem;
  }
  .wings-text-2xl {
    font-size: 1.375rem;
  }
}
.wings-font-loading {
  font-display: swap;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.wings-font-features {
  font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
  text-rendering: optimizelegibility;
}

@media print {
  .wings-font-heading,
  .wings-font-body {
    font-family: serif !important;
  }
  .wings-font-features {
    font-feature-settings: normal;
    text-rendering: auto;
  }
}
/**
 * Wings Theme - Normalize & Reset
 *
 * This file contains normalize.css and basic reset styles for the Wings theme.
 * Based on normalize.css v8.0.1 | MIT License
 *
 * @package Wings
 */
/*--------------------------------------------------------------
# Normalize & Reset
--------------------------------------------------------------*/
/* Font Face Declaration */
@font-face {
  font-family: Poppins, sans-serif;
  src: url(fonts/poppins-bold-webfont.woff2) format(woff2), url(fonts/poppins-bold-webfont.woff) format(woff);
  font-weight: 700;
  font-style: normal;
}
/* HTML Reset */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  font-size: 112.5%; /* 112.5% of 16px = 18px */
  box-sizing: border-box;
}

/* Body Reset */
html,
body {
  height: 100%; /* Ensure full viewport height */
  margin: 0; /* Remove default margins */
}

/* Box Sizing Reset */
*,
*::before,
*::after {
  box-sizing: inherit;
}

/* Body Background */
body {
  background: var(--wings-main-bg-color, #f5f5f5);
}

/* Main Element */
main {
  display: block;
}

/**
 * Wings Theme - Typography
 *
 * This file contains all typography styles including headings, links,
 * lists, and other text elements for the Wings theme.
 *
 * @package Wings
 */
/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/
/* Headings */
h1,
h2,
h3,
h4,
h5,
h6,
.wp-block-pullquote blockquote p {
  clear: both;
  font-family: var(--wings-heading-font-family);
  font-weight: var(--wings-heading-font-weight);
  line-height: var(--wings-line-height);
  letter-spacing: var(--wings-letter-spacing);
}

h1 {
  font-size: var(--wings-font-size-h1);
  margin: 0.67em 0;
}

/* Page titles without header images - bigger and centered */
.entry-header .entry-title {
  text-align: center;
  font-size: 3.5em; /* Much bigger than regular h1 */
  font-weight: 700;
  margin: 1em 0 1em 0;
  line-height: 1.1;
  color: var(--wings-smart-content-text-color);
}

/* Post titles without header images - also bigger and colored */
.post-title-container.no-headerimage .post-title {
  text-align: center;
  font-size: 3.5em;
  font-weight: 700;
  margin: 0.5em 0 1em 0;
  line-height: 1.1;
  color: var(--wings-smart-content-text-color, var(--wings-primary-color, #3b82f6));
}

/* Responsive adjustments for large titles */
@media (max-width: 768px) {
  .entry-header .entry-title,
  .post-title-container.no-headerimage .post-title {
    font-size: 2.5em; /* Smaller on mobile but still prominent */
    margin: 0.5em 0;
  }
}
@media (max-width: 480px) {
  .entry-header .entry-title,
  .post-title-container.no-headerimage .post-title {
    font-size: 1.6em; /* Even smaller on very small screens */
    margin: 0.4em 0;
  }
}
/* When there's a header image, the title styling is handled by header component */
h2 {
  font-size: var(--wings-font-size-h2);
  margin-top: 0.83em;
}

h3 {
  font-size: var(--wings-font-size-h3);
}

h4 {
  font-size: var(--wings-font-size-h4);
}

/* Smart heading colors for entry content */
.entry-content h2 {
  color: var(--wings-smart-content-text-color);
}

.entry-content h3 {
  color: var(--wings-smart-content-text-color);
}

.entry-content h4 {
  color: var(--wings-smart-content-text-color);
}

h5 {
  font-size: var(--wings-font-size-h5);
}

h6 {
  font-size: var(--wings-font-size-h6);
}

h2.wp-block-heading {
  margin-bottom: 20px;
}

/* Paragraphs */
p {
  margin-bottom: 1em;
  font-size: var(--wings-font-size-base);
  line-height: var(--wings-line-height);
  letter-spacing: var(--wings-letter-spacing);
  color: var(--wings-smart-content-text-color);
  /* Mobile font size override - always 17px regardless of user settings */
}
@media (max-width: 767px) {
  p {
    font-size: var(--wings-font-size-base-mobile);
  }
}

/* Lede text - appears after title but before main content */
.wings-lede-block {
  font-size: 1.5rem;
  line-height: 1.5;
  margin: 1.5em 0 2em 0;
  color: var(--wings-smart-content-text-color);
  font-weight: 500;
}
.wings-lede-block strong {
  font-weight: 700;
}
.wings-lede-block em {
  font-style: italic;
}

/* Responsive lede sizing */
@media (max-width: 768px) {
  .wings-lede-block {
    font-size: 1.1rem; /* Smaller font size on mobile */
    margin: 0.75em 0 1.25em 0; /* Reduced margin-top on mobile */
  }
}
/* Strong and Bold */
strong,
b {
  font-weight: 700;
}

/* Links */
.entry-content p a,
.entry-content ul a,
.entry-content ol a {
  cursor: pointer;
  color: var(--wings-link-color);
  text-decoration: underline;
  text-decoration-thickness: 0.1em;
  text-underline-offset: 0.3em;
}

.entry-content p a:hover,
.entry-content ul a:hover,
.entry-content ol a:hover {
  text-decoration: none;
}

/* Lists */
ul,
ol {
  margin: 0 0 1.5em 3em;
}

ul {
  list-style: disc;
}

ul.wp-block-list,
ol.wp-block-list {
  margin-left: 0;
}

ul.wp-block-list li,
ol.wp-block-list li {
  padding-left: 8px;
}

ol {
  list-style: decimal;
}

/* List Markers - Use primary color (only in entry content) */
.entry-content ul li,
.entry-content ol li,
article .entry-content ul li,
article .entry-content ol li {
  color: var(--wings-smart-content-text-color);
}

/* List markers using ::marker pseudo-element */
.entry-content ul li::marker,
.entry-content ol li::marker,
article .entry-content ul li::marker,
article .entry-content ol li::marker {
  color: var(--wings-smart-list-marker-color, var(--wings-primary-color));
}

/* Other Typography Elements */
abbr,
acronym {
  border-bottom: 1px dotted var(--wings-secondary-color);
  cursor: help;
}

mark,
ins {
  background: #fff9c0;
  text-decoration: none;
}

pre {
  background: #eee;
  font-family: "Courier 10 Pitch", courier, monospace;
  line-height: 1.6;
  margin-bottom: 1.6em;
  max-width: 100%;
  overflow: auto;
  padding: 1.6em;
}

/*--------------------------------------------------------------
# Entry Content & WordPress Block Styles
--------------------------------------------------------------*/
/* WordPress Block Specific Styles */
h2.wp-block-heading {
  margin-bottom: 20px;
}

ul.wp-block-list,
ol.wp-block-list {
  margin-left: 0;
}

ul.wp-block-list li,
ol.wp-block-list li {
  padding-left: 8px;
}

/**
 * Wings Theme - Layout & Structure
 *
 * This file contains layout and structure styles including page layout,
 * post headers, and basic structural elements for the Wings theme.
 *
 * @package Wings
 */
/*--------------------------------------------------------------
# Layout & Structure
--------------------------------------------------------------*/
/* Post Header Layout */
.post-header-container {
  width: 100%;
  height: 100vh -80px;
  position: relative;
  overflow: hidden;
}

.post-header {
  width: 100%;
  height: calc(100vh - 80px);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  position: relative;
  transition: all 0.2s ease-in-out;
}

.post-header-background {
  position: absolute;
  width: 100%;
  height: 100%;
}

.post-header-content {
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  text-align: center;
  color: #fff;
  padding: 20px;
  height: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

/* Page Header Layout */
.page-header-container {
  width: 100%;
  height: 100vh -80px;
  position: relative;
  overflow: hidden;
}

.page-header {
  width: 100%;
  height: calc(100vh - 80px);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  position: relative;
  transition: all 0.2s ease-in-out;
}

.page-header-background {
  position: absolute;
  width: 100%;
  height: 100%;
}

.page-header-content {
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  text-align: center;
  color: #fff;
  padding: 20px;
  height: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

/* Content spacing when header images are present */
.page-header-container.has-headerimage + .page-content-container,
.post-header-container.has-headerimage ~ .post-content-container {
  margin-top: 3em;
}

/* Responsive adjustments for header spacing */
@media (max-width: 768px) {
  .page-header-container.has-headerimage + .page-content-container,
  .post-header-container.has-headerimage ~ .post-content-container {
    margin-top: 2em;
  }
}
/*--------------------------------------------------------------
# Base Elements
--------------------------------------------------------------*/
body,
button,
input,
select,
optgroup,
textarea {
  color: var(--wings-text-color);
  font-family: var(--wings-body-font-family);
  font-weight: var(--wings-font-weight-normal);
  font-size: var(--wings-font-size-base);
  line-height: var(--wings-line-height);
  letter-spacing: var(--wings-letter-spacing);
}

#page {
  display: flex;
  flex-direction: column; /* Arrange children vertically */
  min-height: 100vh; /* Make the page container at least as tall as the viewport */
  position: relative;
}

/* Sticky Footer Layout */
#page > main,
#page > div:not(.site-footer) {
  flex: 1; /* Take up available space */
}

.site-footer {
  margin-top: auto; /* Push footer to bottom */
  flex-shrink: 0; /* Don't shrink the footer */
}

/*--------------------------------------------------------------
# Wings Layout System (Extended)
--------------------------------------------------------------*/
/* Wings Container - Simple, predictable layout */
.wings-container {
  max-width: var(--wings-content-width-xl);
  margin: 0 auto;
  padding: 0 var(--wings-container-padding-mobile);
}
@media (min-width: 768px) {
  .wings-container {
    padding: 0 var(--wings-container-padding-tablet);
  }
}
@media (min-width: 1024px) {
  .wings-container {
    padding: 0 var(--wings-container-padding-desktop);
  }
}

/* Wings Content Layout */
.wings-content-layout {
  display: flex;
  justify-content: center;
  gap: 40px;
  margin: 0 auto;
}

/* Main Content Column - Default to full width */
.wings-content-main {
  width: 100%;
  max-width: 100%;
  flex-shrink: 0;
}

/* Editorial content width - For posts and pages */
.wings-content-main .content-body,
.wings-content-main .entry-content {
  width: var(--wings-content-width-standard);
  max-width: 100%;
  margin: 0 auto;
}

/* Responsive behavior */
@media (max-width: 783px) {
  .wings-content-main {
    width: 100%;
    flex-shrink: 1;
  }
  .wings-content-main .content-body,
  .wings-content-main .entry-content {
    width: 100%;
    padding: 0 var(--wings-container-padding-mobile);
  }
  .wings-content-layout {
    flex-direction: column;
    gap: 20px;
  }
}
/* Wings Component Widths - For editorial content that breaks out of 743px */
.wings-component-large {
  width: var(--wings-content-width-large);
  max-width: 100%;
  margin-left: calc((var(--wings-content-width-large) - var(--wings-content-width-standard)) / -2);
}

.wings-component-xl {
  width: var(--wings-content-width-xl);
  max-width: 100%;
  margin-left: calc((var(--wings-content-width-xl) - var(--wings-content-width-standard)) / -2);
}

/* Responsive component widths */
@media (max-width: 960px) {
  .wings-component-large {
    width: 100%;
    margin-left: 0;
  }
}
@media (max-width: 1200px) {
  .wings-component-xl {
    width: 100%;
    margin-left: 0;
  }
}
/* Legacy container support */
.container {
  flex: 1;
}

/*--------------------------------------------------------------
# Wings Component Width Utilities
--------------------------------------------------------------*/
.wings-width-standard {
  width: var(--wings-content-width-standard);
}

.wings-width-large {
  width: var(--wings-content-width-large);
}

.wings-width-xl {
  width: var(--wings-content-width-xl);
}

@media (max-width: 783px) {
  .wings-width-standard,
  .wings-width-large,
  .wings-width-xl {
    width: 100%;
  }
}
/*--------------------------------------------------------------
# Navigation & Header
--------------------------------------------------------------*/
/* Header & Navigation Styles */
.site-header {
  background-color: var(--wings-header-bg-color);
  height: 72px;
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000; /* Ensure header is above other elements */
}

/* Add padding to body to compensate for fixed header */
body {
  padding-top: 80px;
}

/* WordPress admin bar compensation */
.admin-bar .site-header {
  top: 32px;
}

.admin-bar body {
  padding-top: 112px; /* 80px header + 32px admin bar */
}

/* Mobile admin bar (WordPress changes admin bar height on mobile) */
@media screen and (max-width: 782px) {
  .admin-bar .site-header {
    top: 46px;
  }
  .admin-bar body {
    padding-top: 126px; /* 80px header + 46px admin bar */
  }
}
.nav-container {
  max-width: 1320px;
  margin: 0 auto;
  height: 100%;
  padding: 0 1rem;
}

.nav-wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
  gap: 2rem;
}

/* Branding */
.site-branding {
  height: 72px;
  display: flex;
  align-items: center;
}

.custom-logo {
  height: 40px;
  width: auto;
  display: block;
}

/* Header Search Form */
.header-search {
  flex-grow: 0;
  width: 250px;
}

.header-search .search-form {
  display: flex;
  align-items: center;
  background: var(--wings-search-form-bg, rgba(255, 255, 255, 0.1));
  border-radius: var(--wings-border-radius);
  overflow: hidden;
}

.header-search .search-field {
  background: transparent;
  border: none;
  padding: 0.375rem 1rem;
  color: var(--wings-search-form-text-color, var(--wings-header-text-color, #fff));
  width: 100%;
  height: 40px;
  box-sizing: border-box;
}

.header-search .search-field::-moz-placeholder {
  color: var(--wings-search-form-text-color, var(--wings-header-text-color, rgba(255, 255, 255, 0.7)));
  opacity: 0.7;
}

.header-search .search-field::placeholder {
  color: var(--wings-search-form-text-color, var(--wings-header-text-color, rgba(255, 255, 255, 0.7)));
  opacity: 0.7;
}

/* Body Search Form (for 404, search results, etc.) */
.page-content .search-form,
.error-404 .search-form {
  display: flex;
  align-items: center;
  background: var(--wings-surface-bg-color);
  border: var(--wings-surface-border-width) solid var(--wings-border-color);
  border-radius: var(--wings-border-radius);
  overflow: hidden;
  box-shadow: var(--wings-surface-shadow);
  max-width: 400px;
  margin: 0 auto;
}

.page-content .search-field,
.error-404 .search-field {
  background: transparent;
  border: none;
  padding: 0.75rem 1rem;
  color: var(--wings-text-color);
  width: 100%;
  font-size: 1rem;
}

.page-content .search-field:focus,
.error-404 .search-field:focus {
  outline: none;
  color: var(--wings-text-color);
}

.page-content .search-field:not(:-moz-placeholder), .error-404 .search-field:not(:-moz-placeholder) {
  color: var(--wings-text-color);
}

.page-content .search-field:not(:placeholder-shown),
.error-404 .search-field:not(:placeholder-shown) {
  color: var(--wings-text-color);
}

.page-content .search-field::-moz-placeholder, .error-404 .search-field::-moz-placeholder {
  color: var(--wings-text-muted-light);
}

.page-content .search-field::placeholder,
.error-404 .search-field::placeholder {
  color: var(--wings-text-muted-light);
}

.page-content .search-submit,
.error-404 .search-submit {
  background: var(--wings-primary-color);
  border: none;
  padding: 0.75rem 1rem;
  color: var(--wings-context-text-color, #fff);
  cursor: pointer;
  font-weight: 600;
  transition: all var(--wings-transition-duration) var(--wings-transition-timing);
}

.page-content .search-submit:hover,
.error-404 .search-submit:hover {
  background: var(--wings-button-hover-background);
  transform: translateY(-1px);
}

.page-content .search-form .form-control:focus {
  color: var(--wings-text-color);
}

.header-search .search-submit {
  background: transparent;
  border: none;
  padding: 0.375rem;
  color: var(--wings-context-text-color, #fff);
  cursor: pointer;
  height: 40px;
  box-sizing: border-box;
}

/* Navigation Menu */
.main-navigation {
  display: flex;
  align-items: center;
}

.nav-menu {
  display: flex;
  margin: 0;
  padding: 0;
  list-style: none;
}

.nav-menu a {
  color: var(--wings-context-text-color, #fff);
  text-decoration: none;
  font-size: 1rem;
  padding: 0.5rem 0;
}

.nav-menu a:hover {
  text-decoration: underline;
}

/* Hamburger Menu */
.main-navigation .menu-toggle {
  display: none;
  background: transparent;
  border: none;
  padding: 0.5rem;
  cursor: pointer;
  color: var(--wings-header-text-color, #fff);
  /* Override general button styles that don't apply to hamburger menu */
  font-size: inherit;
  font-weight: inherit;
  text-decoration: none;
  border-radius: 0;
  line-height: inherit;
  text-align: inherit;
  box-shadow: none;
}

.hamburger-box {
  width: 24px;
  height: 20px;
  display: inline-block;
  position: relative;
}

.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -2px;
}

.hamburger-inner,
.hamburger-inner::before,
.hamburger-inner::after {
  width: 24px;
  height: 2px;
  background-color: var(--wings-context-text-color, #fff);
  position: absolute;
  transition: transform 0.15s ease;
}

.hamburger-inner::before,
.hamburger-inner::after {
  content: "";
  display: block;
}

.hamburger-inner::before {
  top: -8px;
}

.hamburger-inner::after {
  bottom: -8px;
}

/* Mobile Menu Animation */
.main-navigation .menu-toggle[aria-expanded=true] .hamburger-inner {
  transform: rotate(45deg);
}

.main-navigation .menu-toggle[aria-expanded=true] .hamburger-inner::before {
  top: 0;
  opacity: 0;
}

.main-navigation .menu-toggle[aria-expanded=true] .hamburger-inner::after {
  bottom: 0;
  transform: rotate(-90deg);
}

/* Base styles for menu items */
.main-navigation ul li {
  display: inline-block;
  margin: 0;
}

.main-navigation ul li a {
  text-decoration: none;
  background-color: transparent;
  padding: 10px 15px;
}

/* Styles for the featured menu item */
.main-navigation .featured-menu-item a {
  border-radius: var(--wings-border-radius);
  padding: 10px 20px;
  transition: background-color 0.3s ease, color 0.3s ease;
}

.main-navigation ul li a {
  color: var(--wings-header-text-color, #fff);
}

/* Styles for the featured menu item */
.main-navigation ul li.featured-menu-item a {
  background-color: var(--wings-context-text-color, #fff);
  color: var(--wings-text-color);
}

/* Hover effect for the featured menu item */
.main-navigation ul li.featured-menu-item a:hover {
  background-color: var(--wings-text-color);
  color: var(--wings-context-text-color, #fff);
  text-decoration: none;
}

/* Mobile Styles */
@media (max-width: 768px) {
  .main-navigation .menu-toggle {
    display: block;
  }
  .nav-menu {
    display: none;
    position: absolute;
    top: 80px;
    left: 0;
    right: 0;
    background: var(--wings-primary-color);
    flex-direction: column;
    padding: 1rem;
    box-shadow: var(--wings-surface-shadow);
  }
  .nav-menu.active {
    display: flex;
  }
  .header-search {
    display: none;
  }
}
/**
 * Wings Theme - Header Styles
 *
 * General header styles for page templates that use header images
 * and header placeholders.
 *
 * @package Wings
 */
/*--------------------------------------------------------------
# Header Template Styles
--------------------------------------------------------------*/
.header-image {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  background-size: cover;
  background-position: center;
  height: 100vh;
  max-height: 700px;
  margin-bottom: -400px;
}

.header-placeholder {
  height: 60px;
  background-color: #fff;
}

.page-header-container.has-headerimage + .page-content-container .page-content,
.post-header-container.has-headerimage ~ .post-content-container .page-content {
  position: relative;
  top: -80px;
  z-index: 10;
  padding-top: 80px;
}

/* Responsive header adjustments */
@media (max-width: 768px) {
  .header-image {
    height: 50vh;
    max-height: 400px;
    margin-bottom: -200px;
  }
  .page-header-container.has-headerimage + .page-content-container .page-content,
  .post-header-container.has-headerimage ~ .post-content-container .page-content {
    top: -40px;
    padding-top: 40px;
  }
}
/**
 * Wings Theme - Footer Styles
 *
 * Complete footer styling including widget areas, social media links,
 * and responsive footer layouts.
 *
 * @package Wings
 */
/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
.site-footer {
  background-color: var(--wings-footer-background-color, #222);
  color: var(--wings-footer-text-color, #fff);
  padding: 2rem 0;
}

/* Footer Layout */
.footer-widgets {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 2rem;
  align-items: start;
}

.footer-widget {
  min-width: 0; /* Allow grid items to shrink */
}

/* Responsive footer */
@media (max-width: 768px) {
  .footer-widgets {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
}
.site-footer .widget-title,
.site-footer h2.widget-title,
.site-footer .widget h2 {
  color: var(--wings-footer-text-color, var(--wings-smart-h2-color, var(--wings-smart-title-color, #fff)));
  font-size: 1.5rem;
  margin-bottom: 1rem;
  font-weight: 700;
}

.site-footer .widget_text,
.site-footer .widget_text p {
  margin-bottom: 10px;
  line-height: 1.4;
}

.site-footer ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.site-footer .widget_block {
  margin-bottom: 0;
}

.site-footer ul li {
  line-height: 1.4;
  margin-bottom: 10px;
}

.site-footer ul li a {
  color: var(--wings-footer-text-color, #fff);
  text-decoration: none;
}

.site-footer .social-media-links {
  list-style: none;
  padding: 0;
  display: flex;
  gap: 1rem;
}

.site-footer .social-media-links li img {
  width: 24px;
  height: 24px;
}

/**
 * Wings Theme - Main Stylesheet (Modern Sass Syntax)
 *
 * This is the main SCSS file that uses modern @use and @forward syntax
 * instead of the deprecated @import rules.
 *
 * @package Wings
 * @version 1.0.0
 */
/*--------------------------------------------------------------
# Components (Modern Sass Syntax)
--------------------------------------------------------------*/
/**
 * Wings Block UI Components
 *
 * Centralized styling for Gutenberg block UI components.
 * These styles provide consistent visual treatment across all Wings blocks.
 *
 * @package Wings
 * @version 1.0.0
 */
.wings-block {
  margin-top: 1.5rem;
  background: #fafafa !important;
  border: var(--wings-surface-border-width) solid #e0e0e0;
  border-radius: 8px;
  padding: 24px;
  box-shadow: var(--wings-surface-shadow);
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
}
.wings-block:hover {
  box-shadow: var(--wings-shadow-large);
}
.wings-block:focus-within {
  border-color: #007cba;
  box-shadow: 0 0 0 1px #007cba, var(--wings-surface-shadow);
}

.cta-component-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid #e0e0e0;
}
.cta-component-header .cta-component-title {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  color: #333;
}
.cta-component-header .cta-header-actions {
  display: flex;
  gap: 8px;
  align-items: center;
}

.help-toggle-button {
  background: #6c757d !important;
  color: #fff !important;
  border: 1px solid #6c757d !important;
  border-radius: 4px !important;
  padding: 6px 12px !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  transition: all 0.2s ease !important;
}
.help-toggle-button:hover {
  background: #5a6268 !important;
  border-color: #5a6268 !important;
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(108, 117, 125, 0.3) !important;
}
.help-toggle-button:focus {
  box-shadow: 0 0 0 1px #6c757d !important;
}

.remove-block-button {
  background: #dc3545 !important;
  color: #fff !important;
  border: 1px solid #dc3545 !important;
  border-radius: 4px !important;
  padding: 6px 12px !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  transition: all 0.2s ease !important;
}
.remove-block-button:hover {
  background: #c82333 !important;
  border-color: #c82333 !important;
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(220, 53, 69, 0.3) !important;
}
.remove-block-button:focus {
  box-shadow: 0 0 0 1px #dc3545 !important;
}

.block-add-button {
  background: #fff !important;
  border-color: #007cba !important;
  border-style: dashed !important;
  color: #007cba !important;
  margin-bottom: 0;
  min-width: 120px;
  width: auto;
}
.block-add-button:hover {
  background: #007cba !important;
  color: #fff !important;
}

.block-remove-button {
  background: rgba(255, 255, 255, 0.9) !important;
  border: 1px solid #e9ecef !important;
  border-radius: 4px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;
  color: #6c757d !important;
  font-size: 12px !important;
  height: auto !important;
  margin-top: 0.5rem;
  min-height: 28px !important;
  padding: 6px 12px !important;
  transition: all 0.2s ease;
}
.block-remove-button:hover {
  background: #fff !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15) !important;
  color: #495057 !important;
}

.block-card {
  background: #fff;
  border: 1px solid #e9ecef;
  border-radius: 6px;
  padding: 16px;
  margin-bottom: 1rem;
}

.block-field-label {
  color: #9ca3af;
  display: block;
  font-size: 13px;
  font-weight: 500;
  margin-bottom: 8px;
  text-transform: none !important;
}

.block-input-row {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: stretch;
  width: 100%;
  margin-bottom: 0;
}

.block-input-column {
  min-width: 0;
}
.block-input-column--small {
  width: 100%;
  max-width: none;
}
.block-input-column--remove {
  width: 100%;
  max-width: 200px;
  align-self: flex-start;
}

.block-help {
  background: #fff;
  border: 1px solid #e9ecef;
  border-radius: 6px;
  padding: 16px;
  margin-bottom: 20px;
  font-size: 14px;
  line-height: 1.5;
  color: #495057;
}
.block-help p {
  margin: 0 0 12px 0;
}
.block-help p:last-child {
  margin-bottom: 0;
}

.wings-block__secondary-button-container {
  margin-top: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 120px;
}

.components-base-control__label {
  color: #9ca3af !important;
  display: block;
  font-size: 13px !important;
  font-weight: 500;
  margin-bottom: 8px;
  text-transform: none !important;
}

/**
 * Wings Theme - Main Stylesheet (Modern Sass Syntax)
 *
 * This is the main SCSS file that uses modern @use and @forward syntax
 * instead of the deprecated @import rules.
 *
 * @package Wings
 * @version 1.0.0
 */
/*--------------------------------------------------------------
# Accessibility & Focus Management
--------------------------------------------------------------*/
.skip-link {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.skip-link:focus {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 9999;
  background-color: var(--wings-primary-color);
  color: #fff;
  padding: 10px 15px;
  border-radius: var(--wings-border-radius);
  text-decoration: none;
  font-weight: 600;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}
.skip-link:focus:hover {
  background-color: var(--wings-primary-color-dark, #0056b3);
}

button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
a:focus-visible,
[tabindex]:not([tabindex="-1"]):focus-visible {
  outline: 2px solid var(--wings-primary-color);
  outline-offset: 2px;
}
button:focus,
input:focus,
select:focus,
textarea:focus,
a:focus,
[tabindex]:not([tabindex="-1"]):focus {
  outline: 2px solid var(--wings-primary-color);
  outline-offset: 2px;
}

.search-submit:focus,
.menu-toggle:focus {
  outline: 2px solid var(--wings-primary-color);
  outline-offset: 3px;
  border-radius: var(--wings-border-radius);
}

.nav-menu a:focus {
  outline: 2px solid var(--wings-primary-color);
  outline-offset: 2px;
  background-color: rgba(var(--wings-primary-color-rgb, 0, 123, 255), 0.1);
}

input:focus,
textarea:focus,
select:focus {
  border-color: var(--wings-primary-color);
  box-shadow: 0 0 0 2px rgba(var(--wings-primary-color-rgb, 0, 123, 255), 0.25);
}

/* High contrast mode support */
@media (prefers-contrast: high) {
  button:focus,
  input:focus,
  select:focus,
  textarea:focus,
  a:focus,
  [tabindex]:not([tabindex="-1"]):focus {
    outline: 3px solid;
    outline-offset: 1px;
  }
  .skip-link:focus {
    background-color: #000;
    color: #fff;
    border: 2px solid #fff;
  }
}
/*--------------------------------------------------------------
# Cards
--------------------------------------------------------------*/
.card {
  border: var(--wings-card-border-width) solid var(--wings-border-color);
  background-color: var(--wings-surface-bg-color);
  transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
  display: block;
  height: 100%;
  border-radius: var(--wings-border-radius);
  box-shadow: var(--wings-card-shadow);
  overflow: hidden; /* Ensures the image and content respect the border-radius */
}

.card:hover {
  transform: translateY(-2px);
  box-shadow: var(--wings-card-hover-shadow);
}

/* Smart hover logic: if no base shadow, use opacity instead */
.card[style*="--wings-card-shadow: none"]:hover,
.card[style*="--wings-card-shadow: var(--wings-shadow-none)"]:hover {
  box-shadow: none;
  opacity: 0.9;
}

.card-link {
  text-decoration: none;
  color: inherit;
  display: block;
  height: 100%;
}

.card-link:hover {
  text-decoration: none;
  color: inherit;
}

.card-link:visited {
  color: inherit;
}

.card-link:focus {
  outline: 2px solid var(--wings-primary-color);
  outline-offset: 2px;
}

/* Ensure nested elements don't inherit link styles */
.card-link .card-title {
  color: var(--wings-card-title-color);
  text-decoration: none;
}

.card-link:visited .card-title {
  color: var(--wings-card-title-color);
}

.card-link:hover .card-title {
  color: var(--wings-card-title-color);
  text-decoration: none;
}

.card-link .card-description {
  color: var(--wings-card-text-color);
  text-decoration: none;
}

.card-link:visited .card-description {
  color: var(--wings-card-text-color);
}

.card-link:hover .card-description {
  color: var(--wings-card-text-color);
  text-decoration: none;
}

/* Handle cards that are directly clickable links (archive templates, home page) */
a.card {
  text-decoration: none;
  color: inherit;
}

a.card:hover {
  text-decoration: none;
  color: inherit;
}

a.card:visited {
  color: inherit;
}

a.card:focus {
  outline: 2px solid var(--wings-primary-color);
  outline-offset: 2px;
}

/* Ensure all child elements of clickable cards don't inherit text decoration */
a.card .card-title,
a.card:visited .card-title,
a.card:hover .card-title,
a.card:focus .card-title {
  color: var(--wings-card-title-color);
  text-decoration: none;
}

a.card .card-description,
a.card:visited .card-description,
a.card:hover .card-description,
a.card:focus .card-description {
  color: var(--wings-card-text-color);
  text-decoration: none;
}

a.card .card-content,
a.card:visited .card-content,
a.card:hover .card-content,
a.card:focus .card-content {
  text-decoration: none;
}

a.card .card-image,
a.card:visited .card-image,
a.card:hover .card-image,
a.card:focus .card-image {
  text-decoration: none;
}

a.card .card-date,
a.card:visited .card-date,
a.card:hover .card-date,
a.card:focus .card-date {
  text-decoration: none;
}

.card .card-content {
  padding: 1.5rem; /* Increased padding for better breathing room */
  flex: 1; /* Ensures this section stretches to fill available height */
  display: flex; /* Allows inner content alignment */
  flex-direction: column;
  justify-content: space-between; /* Push content to top and bottom */
}

.card .card-title {
  font-size: 1.5em; /* A slightly larger, more prominent heading */
  line-height: 1.2;
  font-weight: 700;
  margin-top: 0; /* Remove top margin */
  margin-bottom: 0.5rem; /* Reduced bottom margin for tighter grouping with the description */
  font-family: var(--wings-heading-font-family, inherit);
  color: var(--wings-card-title-color);
}

.card .card-description {
  font-size: 0.9rem;
  line-height: 1.6;
  margin-top: 0;
  color: var(--wings-card-text-color);
  font-family: var(--wings-body-font-family, inherit);
}

.card-image {
  background-size: cover;
  background-position: center center;
  width: 100%;
  padding-bottom: 75%; /* 4:3 aspect ratio */
  border-radius: var(--wings-border-radius) var(--wings-border-radius) 0 0;
  position: relative;
}

.card-date {
  position: absolute;
  top: 15px; /* Moved slightly further from the edge */
  right: 15px;
  background-color: rgba(255, 255, 255, 0.9); /* A semi-transparent white background */
  color: #333; /* A dark gray for good contrast */
  padding: 8px 12px; /* Increased padding for a more substantial look */
  font-size: 0.85em; /* A slightly smaller font size */
  font-weight: 600;
  border-radius: 8px; /* Softer, more modern corners */
  text-transform: uppercase;
}

/* Card hover effect for stretched links */
.stretched-link:hover .card {
  box-shadow: var(--wings-card-hover-shadow);
}

/*--------------------------------------------------------------
# Nodes Grid
--------------------------------------------------------------*/
/* nodes-grid-wrapper styling moved to plugin for better component control */
/* Nodes Grid Header */
.nodes-grid-header {
  text-align: center;
  margin-bottom: 1.5rem;
}

.nodes-grid-title {
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--wings-text-color);
  margin: 0 0 0.75rem 0;
  line-height: 1.2;
}

.nodes-grid-description {
  font-size: 1.1rem;
  color: var(--wings-text-muted-light);
  line-height: 1.5;
  max-width: 600px;
  margin: 0 auto;
}

.nodes-grid-container {
  /* Clean container - wrapper handles breakout and positioning */
  display: block;
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
}

/* Essential nodes-grid layout and responsive grid columns */
.nodes-grid {
  display: grid;
  gap: 20px;
  margin-top: 20px;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}

/* Grid column configurations for different content counts */
@media (min-width: 960px) {
  .nodes-grid-count-3 {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 1320px) {
  .nodes-grid-count-4 {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (min-width: 960px) and (max-width: 1319px) {
  .nodes-grid-count-4 {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (min-width: 1320px) {
  .nodes-grid-count-8 {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (min-width: 960px) and (max-width: 1319px) {
  .nodes-grid-count-8 {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 768px) and (max-width: 959px) {
  .nodes-grid-count-8 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1320px) {
  .nodes-grid-count-9 {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 960px) and (max-width: 1319px) {
  .nodes-grid-count-9 {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 768px) and (max-width: 959px) {
  .nodes-grid-count-9 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1320px) {
  .nodes-grid-count-12 {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (min-width: 960px) and (max-width: 1319px) {
  .nodes-grid-count-12 {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 768px) and (max-width: 959px) {
  .nodes-grid-count-12 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 768px) {
  .nodes-grid-count-1,
  .nodes-grid-count-2 {
    grid-template-columns: repeat(var(--card-count, 1), 1fr);
    max-width: 800px;
    margin: 20px auto 0;
  }
}
/* Nodes Grid specific card styling - simplified for CSS Grid */
.nodes-grid .card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: auto;
  /* width and positioning now handled by CSS Grid in plugin */
}

.nodes-grid .card .card-content {
  padding: 1.5rem; /* Use consistent padding with main card design */
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.nodes-grid .card .card-title {
  margin-top: 0; /* Remove top margin to fix whitespace issue */
  margin-bottom: 0.5rem; /* Consistent with main card design */
  font-size: 1.5em; /* Consistent with main card design */
  line-height: 1.2;
  font-weight: 700;
  font-family: var(--wings-heading-font-family, inherit);
  color: var(--wings-card-title-color);
  text-decoration: none;
}

.nodes-grid .card .card-description {
  margin-top: 0;
  font-size: 0.9rem;
  line-height: 1.6;
  color: var(--wings-card-text-color);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-family: var(--wings-body-font-family, inherit);
  text-decoration: none;
}

/* Additional specificity for nodes grid cards */
.nodes-grid .card-link .card-title,
.nodes-grid .card-link:visited .card-title,
.nodes-grid .card-link:hover .card-title,
.nodes-grid .card-link:focus .card-title {
  color: var(--wings-card-title-color);
  text-decoration: none;
}

.nodes-grid .card-link .card-description,
.nodes-grid .card-link:visited .card-description,
.nodes-grid .card-link:hover .card-description,
.nodes-grid .card-link:focus .card-description {
  color: var(--wings-card-text-color);
  text-decoration: none;
}

/* Handle archive templates where .card-title and .card-description are directly inside <a.card> */
.nodes-grid .card .card-title,
.nodes-grid .card:visited .card-title,
.nodes-grid .card:hover .card-title,
.nodes-grid .card:focus .card-title {
  color: var(--wings-card-title-color);
  text-decoration: none;
}

.nodes-grid .card .card-description,
.nodes-grid .card:visited .card-description,
.nodes-grid .card:hover .card-description,
.nodes-grid .card:focus .card-description {
  color: var(--wings-card-text-color);
  text-decoration: none;
}

/* Responsive nodes grid */
@media (max-width: 768px) {
  /* nodes-grid-wrapper responsive styles moved to plugin */
  .nodes-grid-header {
    margin-bottom: 1rem;
  }
  .nodes-grid-title {
    font-size: 2rem;
  }
  .nodes-grid-description {
    font-size: 1rem;
  }
  .nodes-grid {
    gap: 15px;
  }
  .nodes-grid .card {
    flex: 0 0 calc(50% - 15px);
  }
}
/* Mobile breakpoint */
@media (max-width: 600px) {
  /* nodes-grid-wrapper mobile styles moved to plugin */
  .nodes-grid .card {
    flex: 0 0 100%;
  }
}
/*--------------------------------------------------------------
# Nodes Grid Button Styling
--------------------------------------------------------------*/
/* View All Posts Button Wrapper */
.nodes-grid-all-posts-wrapper {
  display: flex;
  justify-content: flex-end;
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--wings-border-color);
}

/* View All Posts Button */
.nodes-grid-all-posts-button {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  background: var(--wings-button-bg-color, var(--wings-primary-color, #191aff));
  color: var(--wings-button-text-color, #fff);
  text-decoration: none;
  border-radius: var(--wings-border-radius);
  font-weight: 500;
  font-size: 0.95rem;
  transition: all 0.2s ease;
  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1);
}
.nodes-grid-all-posts-button:hover {
  background: var(--wings-button-hover-color, var(--wings-text-color, #000));
  color: var(--wings-button-hover-text-color, #fff);
  text-decoration: none;
  transform: translateY(-1px);
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.15);
}
.nodes-grid-all-posts-button:focus {
  outline: 2px solid var(--wings-button-bg-color, var(--wings-primary-color, #191aff));
  outline-offset: 2px;
  background: var(--wings-button-hover-color, var(--wings-text-color, #000));
  color: var(--wings-button-hover-text-color, #fff);
  text-decoration: none;
}
.nodes-grid-all-posts-button:visited {
  color: var(--wings-button-text-color, #fff);
}
.nodes-grid-all-posts-button svg {
  flex-shrink: 0;
  transition: transform 0.2s ease;
}
.nodes-grid-all-posts-button:hover svg {
  transform: translateX(2px);
}

/*--------------------------------------------------------------
# Widgets
--------------------------------------------------------------*/
.widget {
  margin: 0 0 1.5em;
}

.widget ul li a {
  color: var(--wings-text-color);
  text-decoration: none;
}

.widget ul li a:hover {
  text-decoration: underline;
}

.widget-title {
  font-size: 1.5rem;
  margin-bottom: 1rem;
  color: var(--wings-primary-color);
  font-weight: 700;
}

/*--------------------------------------------------------------
# Pagination
--------------------------------------------------------------*/
.wings-pagination {
  margin: 3rem auto 2rem;
  text-align: center;
  max-width: 800px;
}

.wings-pagination__list {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  list-style: none;
  margin: 0 0 1rem 0;
  padding: 0;
}

.wings-pagination__list li {
  margin: 0;
}

.wings-pagination__item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px; /* Ensure touch-friendly minimum size */
  height: 44px;
  padding: 0.5rem 0.75rem;
  text-decoration: none;
  background-color: #fff;
  border: 1px solid var(--wings-border-color, #ddd);
  border-radius: var(--wings-border-radius, 4px);
  color: var(--wings-primary-color, #007cba);
  font-weight: 500;
  font-size: 0.9rem;
  transition: all 0.2s ease;
  box-sizing: border-box;
}

.wings-pagination__item:hover,
.wings-pagination__item:focus {
  background-color: var(--wings-primary-color, #007cba);
  border-color: var(--wings-primary-color, #007cba);
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  outline: none;
}

.wings-pagination__item:focus {
  outline: 2px solid var(--wings-primary-color, #007cba);
  outline-offset: 2px;
}

.wings-pagination__item--current {
  background-color: var(--wings-primary-color, #007cba);
  border-color: var(--wings-primary-color, #007cba);
  color: #fff;
  font-weight: 700;
  cursor: default;
}

.wings-pagination__item--current:hover {
  background-color: var(--wings-primary-color, #007cba);
  transform: none;
}

.wings-pagination__item--prev,
.wings-pagination__item--next {
  padding: 0.5rem 1rem;
  font-weight: 600;
}

.wings-pagination__item--prev span,
.wings-pagination__item--next span {
  font-size: 1.2rem;
  margin: 0 0.25rem;
}

.wings-pagination__item--dots {
  background: none;
  border: none;
  color: var(--wings-text-muted, #666);
  cursor: default;
  font-weight: 700;
}

.wings-pagination__item--dots:hover {
  background: none;
  border: none;
  transform: none;
  box-shadow: none;
}

.wings-pagination__info {
  color: var(--wings-text-muted, #666);
  font-size: 0.9rem;
  margin-top: 1rem;
}

/* Responsive pagination */
@media (max-width: 768px) {
  .wings-pagination {
    margin: 2rem auto 1.5rem;
  }
  .wings-pagination__list {
    gap: 0.25rem;
  }
  .wings-pagination__item {
    min-width: 40px;
    height: 40px;
    font-size: 0.85rem;
  }
  .wings-pagination__item--prev,
  .wings-pagination__item--next {
    padding: 0.5rem 0.75rem;
  }
  .wings-pagination__info {
    font-size: 0.8rem;
  }
}
@media (max-width: 480px) {
  .wings-pagination__item {
    min-width: 36px;
    height: 36px;
    padding: 0.25rem 0.5rem;
    font-size: 0.8rem;
  }
  .wings-pagination__item--prev,
  .wings-pagination__item--next {
    padding: 0.25rem 0.5rem;
  }
}
/*--------------------------------------------------------------
# Blockquotes & Pull Quotes
--------------------------------------------------------------*/
.wp-block-wings-blockquote {
  margin: 2em 0;
  padding: 1em 0;
}
.wp-block-wings-blockquote blockquote {
  border-left: 4px solid var(--wings-primary-color, #000);
  margin: 0;
  padding-left: 1em;
  font-size: 1.2em;
  line-height: 1.6;
  position: relative;
}
.wp-block-wings-blockquote blockquote::before {
  content: '"';
  font-size: 3em;
  color: var(--wings-primary-color, #000);
  position: absolute;
  left: -0.2em;
  top: -0.2em;
  line-height: 1;
  opacity: 0.3;
}
.wp-block-wings-blockquote blockquote::after {
  content: '"';
  font-size: 3em;
  color: var(--wings-primary-color, #000);
  position: absolute;
  right: -0.3em;
  bottom: -0.4em;
  line-height: 1;
  opacity: 0.3;
}
.wp-block-wings-blockquote .quote-source {
  margin-top: 1em;
  font-style: italic;
  text-align: center;
}
.wp-block-wings-blockquote .quote-source cite {
  color: var(--wings-text-muted, #666);
}
.wp-block-wings-blockquote .quote-source a {
  color: inherit;
  text-decoration: none;
}
.wp-block-wings-blockquote .quote-source a:hover {
  text-decoration: underline;
}

blockquote {
  border-left: 2px solid var(--wings-primary-color);
  padding: 25px 30px 15px;
  margin: 20px 0;
  background-color: var(--wings-background-muted);
  border-radius: 0 var(--wings-border-radius) var(--wings-border-radius) 0;
  color: var(--wings-text-muted, #666);
  position: relative;
}

blockquote::before {
  content: '"';
  font-size: 2.5rem;
  color: var(--wings-text-muted, #666);
  position: absolute;
  top: 0;
  left: 0.5rem;
  font-family: Georgia, serif;
  line-height: 1;
}

blockquote::after {
  content: '"';
  font-size: 2.5rem;
  color: var(--wings-text-muted, #666);
  position: absolute;
  bottom: -1.5rem;
  right: 0.5rem;
  font-family: Georgia, serif;
  line-height: 1;
}

blockquote cite {
  font-style: normal;
  font-weight: 600;
  color: var(--wings-text-muted-light);
  display: block;
  margin-top: 10px;
  font-size: 0.9rem;
}

.wp-block-pullquote {
  padding: 40px;
  border: none;
  margin-bottom: 10px;
  text-align: center;
}

.wp-block-pullquote cite {
  font-size: 1rem;
  font-weight: 400;
  font-style: normal;
  color: var(--wings-text-color);
  display: block;
  margin-top: 15px;
}

.wp-block-pullquote blockquote {
  border-left: none;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.3;
  color: var(--wings-primary-color);
  margin: 0;
  padding: 0;
  position: relative;
}

.wp-block-pullquote blockquote::before {
  content: '"';
  font-size: 3rem;
  color: var(--wings-primary-color);
  position: absolute;
  top: -10px;
  left: -20px;
  font-family: Georgia, serif;
}

.wp-block-pullquote blockquote::after {
  content: '"';
  font-size: 3rem;
  color: var(--wings-primary-color);
  position: absolute;
  bottom: -30px;
  right: -20px;
  font-family: Georgia, serif;
}

/*--------------------------------------------------------------
# Images
--------------------------------------------------------------*/
img {
  max-width: 100%;
  height: auto;
}

.wp-block-image figure.size-large {
  margin: 0;
  padding: 0;
}

.wp-block-image figure.size-large img {
  width: 100%;
  height: auto;
  border-radius: var(--wings-border-radius);
}

.wp-block-image figcaption {
  text-align: center;
  font-style: italic;
  color: var(--wings-text-muted-light);
  margin-top: 0.5rem;
}

/*--------------------------------------------------------------
# Search Results
--------------------------------------------------------------*/
/* Override page-header height for search pages */
.search .page-header {
  height: auto;
  min-height: 200px;
}

.search-results-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2rem;
  margin-bottom: 2rem;
}

.search-result-item {
  background: var(--wings-surface-bg-color);
  border-radius: var(--wings-border-radius);
  box-shadow: var(--wings-box-shadow);
  padding: 1.5rem;
  transition: all var(--wings-transition-duration) var(--wings-transition-timing);
}

.search-result-item:hover {
  box-shadow: var(--wings-box-shadow-large);
  transform: translateY(-2px);
}

/* Remove underlines from all links in search results */
.search-result-item a,
.search-result-item a:hover,
.search-result-item a:focus,
.search-result-item a:active {
  text-decoration: none !important;
}

/* Ensure card titles and other elements don't get underlined */
.search-result-item .card-title,
.search-result-item .entry-title {
  text-decoration: none;
}

/* Style the stretched link to ensure clean appearance */
.search-result-item .stretched-link {
  text-decoration: none;
  color: inherit;
}

.search-result-item .stretched-link:hover {
  text-decoration: none;
  color: inherit;
}

/* Remove borders from cards in search results */
.search-result-item .card {
  border: none;
  box-shadow: var(--wings-box-shadow);
}

.search-result-item .card:hover {
  border: none;
}

/* Fix text alignment for search result titles */
.search-result-item .entry-header .entry-title,
.search-result-item .card-title,
.search-result-item h2 {
  text-align: left;
  color: var(--wings-smart-h2-color, var(--wings-smart-title-color, var(--wings-primary-color, #3b82f6)));
}

.no-results {
  text-align: center;
  padding: 3rem 1rem;
  background: var(--wings-surface-bg-color);
  border-radius: var(--wings-border-radius);
  box-shadow: var(--wings-box-shadow);
}

/* Responsive search results */
@media (max-width: 768px) {
  .search-results-grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
}
/*--------------------------------------------------------------
# Post Cards
--------------------------------------------------------------*/
.post-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2rem;
}

.post-card {
  background: var(--wings-surface-bg-color);
  border-radius: var(--wings-border-radius);
  box-shadow: var(--wings-box-shadow);
  overflow: hidden;
  transition: all var(--wings-transition-duration) var(--wings-transition-timing);
}

.post-card:hover {
  box-shadow: var(--wings-box-shadow-large);
  transform: translateY(-2px);
}

.post-card .post-title {
  font-size: 1.2rem;
  margin-bottom: 0.5rem;
}

.post-card .post-title a {
  color: var(--wings-card-title-color, var(--wings-text-color));
  text-decoration: none;
}

.post-card .post-title a:hover {
  color: var(--wings-primary-color);
}

.post-card .post-description {
  color: var(--wings-card-text-color, var(--wings-secondary-color));
  font-size: 0.9rem;
  line-height: 1.4;
}

.post-card img {
  width: 100%;
  height: 200px;
  -o-object-fit: cover;
     object-fit: cover;
}

/*--------------------------------------------------------------
# Buttons
--------------------------------------------------------------*/
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

button,
input {
  overflow: visible;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/*--------------------------------------------------------------
# Wings Button System
--------------------------------------------------------------*/
/* Base button styles - for actual button elements and button-like links */
.wings-button,
.wings-button-primary,
.wings-button-secondary,
button:not(.wings-no-style):not(.search-submit):not(.menu-toggle):not(.faq-question),
[type=button]:not(.wings-no-style):not(.search-submit):not(.menu-toggle):not(.faq-question),
[type=reset]:not(.wings-no-style):not(.search-submit):not(.menu-toggle):not(.faq-question),
[type=submit]:not(.wings-no-style):not(.search-submit):not(.menu-toggle):not(.faq-question) {
  display: inline-block;
  padding: 0.75rem 1.5rem;
  font-size: 1rem;
  font-weight: 500;
  text-decoration: none;
  border: none;
  border-radius: var(--wings-border-radius);
  cursor: pointer;
  transition: all 0.2s ease;
  line-height: 1.2;
  text-align: center;
  font-family: inherit;
  /* Primary button styles (default) */
  background-color: var(--wings-button-bg-color, var(--wings-primary-color, #007cba));
  color: var(--wings-button-text-color, #fff);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.wings-button:hover,
.wings-button-primary:hover,
.wings-button-secondary:hover,
button:not(.wings-no-style):not(.search-submit):not(.menu-toggle):not(.faq-question):hover,
[type=button]:not(.wings-no-style):not(.search-submit):not(.menu-toggle):not(.faq-question):hover,
[type=reset]:not(.wings-no-style):not(.search-submit):not(.menu-toggle):not(.faq-question):hover,
[type=submit]:not(.wings-no-style):not(.search-submit):not(.menu-toggle):not(.faq-question):hover {
  background-color: var(--wings-button-hover-color, var(--wings-text-color, #000));
  color: var(--wings-button-hover-text-color, #fff);
  text-decoration: none;
  transform: translateY(-1px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}
.wings-button:focus,
.wings-button-primary:focus,
.wings-button-secondary:focus,
button:not(.wings-no-style):not(.search-submit):not(.menu-toggle):not(.faq-question):focus,
[type=button]:not(.wings-no-style):not(.search-submit):not(.menu-toggle):not(.faq-question):focus,
[type=reset]:not(.wings-no-style):not(.search-submit):not(.menu-toggle):not(.faq-question):focus,
[type=submit]:not(.wings-no-style):not(.search-submit):not(.menu-toggle):not(.faq-question):focus {
  outline: 2px solid var(--wings-button-bg-color, var(--wings-primary-color, #007cba));
  outline-offset: 2px;
  background-color: var(--wings-button-hover-color, var(--wings-text-color, #000));
  color: var(--wings-button-hover-text-color, #fff);
  text-decoration: none;
}
.wings-button:active,
.wings-button-primary:active,
.wings-button-secondary:active,
button:not(.wings-no-style):not(.search-submit):not(.menu-toggle):not(.faq-question):active,
[type=button]:not(.wings-no-style):not(.search-submit):not(.menu-toggle):not(.faq-question):active,
[type=reset]:not(.wings-no-style):not(.search-submit):not(.menu-toggle):not(.faq-question):active,
[type=submit]:not(.wings-no-style):not(.search-submit):not(.menu-toggle):not(.faq-question):active {
  transform: translateY(0);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}
.wings-button:visited,
.wings-button-primary:visited,
.wings-button-secondary:visited,
button:not(.wings-no-style):not(.search-submit):not(.menu-toggle):not(.faq-question):visited,
[type=button]:not(.wings-no-style):not(.search-submit):not(.menu-toggle):not(.faq-question):visited,
[type=reset]:not(.wings-no-style):not(.search-submit):not(.menu-toggle):not(.faq-question):visited,
[type=submit]:not(.wings-no-style):not(.search-submit):not(.menu-toggle):not(.faq-question):visited {
  color: var(--wings-button-text-color, #fff);
}
.wings-button:visited:hover, .wings-button:visited:focus,
.wings-button-primary:visited:hover,
.wings-button-primary:visited:focus,
.wings-button-secondary:visited:hover,
.wings-button-secondary:visited:focus,
button:not(.wings-no-style):not(.search-submit):not(.menu-toggle):not(.faq-question):visited:hover,
button:not(.wings-no-style):not(.search-submit):not(.menu-toggle):not(.faq-question):visited:focus,
[type=button]:not(.wings-no-style):not(.search-submit):not(.menu-toggle):not(.faq-question):visited:hover,
[type=button]:not(.wings-no-style):not(.search-submit):not(.menu-toggle):not(.faq-question):visited:focus,
[type=reset]:not(.wings-no-style):not(.search-submit):not(.menu-toggle):not(.faq-question):visited:hover,
[type=reset]:not(.wings-no-style):not(.search-submit):not(.menu-toggle):not(.faq-question):visited:focus,
[type=submit]:not(.wings-no-style):not(.search-submit):not(.menu-toggle):not(.faq-question):visited:hover,
[type=submit]:not(.wings-no-style):not(.search-submit):not(.menu-toggle):not(.faq-question):visited:focus {
  color: var(--wings-button-hover-text-color, #fff);
}

/* Secondary button variant */
.wings-button-secondary {
  background-color: var(--wings-surface-bg-color, #f8f9fa);
  color: var(--wings-text-color, #1a1a1a);
  border: 1px solid var(--wings-border-color, #dee2e6);
}
.wings-button-secondary:hover, .wings-button-secondary:focus {
  background-color: var(--wings-text-color, #1a1a1a);
  color: var(--wings-surface-bg-color, #fff);
  border-color: var(--wings-text-color, #1a1a1a);
}
.wings-button-secondary:visited {
  color: var(--wings-text-color, #1a1a1a);
}
.wings-button-secondary:visited:hover, .wings-button-secondary:visited:focus {
  color: var(--wings-surface-bg-color, #fff);
}

/*--------------------------------------------------------------
# Entry Footer (Post Meta)
--------------------------------------------------------------*/
.entry-footer {
  margin-top: 2rem;
  margin-bottom: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--wings-border-color);
}

.entry-footer-content {
  width: var(--wings-content-width-standard);
  max-width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
}

.cat-links,
.tags-links {
  color: var(--wings-text-muted-light);
  font-size: 0.9rem;
}

.cat-links a,
.tags-links a {
  color: var(--wings-primary-color);
  text-decoration: none;
  font-weight: 500;
}

.cat-links a:hover,
.tags-links a:hover {
  text-decoration: underline;
}

.edit-link {
  margin: 0;
}

.edit-link a {
  display: inline-block;
  padding: 0.5rem 1rem;
  background: #000;
  color: #fff;
  text-decoration: none;
  border-radius: var(--wings-border-radius);
  font-size: 0.9rem;
  font-weight: 500;
  transition: all 0.3s ease;
}

.edit-link a:hover {
  background: #fff;
  color: #000;
}

/* Responsive entry footer */
@media (max-width: 783px) {
  .entry-footer-content {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }
}
/*--------------------------------------------------------------
# Single Node Block
--------------------------------------------------------------*/
.wp-block-wings-single-node {
  margin: 2rem 0;
}
.wp-block-wings-single-node .single-node-header {
  text-align: center;
  margin-bottom: 1.5rem;
}
.wp-block-wings-single-node .single-node-header-title {
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--wings-text-color);
  margin: 0 0 0.75rem 0;
  line-height: 1.2;
}
.wp-block-wings-single-node .single-node-header-description {
  font-size: 1.1rem;
  color: var(--wings-text-muted);
  line-height: 1.5;
  max-width: 600px;
  margin: 0 auto;
}
.wp-block-wings-single-node .single-node-card {
  border: 1px solid var(--wings-border-color, #e0e0e0);
  border-radius: var(--wings-border-radius, 8px);
  box-shadow: var(--wings-box-shadow, 0 2px 8px rgba(0, 0, 0, 0.1));
  overflow: hidden;
  transition: all 0.3s ease;
  display: flex;
  text-decoration: none;
  color: inherit;
}
.wp-block-wings-single-node .single-node-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--wings-box-shadow-large, 0 4px 16px rgba(0, 0, 0, 0.15));
}
.wp-block-wings-single-node .single-node-card:visited {
  color: inherit;
}
.wp-block-wings-single-node .single-node-card:focus {
  outline: 2px solid var(--wings-primary-color, #007cba);
  outline-offset: 2px;
}
.wp-block-wings-single-node .single-node-image-container {
  flex: 0 0 300px;
  position: relative;
  overflow: hidden;
  align-self: stretch;
}
.wp-block-wings-single-node .single-node-image {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.wp-block-wings-single-node .single-node-image-placeholder {
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 3rem;
  color: var(--wings-text-muted, #6c757d);
}
.wp-block-wings-single-node .single-node-content {
  background-color: var(--wings-surface-bg-color, #fff);
  flex: 1;
  padding: 20px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.wp-block-wings-single-node .single-node-meta {
  margin-bottom: 12px;
}
.wp-block-wings-single-node .single-node-date {
  font-size: 13px;
  color: var(--wings-text-muted);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.wp-block-wings-single-node .single-node-title {
  font-size: 1.6rem;
  line-height: 1.3;
  font-weight: 700;
  margin: 0 0 12px 0;
  color: var(--wings-text-color, #333);
}
.wp-block-wings-single-node .single-node-title a {
  color: inherit;
  text-decoration: none;
}
.wp-block-wings-single-node .single-node-title a:hover {
  color: var(--wings-primary-color, #007cba);
}
.wp-block-wings-single-node .single-node-excerpt {
  font-size: 0.9rem;
  line-height: 1.4;
  margin: 0;
  color: var(--wings-text-muted);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.wp-block-wings-single-node .wings-card-surface {
  background-color: var(--wings-surface-bg-color);
}

@media (width <= 768px) {
  .wp-block-wings-single-node .single-node-card {
    flex-direction: column;
    height: auto;
  }
  .wp-block-wings-single-node .single-node-image-container {
    flex: none;
    height: 280px;
  }
  .wp-block-wings-single-node .single-node-content {
    padding: 16px;
  }
}
/*--------------------------------------------------------------
# Wings CTA Component
--------------------------------------------------------------*/
.wings-cta-wrapper {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  padding: 2rem var(--wings-container-padding);
}

.wings-cta {
  max-width: 960px;
  margin: 0 auto;
  background: var(--wings-cta-background-color, var(--wings-primary-color, #191aff));
  padding: 2rem;
  text-align: center;
  border-radius: var(--wings-border-radius, 5px);
  box-shadow: var(--wings-shadow, rgba(0, 0, 0, 0.1) 0 1px 3px 0, rgba(0, 0, 0, 0.15) 0 2px 10px -7px, rgba(0, 0, 0, 0.15) 0 3px 13px -7px, rgba(0, 0, 0, 0.15) 0 4px 59px -50px, rgba(0, 0, 0, 0.02) 0 2px 1px 0, rgba(0, 0, 0, 0.15) 0 4px 8px -8px, rgba(0, 0, 0, 0.2) 0 6px 78px -70px);
  margin-bottom: 2rem;
}
.wings-cta__title {
  margin: 0 auto 1rem;
  max-width: 638px;
  color: var(--wings-card-text-color, var(--wings-secondary-color, #fff)) !important;
  font-family: var(--wings-heading-font-family, inherit);
  font-weight: var(--wings-heading-font-weight, 700);
}
.wings-cta__description {
  margin: 0 auto 2em;
  max-width: 638px;
  color: var(--wings-card-text-color, var(--wings-secondary-color, #fff));
  font-family: var(--wings-body-font-family, inherit);
}
.wings-cta__button-container {
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin-top: 1rem;
}
.wings-cta__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.8rem 1.6rem;
  background: var(--wings-cta-button-bg-color, #ffffff);
  color: var(--wings-cta-button-text-color, #000000);
  text-decoration: none;
  border-radius: var(--wings-button-border-radius, 4px);
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.2;
  border: none;
  cursor: pointer;
  transition: all 0.3s ease;
  min-height: 2.8rem;
}
.wings-cta__button:hover {
  color: var(--wings-cta-button-hover-text-color, #ffffff);
  background: var(--wings-cta-button-hover-bg-color, #000000);
}
.wings-cta__button--secondary {
  background: var(--wings-cta-secondary-button-bg-color, var(--wings-button-secondary-background-color, #000));
  color: var(--wings-cta-secondary-button-text-color, var(--wings-light-text-color, #fff));
  text-decoration: none;
}
.wings-cta__button--secondary:hover {
  background: var(--wings-cta-secondary-button-hover-bg-color, var(--wings-button-secondary-hover-background-color, #fff));
  color: var(--wings-cta-secondary-button-hover-text-color, var(--wings-button-hover-text-color, #000));
}

/*--------------------------------------------------------------
# Wings Default Image Fallback
--------------------------------------------------------------*/
/* Fallback message for when no default featured image is set */
.wings-default-image-fallback {
  background: #f8f9fa;
  border: 2px dashed #dee2e6;
  border-radius: 8px;
  padding: 1.5rem;
  text-align: center;
  color: #6c757d;
  font-size: 0.9rem;
  margin: 1rem;
  min-height: 120px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.wings-default-image-fallback p {
  margin: 0 0 0.75rem 0;
  line-height: 1.4;
}
.wings-default-image-fallback a {
  display: inline-block;
  background: #007cba;
  color: #fff;
  padding: 0.5rem 1rem;
  text-decoration: none;
  border-radius: 4px;
  font-size: 0.85rem;
  font-weight: 500;
  transition: background-color 0.2s ease;
}
.wings-default-image-fallback a:hover {
  background: #005a87;
  color: #fff;
  text-decoration: none;
}

/* Compact version for card layouts */
.card .wings-default-image-fallback {
  padding: 1rem;
  margin: 0.5rem;
  min-height: 80px;
  font-size: 0.8rem;
}
.card .wings-default-image-fallback a {
  padding: 0.4rem 0.8rem;
  font-size: 0.75rem;
}

/*--------------------------------------------------------------
# Horizontal Rule
--------------------------------------------------------------*/
hr {
  box-sizing: content-box;
  height: 1px;
  overflow: visible;
  background-color: var(--wings-border-color);
  border: 0;
  margin-bottom: 1.5em;
}

/*--------------------------------------------------------------
# Dark Background Contrast Handling
--------------------------------------------------------------*/
/* Additional contrast handling for cards with dark backgrounds */
.card,
.post-card,
.search-result-item {
  /* Ensure minimum contrast for text on dark backgrounds */
}
.card[style*="background-color: var(--wings-surface-bg-color)"],
.post-card[style*="background-color: var(--wings-surface-bg-color)"],
.search-result-item[style*="background-color: var(--wings-surface-bg-color)"] {
  /* This will be overridden by the PHP-generated CSS when surface is dark */
}

/* Fallback for when CSS variables might not be available */
.card {
  /* Ensure text remains readable even if CSS variables fail */
}
.card .card-title,
.card .card-description {
  /* These will be overridden by the PHP-generated CSS when needed */
}

/**
 * Wings Theme - Main Stylesheet (Modern Sass Syntax)
 *
 * This is the main SCSS file that uses modern @use and @forward syntax
 * instead of the deprecated @import rules.
 *
 * @package Wings
 * @version 1.0.0
 */
/**
 * Universal Gravity Forms Styling
 *
 * Site-wide form styling that applies to all Gravity Forms regardless of context.
 * Includes floating labels, input styling, validation states, and submit buttons.
 * Campaign-specific overrides are handled in separate files.
 *
 * @package Wings
 */
.gform_wrapper {
  margin: 0;
  font-family: inherit;
}
.gform_wrapper fieldset {
  border: 0;
  padding: 0;
  margin: 0;
  min-width: 0;
}
.gform_wrapper legend {
  padding: 0;
  margin: 0;
  color: inherit;
}
.gform_wrapper .gform_heading {
  margin-bottom: 2rem;
}
.gform_wrapper .gform_heading h2,
.gform_wrapper .gform_heading h3,
.gform_wrapper .gform_heading h4,
.gform_wrapper .gform_heading h5,
.gform_wrapper .gform_heading h6 {
  color: inherit;
  margin-bottom: 0.5rem;
  margin-top: 0;
}
.gform_wrapper .gform_heading .gform_description {
  color: inherit;
  opacity: 0.9;
  margin-bottom: 0;
}

.entry-content .gform_wrapper,
.widget-area .gform_wrapper,
.page-content .gform_wrapper {
  background-color: var(--wings-gravity-forms-bg-color, var(--wings-primary-color, #0073aa));
  color: var(--wings-gravity-forms-text-color, #fff);
  padding: 2rem;
  border-radius: var(--wings-border-radius, 0.5rem);
  box-shadow: var(--wings-surface-shadow);
}
.entry-content .gform_wrapper .gform_body .gform_fields,
.widget-area .gform_wrapper .gform_body .gform_fields,
.page-content .gform_wrapper .gform_body .gform_fields {
  margin: 0;
  padding: 0;
  list-style: none;
}
.entry-content .gform_wrapper .gform_body .gform_fields .gfield,
.widget-area .gform_wrapper .gform_body .gform_fields .gfield,
.page-content .gform_wrapper .gform_body .gform_fields .gfield {
  margin-bottom: 1.5rem;
  position: relative;
}
.entry-content .gform_wrapper .gform_body .gform_fields .gfield .gfield_label,
.widget-area .gform_wrapper .gform_body .gform_fields .gfield .gfield_label,
.page-content .gform_wrapper .gform_body .gform_fields .gfield .gfield_label {
  display: block;
  margin-bottom: 0.5rem;
}
.entry-content .gform_wrapper .gform_body .gform_fields .gfield .gfield_required,
.widget-area .gform_wrapper .gform_body .gform_fields .gfield .gfield_required,
.page-content .gform_wrapper .gform_body .gform_fields .gfield .gfield_required {
  color: #dc3545;
  margin-left: 0.25rem;
}
.entry-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=text]:not(.gf-floating-label input),
.entry-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=email]:not(.gf-floating-label input),
.entry-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=tel]:not(.gf-floating-label input),
.entry-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=number]:not(.gf-floating-label input),
.entry-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=url]:not(.gf-floating-label input),
.entry-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=password]:not(.gf-floating-label input),
.entry-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container textarea:not(.gf-floating-label textarea),
.entry-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container select,
.widget-area .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=text]:not(.gf-floating-label input),
.widget-area .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=email]:not(.gf-floating-label input),
.widget-area .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=tel]:not(.gf-floating-label input),
.widget-area .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=number]:not(.gf-floating-label input),
.widget-area .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=url]:not(.gf-floating-label input),
.widget-area .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=password]:not(.gf-floating-label input),
.widget-area .gform_wrapper .gform_body .gform_fields .gfield .ginput_container textarea:not(.gf-floating-label textarea),
.widget-area .gform_wrapper .gform_body .gform_fields .gfield .ginput_container select,
.page-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=text]:not(.gf-floating-label input),
.page-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=email]:not(.gf-floating-label input),
.page-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=tel]:not(.gf-floating-label input),
.page-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=number]:not(.gf-floating-label input),
.page-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=url]:not(.gf-floating-label input),
.page-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=password]:not(.gf-floating-label input),
.page-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container textarea:not(.gf-floating-label textarea),
.page-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container select {
  padding: 0.75rem;
  width: 100%;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 0.5rem;
  background: rgba(255, 255, 255, 0.95);
  color: var(--wings-text-color, #333);
  font-size: 1rem;
  line-height: 1.5;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, padding 0.2s ease, background-color 0.2s ease;
}
.entry-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=text]:not(.gf-floating-label input):focus,
.entry-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=email]:not(.gf-floating-label input):focus,
.entry-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=tel]:not(.gf-floating-label input):focus,
.entry-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=number]:not(.gf-floating-label input):focus,
.entry-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=url]:not(.gf-floating-label input):focus,
.entry-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=password]:not(.gf-floating-label input):focus,
.entry-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container textarea:not(.gf-floating-label textarea):focus,
.entry-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container select:focus,
.widget-area .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=text]:not(.gf-floating-label input):focus,
.widget-area .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=email]:not(.gf-floating-label input):focus,
.widget-area .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=tel]:not(.gf-floating-label input):focus,
.widget-area .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=number]:not(.gf-floating-label input):focus,
.widget-area .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=url]:not(.gf-floating-label input):focus,
.widget-area .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=password]:not(.gf-floating-label input):focus,
.widget-area .gform_wrapper .gform_body .gform_fields .gfield .ginput_container textarea:not(.gf-floating-label textarea):focus,
.widget-area .gform_wrapper .gform_body .gform_fields .gfield .ginput_container select:focus,
.page-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=text]:not(.gf-floating-label input):focus,
.page-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=email]:not(.gf-floating-label input):focus,
.page-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=tel]:not(.gf-floating-label input):focus,
.page-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=number]:not(.gf-floating-label input):focus,
.page-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=url]:not(.gf-floating-label input):focus,
.page-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=password]:not(.gf-floating-label input):focus,
.page-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container textarea:not(.gf-floating-label textarea):focus,
.page-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container select:focus {
  border-color: rgba(255, 255, 255, 0.8);
  background: #fff;
  outline: none;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.3);
}
.entry-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=text]:not(.gf-floating-label input)::-moz-placeholder, .entry-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=email]:not(.gf-floating-label input)::-moz-placeholder, .entry-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=tel]:not(.gf-floating-label input)::-moz-placeholder, .entry-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=number]:not(.gf-floating-label input)::-moz-placeholder, .entry-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=url]:not(.gf-floating-label input)::-moz-placeholder, .entry-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=password]:not(.gf-floating-label input)::-moz-placeholder, .entry-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container textarea:not(.gf-floating-label textarea)::-moz-placeholder, .entry-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container select::-moz-placeholder, .widget-area .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=text]:not(.gf-floating-label input)::-moz-placeholder, .widget-area .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=email]:not(.gf-floating-label input)::-moz-placeholder, .widget-area .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=tel]:not(.gf-floating-label input)::-moz-placeholder, .widget-area .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=number]:not(.gf-floating-label input)::-moz-placeholder, .widget-area .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=url]:not(.gf-floating-label input)::-moz-placeholder, .widget-area .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=password]:not(.gf-floating-label input)::-moz-placeholder, .widget-area .gform_wrapper .gform_body .gform_fields .gfield .ginput_container textarea:not(.gf-floating-label textarea)::-moz-placeholder, .widget-area .gform_wrapper .gform_body .gform_fields .gfield .ginput_container select::-moz-placeholder, .page-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=text]:not(.gf-floating-label input)::-moz-placeholder, .page-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=email]:not(.gf-floating-label input)::-moz-placeholder, .page-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=tel]:not(.gf-floating-label input)::-moz-placeholder, .page-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=number]:not(.gf-floating-label input)::-moz-placeholder, .page-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=url]:not(.gf-floating-label input)::-moz-placeholder, .page-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=password]:not(.gf-floating-label input)::-moz-placeholder, .page-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container textarea:not(.gf-floating-label textarea)::-moz-placeholder, .page-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container select::-moz-placeholder {
  color: rgba(0, 0, 0, 0.6);
}
.entry-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=text]:not(.gf-floating-label input)::placeholder,
.entry-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=email]:not(.gf-floating-label input)::placeholder,
.entry-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=tel]:not(.gf-floating-label input)::placeholder,
.entry-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=number]:not(.gf-floating-label input)::placeholder,
.entry-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=url]:not(.gf-floating-label input)::placeholder,
.entry-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=password]:not(.gf-floating-label input)::placeholder,
.entry-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container textarea:not(.gf-floating-label textarea)::placeholder,
.entry-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container select::placeholder,
.widget-area .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=text]:not(.gf-floating-label input)::placeholder,
.widget-area .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=email]:not(.gf-floating-label input)::placeholder,
.widget-area .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=tel]:not(.gf-floating-label input)::placeholder,
.widget-area .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=number]:not(.gf-floating-label input)::placeholder,
.widget-area .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=url]:not(.gf-floating-label input)::placeholder,
.widget-area .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=password]:not(.gf-floating-label input)::placeholder,
.widget-area .gform_wrapper .gform_body .gform_fields .gfield .ginput_container textarea:not(.gf-floating-label textarea)::placeholder,
.widget-area .gform_wrapper .gform_body .gform_fields .gfield .ginput_container select::placeholder,
.page-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=text]:not(.gf-floating-label input)::placeholder,
.page-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=email]:not(.gf-floating-label input)::placeholder,
.page-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=tel]:not(.gf-floating-label input)::placeholder,
.page-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=number]:not(.gf-floating-label input)::placeholder,
.page-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=url]:not(.gf-floating-label input)::placeholder,
.page-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=password]:not(.gf-floating-label input)::placeholder,
.page-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container textarea:not(.gf-floating-label textarea)::placeholder,
.page-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container select::placeholder {
  color: rgba(0, 0, 0, 0.6);
}
.entry-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container textarea,
.widget-area .gform_wrapper .gform_body .gform_fields .gfield .ginput_container textarea,
.page-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container textarea {
  min-height: 100px;
  resize: vertical;
}
.entry-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container select,
.widget-area .gform_wrapper .gform_body .gform_fields .gfield .ginput_container select,
.page-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container select {
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
  background-position: right 0.5rem center;
  background-repeat: no-repeat;
  background-size: 1.5em 1.5em;
  padding-right: 2.5rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.entry-content .gform_wrapper .gform_body .gform_fields .gfield.gfield_error .ginput_container input,
.entry-content .gform_wrapper .gform_body .gform_fields .gfield.gfield_error .ginput_container textarea,
.entry-content .gform_wrapper .gform_body .gform_fields .gfield.gfield_error .ginput_container select,
.widget-area .gform_wrapper .gform_body .gform_fields .gfield.gfield_error .ginput_container input,
.widget-area .gform_wrapper .gform_body .gform_fields .gfield.gfield_error .ginput_container textarea,
.widget-area .gform_wrapper .gform_body .gform_fields .gfield.gfield_error .ginput_container select,
.page-content .gform_wrapper .gform_body .gform_fields .gfield.gfield_error .ginput_container input,
.page-content .gform_wrapper .gform_body .gform_fields .gfield.gfield_error .ginput_container textarea,
.page-content .gform_wrapper .gform_body .gform_fields .gfield.gfield_error .ginput_container select {
  border-color: #dc3545;
  box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.1);
}
.entry-content .gform_wrapper .gform_body .gform_fields .gfield .validation_message,
.widget-area .gform_wrapper .gform_body .gform_fields .gfield .validation_message,
.page-content .gform_wrapper .gform_body .gform_fields .gfield .validation_message {
  background: #fdecea;
  border: 1px solid #f5c2c0;
  color: #b71c1c;
  padding: 0.75rem;
  border-radius: 0.5rem;
  margin-top: 0.5rem;
  font-size: 0.875rem;
}
.entry-content .gform_wrapper .gform_footer,
.widget-area .gform_wrapper .gform_footer,
.page-content .gform_wrapper .gform_footer {
  margin-top: 1.5rem;
  text-align: center;
}
.entry-content .gform_wrapper .gform_footer .gform_button,
.widget-area .gform_wrapper .gform_footer .gform_button,
.page-content .gform_wrapper .gform_footer .gform_button {
  background: var(--wings-gravity-forms-button-bg-color, var(--wings-background-color, #fff));
  color: var(--wings-gravity-forms-button-text-color, var(--wings-primary-color, #007cba));
  border: 2px solid var(--wings-gravity-forms-button-text-color, var(--wings-primary-color, #007cba));
  border-radius: 0.5rem;
  padding: 1rem 2rem;
  font-size: 1.125rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  width: 100%;
  line-height: 1.2;
}
.entry-content .gform_wrapper .gform_footer .gform_button:hover:not(:disabled),
.widget-area .gform_wrapper .gform_footer .gform_button:hover:not(:disabled),
.page-content .gform_wrapper .gform_footer .gform_button:hover:not(:disabled) {
  background: var(--wings-gravity-forms-button-hover-bg-color, var(--wings-background-muted, #f8f9fa));
  color: var(--wings-gravity-forms-button-hover-text-color, var(--wings-primary-color-dark, #005a87));
  border-color: var(--wings-gravity-forms-button-hover-text-color, var(--wings-primary-color-dark, #005a87));
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.entry-content .gform_wrapper .gform_footer .gform_button:active,
.widget-area .gform_wrapper .gform_footer .gform_button:active,
.page-content .gform_wrapper .gform_footer .gform_button:active {
  transform: translateY(0);
}
.entry-content .gform_wrapper .gform_footer .gform_button:disabled,
.widget-area .gform_wrapper .gform_footer .gform_button:disabled,
.page-content .gform_wrapper .gform_footer .gform_button:disabled {
  background: #6c757d;
  color: #fff;
  border-color: #6c757d;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
  opacity: 0.6;
}
.entry-content .gform_wrapper .gform_footer .gform_button:focus,
.widget-area .gform_wrapper .gform_footer .gform_button:focus,
.page-content .gform_wrapper .gform_footer .gform_button:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(0, 124, 186, 0.3);
}
.entry-content .gform_wrapper .gform_validation_errors,
.widget-area .gform_wrapper .gform_validation_errors,
.page-content .gform_wrapper .gform_validation_errors {
  background: #fdecea;
  border: 1px solid #f5c2c0;
  color: #b71c1c;
  padding: 1rem;
  border-radius: 0.5rem;
  margin-bottom: 1rem;
}
.entry-content .gform_wrapper .gform_validation_errors h2,
.widget-area .gform_wrapper .gform_validation_errors h2,
.page-content .gform_wrapper .gform_validation_errors h2 {
  margin: 0 0 0.5rem 0;
  color: #b71c1c;
  font-size: 1.1rem;
}
.entry-content .gform_wrapper .gform_validation_errors ul,
.widget-area .gform_wrapper .gform_validation_errors ul,
.page-content .gform_wrapper .gform_validation_errors ul {
  margin: 0;
  padding-left: 1.25rem;
}
.entry-content .gform_wrapper .gform_validation_errors ul li,
.widget-area .gform_wrapper .gform_validation_errors ul li,
.page-content .gform_wrapper .gform_validation_errors ul li {
  margin-bottom: 0.25rem;
}

.gf-floating-label {
  position: relative;
  margin-bottom: 1.5rem;
}
.gf-floating-label input,
.gf-floating-label textarea {
  width: 100%;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 0.5rem;
  background: rgba(255, 255, 255, 0.95);
  color: var(--wings-text-color, #333);
  font-size: 1rem;
  line-height: 1.5;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, padding 0.2s ease, background-color 0.2s ease;
}
.gf-floating-label input:focus,
.gf-floating-label textarea:focus {
  border-color: rgba(255, 255, 255, 0.8);
  background: #fff;
  outline: none;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.3);
}
.gf-floating-label input::-moz-placeholder, .gf-floating-label textarea::-moz-placeholder {
  color: rgba(0, 0, 0, 0.6);
}
.gf-floating-label input::placeholder,
.gf-floating-label textarea::placeholder {
  color: rgba(0, 0, 0, 0.6);
}
.gf-floating-label input,
.gf-floating-label textarea {
  padding: 0.75rem;
}
.gf-floating-label input:focus,
.gf-floating-label textarea:focus {
  padding: 1.25rem 0.5rem 0.5rem;
}
.gf-floating-label input:not(:-moz-placeholder), .gf-floating-label textarea:not(:-moz-placeholder) {
  padding: 1.25rem 0.5rem 0.5rem;
}
.gf-floating-label input:not(:placeholder-shown),
.gf-floating-label textarea:not(:placeholder-shown) {
  padding: 1.25rem 0.5rem 0.5rem;
}
.gf-floating-label input::-moz-placeholder, .gf-floating-label textarea::-moz-placeholder {
  color: transparent;
}
.gf-floating-label input::placeholder,
.gf-floating-label textarea::placeholder {
  color: transparent;
}
.gf-floating-label label {
  position: absolute;
  top: 1.5rem;
  left: 0.75rem;
  transform: translateY(-50%);
  transition: all 0.2s ease;
  color: rgba(0, 0, 0, 0.6);
  pointer-events: none;
  background: transparent;
  padding: 0;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1;
  display: block;
  margin-bottom: 0;
  letter-spacing: normal;
}
.gf-floating-label textarea + label {
  top: 1.5rem;
  transform: translateY(-50%);
}
.gf-floating-label input:not(:-moz-placeholder) + label, .gf-floating-label textarea:not(:-moz-placeholder) + label {
  top: 0.5rem;
  left: 0.75rem;
  font-size: 0.75rem;
  color: rgba(0, 0, 0, 0.7);
  font-weight: 400;
  transform: none;
  background: #fff;
  padding: 0 0.25rem;
}
.gf-floating-label input:focus + label,
.gf-floating-label input:not(:placeholder-shown) + label,
.gf-floating-label textarea:focus + label,
.gf-floating-label textarea:not(:placeholder-shown) + label {
  top: 0.5rem;
  left: 0.75rem;
  font-size: 0.75rem;
  color: rgba(0, 0, 0, 0.7);
  font-weight: 400;
  transform: none;
  background: #fff;
  padding: 0 0.25rem;
}
.gf-floating-label.active input,
.gf-floating-label.active textarea {
  padding: 1.25rem 0.5rem 0.5rem;
}
.gf-floating-label.active textarea {
  padding: 1.5rem 0.5rem 0.5rem;
}
.gf-floating-label.active label {
  top: 0.5rem;
  left: 0.75rem;
  font-size: 0.75rem;
  color: rgba(0, 0, 0, 0.7);
  font-weight: 400;
  transform: none;
  background: #fff;
  padding: 0 0.25rem;
}
.gf-floating-label.gfield_error input,
.gf-floating-label.gfield_error textarea {
  border-color: #dc3545;
  box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.1);
}
.gf-floating-label.gfield_error label {
  color: #dc3545;
}
.gf-floating-label.gfield_error input:not(:-moz-placeholder) + label, .gf-floating-label.gfield_error textarea:not(:-moz-placeholder) + label {
  top: 0.5rem;
  left: 0.75rem;
  font-size: 0.75rem;
  color: rgba(0, 0, 0, 0.7);
  font-weight: 400;
  transform: none;
  background: #fff;
  padding: 0 0.25rem;
  color: #dc3545;
}
.gf-floating-label.gfield_error input:focus + label,
.gf-floating-label.gfield_error input:not(:placeholder-shown) + label,
.gf-floating-label.gfield_error textarea:focus + label,
.gf-floating-label.gfield_error textarea:not(:placeholder-shown) + label, .gf-floating-label.gfield_error.active label {
  top: 0.5rem;
  left: 0.75rem;
  font-size: 0.75rem;
  color: rgba(0, 0, 0, 0.7);
  font-weight: 400;
  transform: none;
  background: #fff;
  padding: 0 0.25rem;
  color: #dc3545;
}
.gf-floating-label.gfield_valid input,
.gf-floating-label.gfield_valid textarea {
  border-color: #28a745;
  box-shadow: 0 0 0 3px rgba(40, 167, 69, 0.1);
}
.gf-floating-label.gfield_valid input:not(:-moz-placeholder) + label, .gf-floating-label.gfield_valid textarea:not(:-moz-placeholder) + label {
  top: 0.5rem;
  left: 0.75rem;
  font-size: 0.75rem;
  color: rgba(0, 0, 0, 0.7);
  font-weight: 400;
  transform: none;
  background: #fff;
  padding: 0 0.25rem;
  color: #28a745;
}
.gf-floating-label.gfield_valid input:focus + label,
.gf-floating-label.gfield_valid input:not(:placeholder-shown) + label,
.gf-floating-label.gfield_valid textarea:focus + label,
.gf-floating-label.gfield_valid textarea:not(:placeholder-shown) + label, .gf-floating-label.gfield_valid.active label {
  top: 0.5rem;
  left: 0.75rem;
  font-size: 0.75rem;
  color: rgba(0, 0, 0, 0.7);
  font-weight: 400;
  transform: none;
  background: #fff;
  padding: 0 0.25rem;
  color: #28a745;
}

.gform_wrapper .gfield_checkbox .gchoice,
.gform_wrapper .gfield_radio .gchoice {
  margin-bottom: 0.5rem;
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
}
.gform_wrapper .gfield_checkbox .gchoice input[type=checkbox],
.gform_wrapper .gfield_checkbox .gchoice input[type=radio],
.gform_wrapper .gfield_radio .gchoice input[type=checkbox],
.gform_wrapper .gfield_radio .gchoice input[type=radio] {
  width: auto;
  margin: 0;
  margin-top: 0.125rem;
}
.gform_wrapper .gfield_checkbox .gchoice label,
.gform_wrapper .gfield_radio .gchoice label {
  margin: 0;
  font-weight: 400;
  cursor: pointer;
  flex: 1;
}
.gform_wrapper .ginput_container_fileupload .ginput_container input[type=file] {
  width: 100%;
  padding: 0.75rem;
  border: 2px dashed #ccc;
  border-radius: 0.5rem;
  background: #f9f9f9;
  cursor: pointer;
  transition: border-color 0.2s ease;
}
.gform_wrapper .ginput_container_fileupload .ginput_container input[type=file]:hover {
  border-color: var(--wings-primary-color, #666);
  background: #f5f5f5;
}
.gform_wrapper .ginput_container_fileupload .ginput_container input[type=file]:focus {
  outline: none;
  border-color: var(--wings-primary-color, #666);
  box-shadow: 0 0 0 3px rgba(102, 102, 102, 0.1);
}
.gform_wrapper .gfield_visibility_hidden {
  display: none;
}

@media (max-width: 768px) {
  .gform_wrapper {
    padding: 1.5rem;
  }
  .gform_wrapper .gform_heading {
    margin-bottom: 1.5rem;
  }
  .gform_wrapper .gform_footer .gform_button {
    padding: 0.875rem 1.5rem;
    font-size: 1rem;
  }
  .gf-floating-label input,
  .gf-floating-label textarea {
    font-size: 16px;
  }
}
@media print {
  .gform_wrapper .gform_footer {
    display: none;
  }
}
/**
 * Campaign Component Styles - Main Entry Point
 * 
 * Modular campaign styling system with separate files for different concerns
 * Uses theme variables and mixins for consistent theming
 * 
 * @package Wings_Theme
 */
/**
 * Campaign Variables and CSS Custom Properties
 * 
 * Defines all CSS custom properties and theme variables used across campaign components
 * 
 * @package Wings_Theme
 */
/*--------------------------------------------------------------
# Campaign Variables Integration
--------------------------------------------------------------*/
:root {
  --wings-campaign-content-bg-color: var(--wings-surface-bg-color, #fff);
  --wings-campaign-content-text-color: var(--wings-text-color, #000);
  --wings-campaign-content-secondary-text-color: var(--wings-text-muted, #666);
  --wings-campaign-sidebar-bg-color: var(--wings-primary-color, #1976d2);
  --wings-campaign-sidebar-text-color: #fff;
  --wings-campaign-sidebar-progress-bg-color: #0d47a1;
  --wings-campaign-sidebar-form-bg-color: #e3f2fd;
  --wings-campaign-sidebar-form-text-color: var(--wings-primary-color, #1976d2);
  --wings-campaign-fade-rgb: 255, 255, 255;
}

/**
 * Campaign Layout and Wrapper Styles
 *
 * Base layout styles for campaign wrappers, grid systems, and responsive layouts
 *
 * @package Wings_Theme
 */
/*--------------------------------------------------------------
# Campaign Wrapper Base Styles
--------------------------------------------------------------*/
.campaign-wrapper {
  margin: 40px 0;
}
@media (max-width: 768px) {
  .campaign-wrapper {
    margin: 20px 15px;
  }
}

/*--------------------------------------------------------------
# Campaign Layout Base Styles
--------------------------------------------------------------*/
.campaign-layout-wrapper {
  display: flex;
  gap: 0;
  align-items: flex-start;
  width: 100%;
}
@media (max-width: 768px) {
  .campaign-layout-wrapper {
    flex-direction: column;
    gap: 1rem;
  }
}

.campaign-main-content {
  background: var(--wings-campaign-content-bg-color);
  border-radius: var(--wings-border-radius, 0.5rem);
  padding: 2rem;
  box-shadow: var(--wings-surface-shadow);
  flex: 1.8;
}
@media (max-width: 768px) {
  .campaign-main-content {
    padding: 1.5rem;
    flex: none;
  }
}

.campaign-sidebar-content {
  background: var(--wings-campaign-sidebar-bg-color);
  color: var(--wings-campaign-sidebar-text-color);
  border-radius: var(--wings-border-radius, 0.5rem);
  padding: 2rem;
  box-shadow: var(--wings-shadow-large);
  align-self: flex-start;
  flex: 1.2;
  display: flex;
  flex-direction: column;
  height: -moz-fit-content;
  height: fit-content;
}
@media (max-width: 768px) {
  .campaign-sidebar-content {
    padding: 1.5rem;
    flex: none;
    display: block;
  }
}

/*--------------------------------------------------------------
# Campaign Page Layout (from public.css)
--------------------------------------------------------------*/
.wings-campaign {
  position: relative;
}

.wings-campaign-header-image {
  width: 100%;
  max-height: 400px;
  overflow: hidden;
  position: relative;
}

.wings-header-image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.wings-campaign-content-wrapper {
  margin-top: -60px;
  position: relative;
  z-index: 2;
}

.wings-campaign-layout {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 40px;
  align-items: start;
}
@media (max-width: 768px) {
  .wings-campaign-layout {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

.wings-campaign-main {
  background: var(--wings-campaign-content-bg-color, #fff);
  border-radius: 8px 8px 0 0;
  padding: 40px;
  box-shadow: var(--wings-surface-shadow);
}
@media (max-width: 768px) {
  .wings-campaign-main {
    padding: 25px;
  }
}
@media (max-width: 480px) {
  .wings-campaign-main {
    padding: 20px;
  }
}

.wings-campaign-sidebar {
  background: var(--wings-campaign-content-bg-color, #fff);
  border-radius: 8px 8px 0 0;
  padding: 30px;
  box-shadow: var(--wings-surface-shadow);
  position: sticky;
  top: 20px;
}
@media (max-width: 768px) {
  .wings-campaign-sidebar {
    padding: 25px;
    position: static;
  }
}
@media (max-width: 480px) {
  .wings-campaign-sidebar {
    padding: 20px;
  }
}

/*--------------------------------------------------------------
# Campaign Display Variants
--------------------------------------------------------------*/
.campaign--compact .campaign-header-image {
  display: none;
}

.campaign--full .campaign-header-image {
  display: block;
}

/*--------------------------------------------------------------
# Mobile Optimizations
--------------------------------------------------------------*/
@media (max-width: 768px) {
  .wings-campaign-content-wrapper {
    margin-top: -40px;
  }
}
@media (max-width: 480px) {
  .wings-campaign-content-wrapper {
    margin-top: -30px;
  }
}
/**
 * Campaign Content and Typography Styles
 * 
 * Typography, content styling, and text-related components for campaigns
 * 
 * @package Wings_Theme
 */
/*--------------------------------------------------------------
# Campaign Header Styles
--------------------------------------------------------------*/
.campaign-header-image {
  height: 350px;
  max-height: 350px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  border-radius: var(--wings-border-radius, 12px);
}
@media (max-width: 768px) {
  .campaign-header-image {
    height: 220px;
    max-height: 220px;
  }
}

/*--------------------------------------------------------------
# Campaign Content Text Styles
--------------------------------------------------------------*/
.campaign-title {
  font-size: 2.4rem;
  line-height: 1.2;
  margin: 0 0 6px 0;
  color: var(--wings-campaign-content-text-color);
  font-weight: 600;
  font-family: var(--wings-heading-font-family, inherit);
}
@media (max-width: 768px) {
  .campaign-title {
    font-size: 1.8rem;
  }
}

.campaign-excerpt {
  font-size: 1.05rem;
  color: var(--wings-campaign-content-secondary-text-color);
  font-style: italic;
  margin-bottom: 15px;
  font-family: var(--wings-body-font-family, inherit);
}

.campaign-main-content .campaign-content {
  color: var(--wings-campaign-content-text-color);
}
.campaign-main-content .campaign-content h1,
.campaign-main-content .campaign-content h2,
.campaign-main-content .campaign-content h3,
.campaign-main-content .campaign-content h4,
.campaign-main-content .campaign-content h5,
.campaign-main-content .campaign-content h6,
.campaign-main-content .campaign-content p,
.campaign-main-content .campaign-content li,
.campaign-main-content .campaign-content blockquote {
  color: var(--wings-campaign-content-text-color);
}

/*--------------------------------------------------------------
# Campaign Footer Styles
--------------------------------------------------------------*/
.campaign-link {
  margin: 0 0 15px 0;
}
.campaign-link .campaign-view-link {
  color: var(--wings-primary-color, #1976d2);
  text-decoration: none;
  font-weight: 500;
  font-family: var(--wings-body-font-family, inherit);
}
.campaign-link .campaign-view-link:hover {
  text-decoration: underline;
}

.campaign-categories {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.campaign-category-tag {
  display: inline-block;
}
.campaign-category-tag a {
  background: var(--wings-surface-variant, #e9ecef);
  color: var(--wings-campaign-content-secondary-text-color);
  padding: 4px 8px;
  border-radius: var(--wings-border-radius-small, 4px);
  font-size: 0.85rem;
  text-decoration: none;
  transition: all 0.2s ease;
  font-family: var(--wings-body-font-family, inherit);
}
.campaign-category-tag a:hover {
  background: var(--wings-accent-color, var(--wings-primary-color, #007cba));
  color: #fff;
}

/*--------------------------------------------------------------
# Campaign Content Styling
--------------------------------------------------------------*/
.wings-campaign-content {
  line-height: 1.6;
  margin-bottom: 30px;
}
.wings-campaign-content h2 {
  color: var(--wings-text-color, #1d2327);
  margin-bottom: 15px;
}
.wings-campaign-content p {
  margin-bottom: 15px;
}

.wings-campaign-title {
  color: var(--wings-text-color, #1d2327);
  font-size: 1.8rem;
  margin-bottom: 20px;
  text-align: center;
}
@media (max-width: 768px) {
  .wings-campaign-title {
    font-size: 1.5rem;
  }
}
@media (max-width: 480px) {
  .wings-campaign-title {
    font-size: 1.3rem;
  }
}

.wings-campaign-donors {
  font-size: 0.9rem;
  color: var(--wings-text-muted, #666);
  margin-bottom: 15px;
}

/*--------------------------------------------------------------
# Campaign Template Title Overrides
--------------------------------------------------------------*/
.wings-campaign-title.entry-title {
  text-align: left !important;
  margin-bottom: 15px;
  margin-top: 0;
  position: relative;
  z-index: 5;
}
@media (max-width: 768px) {
  .wings-campaign-title.entry-title {
    font-size: 2rem;
  }
}

.wings-campaign-excerpt {
  margin-bottom: 25px;
  font-size: 1.1rem;
  color: var(--wings-text-muted, #666);
  font-style: italic;
}

/**
 * Campaign Progress Bars and Statistics
 * 
 * Progress bars, statistics displays, and related visual indicators for campaigns
 * 
 * @package Wings_Theme
 */
/*--------------------------------------------------------------
# Campaign Sidebar Progress Section
--------------------------------------------------------------*/
.campaign-progress {
  background: var(--wings-campaign-sidebar-progress-bg-color);
  padding: 1.5rem;
  border-radius: var(--wings-border-radius, 0.5rem) var(--wings-border-radius, 0.5rem) 0 0;
  margin: -2rem -2rem 0 -2rem;
  margin-bottom: 0;
}
@media (max-width: 768px) {
  .campaign-progress {
    margin: -1.5rem -1.5rem 0 -1.5rem;
    border-radius: var(--wings-border-radius, 0.5rem) var(--wings-border-radius, 0.5rem) 0 0;
  }
}
.campaign-progress h3 {
  margin: 0 0 12px 0;
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--wings-campaign-sidebar-text-color);
  font-family: var(--wings-heading-font-family, inherit);
}

.campaign-stats {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 0.5rem;
}
@media (max-width: 768px) {
  .campaign-stats {
    gap: 0.75rem;
  }
}

.campaign-stats-number {
  font-size: 3.5rem;
  font-weight: 700;
  color: var(--wings-campaign-sidebar-progress-text-color);
  line-height: 1;
}
@media (max-width: 768px) {
  .campaign-stats-number {
    font-size: 2.5rem;
  }
}

.campaign-stats-text {
  font-size: 1rem;
  font-weight: 400;
  color: var(--wings-campaign-sidebar-progress-text-color);
  line-height: 1.3;
  flex: 1;
  font-family: var(--wings-body-font-family, inherit);
}
@media (max-width: 768px) {
  .campaign-stats-text {
    font-size: 0.9rem;
  }
}

.campaign-goal {
  font-size: 0.85rem;
  color: color-mix(in srgb, var(--wings-campaign-sidebar-progress-text-color) 80%, transparent);
  margin-top: 0.5rem;
  font-family: var(--wings-body-font-family, inherit);
}

.campaign-progress-bar {
  height: 12px;
  background: color-mix(in srgb, var(--wings-campaign-sidebar-progress-bar-bg-color) 20%, transparent);
  border-radius: 6px;
  overflow: hidden;
}

.campaign-progress-fill {
  height: 100%;
  background: var(--wings-campaign-sidebar-progress-text-color);
  border-radius: 4px;
  transition: width 0.3s ease;
}

/*--------------------------------------------------------------
# Campaign Stats Display
--------------------------------------------------------------*/
.stat-current {
  margin-bottom: 15px;
}

.stat-number {
  display: block;
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--wings-primary-color, #2271b1);
  line-height: 1;
}
@media (max-width: 768px) {
  .stat-number {
    font-size: 2rem;
  }
}
@media (max-width: 480px) {
  .stat-number {
    font-size: 1.8rem;
  }
}

.stat-label {
  display: block;
  font-size: 0.9rem;
  color: var(--wings-text-muted, #666);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-top: 5px;
}

.stat-goal {
  font-size: 0.9rem;
  color: var(--wings-text-muted, #666);
  margin-bottom: 10px;
}

.stat-percent {
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--wings-success-color, #46b450);
  margin-bottom: 15px;
}

.stat-progress-bar {
  width: 100%;
  height: 12px;
  background: #e1e1e1;
  border-radius: 6px;
  overflow: hidden;
  margin-bottom: 10px;
}

.stat-progress-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--wings-success-color, #46b450) 0%, #2ea043 100%);
  transition: width 0.5s ease;
  border-radius: 6px 0 0 6px;
}

/*--------------------------------------------------------------
# Campaign Template Progress Enhancements
--------------------------------------------------------------*/
.wings-campaign-goal {
  font-weight: 400;
  margin-bottom: 8px;
  text-align: left;
  color: var(--wings-text-muted, #666);
  font-size: 0.95rem;
}

.wings-campaign-donors {
  text-align: left;
  color: var(--wings-text-muted-light, #888);
  font-size: 0.9rem;
  margin-bottom: 12px;
}

.wings-campaign-progress {
  width: 100%;
  height: 16px;
  background: #e9ecef;
  border-radius: 8px;
  overflow: hidden;
  margin: 15px 0;
  position: relative;
}

.wings-campaign-progress-fill {
  height: 100%;
  background: var(--wings-primary-color, #007cba);
  transition: width 0.6s ease-in-out;
  border-radius: 8px;
  position: relative;
}
.wings-campaign-progress-fill::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%);
  background-size: 20px 20px;
  animation: progressShine 2s linear infinite;
}

@keyframes progressShine {
  0% {
    background-position: -20px 0;
  }
  100% {
    background-position: 20px 0;
  }
}
/*--------------------------------------------------------------
# Campaign Card Progress and Form Wrappers for Page Templates
--------------------------------------------------------------*/
.campaign-card-progress {
  background: var(--wings-campaign-sidebar-progress-bg-color);
  padding: 1.5rem;
  margin: -2rem -2rem 0 -2rem;
  margin-bottom: 0;
  border-radius: var(--wings-border-radius) var(--wings-border-radius) 0 0;
}
@media (max-width: 768px) {
  .campaign-card-progress {
    margin: -1.5rem -1.5rem 0 -1.5rem;
    border-radius: var(--wings-border-radius) var(--wings-border-radius) 0 0;
  }
}
.campaign-card-progress h3 {
  margin: 0 0 12px 0;
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--wings-campaign-sidebar-progress-text-color);
  font-family: var(--wings-heading-font-family, inherit);
}

/**
 * Campaign Forms Styling
 *
 * Campaign-specific form styling and color overrides.
 * Universal form styles are inherited from _forms-universal.scss
 *
 * @package Wings_Theme
 */
/*--------------------------------------------------------------
# Campaign Sidebar Form Section
--------------------------------------------------------------*/
.campaign-form {
  background: var(--wings-campaign-sidebar-form-bg-color);
  padding: 1.5rem;
  border-radius: 0 0 var(--wings-border-radius, 0.5rem) var(--wings-border-radius, 0.5rem);
  margin: 0 -2rem -2rem -2rem;
  margin-top: 0;
}
@media (max-width: 768px) {
  .campaign-form {
    margin: 0 -1.5rem -1.5rem -1.5rem;
    border-radius: 0 0 var(--wings-border-radius, 0.5rem) var(--wings-border-radius, 0.5rem);
  }
}
.campaign-form h3 {
  margin: 0 0 15px 0;
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--wings-campaign-sidebar-form-text-color);
  font-family: var(--wings-heading-font-family, inherit);
}
.campaign-form input[type=submit] {
  border-radius: var(--wings-border-radius-small, 0.25rem);
  border: var(--wings-border-width-medium) solid var(--wings-primary-color, #007cba);
  transition: all var(--wings-transition-duration) var(--wings-transition-timing);
}
.campaign-form input[type=submit]:hover {
  background: transparent;
  color: var(--wings-primary-color, #007cba);
}

/*--------------------------------------------------------------
# Campaign Gravity Forms Integration
--------------------------------------------------------------*/
.campaign-sidebar-content .gform_wrapper {
  margin: 0;
}
.campaign-sidebar-content .gform_wrapper .gform_body .gform_fields .gfield {
  margin-bottom: 16px;
}
.campaign-sidebar-content .gform_wrapper .gform_body .gform_fields .gfield:last-child {
  margin-bottom: 0;
}
.campaign-sidebar-content .gform_wrapper .gform_body .gform_fields .gfield .gfield_label {
  color: var(--wings-campaign-sidebar-form-text-color);
}
.campaign-sidebar-content .gform_wrapper .gform_body .gform_fields .gfield .gfield_label .gfield_required {
  color: rgba(25, 118, 210, 0.7);
}
.campaign-sidebar-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=text],
.campaign-sidebar-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=email],
.campaign-sidebar-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=tel],
.campaign-sidebar-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container textarea,
.campaign-sidebar-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container select {
  border: var(--wings-border-width-medium) solid rgba(255, 255, 255, 0.4);
  background: rgba(255, 255, 255, 0.98);
  color: #333;
}
.campaign-sidebar-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=text]:focus,
.campaign-sidebar-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=email]:focus,
.campaign-sidebar-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=tel]:focus,
.campaign-sidebar-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container textarea:focus,
.campaign-sidebar-content .gform_wrapper .gform_body .gform_fields .gfield .ginput_container select:focus {
  border-color: #fff;
  background: #fff;
  box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.4);
}
.campaign-sidebar-content .gform_wrapper .gform_body .gform_fields .gfield.field-valid .ginput_container input, .campaign-sidebar-content .gform_wrapper .gform_body .gform_fields .gfield.field-valid .ginput_container textarea, .campaign-sidebar-content .gform_wrapper .gform_body .gform_fields .gfield.field-valid .ginput_container select {
  border-color: #4caf50;
  box-shadow: 0 0 0 3px rgba(76, 175, 80, 0.3);
}
.campaign-sidebar-content .gform_wrapper .gform_body .gform_fields .gfield.field-invalid .ginput_container input, .campaign-sidebar-content .gform_wrapper .gform_body .gform_fields .gfield.field-invalid .ginput_container textarea, .campaign-sidebar-content .gform_wrapper .gform_body .gform_fields .gfield.field-invalid .ginput_container select {
  border-color: #f44336;
  box-shadow: 0 0 0 3px rgba(244, 67, 54, 0.3);
}
.campaign-sidebar-content .gform_wrapper .gform_body .gform_fields .gfield .gfield_description.validation_message {
  color: #fff;
  background: rgba(244, 67, 54, 0.9);
}
.campaign-sidebar-content .gform_wrapper .gform_body .gform_fields .gfield .gfield_label .gfield_required {
  color: #f44336;
}

.campaign-sidebar-content .gform_wrapper .gf-floating-label input,
.campaign-sidebar-content .gform_wrapper .gf-floating-label textarea {
  border: var(--wings-border-width-medium) solid rgba(255, 255, 255, 0.4);
  background: rgba(255, 255, 255, 0.98);
  color: #333;
}
.campaign-sidebar-content .gform_wrapper .gf-floating-label input:focus,
.campaign-sidebar-content .gform_wrapper .gf-floating-label textarea:focus {
  border-color: #fff;
  background: #fff;
  box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.4);
}

/*--------------------------------------------------------------
# Campaign Card Form Wrapper for Page Templates
--------------------------------------------------------------*/
.campaign-card-form {
  background: var(--wings-campaign-sidebar-form-bg-color);
  padding: 1.5rem;
  border-radius: 0 0 var(--wings-border-radius) var(--wings-border-radius);
  margin: 0 -2rem -2rem -2rem;
  margin-top: 0;
}
@media (max-width: 768px) {
  .campaign-card-form {
    margin: 0 -1.5rem -1.5rem -1.5rem;
    border-radius: 0 0 var(--wings-border-radius) var(--wings-border-radius);
  }
}
.campaign-card-form h3 {
  margin: 0 0 15px 0;
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--wings-campaign-sidebar-form-text-color);
  font-family: var(--wings-heading-font-family, inherit);
}
.campaign-card-form input[type=submit] {
  background: var(--wings-primary-color, #007cba);
  color: #fff;
  border-radius: 0.25rem;
  padding: 1rem;
  font-weight: 600;
  font-size: 1rem;
  width: 100%;
  border: 2px solid var(--wings-primary-color, #007cba);
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  font-family: var(--wings-body-font-family, inherit);
}
.campaign-card-form input[type=submit]:hover {
  background: transparent;
  color: var(--wings-primary-color, #007cba);
}

/*--------------------------------------------------------------
# Campaign Card Gravity Forms Integration (Enhanced)
--------------------------------------------------------------*/
.campaign-card-sidebar .gform_wrapper,
.campaign-card-form .gform_wrapper {
  margin: 0;
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.campaign-card-sidebar .gform_wrapper .gform_body .gform_fields .gfield,
.campaign-card-form .gform_wrapper .gform_body .gform_fields .gfield {
  margin-bottom: 16px;
}
.campaign-card-sidebar .gform_wrapper .gform_body .gform_fields .gfield:last-child,
.campaign-card-form .gform_wrapper .gform_body .gform_fields .gfield:last-child {
  margin-bottom: 0;
}
.campaign-card-sidebar .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=text],
.campaign-card-sidebar .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=email],
.campaign-card-sidebar .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=tel],
.campaign-card-sidebar .gform_wrapper .gform_body .gform_fields .gfield .ginput_container textarea,
.campaign-card-sidebar .gform_wrapper .gform_body .gform_fields .gfield .ginput_container select,
.campaign-card-form .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=text],
.campaign-card-form .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=email],
.campaign-card-form .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=tel],
.campaign-card-form .gform_wrapper .gform_body .gform_fields .gfield .ginput_container textarea,
.campaign-card-form .gform_wrapper .gform_body .gform_fields .gfield .ginput_container select {
  border: 2px solid var(--wings-campaign-form-border-color, rgba(255, 255, 255, 0.4));
  background: var(--wings-campaign-form-bg-color, rgba(255, 255, 255, 0.98));
  color: var(--wings-campaign-form-text-color, #333);
}
.campaign-card-sidebar .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=text]:focus,
.campaign-card-sidebar .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=email]:focus,
.campaign-card-sidebar .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=tel]:focus,
.campaign-card-sidebar .gform_wrapper .gform_body .gform_fields .gfield .ginput_container textarea:focus,
.campaign-card-sidebar .gform_wrapper .gform_body .gform_fields .gfield .ginput_container select:focus,
.campaign-card-form .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=text]:focus,
.campaign-card-form .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=email]:focus,
.campaign-card-form .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input[type=tel]:focus,
.campaign-card-form .gform_wrapper .gform_body .gform_fields .gfield .ginput_container textarea:focus,
.campaign-card-form .gform_wrapper .gform_body .gform_fields .gfield .ginput_container select:focus {
  border-color: var(--wings-campaign-form-focus-border-color, #fff);
  background: var(--wings-form-background-color, #fff);
  box-shadow: 0 0 0 4px var(--wings-form-focus-shadow-color, rgba(255, 255, 255, 0.4));
}
.campaign-card-sidebar .gform_wrapper .gform_body .gform_fields .gfield.field-valid .ginput_container input, .campaign-card-sidebar .gform_wrapper .gform_body .gform_fields .gfield.field-valid .ginput_container textarea, .campaign-card-sidebar .gform_wrapper .gform_body .gform_fields .gfield.field-valid .ginput_container select,
.campaign-card-form .gform_wrapper .gform_body .gform_fields .gfield.field-valid .ginput_container input,
.campaign-card-form .gform_wrapper .gform_body .gform_fields .gfield.field-valid .ginput_container textarea,
.campaign-card-form .gform_wrapper .gform_body .gform_fields .gfield.field-valid .ginput_container select {
  border-color: var(--wings-form-success-border-color, #4caf50);
  box-shadow: 0 0 0 3px var(--wings-success-color, rgba(76, 175, 80, 0.3));
}
.campaign-card-sidebar .gform_wrapper .gform_body .gform_fields .gfield.field-invalid .ginput_container input, .campaign-card-sidebar .gform_wrapper .gform_body .gform_fields .gfield.field-invalid .ginput_container textarea, .campaign-card-sidebar .gform_wrapper .gform_body .gform_fields .gfield.field-invalid .ginput_container select,
.campaign-card-form .gform_wrapper .gform_body .gform_fields .gfield.field-invalid .ginput_container input,
.campaign-card-form .gform_wrapper .gform_body .gform_fields .gfield.field-invalid .ginput_container textarea,
.campaign-card-form .gform_wrapper .gform_body .gform_fields .gfield.field-invalid .ginput_container select {
  border-color: var(--wings-form-error-border-color, #f44336);
  box-shadow: 0 0 0 3px var(--wings-error-color, rgba(244, 67, 54, 0.3));
}
.campaign-card-sidebar .gform_wrapper .gform_body .gform_fields .gfield .gfield_description.validation_message,
.campaign-card-form .gform_wrapper .gform_body .gform_fields .gfield .gfield_description.validation_message {
  color: var(--wings-light-text-color, #fff);
  background: var(--wings-error-color, rgba(244, 67, 54, 0.9));
}
.campaign-card-sidebar .gform_wrapper .gform_body .gform_fields .gfield .gfield_label,
.campaign-card-form .gform_wrapper .gform_body .gform_fields .gfield .gfield_label {
  color: var(--wings-campaign-sidebar-form-text-color, #333);
}
.campaign-card-sidebar .gform_wrapper .gform_body .gform_fields .gfield .gfield_label .gfield_required,
.campaign-card-form .gform_wrapper .gform_body .gform_fields .gfield .gfield_label .gfield_required {
  color: var(--wings-error-color, #f44336);
}

.campaign-card-sidebar .gform_wrapper .gf-floating-label input,
.campaign-card-sidebar .gform_wrapper .gf-floating-label textarea {
  border: 2px solid var(--wings-campaign-form-border-color, rgba(255, 255, 255, 0.4));
  background: var(--wings-campaign-form-bg-color, rgba(255, 255, 255, 0.98));
  color: var(--wings-campaign-form-text-color, #333);
}
.campaign-card-sidebar .gform_wrapper .gf-floating-label input:focus,
.campaign-card-sidebar .gform_wrapper .gf-floating-label textarea:focus {
  border-color: var(--wings-campaign-form-focus-border-color, #fff);
  background: var(--wings-form-background-color, #fff);
  box-shadow: 0 0 0 4px var(--wings-form-focus-shadow-color, rgba(255, 255, 255, 0.4));
}

/**
 * Campaign Interactive Components
 * 
 * Expandable content, buttons, and other interactive campaign elements
 * 
 * @package Wings_Theme
 */
/*--------------------------------------------------------------
# Campaign Expandable Content
--------------------------------------------------------------*/
.campaign-content-expandable {
  max-height: 280px;
  overflow: hidden;
  transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
}
.campaign-content-expandable:not(.expanded):not(.no-blur-needed)::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 80px;
  background: linear-gradient(transparent, rgba(var(--wings-campaign-fade-rgb), 0.3) 10%, rgba(var(--wings-campaign-fade-rgb), 0.7) 40%, rgba(var(--wings-campaign-fade-rgb), 0.9) 70%, rgba(var(--wings-campaign-fade-rgb), 1) 100%);
  pointer-events: none;
  transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.campaign-content-expandable.expanded {
  max-height: none;
}
.campaign-content-expandable.expanded::after {
  opacity: 0;
  pointer-events: none;
}

.campaign-content-toggle {
  margin-top: 15px;
  text-align: center;
}

.campaign-expand-btn {
  background: none;
  border: 2px solid var(--wings-text-color, #333);
  border-radius: 6px;
  padding: 12px 24px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 16px;
  font-weight: 600;
  font-family: var(--wings-heading-font-family, inherit);
  color: var(--wings-text-color, #333);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.campaign-expand-btn:hover {
  border-color: var(--wings-primary-color, #007cba);
  color: var(--wings-primary-color, #007cba);
  background-color: rgba(0, 124, 186, 0.05);
}
@media (max-width: 768px) {
  .campaign-expand-btn {
    padding: 10px 20px;
    font-size: 15px;
  }
}

.campaign-expand-icon {
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.campaign-expand-btn[aria-expanded=true] .campaign-expand-icon {
  transform: rotate(180deg);
}

/*--------------------------------------------------------------
# Campaign Template Expandable Content (from campaign-templates.css)
--------------------------------------------------------------*/
.wings-campaign-content {
  max-height: 600px;
  overflow: hidden;
  transition: max-height 0.3s ease;
  position: relative;
}
.wings-campaign-content:not(.expanded):not(.no-blur-needed)::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 120px;
  background: linear-gradient(transparent, rgba(var(--wings-campaign-fade-rgb), 0.3) 10%, rgba(var(--wings-campaign-fade-rgb), 0.7) 40%, rgba(var(--wings-campaign-fade-rgb), 0.9) 70%, rgba(var(--wings-campaign-fade-rgb), 1) 100%);
  pointer-events: none;
}
@media (max-width: 768px) {
  .wings-campaign-content:not(.expanded):not(.no-blur-needed)::after {
    height: 80px;
  }
}
.wings-campaign-content.expanded {
  max-height: none;
}
.wings-campaign-content.expanded::after {
  display: none;
}

.wings-campaign-content-toggle {
  margin-top: 8px;
  text-align: center;
}

.wings-expand-btn {
  background: none;
  border: 1px solid #ccc;
  border-radius: 4px;
  padding: 8px 16px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: var(--wings-text-muted, #666);
  transition: all 0.2s ease;
}
.wings-expand-btn:hover {
  border-color: var(--wings-primary-color, #2271b1);
  color: var(--wings-primary-color, #2271b1);
}

.wings-expand-icon {
  transition: transform 0.2s ease;
}

.wings-expand-btn[aria-expanded=true] .wings-expand-icon {
  transform: rotate(180deg);
}

/**
 * Campaign Messages and Error States
 * 
 * Error messages, confirmation messages, and other campaign feedback states
 * 
 * @package Wings_Theme
 */
/*--------------------------------------------------------------
# Campaign Error States
--------------------------------------------------------------*/
.campaign-error {
  background: #f8d7da;
  color: #721c24;
  padding: 15px;
  border-radius: var(--wings-border-radius-small, 4px);
  border: 1px solid #f5c6cb;
  margin: 20px 0;
}
.campaign-error p {
  margin: 0;
  font-family: var(--wings-body-font-family, inherit);
}

.campaign-card-error {
  background: #f8d7da;
  color: #721c24;
  padding: 15px;
  border-radius: var(--wings-border-radius-small, 4px);
  border: 1px solid #f5c6cb;
  margin: 20px 0;
}
.campaign-card-error p {
  margin: 0;
  font-family: var(--wings-body-font-family, inherit);
}

/*--------------------------------------------------------------
# Campaign Messages
--------------------------------------------------------------*/
.wings-confirmation-message {
  background: var(--wings-success-bg, #d1edff);
  border: 1px solid var(--wings-primary-color, #0073aa);
  border-radius: 4px;
  padding: 15px;
  margin: 0 0 20px 0;
  color: var(--wings-primary-color, #0073aa);
  animation: slideDown 0.3s ease-out;
}
.wings-confirmation-message p {
  margin: 0;
  font-weight: 500;
}

.wings-error-message {
  background: var(--wings-error-bg, #f8d7da);
  color: var(--wings-error-color, #721c24);
  padding: 15px;
  border-radius: 6px;
  text-align: center;
  margin: 20px 0;
}

@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/**
 * Wings Theme - Main Stylesheet (Modern Sass Syntax)
 *
 * This is the main SCSS file that uses modern @use and @forward syntax
 * instead of the deprecated @import rules.
 *
 * @package Wings
 * @version 1.0.0
 */
/**
 * Campaign Card Component Styles
 * 
 * Complete frontend styling for campaign cards moved from plugin to theme.
 * This follows the three-layer architecture: theme handles all frontend presentation.
 * 
 * @package Wings_Theme
 */
.campaign-card {
  /* Clean centered approach using transform - matches hero component */
  margin: 40px 0;
  width: min(100vw, var(--wings-content-width-xxl, 1320px));
  left: 50%;
  transform: translateX(-50%);
  /* Desktop padding to align with other XL elements */
}
@media (min-width: 961px) {
  .campaign-card {
    padding: 0 18px;
  }
}
.campaign-card {
  /* Responsive width adjustments */
}
@media (max-width: 1320px) {
  .campaign-card {
    width: min(100vw, var(--wings-content-width-xl, 1200px));
  }
}
@media (max-width: 1200px) {
  .campaign-card {
    width: min(100vw, var(--wings-content-width-large, 960px));
  }
}
.campaign-card {
  /* Mobile: Full width */
}
@media (max-width: 960px) {
  .campaign-card {
    width: 100%;
    left: 0;
    transform: none;
  }
}
@media (max-width: 768px) {
  .campaign-card {
    margin: 20px 0;
  }
}

.campaign-card-header-image {
  height: 450px;
  max-height: 450px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
}
@media (max-width: 768px) {
  .campaign-card-header-image {
    height: 220px;
    max-height: 220px;
  }
}

.campaign-card--compact .campaign-card-header-image {
  display: none;
}

.campaign-card--full .campaign-card-header-image {
  display: block;
  border-radius: var(--wings-border-radius);
}

.campaign-card-content-wrapper {
  margin-top: -80px; /* text card overlaps the hero image */
  display: flex;
  gap: 2rem; /* space between text and form */
  position: relative;
  z-index: 2;
  width: 1120px;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 1200px) {
  .campaign-card-content-wrapper {
    width: 960px;
  }
}
@media (max-width: 960px) {
  .campaign-card-content-wrapper {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    margin-top: -40px;
    flex-direction: column;
    gap: 1rem;
  }
}

.campaign-card-layout {
  display: flex;
  gap: 0;
  align-items: flex-start;
  width: 100%;
}
@media (max-width: 768px) {
  .campaign-card-layout {
    flex-direction: column;
    gap: 1rem;
  }
}

.campaign-card-main {
  background: var(--wings-campaign-content-bg-color, #fff);
  border-radius: var(--wings-border-radius) 0 0 var(--wings-border-radius);
  padding: 2rem;
  box-shadow: var(--wings-box-shadow, 0 2px 6px rgba(0, 0, 0, 0.1));
  flex: 1.8;
}
@media (max-width: 768px) {
  .campaign-card-main {
    order: 1; /* Main content comes first on mobile */
    padding: 1.5rem;
    flex: none;
    width: 100%; /* Full width on mobile */
    border-radius: var(--wings-border-radius);
  }
}

.campaign-card-sidebar {
  background: var(--wings-campaign-sidebar-bg-color, #1976d2);
  color: var(--wings-campaign-sidebar-text-color);
  border-radius: var(--wings-border-radius);
  padding: 2rem;
  box-shadow: var(--wings-box-shadow-large, 0 2px 6px rgba(0, 0, 0, 0.15));
  align-self: flex-start;
  flex: 1.2;
  display: flex;
  flex-direction: column;
  height: -moz-fit-content;
  height: fit-content;
  margin-top: -120px; /* stronger overlap for cards */
}
@media (max-width: 768px) {
  .campaign-card-sidebar {
    order: 2; /* Sidebar comes after main content on mobile */
    padding: 1.5rem;
    margin-top: 0;
    flex: none;
    width: 100%; /* Full width on mobile */
    display: block; /* Reset flex display on mobile */
  }
}

.campaign-card-sidebar-content {
  display: flex;
  flex-direction: column;
}
@media (max-width: 768px) {
  .campaign-card-sidebar-content {
    display: block; /* Reset flex display on mobile */
    max-width: 600px; /* Constrain content width while sidebar background is full-width */
    margin: 0 auto; /* Center the content within the full-width sidebar */
  }
}

.campaign-card-content {
  /* Clean content styling - relies on shared campaign styles */
}

.campaign-card-header {
  margin-bottom: 20px;
}

.campaign-card-title {
  font-size: 2.4rem;
  line-height: 1.2;
  margin: 0 0 6px 0;
  color: var(--wings-campaign-content-text-color, var(--wings-primary-color, #007cba));
  font-weight: 600;
  font-family: var(--wings-heading-font-family, inherit);
}
@media (max-width: 768px) {
  .campaign-card-title {
    font-size: 1.8rem;
  }
}

/* Override default h2 margins for campaign card header */
.campaign-card-header h2.campaign-card-title {
  margin-top: 0;
  margin-bottom: 6px;
}
@media (max-width: 768px) {
  .campaign-card-header h2.campaign-card-title {
    font-size: 1.8rem;
  }
}

.campaign-card-excerpt {
  font-size: 1.05rem;
  color: var(--wings-campaign-content-secondary-text-color, #666);
  font-style: italic;
  margin-bottom: 15px;
  font-family: var(--wings-body-font-family, inherit);
}

.campaign-card-body {
  margin-bottom: 20px;
}

.campaign-card-main .campaign-card-content {
  color: var(--wings-campaign-content-text-color, var(--wings-text-color, #000));
}
.campaign-card-main .campaign-card-content h1,
.campaign-card-main .campaign-card-content h2,
.campaign-card-main .campaign-card-content h3,
.campaign-card-main .campaign-card-content h4,
.campaign-card-main .campaign-card-content h5,
.campaign-card-main .campaign-card-content h6,
.campaign-card-main .campaign-card-content p,
.campaign-card-main .campaign-card-content li,
.campaign-card-main .campaign-card-content blockquote,
.campaign-card-main .campaign-card-content .wings-campaign-content h1,
.campaign-card-main .campaign-card-content .wings-campaign-content h2,
.campaign-card-main .campaign-card-content .wings-campaign-content h3,
.campaign-card-main .campaign-card-content .wings-campaign-content h4,
.campaign-card-main .campaign-card-content .wings-campaign-content h5,
.campaign-card-main .campaign-card-content .wings-campaign-content h6,
.campaign-card-main .campaign-card-content .wings-campaign-content p,
.campaign-card-main .campaign-card-content .wings-campaign-content li,
.campaign-card-main .campaign-card-content .wings-campaign-content blockquote {
  color: var(--wings-campaign-content-text-color, var(--wings-text-color, #000));
}
.campaign-card-main .campaign-card-content .wings-campaign-content {
  color: var(--wings-campaign-content-text-color, var(--wings-text-color, #000));
}

.campaign-card .wings-campaign-content {
  max-height: 280px;
  overflow: hidden;
  transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
}
.campaign-card .wings-campaign-content:not(.expanded):not(.no-blur-needed)::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 72px;
  background: linear-gradient(transparent, rgba(var(--wings-campaign-fade-rgb), 0.3) 10%, rgba(var(--wings-campaign-fade-rgb), 0.7) 40%, rgba(var(--wings-campaign-fade-rgb), 0.9) 70%, rgba(var(--wings-campaign-fade-rgb), 1) 100%);
  pointer-events: none;
  transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.campaign-card .wings-campaign-content.expanded {
  max-height: none;
}
.campaign-card .wings-campaign-content.expanded::after {
  opacity: 0;
  pointer-events: none;
}

.campaign-card .wings-campaign-content-toggle {
  margin-top: 15px;
  text-align: center;
}

.campaign-card .wings-expand-btn {
  background: none;
  border: 2px solid var(--wings-text-color, #333);
  border-radius: 6px;
  padding: 12px 24px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 16px;
  font-weight: 600;
  font-family: var(--wings-heading-font-family, inherit);
  color: var(--wings-text-color, #333);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.campaign-card .wings-expand-btn:hover {
  border-color: var(--wings-primary-color, #007cba);
  color: var(--wings-primary-color, #007cba);
  background-color: rgba(0, 124, 186, 0.05);
}
@media (max-width: 768px) {
  .campaign-card .wings-expand-btn {
    padding: 10px 20px;
    font-size: 15px;
  }
}

.campaign-card .wings-expand-icon {
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.campaign-card .wings-expand-btn[aria-expanded=true] .wings-expand-icon {
  transform: rotate(180deg);
}

.campaign-card-stats {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 0.5rem;
}
@media (max-width: 768px) {
  .campaign-card-stats {
    gap: 0.75rem;
  }
}

.campaign-card-stats-number {
  font-size: 3.5rem;
  font-weight: 700;
  color: var(--wings-campaign-sidebar-progress-text-color);
  line-height: 1;
}
@media (max-width: 768px) {
  .campaign-card-stats-number {
    font-size: 2.5rem;
  }
}

.campaign-card-stats-text {
  font-size: 1rem;
  font-weight: 400;
  color: var(--wings-campaign-sidebar-progress-text-color);
  line-height: 1.3;
  flex: 1;
  font-family: var(--wings-body-font-family, inherit);
}
@media (max-width: 768px) {
  .campaign-card-stats-text {
    font-size: 0.9rem;
  }
}

.campaign-card-goal {
  font-size: 0.85rem;
  color: color-mix(in srgb, var(--wings-campaign-sidebar-progress-text-color) 80%, transparent);
  margin-top: 0.5rem;
  font-family: var(--wings-body-font-family, inherit);
}

.campaign-card-progress-bar {
  height: 12px;
  background: color-mix(in srgb, var(--wings-campaign-sidebar-progress-bg-color) 20%, transparent);
  border-radius: 6px;
  overflow: hidden;
}

.campaign-card-progress-fill {
  height: 100%;
  background: var(--wings-campaign-sidebar-progress-text-color);
  border-radius: 4px;
  transition: width 0.3s ease;
}

.campaign-card-form h3 {
  margin: 0 0 15px 0;
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--wings-campaign-sidebar-form-text-color);
  font-family: var(--wings-heading-font-family, inherit);
}
.campaign-card-form input[type=submit] {
  background: var(--wings-primary-color, #007cba);
  color: #fff;
  border-radius: 0.25rem;
  padding: 1rem;
  font-weight: 600;
  font-size: 1rem;
  width: 100%;
  border: 2px solid var(--wings-primary-color, #007cba);
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  font-family: var(--wings-body-font-family, inherit);
}
.campaign-card-form input[type=submit]:hover {
  background: transparent;
  color: var(--wings-primary-color, #007cba);
}

.campaign-card-footer {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #e9ecef;
}

.campaign-card-link {
  margin: 0 0 15px 0;
}
.campaign-card-link .campaign-view-link {
  color: var(--wings-primary-color, #1976d2);
  text-decoration: none;
  font-weight: 500;
  font-family: var(--wings-body-font-family, inherit);
}
.campaign-card-link .campaign-view-link:hover {
  text-decoration: underline;
}

.campaign-card-categories {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.campaign-category-tag {
  display: inline-block;
}
.campaign-category-tag a {
  background: var(--wings-surface-variant, #e9ecef);
  color: var(--wings-campaign-content-secondary-text-color, #666);
  padding: 4px 8px;
  border-radius: var(--wings-border-radius-small, 4px);
  font-size: 0.85rem;
  text-decoration: none;
  transition: all 0.2s ease;
  font-family: var(--wings-body-font-family, inherit);
}
.campaign-category-tag a:hover {
  background: var(--wings-accent-color, var(--wings-primary-color, #007cba));
  color: #fff;
}

/*--------------------------------------------------------------
# File Download Block
--------------------------------------------------------------*/
.wings-file-download-wrapper {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  padding: 2rem 0;
}

.wings-file-download {
  max-width: 960px;
  margin: 0 auto;
  background: var(--wings-background-color, #fff);
  padding: 2rem;
  border-radius: var(--wings-border-radius, 5px);
  box-shadow: var(--wings-box-shadow, rgba(0, 0, 0, 0.1) 0 1px 3px 0, rgba(0, 0, 0, 0.15) 0 2px 10px -7px, rgba(0, 0, 0, 0.15) 0 3px 13px -7px, rgba(0, 0, 0, 0.15) 0 4px 59px -50px, rgba(0, 0, 0, 0.02) 0 2px 1px 0, rgba(0, 0, 0, 0.15) 0 4px 8px -8px, rgba(0, 0, 0, 0.2) 0 6px 78px -70px);
  margin-bottom: 2rem;
}

.file-download-header {
  margin-bottom: 32px;
  text-align: center;
}

.file-download-title {
  margin: 0 0 16px;
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--wings-text-color, #333);
  line-height: 1.3;
}

.file-download-description {
  margin: 0;
  color: var(--wings-text-muted, #666);
  font-size: 1rem;
  line-height: 1.6;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

.file-download-empty {
  text-align: center;
  padding: 60px 20px;
  color: var(--wings-text-muted, #666);
}
.file-download-empty svg {
  margin-bottom: 16px;
  color: var(--wings-border-color, #ccc);
}
.file-download-empty p {
  margin: 0;
  font-size: 1rem;
  color: var(--wings-text-muted, #888);
}

.file-download-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.file-download-item {
  border: 1px solid var(--wings-border-color, #e8e8e8);
  border-radius: 8px;
  background: var(--wings-background-muted, #fafafa);
  transition: all 0.2s ease;
}
.file-download-item:hover {
  border-color: var(--wings-primary-color, #000);
  background: var(--wings-background-hover, #f8f8f8);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.file-download-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px;
  gap: 20px;
}

.file-info {
  display: flex;
  align-items: center;
  gap: 16px;
  flex: 1;
  min-width: 0;
}

.file-icon {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  background: var(--wings-primary-color, #000);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--wings-button-text-color, #fff);
}
.file-icon svg {
  width: 20px;
  height: 20px;
}

.file-details {
  flex: 1;
  min-width: 0;
}

.file-name {
  margin: 0 0 8px;
  font-size: 1rem;
  font-weight: 600;
  color: var(--wings-text-color, #333);
  line-height: 1.3;
  word-break: break-word;
}

.file-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 0.875rem;
  color: var(--wings-text-muted, #666);
}

.file-size {
  font-weight: 500;
  color: var(--wings-text-muted, #555);
}

.file-extension {
  background: var(--wings-background-muted, #e0e0e0);
  padding: 3px 8px;
  border-radius: 4px;
  font-weight: 600;
  color: var(--wings-text-muted, #555);
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.file-actions {
  flex-shrink: 0;
}

.file-download-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0.8rem 1.6rem;
  background: var(--wings-button-background, #000);
  color: var(--wings-button-text-color, #fff);
  text-decoration: none;
  border-radius: var(--wings-button-border-radius, 4px);
  font-weight: 700;
  transition: all 0.3s ease;
  border: 2px solid var(--wings-button-background, #000);
  cursor: pointer;
}
.file-download-button svg {
  width: 16px;
  height: 16px;
}
.file-download-button:hover {
  background: var(--wings-button-hover-background, #fff);
  color: var(--wings-button-hover-text-color, #000);
  text-decoration: none;
  border-color: var(--wings-button-background, #000);
}

@media (width <= 768px) {
  .wings-file-download {
    padding: 1.5rem;
  }
  .file-download-title {
    font-size: 1.5rem;
  }
  .file-download-content {
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
  }
  .file-meta {
    flex-wrap: wrap;
  }
  .file-download-button {
    width: 100%;
    justify-content: center;
  }
}
@media (width <= 480px) {
  .wings-file-download {
    padding: 1rem;
  }
  .file-download-content {
    padding: 16px;
  }
  .file-info {
    gap: 12px;
  }
  .file-icon {
    width: 32px;
    height: 32px;
  }
  .file-icon svg {
    width: 16px;
    height: 16px;
  }
  .file-name {
    font-size: 0.9rem;
  }
  .file-meta {
    font-size: 0.8rem;
  }
}
/*--------------------------------------------------------------
# FAQ Block
--------------------------------------------------------------*/
.wp-block-wings-faq__title {
  margin: 0 auto 2rem;
  max-width: 638px;
  text-align: center;
  color: var(--wings-text-color, #000);
  font-family: var(--wings-heading-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif);
}
.wp-block-wings-faq .faq-item {
  border: var(--wings-card-border-width, 1px) solid var(--wings-border-color, #ccc);
  border-radius: var(--wings-border-radius, 6px);
  overflow: hidden;
  margin-bottom: 0.5rem;
}
.wp-block-wings-faq .faq-question {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: var(--wings-faq-question-bg-color, var(--wings-primary-color, #036));
  color: var(--wings-faq-question-text-color, #fff);
  width: 100%;
  border: none;
  padding: 1rem;
  cursor: pointer;
  text-align: left;
  position: relative;
  font-size: 1rem;
  transition: all 0.3s ease;
}
.wp-block-wings-faq .faq-question h3 {
  margin: 0;
  font-size: 1.1rem;
  display: inline-flex;
  align-items: center;
  flex-grow: 1;
  color: var(--wings-faq-question-text-color, #fff);
  position: relative;
  font-family: var(--wings-heading-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif);
}
.wp-block-wings-faq .faq-question .faq-toggle {
  width: 32px;
  height: 32px;
  margin-left: auto;
  position: relative;
  transition: transform 0.3s ease;
  transform: rotate(0deg);
  cursor: pointer;
  font-size: 0;
  color: transparent;
}
.wp-block-wings-faq .faq-question .faq-toggle::after {
  content: "";
  display: block;
  width: 20px;
  height: 3px;
  background-color: var(--wings-faq-question-text-color, #fff);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.3s ease;
}
.wp-block-wings-faq .faq-question .faq-toggle::before {
  content: "";
  display: block;
  width: 20px;
  height: 3px;
  background-color: var(--wings-faq-question-text-color, #fff);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(90deg);
  transition: all 0.3s ease;
}
.wp-block-wings-faq .faq-question[aria-expanded=true] .faq-toggle {
  transform: rotate(180deg);
}
.wp-block-wings-faq .faq-question[aria-expanded=true] .faq-toggle::before {
  width: 0;
  opacity: 0;
}
.wp-block-wings-faq .faq-question:hover {
  background: #fff;
  color: var(--wings-text-color, #000);
}
.wp-block-wings-faq .faq-question:hover h3 {
  color: var(--wings-text-color, #000);
}
.wp-block-wings-faq .faq-question:hover .faq-toggle::after, .wp-block-wings-faq .faq-question:hover .faq-toggle::before {
  background-color: var(--wings-text-color, #000);
}
.wp-block-wings-faq .faq-question:focus {
  outline: 3px solid #fc0;
  outline-offset: 2px;
}
.wp-block-wings-faq .faq-answer {
  height: 0;
  overflow: hidden;
  background: #fff;
  transition: all 0.3s ease-in-out;
  padding: 0 20px;
}
.wp-block-wings-faq .faq-answer[aria-hidden=false] {
  height: auto;
  padding: 20px;
}
.wp-block-wings-faq .faq-answer p {
  margin: 1rem 0;
  color: var(--wings-text-color, #000);
}

.wp-block-wings-faq .wings-anchor-copy {
  opacity: 0;
  transition: opacity 0.2s;
  color: #fff;
  text-decoration: none;
  font-size: 0.9rem;
  margin-left: 0.5rem;
}
.wp-block-wings-faq .wings-anchor-copy:focus {
  outline: 3px solid #fc0;
  outline-offset: 2px;
  opacity: 1;
}
.wp-block-wings-faq .wings-anchor-copy.copied {
  opacity: 1 !important;
  background-color: #4caf50 !important;
  color: #fff !important;
  padding: 0.2em 0.4em;
  border-radius: 3px;
}

.wp-block-wings-faq .faq-question:hover .wings-anchor-copy {
  opacity: 1;
  color: #000;
}
.wp-block-wings-faq .faq-question:hover .wings-anchor-copy:not(.copied) {
  color: #000;
}

/**
 * Wings Image Gallery Component Styles
 * 
 * Complete frontend styling for image galleries moved from plugin to theme.
 * This follows the three-layer architecture: theme handles all frontend presentation.
 * 
 * @package Wings_Theme
 */
.wings-image-gallery {
  display: block;
  padding-left: 16px;
  padding-right: 16px;
}

.wings-image-gallery__title.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.wings-image-gallery__main {
  text-align: center;
  position: relative;
  width: var(--wings-content-width-large, 960px);
  height: 540px;
  overflow: hidden;
  background: #000;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 12px auto;
}
.wings-image-gallery__main img {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  width: auto;
  height: auto;
}

.wings-image-gallery__caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.3);
  color: #fff;
  padding: 12px 16px;
  font-size: 14px;
  line-height: 1.4;
  text-align: center;
  z-index: 3;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8);
  transform: translateY(100%);
  transition: transform 0.3s ease;
}
.wings-image-gallery__caption:not(:empty) {
  transform: translateY(0);
}

.wings-image-gallery__main:hover .wings-image-gallery__caption {
  transform: translateY(0);
}

.wings-image-gallery__alt-warning {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background: rgba(0, 0, 0, 0.7);
  color: #fff;
  padding: 8px 12px;
  border-radius: 4px;
  font-size: 13px;
  line-height: 1.3;
  text-align: center;
  pointer-events: none;
  z-index: 2;
}

.wings-image-gallery__nav {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  display: flex;
  justify-content: space-between;
  pointer-events: none;
  z-index: 1;
}

.wings-image-gallery__nav-btn {
  background: rgba(0, 0, 0, 0.6);
  color: #fff;
  border: 2px solid rgba(255, 255, 255, 0.3);
  width: 56px;
  height: 56px;
  border-radius: 50%;
  font-size: 24px;
  font-weight: 700;
  cursor: pointer;
  pointer-events: auto;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}
.wings-image-gallery__nav-btn:hover {
  background: rgba(0, 0, 0, 0.8);
  border-color: rgba(255, 255, 255, 0.6);
  transform: scale(1.05);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}
.wings-image-gallery__nav-btn:active {
  transform: scale(0.95);
}
.wings-image-gallery__nav-btn--prev {
  margin-left: 20px;
}
.wings-image-gallery__nav-btn--next {
  margin-right: 20px;
}

.wings-image-gallery__thumbs {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: center;
}

.wings-image-gallery__thumb {
  border: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;
  position: relative;
}
.wings-image-gallery__thumb--active {
  border: 2px solid var(--wings-primary-color, #007cba);
  border-radius: 4px;
}
.wings-image-gallery__thumb img {
  display: block;
  width: 96px;
  height: 96px;
  -o-object-fit: cover;
     object-fit: cover;
}
.wings-image-gallery__thumb .wings-image-gallery__alt-warning {
  font-size: 10px;
  padding: 4px 6px;
}

.wings-image-gallery--medium {
  text-align: center;
  margin: 40px auto;
  max-width: var(--wings-content-width-standard, 743px);
}
.wings-image-gallery--medium .wings-image-gallery__main {
  width: var(--wings-content-width-standard, 743px);
  height: 418px;
}
@media (width <= 768px) {
  .wings-image-gallery--medium {
    max-width: 100%;
  }
  .wings-image-gallery--medium .wings-image-gallery__main {
    width: 100%;
    height: 56.25vw;
  }
}

.wings-image-gallery--large {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  text-align: center;
  margin-top: 40px;
  margin-bottom: 40px;
  padding-left: 24px;
  padding-right: 24px;
}
.wings-image-gallery--large .wings-image-gallery__main {
  width: var(--wings-content-width-large, 960px);
  height: 540px;
}
@media (width <= 960px) {
  .wings-image-gallery--large .wings-image-gallery__main {
    width: 100%;
    height: 56.25vw;
  }
}
@media (width <= 768px) {
  .wings-image-gallery--large {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.wings-image-gallery--extra-large {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  text-align: center;
  margin-top: 40px;
  margin-bottom: 40px;
  padding-left: 32px;
  padding-right: 32px;
}
.wings-image-gallery--extra-large .wings-image-gallery__main {
  width: var(--wings-content-width-xxl-wide, 1600px);
  height: 900px;
}
@media (width <= 1600px) {
  .wings-image-gallery--extra-large .wings-image-gallery__main {
    width: 100%;
    height: 56.25vw;
  }
}
@media (width <= 768px) {
  .wings-image-gallery--extra-large {
    padding-left: 16px;
    padding-right: 16px;
  }
}

/**
 * Wings Image Component Styles
 * 
 * Complete frontend styling for image blocks moved from plugin to theme.
 * This follows the three-layer architecture: theme handles all frontend presentation.
 * 
 * @package Wings_Theme
 */
.pswp__custom-hide {
  display: none;
}

.wings-image {
  position: relative;
  margin: 0;
}
.wings-image__image {
  display: block;
  max-width: 100%;
  height: auto;
}
.wings-image__image:not(.wings-image__link img) {
  width: 100%;
}
.wings-image__link {
  cursor: zoom-in;
  position: relative;
  display: block;
  transition: opacity 0.2s ease;
}
.wings-image__link:hover .wings-image__zoom-overlay {
  opacity: 1;
  transform: scale(1);
}
.wings-image__link:focus {
  outline: 2px solid var(--wings-primary-color, #0073aa);
  outline-offset: 2px;
}
.wings-image__zoom-overlay {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 44px;
  height: 44px;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transform: scale(0.8);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  pointer-events: none;
  z-index: 2;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15), 0 2px 4px rgba(0, 0, 0, 0.1);
}
.wings-image__zoom-overlay::before {
  content: "";
  width: 20px;
  height: 20px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3Cpath d='M11 8v6'/%3E%3Cpath d='M8 11h6'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition: transform 0.2s ease;
}
.wings-image__caption {
  margin-top: 4px;
  font-size: 15px;
  color: var(--wings-text-muted, #666);
  font-style: normal;
  text-align: center;
  padding: 0 20px;
  box-sizing: border-box;
  line-height: 1.4;
}
.wings-image--align-left {
  float: left;
  margin-right: 20px;
  margin-bottom: 10px;
  max-width: 400px;
  margin-left: -100px;
}
.wings-image--align-left .wings-image__caption {
  max-width: 400px;
  margin: 4px 0 0 0;
}
@media (width <= 943px) {
  .wings-image--align-left {
    margin-left: 0;
    max-width: 300px;
  }
  .wings-image--align-left .wings-image__caption {
    max-width: 300px;
  }
}
@media (width <= 800px) {
  .wings-image--align-left {
    max-width: 300px;
  }
  .wings-image--align-left .wings-image__caption {
    max-width: 300px;
  }
}
@media (width <= 500px) {
  .wings-image--align-left {
    float: none;
    margin-right: 0;
    margin-left: 0;
    max-width: 100%;
  }
  .wings-image--align-left .wings-image__caption {
    max-width: 100%;
  }
}
.wings-image--align-right {
  float: right;
  margin-left: 20px;
  margin-bottom: 10px;
  max-width: 400px;
  margin-right: -100px;
}
.wings-image--align-right .wings-image__caption {
  max-width: 400px;
  margin: 4px 0 0 0;
}
@media (width <= 943px) {
  .wings-image--align-right {
    margin-right: 20px;
    max-width: 300px;
  }
  .wings-image--align-right .wings-image__caption {
    max-width: 300px;
  }
}
@media (width <= 800px) {
  .wings-image--align-right {
    max-width: 300px;
  }
  .wings-image--align-right .wings-image__caption {
    max-width: 300px;
  }
}
@media (width <= 500px) {
  .wings-image--align-right {
    float: none;
    margin-right: 0;
    margin-left: 0;
    max-width: 100%;
  }
  .wings-image--align-right .wings-image__caption {
    max-width: 100%;
  }
}
.wings-image--medium {
  text-align: center;
  margin: 20px auto;
  max-width: var(--wings-content-width-standard, 743px);
}
.wings-image--medium .wings-image__caption {
  max-width: var(--wings-content-width-standard, 743px);
  margin: 4px auto 0;
}
@media (width <= 768px) {
  .wings-image--medium {
    max-width: 100%;
  }
  .wings-image--medium .wings-image__caption {
    max-width: 100%;
  }
}
.wings-image--large {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  text-align: center;
  margin-top: 20px;
  margin-bottom: 20px;
}
.wings-image--large .wings-image__image {
  max-width: var(--wings-content-width-large, 960px);
  width: 100%;
  margin: 0 auto;
}
.wings-image--large .wings-image__caption {
  max-width: var(--wings-content-width-large, 960px);
  margin: 4px auto 0;
}
@media (width <= 960px) {
  .wings-image--large .wings-image__image {
    max-width: 100%;
  }
  .wings-image--large .wings-image__caption {
    max-width: 100%;
  }
}
.wings-image--extra-large {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  text-align: center;
  margin-top: 20px;
  margin-bottom: 20px;
}
.wings-image--extra-large .wings-image__image {
  max-width: var(--wings-content-width-xxl-wide, 1600px);
  width: 100%;
  margin: 0 auto;
}
.wings-image--extra-large .wings-image__caption {
  max-width: var(--wings-content-width-large, 960px);
  margin: 4px auto 0;
}
@media (width <= 1600px) {
  .wings-image--extra-large .wings-image__image {
    max-width: 100%;
  }
}
@media (width <= 960px) {
  .wings-image--extra-large .wings-image__caption {
    max-width: 100%;
  }
}

.wp-block-wings-audio-player .wings-transcript,
.wings-audio-player .wings-transcript {
  margin-top: 1rem;
}
.wp-block-wings-audio-player .wings-audio-player__download,
.wings-audio-player .wings-audio-player__download {
  margin-top: 0.5rem;
}

:root {
  --plyr-color-main:
  var(--wp--preset--color--primary, #0d6efd);
}

/*--------------------------------------------------------------
# Wings Callout Block
--------------------------------------------------------------*/
.callout-block {
  margin: 40px 0;
}

.callout-container {
  position: relative;
  background-color: var(--wings-callout-bg-color, var(--wings-primary-color, #3b82f6));
  padding: 30px 50px 30px 30px;
  border-radius: var(--wings-border-radius, 5px);
  box-shadow: var(--wings-box-shadow, rgba(0, 0, 0, 0.1) 0 1px 3px 0, rgba(0, 0, 0, 0.15) 0 2px 10px -7px, rgba(0, 0, 0, 0.15) 0 3px 13px -7px, rgba(0, 0, 0, 0.15) 0 4px 59px -50px, rgba(0, 0, 0, 0.02) 0 2px 1px 0, rgba(0, 0, 0, 0.15) 0 4px 8px -8px, rgba(0, 0, 0, 0.2) 0 6px 78px -70px);
  transition: 0.3s ease-in-out;
}

.callout-emoji {
  position: absolute;
  top: 20px;
  right: 20px;
  font-size: 24px;
  line-height: 1;
  z-index: 1;
}

.callout-content {
  font-size: var(--wings-font-size-base, 19px);
  line-height: 1.6;
  color: var(--wings-callout-text-color, var(--wings-text-color, #333));
  margin: 0;
}
.callout-content p {
  margin: 0 0 16px;
}
.callout-content p:last-child {
  margin-bottom: 0;
}
.callout-content h1, .callout-content h2, .callout-content h3, .callout-content h4, .callout-content h5, .callout-content h6 {
  margin: 0 0 16px;
  color: var(--wings-callout-text-color, var(--wings-text-color, #333));
}
.callout-content h1:last-child, .callout-content h2:last-child, .callout-content h3:last-child, .callout-content h4:last-child, .callout-content h5:last-child, .callout-content h6:last-child {
  margin-bottom: 0;
}
.callout-content ul, .callout-content ol {
  margin: 0 0 16px;
  padding-left: 20px;
}
.callout-content ul:last-child, .callout-content ol:last-child {
  margin-bottom: 0;
}
.callout-content li {
  margin-bottom: 8px;
}
.callout-content li:last-child {
  margin-bottom: 0;
}
.callout-content blockquote {
  margin: 0 0 16px;
  padding-left: 16px;
  border-left: 4px solid var(--wings-primary-color, #007bff);
  font-style: italic;
}
.callout-content blockquote:last-child {
  margin-bottom: 0;
}
.callout-content code {
  background-color: var(--wings-background-muted, #f8f9fa);
  padding: 2px 4px;
  border-radius: 3px;
  font-family: "Courier New", monospace;
  font-size: 14px;
}
.callout-content pre {
  background-color: var(--wings-background-muted, #f8f9fa);
  padding: 16px;
  border-radius: var(--wings-border-radius, 5px);
  overflow-x: auto;
  margin: 0 0 16px;
}
.callout-content pre:last-child {
  margin-bottom: 0;
}
.callout-content pre code {
  background: none;
  padding: 0;
}
.callout-content a {
  color: var(--wings-callout-text-color, var(--wings-primary-color, #007bff));
  text-decoration: none;
}
.callout-content a:hover {
  text-decoration: underline;
}
.callout-content strong {
  font-weight: 600;
}
.callout-content em {
  font-style: italic;
}

/**
 * Wings Hero Block - Simplified Foundation
 * 
 * Simple hero layout: image right, content left with overlap on desktop.
 * Mobile: stacked with image first, then content.
 * 
 * @package Wings
 */
.wp-block-wings-hero {
  --hero-text-color: var(--wings-hero-text-color, var(--wings-text-color, #1a1a1a));
  --hero-bg-color: var(--wings-hero-background-color, var(--wings-surface-bg-color, #f8f9fa));
  --hero-button-bg: var(--wings-hero-button-bg-color, var(--wings-primary-color, #007cba));
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  width: min(100vw, 1320px);
  margin: 60px 0 120px 0;
  padding: 0 18px;
  box-sizing: border-box;
  color: var(--hero-text-color);
}
@media (max-width: 768px) {
  .wp-block-wings-hero {
    margin: 0 0 40px 0;
    padding: 0;
  }
}

.wings-hero__container {
  position: relative;
  min-height: 400px;
}
@media (min-width: 769px) {
  .wings-hero__container {
    display: block;
    padding: 0;
  }
}
@media (max-width: 768px) {
  .wings-hero__container {
    display: flex;
    flex-direction: column;
    min-height: auto;
    padding: 0;
  }
}

@media (min-width: 769px) {
  .wings-hero__content-wrapper {
    position: relative;
    z-index: 10;
    width: 65%;
    margin-top: 50px;
    padding-left: 0;
  }
}
@media (max-width: 768px) {
  .wings-hero__content-wrapper {
    order: 2;
    width: 100%;
    padding: 0;
  }
}

.wings-hero__content {
  background-color: var(--hero-bg-color);
  color: var(--hero-text-color);
  padding: 3rem;
  border-radius: var(--wings-border-radius, 8px);
  box-shadow: var(--wings-shadow, 0 2px 8px rgba(0, 0, 0, 0.1));
  text-align: left;
}
@media (max-width: 768px) {
  .wings-hero__content {
    text-align: center;
    margin-top: -3rem;
    margin-left: 18px;
    margin-right: 18px;
    padding: 2rem;
    position: relative;
    z-index: 10;
  }
}

.wings-hero__title {
  font-size: 3.5rem;
  font-weight: 700;
  line-height: 1.1;
  margin: 0 0 1rem 0;
  color: var(--hero-text-color);
}
@media (max-width: 1024px) {
  .wings-hero__title {
    font-size: 3rem;
  }
}
@media (max-width: 768px) {
  .wings-hero__title {
    font-size: 2.2rem;
  }
}
@media (max-width: 480px) {
  .wings-hero__title {
    font-size: 1.8rem;
  }
}

.wings-hero__intro {
  font-size: 1.4rem;
  line-height: 1.6;
  margin: 0 0 2rem 0;
  color: var(--hero-text-color);
  opacity: 0.9;
}
.wings-hero__intro p {
  margin: 0 0 1rem 0;
}
@media (min-width: 769px) {
  .wings-hero__intro p {
    max-width: 500px;
  }
}
.wings-hero__intro p:last-child {
  margin-bottom: 0;
}
@media (max-width: 768px) {
  .wings-hero__intro {
    font-size: 1.25rem;
  }
}

@media (min-width: 769px) {
  .wings-hero__cta {
    margin-top: 2rem;
  }
}
@media (max-width: 768px) {
  .wings-hero__cta {
    margin-top: 1.5rem;
  }
}

.wings-hero__cta-button {
  display: inline-block;
  padding: 0.875rem 2rem;
  font-size: 1rem;
  font-weight: 500;
  text-decoration: none;
  border: none;
  border-radius: var(--wings-border-radius, 8px);
  cursor: pointer;
  transition: all 0.2s ease;
  background-color: var(--hero-button-bg);
  color: var(--wings-button-text-color, #fff);
  box-shadow: var(--wings-shadow, 0 2px 4px rgba(0, 0, 0, 0.1));
}
.wings-hero__cta-button:hover {
  background-color: var(--wings-hero-button-hover-bg-color, var(--wings-text-color, #000));
  color: var(--wings-hero-button-hover-text-color, #fff);
  transform: translateY(-1px);
  text-decoration: none;
}
.wings-hero__cta-button:focus {
  outline: 2px solid var(--hero-button-bg);
  outline-offset: 2px;
}
@media (max-width: 768px) {
  .wings-hero__cta-button {
    display: block;
    width: 100%;
    text-align: center;
    padding: 1rem 1.5rem;
  }
}

@media (min-width: 769px) {
  .wings-hero__image-wrapper {
    position: absolute;
    top: -50px;
    right: 18px;
    width: 60%;
    max-width: 700px;
    height: calc(100% + 100px);
    z-index: 1;
    border-radius: var(--wings-border-radius, 8px);
    overflow: hidden;
    box-shadow: var(--wings-shadow-hover, 0 4px 8px rgba(0, 0, 0, 0.15));
  }
}
@media (max-width: 768px) {
  .wings-hero__image-wrapper {
    order: 1;
    margin: 0;
    width: 100vw;
    height: 300px;
    border-radius: 0;
    overflow: hidden;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
  }
}

.wings-hero__image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
@media (min-width: 769px) {
  .wings-hero__image {
    min-height: 500px;
  }
}
@media (max-width: 768px) {
  .wings-hero__image {
    height: 300px;
  }
}

.wp-block-wings-hero .wings-anchor-copy {
  display: none !important;
}

/**
 * Lede Block Styles
 *
 * Styling for the custom lede Gutenberg block
 * that replaces the meta box lede functionality
 *
 * @package Wings
 */
/* Front-end lede block styles */
.wings-lede-block {
  font-size: 1.25rem;
  line-height: 1.6;
  font-weight: 400;
  color: var(--wings-smart-content-text-color);
  margin-bottom: 2em;
  /* Use campaign text color when inside campaign */
}
.wings-campaign-main .wings-lede-block {
  color: var(--wings-campaign-content-text-color);
}
.wings-lede-block {
  /* Mobile styles */
}
@media (max-width: 768px) {
  .wings-lede-block {
    font-size: 1.1rem; /* Smaller font size on mobile */
    margin: 0.75em 0 1.25em 0; /* Reduced margin-top on mobile */
  }
}
.wings-lede-block {
  /* Allow only basic formatting */
}
.wings-lede-block strong {
  font-weight: 700;
  color: var(--wp--preset--color--text-primary, #111827);
}
.wings-lede-block em {
  font-style: italic;
}
.wings-lede-block {
  /* Dropcap support */
}
.wings-lede-block.has-dropcap::first-letter {
  font-family: var(--wings-heading-font-family);
  float: left;
  font-size: 5rem;
  line-height: 0.6;
  margin: 0.1em 0.1em 0.2em 0;
  color: var(--wings-smart-dropcap-color, var(--wings-primary-color));
}
.wings-lede-block {
  /* Dropcap with background styling */
}
.wings-lede-block.has-dropcap .dropcap {
  font-family: var(--wings-heading-font-family);
  background: var(--wings-smart-dropcap-color, var(--wings-primary-color));
  color: #fdf9f2;
  float: left;
  font-size: 5rem;
  line-height: 0.6;
  margin: 0.1em 0.1em 0.2em 0;
  padding: 0.1em;
}
.wings-lede-block.has-dropcap .dropcap::before, .wings-lede-block.has-dropcap .dropcap::after {
  content: "";
  display: block;
}
.wings-lede-block.has-dropcap .dropcap::before {
  margin-top: -0.2em;
}
.wings-lede-block.has-dropcap .dropcap::after {
  margin-bottom: -0.15em;
}
.wings-lede-block {
  /* Remove dropcap styling from campaigns */
}
.wings-campaign-main .wings-lede-block.has-dropcap::first-letter, .wings-campaign-main .wings-lede-block.has-dropcap .dropcap {
  font-size: inherit;
  line-height: inherit;
  margin: 0;
  padding: 0;
  float: none;
  background: none;
  color: inherit;
  font-family: inherit;
}
.wings-campaign-main .wings-lede-block.has-dropcap .dropcap::before, .wings-campaign-main .wings-lede-block.has-dropcap .dropcap::after {
  display: none;
}

/* Editor-specific styles */
.wings-lede-block-editor {
  margin-bottom: 2em;
}

.editor-styles-wrapper .wings-lede-block-editor {
  margin-bottom: 2em;
}
.editor-styles-wrapper .wings-lede-block-editor .wings-lede-label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  color: #1e1e1e;
  margin-bottom: 8px;
  letter-spacing: 0.05em;
}
.editor-styles-wrapper .wings-lede-block-editor .wings-lede-label::before {
  content: "📝";
  font-size: 14px;
}
.editor-styles-wrapper .wings-lede-block-editor .wings-lede-content {
  font-size: 1.25rem;
  line-height: 1.6;
  font-weight: 400;
  color: #374151;
  border: 1px solid #e5e7eb;
  border-radius: 4px;
  padding: 12px;
  min-height: 60px;
  background-color: #fff;
  transition: border-color 0.2s ease;
}
.editor-styles-wrapper .wings-lede-block-editor .wings-lede-content:focus {
  border-color: #007cba;
  box-shadow: 0 0 0 1px #007cba;
  outline: none;
}
.editor-styles-wrapper .wings-lede-block-editor .wings-lede-content::-moz-placeholder {
  color: #9ca3af;
}
.editor-styles-wrapper .wings-lede-block-editor .wings-lede-content::placeholder, .editor-styles-wrapper .wings-lede-block-editor .wings-lede-content[data-is-placeholder-visible=true] {
  color: #9ca3af;
}
.editor-styles-wrapper .wings-lede-block-editor .wings-lede-content {
  /* Formatting styles within editor */
}
.editor-styles-wrapper .wings-lede-block-editor .wings-lede-content strong {
  font-weight: 700;
}
.editor-styles-wrapper .wings-lede-block-editor .wings-lede-content em {
  font-style: italic;
}
.editor-styles-wrapper {
  /* Hide the block toolbar when not selected to keep focus on content */
}
.editor-styles-wrapper .wp-block[data-type="wings/lede"]:not(.is-selected) .block-editor-block-toolbar {
  display: none;
}
.editor-styles-wrapper {
  /* Style the block when selected */
}
.editor-styles-wrapper .wp-block[data-type="wings/lede"].is-selected .wings-lede-content {
  border-color: #007cba;
}

/* Block inserter icon styling */
.block-editor-inserter__menu .editor-block-list-item-wings-lede .editor-block-list-item__title::before {
  content: "📝 ";
  margin-right: 0.25rem;
}

/*--------------------------------------------------------------
# Wings Privacy Video Block
--------------------------------------------------------------*/
.wings-privacy-video {
  position: relative;
  width: 100%;
}
.wings-privacy-video.ratio-16x9 {
  aspect-ratio: 16/9;
}
.wings-privacy-video.ratio-4x3 {
  aspect-ratio: 4/3;
}
.wings-privacy-video.ratio-1x1 {
  aspect-ratio: 1/1;
}
.wings-privacy-video.ratio-9x16 {
  aspect-ratio: 9/16;
}
.wings-privacy-video iframe, .wings-privacy-video__poster, .wings-privacy-video__placeholder {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.wings-privacy-video__play {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}
.wings-privacy-video__consent-note {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0;
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  background: rgba(0, 0, 0, 0.5);
  color: #fff;
}

/*--------------------------------------------------------------
# People Grid Template Styles - Modular Architecture
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# People Grid Core Styles
--------------------------------------------------------------*/
/* .people-grid-wrapper styles moved to plugin for better maintainability */
.people-grid-container {
  margin: 0 auto;
  width: 100%;
  max-width: 1200px;
  padding: 0 30px;
}

.people-grid {
  display: grid;
  gap: 20px;
  align-items: stretch;
  margin-left: -20px;
  width: calc(100% + 40px);
}

.person-card {
  border: var(--wings-card-border-width) solid var(--wings-border-color);
  background-color: var(--wings-surface-bg-color);
  transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  height: 100%;
  border-radius: var(--wings-border-radius);
  box-shadow: var(--wings-card-shadow);
}

.person-card.is-linked {
  cursor: pointer;
}

.person-card.is-linked:hover {
  transform: translateY(-2px);
  box-shadow: var(--wings-card-hover-shadow);
}

.person-image {
  width: 100%;
  height: 240px;
  border-radius: var(--wings-border-radius) var(--wings-border-radius) 0 0;
  position: relative;
  overflow: hidden;
  background-color: var(--wings-background-muted);
  display: flex;
  align-items: center;
  justify-content: center;
}

.person-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.placeholder-image {
  font-size: 4rem;
  color: var(--wings-text-muted);
}

.person-content {
  padding: 20px;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.person-name {
  font-size: 1.3rem;
  line-height: 1.2;
  font-weight: 700;
  margin: 0 0 10px 0;
  color: var(--wings-context-text-color, var(--wings-text-color, #404040));
}

.function-title {
  font-size: 1rem;
  line-height: 1.3;
  margin: 0 0 5px 0;
  color: var(--wings-context-text-color, var(--wings-text-color, #404040)) !important;
  font-weight: 600;
}

/* Override entry-content h4 styles for people grid */
.people-grid .function-title,
.people-grid-wrapper .function-title,
.entry-content .people-grid .function-title,
.entry-content .people-grid-wrapper .function-title,
.entry-content .person-card .function-title {
  color: var(--wings-context-text-color, var(--wings-text-color, #404040)) !important;
}

.organization {
  font-size: 0.9rem;
  line-height: 1.3;
  margin: 0 0 15px 0;
  color: var(--wings-context-text-color, var(--wings-text-muted, #666));
}

.people-grid-no-results {
  text-align: center;
  padding: 40px;
  background-color: var(--wings-background-muted);
  border-radius: var(--wings-border-radius);
}

.people-grid-no-results p {
  margin: 0;
  color: var(--wings-text-muted);
  font-size: 1.1rem;
}

/*--------------------------------------------------------------
# Organizations Grid Template Styles
--------------------------------------------------------------*/
.organizations-grid-wrapper {
  max-width: 100%;
  margin: 0 auto;
  padding: 20px 0;
}

.organizations-grid-container {
  width: 100%;
}

.organizations-grid {
  display: grid;
  gap: 2rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.organization-card {
  background: var(--wings-surface-bg-color);
  border-radius: var(--wings-border-radius);
  box-shadow: var(--wings-card-shadow);
  overflow: hidden;
  transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
  border: var(--wings-card-border-width) solid var(--wings-border-color);
}

.organization-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--wings-card-hover-shadow);
}

.organization-image {
  position: relative;
  overflow: hidden;
  background: var(--wings-background-muted);
}

.organization-image img {
  width: 100%;
  height: 200px;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform var(--wings-transition-duration) var(--wings-transition-timing);
}

.organization-card:hover .organization-image img {
  transform: scale(1.05);
}

.organization-content {
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.organization-content h4 {
  margin: 0 0 0.5rem 0;
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--wings-text-color);
  line-height: 1.3;
}

.organization-categories {
  margin: 0 0 1rem 0;
  font-size: 0.875rem;
  color: var(--wings-text-muted);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.organization-description {
  margin: 0 0 1rem 0;
  font-size: 0.95rem;
  line-height: 1.6;
  color: var(--wings-text-color);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  flex: 1;
}

.organizations-grid-no-results {
  grid-column: 1/-1;
  text-align: center;
  padding: 3rem 1rem;
  background: var(--wings-background-muted);
  border-radius: 12px;
  border: 2px dashed var(--wings-border-color);
}

.organizations-grid-no-results p {
  margin: 0;
  font-size: 1.1rem;
  color: var(--wings-text-muted);
}

/*--------------------------------------------------------------
# Social Media Icons Shared Styles
--------------------------------------------------------------*/
.social-media-icons {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: auto;
  row-gap: 12px;
}

/* Ensure social icons are consistent across both people and organizations */
.people-grid .social-icon,
.organizations-grid .social-icon {
  width: 28px;
  height: 28px;
}

.social-icon {
  display: flex;
  width: 28px;
  height: 28px;
  text-decoration: none;
  align-items: center;
  justify-content: center;
  transition: color var(--wings-transition-duration) var(--wings-transition-timing);
  margin: 0 4px;
}

.social-icon svg {
  width: 100%;
  height: 100%;
}

/* Brand colors for social media icons */
.social-icon.linkedin {
  color: #0077b7;
}

.social-icon.instagram {
  color: #e4405f;
}

.social-icon.x {
  color: #000;
}

.social-icon.facebook {
  color: #1877f2;
}

.social-icon.youtube {
  color: #f00;
}

.social-icon.mastodon {
  color: #6364ff;
}

.social-icon.bluesky {
  color: #0085ff;
}

.social-icon.threads {
  color: #000;
}

.social-icon.website {
  color: #000;
}

/* Hover states - switch to brand colors */
.social-icon:hover {
  color: var(--wings-primary-color);
}

/* All social icons become white with primary color background on hover */
.social-icon:hover {
  color: #fff !important;
  background-color: var(--wings-primary-color) !important;
  border-radius: 4px;
  padding: 4px;
}

/*--------------------------------------------------------------
# Responsive Design for People and Organizations Grids
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## People Grid Responsive Styles
--------------------------------------------------------------*/
/* Large screens - 4 columns */
@media (min-width: 1200px) {
  .people-grid {
    grid-template-columns: repeat(4, 1fr) !important;
  }
}
/* Medium-large screens - 3 columns */
@media (max-width: 1199px) and (min-width: 921px) {
  .people-grid {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}
@media (max-width: 920px) {
  .people-grid-container {
    padding: 0 20px;
  }
  .people-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    margin-left: -10px;
    width: calc(100% + 20px);
  }
}
@media (max-width: 600px) {
  .people-grid-container {
    padding: 0 15px;
  }
  .people-grid {
    grid-template-columns: 1fr !important;
    margin-left: 0;
    width: 100%;
  }
  .person-image {
    height: 200px;
  }
  .person-content {
    padding: 15px;
  }
  .person-name {
    font-size: 1.1rem;
  }
}
/*--------------------------------------------------------------
## Organizations Grid Responsive Styles
--------------------------------------------------------------*/
@media (max-width: 1200px) {
  .organizations-grid {
    gap: 1.5rem;
  }
}
@media (max-width: 768px) {
  .organizations-grid {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
    gap: 1rem;
  }
  .organization-content {
    padding: 1rem;
  }
  .organization-content h4 {
    font-size: 1.1rem;
  }
  .organization-description {
    font-size: 0.9rem;
    -webkit-line-clamp: 2;
  }
}
@media (max-width: 480px) {
  .organizations-grid {
    grid-template-columns: 1fr !important;
  }
  .organization-image img,
  .placeholder-image {
    height: 180px;
  }
  .social-media-icons {
    gap: 0.5rem;
  }
  .social-icon {
    width: 28px;
    height: 28px;
  }
}
/*--------------------------------------------------------------
# Single Person Page Styles
--------------------------------------------------------------*/
.person-single {
  max-width: 800px;
  margin: 0 auto;
  padding: 2rem 0;
}

/* Person Header Section */
.person-single .entry-header {
  text-align: center;
  margin-bottom: 3rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid var(--wings-border-color);
}

.person-single .entry-title {
  font-size: 2.5rem;
  font-weight: 700;
  margin: 0 0 1.5rem 0;
  color: var(--wings-text-color);
  line-height: 1.2;
}

/* Profile Image */
.person-avatar {
  margin: 0 auto 2rem;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  overflow: hidden;
  box-shadow: var(--wings-box-shadow-large);
  border: 4px solid var(--wings-surface-bg-color);
  background-color: var(--wings-background-muted);
  display: flex;
  align-items: center;
  justify-content: center;
}

.person-avatar img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.person-avatar .placeholder-image {
  font-size: 4rem;
  color: var(--wings-text-muted);
}

/* Person Subtitle (Function & Organization) */
.person-subtitle {
  font-size: 1.2rem;
  color: var(--wings-primary-color);
  font-weight: 600;
  margin: 0;
  line-height: 1.4;
}

/* Main Content */
.person-single .entry-content {
  margin-bottom: 3rem;
}

.person-single .entry-content > *:first-child {
  margin-top: 0;
}

.person-single .entry-content > *:last-child {
  margin-bottom: 0;
}

/* Social Media Section */
.person-socials {
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 1px solid var(--wings-border-color);
}

.person-socials .social-media-icons {
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
}

.person-socials .social-icon {
  display: flex;
  width: 44px;
  height: 44px;
  text-decoration: none;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: var(--wings-surface-bg-color);
  border: 2px solid var(--wings-border-color);
  transition: all var(--wings-transition-duration) var(--wings-transition-timing);
  color: var(--wings-text-muted);
}

.person-socials .social-icon svg {
  width: 20px;
  height: 20px;
}

/* Social icon brand colors */
.person-socials .social-icon.linkedin {
  color: #0077b7;
  border-color: #0077b7;
}

.person-socials .social-icon.instagram {
  color: #e4405f;
  border-color: #e4405f;
}

.person-socials .social-icon.x {
  color: #000;
  border-color: #000;
}

.person-socials .social-icon.facebook {
  color: #1877f2;
  border-color: #1877f2;
}

.person-socials .social-icon.youtube {
  color: #f00;
  border-color: #f00;
}

.person-socials .social-icon.mastodon {
  color: #6364ff;
  border-color: #6364ff;
}

.person-socials .social-icon.bluesky {
  color: #0085ff;
  border-color: #0085ff;
}

.person-socials .social-icon.website {
  color: var(--wings-primary-color);
  border-color: var(--wings-primary-color);
}

/* Hover effects for social icons */
.person-socials .social-icon:hover {
  transform: translateY(-2px);
  box-shadow: var(--wings-box-shadow);
  color: #fff;
}

.person-socials .social-icon.linkedin:hover {
  background-color: #0077b7;
}

.person-socials .social-icon.instagram:hover {
  background-color: #e4405f;
}

.person-socials .social-icon.x:hover {
  background-color: #000;
}

.person-socials .social-icon.facebook:hover {
  background-color: #1877f2;
}

.person-socials .social-icon.youtube:hover {
  background-color: #f00;
}

.person-socials .social-icon.mastodon:hover {
  background-color: #6364ff;
}

.person-socials .social-icon.bluesky:hover {
  background-color: #0085ff;
}

.person-socials .social-icon.website:hover {
  background-color: var(--wings-primary-color);
}

/* Related Posts Section */
.person-related-posts {
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid var(--wings-border-color);
}

.person-related-posts h2 {
  font-size: 1.8rem;
  font-weight: 700;
  margin: 0 0 1.5rem 0;
  color: var(--wings-smart-h2-color, var(--wings-smart-title-color, var(--wings-primary-color, #3b82f6)));
  text-align: center;
}

/* Hide the "No posts yet" message when there are no posts */
.person-related-posts p:only-child {
  display: none;
}

/* Ensure the nodes-grid within person-related-posts uses full width */
.person-related-posts .nodes-grid-wrapper {
  margin-top: 0;
  margin-bottom: 0;
}

.person-related-posts .nodes-grid-container {
  max-width: 1180px;
}

/* Ensure pagination is centered and properly spaced */
.person-related-posts .pagination {
  text-align: center;
  margin-top: 2rem;
}

/* Responsive Design */
@media (max-width: 768px) {
  .person-single {
    padding: 1rem 0;
  }
  .person-single .entry-title {
    font-size: 2rem;
  }
  .person-avatar {
    width: 150px;
    height: 150px;
  }
  .person-subtitle {
    font-size: 1.1rem;
  }
  .person-socials .social-icon {
    width: 40px;
    height: 40px;
  }
  .person-socials .social-icon svg {
    width: 18px;
    height: 18px;
  }
}
@media (max-width: 480px) {
  .person-single .entry-title {
    font-size: 1.8rem;
  }
  .person-avatar {
    width: 120px;
    height: 120px;
  }
  .person-subtitle {
    font-size: 1rem;
  }
  .person-socials .social-icon {
    width: 36px;
    height: 36px;
  }
  .person-socials .social-icon svg {
    width: 16px;
    height: 16px;
  }
}
/**
 * Petition Page Template Styles
 *
 * Clean layout with full-width header image and two-column content below.
 * Content is pulled up slightly over the header image with negative margin.
 *
 * @package Wings
 */
.page-template-page-petition .petition-header-image,
.wings-petition .petition-header-image,
.wings-fundraiser .petition-header-image,
.wings-signup .petition-header-image {
  width: 100vw;
  height: 60vh;
  max-height: 500px;
  min-height: 300px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
}
.page-template-page-petition .petition-content-wrapper,
.wings-petition .petition-content-wrapper,
.wings-fundraiser .petition-content-wrapper,
.wings-signup .petition-content-wrapper {
  margin-top: -80px;
  position: relative;
  z-index: 10;
}
.page-template-page-petition.no-header-image .petition-content-wrapper,
.wings-petition.no-header-image .petition-content-wrapper,
.wings-fundraiser.no-header-image .petition-content-wrapper,
.wings-signup.no-header-image .petition-content-wrapper {
  margin-top: 40px;
}
.page-template-page-petition .petition-container,
.wings-petition .petition-container,
.wings-fundraiser .petition-container,
.wings-signup .petition-container {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 40px;
  padding: 0 20px;
}
@media (max-width: 768px) {
  .page-template-page-petition .petition-container,
  .wings-petition .petition-container,
  .wings-fundraiser .petition-container,
  .wings-signup .petition-container {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-top: -40px;
  }
}
@media (max-width: 768px) {
  .page-template-page-petition.no-header-image .petition-container,
  .wings-petition.no-header-image .petition-container,
  .wings-fundraiser.no-header-image .petition-container,
  .wings-signup.no-header-image .petition-container {
    margin-top: 20px;
  }
}
.page-template-page-petition .petition-main-content,
.wings-petition .petition-main-content,
.wings-fundraiser .petition-main-content,
.wings-signup .petition-main-content {
  background: #fff;
  padding: 32px;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  margin-bottom: 32px;
}
.page-template-page-petition .petition-main-content .entry-header,
.wings-petition .petition-main-content .entry-header,
.wings-fundraiser .petition-main-content .entry-header,
.wings-signup .petition-main-content .entry-header {
  margin-bottom: 30px;
}
.page-template-page-petition .petition-main-content .entry-header .entry-title,
.wings-petition .petition-main-content .entry-header .entry-title,
.wings-fundraiser .petition-main-content .entry-header .entry-title,
.wings-signup .petition-main-content .entry-header .entry-title {
  font-size: 2.5rem;
  line-height: 1.2;
  color: var(--wings-text-color, #333);
  margin: 0;
}
@media (max-width: 768px) {
  .page-template-page-petition .petition-main-content .entry-header .entry-title,
  .wings-petition .petition-main-content .entry-header .entry-title,
  .wings-fundraiser .petition-main-content .entry-header .entry-title,
  .wings-signup .petition-main-content .entry-header .entry-title {
    font-size: 2rem;
  }
}
.page-template-page-petition .petition-main-content .entry-content,
.wings-petition .petition-main-content .entry-content,
.wings-fundraiser .petition-main-content .entry-content,
.wings-signup .petition-main-content .entry-content {
  font-size: 1.1rem;
  line-height: 1.6;
  color: var(--wings-text-color, #333);
}
.page-template-page-petition .petition-main-content .entry-content p,
.wings-petition .petition-main-content .entry-content p,
.wings-fundraiser .petition-main-content .entry-content p,
.wings-signup .petition-main-content .entry-content p {
  margin-bottom: 1.5rem;
}
.page-template-page-petition .petition-main-content .entry-content h2,
.page-template-page-petition .petition-main-content .entry-content h3,
.page-template-page-petition .petition-main-content .entry-content h4,
.wings-petition .petition-main-content .entry-content h2,
.wings-petition .petition-main-content .entry-content h3,
.wings-petition .petition-main-content .entry-content h4,
.wings-fundraiser .petition-main-content .entry-content h2,
.wings-fundraiser .petition-main-content .entry-content h3,
.wings-fundraiser .petition-main-content .entry-content h4,
.wings-signup .petition-main-content .entry-content h2,
.wings-signup .petition-main-content .entry-content h3,
.wings-signup .petition-main-content .entry-content h4 {
  margin: 2rem 0 1rem 0;
  color: var(--wings-text-color, #333);
}
@media (max-width: 768px) {
  .page-template-page-petition .petition-main-content,
  .wings-petition .petition-main-content,
  .wings-fundraiser .petition-main-content,
  .wings-signup .petition-main-content {
    padding: 30px 20px;
  }
}
.page-template-page-petition .petition-sidebar,
.wings-petition .petition-sidebar,
.wings-fundraiser .petition-sidebar,
.wings-signup .petition-sidebar {
  background: #fff;
  padding: 30px;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  height: -moz-fit-content;
  height: fit-content;
  position: sticky;
  top: 20px;
}
@media (max-width: 768px) {
  .page-template-page-petition .petition-sidebar,
  .wings-petition .petition-sidebar,
  .wings-fundraiser .petition-sidebar,
  .wings-signup .petition-sidebar {
    position: static;
    padding: 20px;
  }
}
.page-template-page-petition .petition-sidebar .gform_wrapper,
.wings-petition .petition-sidebar .gform_wrapper,
.wings-fundraiser .petition-sidebar .gform_wrapper,
.wings-signup .petition-sidebar .gform_wrapper {
  margin: 0;
}
.page-template-page-petition .petition-sidebar .gwpm-container,
.wings-petition .petition-sidebar .gwpm-container,
.wings-fundraiser .petition-sidebar .gwpm-container,
.wings-signup .petition-sidebar .gwpm-container {
  margin-bottom: 30px;
  padding: 20px;
  background: #f8f9fa;
  border-radius: 6px;
  border: 1px solid #e9ecef;
}
.page-template-page-petition .petition-sidebar .gwpm-container .gwpm-progress-bar,
.wings-petition .petition-sidebar .gwpm-container .gwpm-progress-bar,
.wings-fundraiser .petition-sidebar .gwpm-container .gwpm-progress-bar,
.wings-signup .petition-sidebar .gwpm-container .gwpm-progress-bar {
  transition: width 0.3s ease;
}
.page-template-page-petition .petition-sidebar .petition-signature-counter,
.wings-petition .petition-sidebar .petition-signature-counter,
.wings-fundraiser .petition-sidebar .petition-signature-counter,
.wings-signup .petition-sidebar .petition-signature-counter {
  margin-bottom: 30px;
  padding: 20px;
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  border-radius: 8px;
  border: 1px solid #dee2e6;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}
.page-template-page-petition .petition-sidebar .petition-signature-counter .signature-count,
.wings-petition .petition-sidebar .petition-signature-counter .signature-count,
.wings-fundraiser .petition-sidebar .petition-signature-counter .signature-count,
.wings-signup .petition-sidebar .petition-signature-counter .signature-count {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--wings-primary-color, #007cba);
  margin-bottom: 8px;
  text-align: center;
}
.page-template-page-petition .petition-sidebar .petition-signature-counter .signature-goal,
.wings-petition .petition-sidebar .petition-signature-counter .signature-goal,
.wings-fundraiser .petition-sidebar .petition-signature-counter .signature-goal,
.wings-signup .petition-sidebar .petition-signature-counter .signature-goal {
  font-size: 1rem;
  color: var(--wings-text-color, #6c757d);
  margin-bottom: 15px;
  text-align: center;
  font-weight: 500;
}
.page-template-page-petition .petition-sidebar .petition-signature-counter .signature-progress-bar,
.wings-petition .petition-sidebar .petition-signature-counter .signature-progress-bar,
.wings-fundraiser .petition-sidebar .petition-signature-counter .signature-progress-bar,
.wings-signup .petition-sidebar .petition-signature-counter .signature-progress-bar {
  width: 100%;
  height: 12px;
  background: #e9ecef;
  border-radius: 6px;
  overflow: hidden;
  position: relative;
}
.page-template-page-petition .petition-sidebar .petition-signature-counter .signature-progress-bar .signature-progress-fill,
.wings-petition .petition-sidebar .petition-signature-counter .signature-progress-bar .signature-progress-fill,
.wings-fundraiser .petition-sidebar .petition-signature-counter .signature-progress-bar .signature-progress-fill,
.wings-signup .petition-sidebar .petition-signature-counter .signature-progress-bar .signature-progress-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--wings-primary-color, #007cba) 0%, var(--wings-secondary-color, #28a745) 100%);
  transition: width 0.6s ease-in-out;
  border-radius: 6px;
  position: relative;
}
.page-template-page-petition .petition-sidebar .petition-signature-counter .signature-progress-bar .signature-progress-fill::after,
.wings-petition .petition-sidebar .petition-signature-counter .signature-progress-bar .signature-progress-fill::after,
.wings-fundraiser .petition-sidebar .petition-signature-counter .signature-progress-bar .signature-progress-fill::after,
.wings-signup .petition-sidebar .petition-signature-counter .signature-progress-bar .signature-progress-fill::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(45deg, rgba(255, 255, 255, 0.1) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.1) 50%, rgba(255, 255, 255, 0.1) 75%, transparent 75%);
  background-size: 20px 20px;
  animation: progressShine 2s linear infinite;
}
@keyframes progressShine {
  0% {
    background-position: -20px 0;
  }
  100% {
    background-position: 20px 0;
  }
}
@media (max-width: 480px) {
  .page-template-page-petition .petition-sidebar .petition-signature-counter,
  .wings-petition .petition-sidebar .petition-signature-counter,
  .wings-fundraiser .petition-sidebar .petition-signature-counter,
  .wings-signup .petition-sidebar .petition-signature-counter {
    padding: 15px;
  }
  .page-template-page-petition .petition-sidebar .petition-signature-counter .signature-count,
  .wings-petition .petition-sidebar .petition-signature-counter .signature-count,
  .wings-fundraiser .petition-sidebar .petition-signature-counter .signature-count,
  .wings-signup .petition-sidebar .petition-signature-counter .signature-count {
    font-size: 1.3rem;
  }
  .page-template-page-petition .petition-sidebar .petition-signature-counter .signature-goal,
  .wings-petition .petition-sidebar .petition-signature-counter .signature-goal,
  .wings-fundraiser .petition-sidebar .petition-signature-counter .signature-goal,
  .wings-signup .petition-sidebar .petition-signature-counter .signature-goal {
    font-size: 0.9rem;
  }
}

/**
 * Petition Thank You Page Styling
 *
 * Styles for the petition thank you page template that users
 * land on after confirming their petition signature.
 */
.petition-thanks-page .petition-header-image {
  position: relative;
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  background-size: cover;
  background-position: center;
  height: 50vh;
  max-height: 400px;
  overflow: hidden;
}
.petition-thanks-page .petition-header-image .header-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.3) 70%, rgba(0, 0, 0, 0.6) 100%);
  pointer-events: none;
}
.petition-thanks-page .petition-thanks-content-wrapper {
  position: relative;
  margin-top: -60px;
  z-index: 10;
  padding-top: 20px;
}
.petition-thanks-page .petition-thanks-container {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 20px;
}
.petition-thanks-page .petition-thanks-main {
  background-color: #fff;
  padding: 40px;
  border-radius: 12px;
  box-shadow: rgba(0, 0, 0, 0.1) 0 4px 20px;
}
.petition-thanks-page .thank-you-content {
  text-align: center;
}
.petition-thanks-page .thank-you-content .thank-you-header {
  margin-bottom: 40px;
  padding-bottom: 30px;
  border-bottom: 2px solid var(--wings-primary-color, #4f46e5);
}
.petition-thanks-page .thank-you-content .thank-you-header .thank-you-title {
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--wings-primary-color, #4f46e5);
  margin-bottom: 20px;
  line-height: 1.2;
}
.petition-thanks-page .thank-you-content .thank-you-header .thank-you-message {
  font-size: 1.2rem;
  color: var(--wings-text-color, #374151);
  line-height: 1.6;
  max-width: 600px;
  margin: 0 auto;
}
.petition-thanks-page .thank-you-content .thank-you-header .thank-you-message p {
  margin-bottom: 1rem;
}
.petition-thanks-page .thank-you-content .thank-you-header .thank-you-message p:last-child {
  margin-bottom: 0;
}
.petition-thanks-page .social-sharing-section {
  margin: 50px 0;
  padding: 40px;
  background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
  border-radius: 12px;
  border: 1px solid var(--wings-border-color, #e5e7eb);
}
.petition-thanks-page .social-sharing-section .sharing-title {
  font-size: 1.8rem;
  font-weight: 600;
  color: var(--wings-text-color, #374151);
  margin-bottom: 15px;
}
.petition-thanks-page .social-sharing-section .sharing-description {
  font-size: 1.1rem;
  color: var(--wings-text-color-secondary, #6b7280);
  margin-bottom: 30px;
}
.petition-thanks-page .social-sharing-section .social-share-buttons {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 15px;
  max-width: 600px;
  margin: 0 auto;
}
.petition-thanks-page .social-sharing-section .social-share-buttons .social-share-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 16px 20px;
  border: 2px solid transparent;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 600;
  font-size: 1rem;
  transition: all 0.3s ease;
  cursor: pointer;
  background: none;
}
.petition-thanks-page .social-sharing-section .social-share-buttons .social-share-btn .share-icon {
  font-size: 1.2rem;
}
.petition-thanks-page .social-sharing-section .social-share-buttons .social-share-btn .share-text {
  white-space: nowrap;
}
.petition-thanks-page .social-sharing-section .social-share-buttons .social-share-btn.facebook-share {
  background: #1877f2;
  color: #fff;
}
.petition-thanks-page .social-sharing-section .social-share-buttons .social-share-btn.facebook-share:hover {
  background: #166fe5;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(24, 119, 242, 0.3);
}
.petition-thanks-page .social-sharing-section .social-share-buttons .social-share-btn.twitter-share {
  background: #1da1f2;
  color: #fff;
}
.petition-thanks-page .social-sharing-section .social-share-buttons .social-share-btn.twitter-share:hover {
  background: #1a91da;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(29, 161, 242, 0.3);
}
.petition-thanks-page .social-sharing-section .social-share-buttons .social-share-btn.linkedin-share {
  background: #0077b5;
  color: #fff;
}
.petition-thanks-page .social-sharing-section .social-share-buttons .social-share-btn.linkedin-share:hover {
  background: #069;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0, 119, 181, 0.3);
}
.petition-thanks-page .social-sharing-section .social-share-buttons .social-share-btn.email-share {
  background: #6b7280;
  color: #fff;
}
.petition-thanks-page .social-sharing-section .social-share-buttons .social-share-btn.email-share:hover {
  background: #4b5563;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(107, 114, 128, 0.3);
}
.petition-thanks-page .social-sharing-section .social-share-buttons .social-share-btn.copy-link-btn {
  background: var(--wings-primary-color, #4f46e5);
  color: #fff;
  border: none;
}
.petition-thanks-page .social-sharing-section .social-share-buttons .social-share-btn.copy-link-btn:hover {
  background: var(--wings-primary-hover-color, #4338ca);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(79, 70, 229, 0.3);
}
.petition-thanks-page .social-sharing-section .social-share-buttons .social-share-btn.copy-link-btn.copied {
  background: #10b981;
}
.petition-thanks-page .social-sharing-section .social-share-buttons .social-share-btn.copy-link-btn.copied .share-text::after {
  content: " ✓";
}
.petition-thanks-page .social-sharing-section .social-share-buttons .social-share-btn:active {
  transform: translateY(0);
}
.petition-thanks-page .back-to-petition {
  margin: 40px 0;
  text-align: center;
}
.petition-thanks-page .back-to-petition .btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 24px;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 600;
  transition: all 0.3s ease;
}
.petition-thanks-page .back-to-petition .btn.btn-secondary {
  background: var(--wings-surface-color, #f8fafc);
  color: var(--wings-text-color, #374151);
  border: 2px solid var(--wings-border-color, #e5e7eb);
}
.petition-thanks-page .back-to-petition .btn.btn-secondary:hover {
  background: var(--wings-primary-color, #4f46e5);
  color: #fff;
  border-color: var(--wings-primary-color, #4f46e5);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(79, 70, 229, 0.2);
}
.petition-thanks-page .additional-content {
  margin-top: 50px;
  padding-top: 40px;
  border-top: 1px solid var(--wings-border-color, #e5e7eb);
  text-align: left;
}
.petition-thanks-page .additional-content h2,
.petition-thanks-page .additional-content h3,
.petition-thanks-page .additional-content h4 {
  color: var(--wings-text-color, #374151);
  margin-bottom: 1rem;
}
.petition-thanks-page .additional-content p {
  color: var(--wings-text-color-secondary, #6b7280);
  line-height: 1.6;
  margin-bottom: 1rem;
}
.petition-thanks-page .additional-content ul,
.petition-thanks-page .additional-content ol {
  margin-bottom: 1rem;
  padding-left: 2rem;
}
.petition-thanks-page .additional-content ul li,
.petition-thanks-page .additional-content ol li {
  color: var(--wings-text-color-secondary, #6b7280);
  line-height: 1.6;
  margin-bottom: 0.5rem;
}
@media (max-width: 768px) {
  .petition-thanks-page .petition-thanks-content-wrapper {
    margin-top: -30px;
    padding-top: 15px;
  }
  .petition-thanks-page .petition-header-image {
    height: 35vh;
    max-height: 250px;
  }
  .petition-thanks-page .petition-thanks-main {
    padding: 25px 20px;
  }
  .petition-thanks-page .thank-you-content .thank-you-header {
    margin-bottom: 30px;
    padding-bottom: 20px;
  }
  .petition-thanks-page .thank-you-content .thank-you-header .thank-you-title {
    font-size: 2rem;
  }
  .petition-thanks-page .thank-you-content .thank-you-header .thank-you-message {
    font-size: 1.1rem;
  }
  .petition-thanks-page .social-sharing-section {
    margin: 30px 0;
    padding: 25px 20px;
  }
  .petition-thanks-page .social-sharing-section .sharing-title {
    font-size: 1.5rem;
  }
  .petition-thanks-page .social-sharing-section .social-share-buttons {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .petition-thanks-page .social-sharing-section .social-share-buttons .social-share-btn {
    padding: 14px 16px;
    font-size: 0.95rem;
  }
}
@media (max-width: 480px) {
  .petition-thanks-page .petition-thanks-container {
    padding: 0 15px;
  }
  .petition-thanks-page .petition-thanks-main {
    padding: 20px 15px;
    border-radius: 8px;
  }
  .petition-thanks-page .thank-you-content .thank-you-header .thank-you-title {
    font-size: 1.8rem;
  }
}

/**
 * Signup Page Template Styles
 *
 * Styles for the signup page template, similar to petition page
 * but without counter/progress meter functionality.
 *
 * @package Wings
 */
.page-template-page-signup .header-image {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  background-size: cover;
  background-position: center;
  height: 100vh;
  max-height: 700px;
  margin-bottom: -400px;
}
.page-template-page-signup .header-placeholder {
  height: 60px;
  background-color: #fff;
}
.page-template-page-signup .page-content {
  position: relative;
  top: -80px;
  z-index: 10;
  padding-top: 80px;
}
.page-template-page-signup #primary {
  background-color: #fff;
  padding: 10px 20px;
  border-radius: 5px;
  border-radius: 5px 5px 0 0;
  box-shadow: rgba(0, 0, 0, 0.1) 0 2px 6px 0, rgba(0, 0, 0, 0.15) 0 4px 13px -7px, rgba(0, 0, 0, 0.15) 0 6px 19px -7px, rgba(0, 0, 0, 0.15) 0 8px 68px -50px, rgba(0, 0, 0, 0.02) 0 4px 2px 0, rgba(0, 0, 0, 0.15) 0 8px 16px -16px, rgba(0, 0, 0, 0.2) 0 12px 86px -70px;
}
.page-template-page-signup #secondary {
  border-radius: 5px;
  box-shadow: rgba(0, 0, 0, 0.1) 0 2px 6px 0, rgba(0, 0, 0, 0.15) 0 4px 13px -7px, rgba(0, 0, 0, 0.15) 0 6px 19px -7px, rgba(0, 0, 0, 0.15) 0 8px 68px -50px, rgba(0, 0, 0, 0.02) 0 4px 2px 0, rgba(0, 0, 0, 0.15) 0 8px 16px -16px, rgba(0, 0, 0, 0.2) 0 12px 86px -70px;
  transition: all 0.3s ease-in-out;
}
.page-template-page-signup .widget-area .gform_wrapper {
  background: var(--wings-forms-bg-color);
  padding: 20px;
  border-radius: var(--wings-border-radius);
  box-shadow: var(--wings-box-shadow);
  border: none;
}
.page-template-page-signup .widget-area .gform_title {
  color: var(--wings-text-color);
  font-weight: 600;
  margin-bottom: 1rem;
}
@media (min-width: 768px) {
  .page-template-page-signup .sidebar-wrapper {
    overflow: visible;
    min-height: 100vh;
    height: 100%;
  }
  .page-template-page-signup #secondary {
    position: sticky;
    top: 20px;
  }
}
@media (max-width: 768px) {
  .page-template-page-signup .wings-content-layout {
    flex-direction: column;
  }
  .page-template-page-signup .widget-area {
    margin-top: 2rem;
  }
  .page-template-page-signup .header-image {
    height: 50vh;
    max-height: 400px;
    margin-bottom: -200px;
  }
  .page-template-page-signup .page-content {
    top: -40px;
    padding-top: 40px;
  }
}

/**
 * Universal Wings Block Styles
 *
 * This file contains universal styling for all Wings blocks in the editor.
 * These styles provide consistent visual treatment across all Wings blocks.
 *
 * @package Wings
 * @version 1.0.0
 */
.wp-block .wings-block,
.editor-styles-wrapper .wings-block {
  margin-top: 1.5rem;
  background: #fafafa !important;
  border: var(--wings-surface-border-width) solid #e0e0e0;
  border-radius: 8px;
  padding: 24px;
  box-shadow: var(--wings-surface-shadow);
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
}
.wp-block .wings-block:hover,
.editor-styles-wrapper .wings-block:hover {
  box-shadow: var(--wings-shadow-large);
}
.wp-block .wings-block:focus-within,
.editor-styles-wrapper .wings-block:focus-within {
  border-color: #007cba;
  box-shadow: 0 0 0 1px #007cba, var(--wings-surface-shadow);
}

.wp-block .wings-block__secondary-button-container,
.editor-styles-wrapper .wings-block__secondary-button-container {
  margin-top: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 120px;
}

/**
 * Wings Theme - Editor Styles
 *
 * This file contains styles specifically for the WordPress block editor
 * to ensure proper positioning and styling of editor UI elements.
 *
 * @package Wings
 */
/* Editor-specific styles */
.editor-styles-wrapper {
  font-family: var(--wings-font-family-body);
}
.editor-styles-wrapper h1,
.editor-styles-wrapper h2,
.editor-styles-wrapper h3,
.editor-styles-wrapper h4,
.editor-styles-wrapper h5,
.editor-styles-wrapper h6 {
  font-family: var(--wings-font-family-headings);
  font-weight: 700;
  color: var(--wings-heading-color);
}
.editor-styles-wrapper p {
  font-family: var(--wings-font-family-body);
  color: var(--wings-text-color);
}
.editor-styles-wrapper ul,
.editor-styles-wrapper ol {
  font-family: var(--wings-font-family-body);
  color: var(--wings-text-color);
}
.editor-styles-wrapper .wp-block-wings-cta,
.editor-styles-wrapper .wp-block-wings-blockquote,
.editor-styles-wrapper .wp-block-wings-callout,
.editor-styles-wrapper .wp-block-wings-faq,
.editor-styles-wrapper .wp-block-wings-image,
.editor-styles-wrapper .wp-block-wings-single-node,
.editor-styles-wrapper .wp-block-wings-file-download,
.editor-styles-wrapper .wp-block-wings-nodes-grid,
.editor-styles-wrapper .wp-block-wings-people-organizations-grid {
  font-family: var(--wings-font-family-body);
}

/* Fix "Type / to choose a block" positioning */
.block-editor-block-list__layout .block-editor-block-list__block {
  background: #fafafa !important;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  margin-left: auto;
  margin-right: auto;
  margin-top: 1.5rem;
  max-width: 960px;
  padding: 24px;
  text-align: center;
  transition: all 0.2s ease;
}

/* Fix Wings SEO meta box styling */
.edit-post-layout__metaboxes .postbox {
  background: #fafafa !important;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  margin-left: auto;
  margin-right: auto;
  margin-top: 1.5rem;
  max-width: 960px;
  padding: 24px;
  transition: all 0.2s ease;
}
.edit-post-layout__metaboxes .postbox #wings-seo-meta {
  padding-right: 16px;
}

/* Responsive adjustments for smaller viewports */
@media (max-width: 1200px) {
  .block-editor-block-list__layout .block-editor-block-list__block,
  .edit-post-layout__metaboxes .postbox {
    margin-left: 16px;
    margin-right: 16px;
    max-width: calc(100% - 32px);
  }
}
@media (max-width: 768px) {
  .block-editor-block-list__layout .block-editor-block-list__block {
    padding: 16px;
    margin-top: 1rem;
  }
  .edit-post-layout__metaboxes .postbox {
    padding: 16px;
    margin-top: 1rem;
  }
}
/**
 * Wings Theme - Utilities
 *
 * Essential utility classes including screen reader text, post styles,
 * and other helper classes that are critical for theme functionality.
 *
 * @package Wings
 */
/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
}

.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
}

.full-width-bg {
  width: 100%;
  background-color: inherit;
}

/*--------------------------------------------------------------
# Post Styles
--------------------------------------------------------------*/
/* Posts */
.post-title span {
  font-size: 41px;
  background-color: var(--wings-primary-color);
  color: var(--wings-primary-text-color, #ffffff);
  padding: 10px 20px;
  border-radius: 5px;
  display: inline;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  text-transform: none;
  line-height: 1.4;
  text-align: center;
}

.single .no-headerimage h1.post-title {
  max-width: 1200px;
  margin: 60px auto;
  text-align: center;
}

/* Pages */
.page-title span {
  font-size: 41px;
  background-color: var(--wings-primary-color);
  color: var(--wings-primary-text-color, #ffffff);
  padding: 10px 20px;
  border-radius: 5px;
  display: inline;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  text-transform: none;
  line-height: 1.4;
  text-align: center;
}

.page .no-headerimage h1.page-title {
  max-width: 920px;
  margin: 50px auto;
  text-align: center;
}

/* Elegant Post Meta - Replaces the old button-style meta */
.post-meta-elegant {
  margin: 2em 0 2.5em;
  border-top: 1px solid var(--wings-border-color, #e5e7eb);
  padding-top: 1em;
}

.post-meta-elegant-content {
  display: flex;
  align-items: center;
  gap: 1.5em;
  font-size: 0.875rem;
  color: var(--wings-text-muted-light);
  line-height: 1.4;
}

.post-date-elegant {
  font-weight: 500;
  color: var(--wings-text-muted-light);
}

.post-author-elegant {
  font-weight: 400;
}

.post-author-link {
  color: var(--wings-text-muted-light);
  text-decoration: none;
  transition: color 0.2s ease;
}

.post-author-link:hover {
  color: var(--wings-smart-content-text-color);
  text-decoration: underline;
}

/* Mobile adjustments for elegant post meta */
@media (max-width: 768px) {
  .post-meta-elegant {
    margin: 1.5em 0 2em;
    padding-top: 0.75em;
  }
  .post-meta-elegant-content {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75em;
    font-size: 0.8rem;
  }
}
@media (max-width: 480px) {
  .single .no-headerimage h1.post-title {
    padding: 0 var(--wings-container-padding-mobile);
    text-align: left;
    margin: 1em 0;
  }
}
/* Legacy post meta styles - keeping for backward compatibility but not used */
.post-meta-container {
  text-align: center;
  margin: 40px 0 30px;
}

.post-date {
  display: inline-block;
  background-color: rgba(0, 0, 0, 0.7);
  color: #fff;
  padding: 5px 10px;
  font-size: 0.9em;
  border-radius: 5px;
  text-transform: uppercase;
}

.post-author {
  display: inline-block;
  background-color: rgba(0, 0, 0, 0.7);
  color: #fff;
  padding: 5px 10px;
  font-size: 0.9em;
  border-radius: 5px;
  margin-left: 10px;
}

.post-author a {
  color: #fff;
  text-decoration: none;
}

.post-author a:hover {
  text-decoration: underline;
}

/*--------------------------------------------------------------
# Card Utilities
--------------------------------------------------------------*/
.stretched-link:hover .card {
  box-shadow: var(--wings-box-shadow-large);
  transition: box-shadow 0.3s ease;
}

/*--------------------------------------------------------------
# Animations
--------------------------------------------------------------*/
@keyframes zoom {
  from {
    transform: scale(1);
  }
  to {
    transform: scale(1.1);
  }
}

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLmNzcyIsIi4uL3Nhc3Mvc3R5bGUuc2NzcyIsIi4uL3Nhc3MvX2luZGV4LnNjc3MiLCIuLi9zYXNzL192YXJpYWJsZXMuc2NzcyIsIi4uL3Nhc3MvX21peGlucy5zY3NzIiwiLi4vc2Fzcy9fZm9udHMuc2NzcyIsIi4uL3Nhc3MvYmFzZS9fbm9ybWFsaXplLnNjc3MiLCIuLi9zYXNzL2Jhc2UvX3R5cG9ncmFwaHkuc2NzcyIsIi4uL3Nhc3MvYmFzZS9fbGF5b3V0LnNjc3MiLCIuLi9zYXNzL2Jhc2UvX2Jhc2Uuc2NzcyIsIi4uL3Nhc3MvYmFzZS9fbGF5b3V0LWV4dGVuZGVkLnNjc3MiLCIuLi9zYXNzL2Jhc2UvX25hdmlnYXRpb24uc2NzcyIsIi4uL3Nhc3MvYmFzZS9faGVhZGVyLnNjc3MiLCIuLi9zYXNzL2Jhc2UvX2Zvb3Rlci5zY3NzIiwiLi4vc2Fzcy9jb21wb25lbnRzL19jb21wb25lbnRzLnNjc3MiLCIuLi9zYXNzL2NvbXBvbmVudHMvX2Jsb2NrLXVpLnNjc3MiLCIuLi9zYXNzL2NvbXBvbmVudHMvX2FjY2Vzc2liaWxpdHkuc2NzcyIsIi4uL3Nhc3MvY29tcG9uZW50cy9fY2FyZHMuc2NzcyIsIi4uL3Nhc3MvY29tcG9uZW50cy9fd2lkZ2V0cy5zY3NzIiwiLi4vc2Fzcy9jb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCIuLi9zYXNzL2NvbXBvbmVudHMvX2Jsb2NrcXVvdGVzLnNjc3MiLCIuLi9zYXNzL2NvbXBvbmVudHMvX2ltYWdlcy5zY3NzIiwiLi4vc2Fzcy9jb21wb25lbnRzL19zZWFyY2gtcmVzdWx0cy5zY3NzIiwiLi4vc2Fzcy9jb21wb25lbnRzL19wb3N0LWNhcmRzLnNjc3MiLCIuLi9zYXNzL2NvbXBvbmVudHMvX2J1dHRvbnMuc2NzcyIsIi4uL3Nhc3MvY29tcG9uZW50cy9fZW50cnktZm9vdGVyLnNjc3MiLCIuLi9zYXNzL2NvbXBvbmVudHMvX3NpbmdsZS1ub2RlLnNjc3MiLCIuLi9zYXNzL2NvbXBvbmVudHMvX3dpbmdzLWN0YS5zY3NzIiwiLi4vc2Fzcy9jb21wb25lbnRzL193aW5ncy1kZWZhdWx0LWltYWdlLnNjc3MiLCIuLi9zYXNzL2NvbXBvbmVudHMvX3V0aWxpdGllcy5zY3NzIiwiLi4vc2Fzcy9jb21wb25lbnRzL19mb3Jtcy11bml2ZXJzYWwuc2NzcyIsIi4uL3Nhc3MvY29tcG9uZW50cy9fY2FtcGFpZ25zLnNjc3MiLCIuLi9zYXNzL2NvbXBvbmVudHMvX2NhbXBhaWduLXZhcmlhYmxlcy5zY3NzIiwiLi4vc2Fzcy9jb21wb25lbnRzL19jYW1wYWlnbi1sYXlvdXQuc2NzcyIsIi4uL3Nhc3MvY29tcG9uZW50cy9fY2FtcGFpZ24tY29udGVudC5zY3NzIiwiLi4vc2Fzcy9jb21wb25lbnRzL19jYW1wYWlnbi1wcm9ncmVzcy5zY3NzIiwiLi4vc2Fzcy9jb21wb25lbnRzL19jYW1wYWlnbi1mb3Jtcy5zY3NzIiwiLi4vc2Fzcy9jb21wb25lbnRzL19jYW1wYWlnbi1jb21wb25lbnRzLnNjc3MiLCIuLi9zYXNzL2NvbXBvbmVudHMvX2NhbXBhaWduLW1lc3NhZ2VzLnNjc3MiLCIuLi9zYXNzL2NvbXBvbmVudHMvX2NhbXBhaWduLWNhcmRzLnNjc3MiLCIuLi9zYXNzL2NvbXBvbmVudHMvX2ZpbGUtZG93bmxvYWQuc2NzcyIsIi4uL3Nhc3MvY29tcG9uZW50cy9fZmFxLnNjc3MiLCIuLi9zYXNzL2NvbXBvbmVudHMvX2ltYWdlLWdhbGxlcnkuc2NzcyIsIi4uL3Nhc3MvY29tcG9uZW50cy9fd2luZ3MtaW1hZ2Uuc2NzcyIsIi4uL3Nhc3MvYmxvY2tzL19hdWRpby1wbGF5ZXIuc2NzcyIsIi4uL3Nhc3MvYmxvY2tzL19jYWxsb3V0LnNjc3MiLCIuLi9zYXNzL2Jsb2Nrcy9faGVyby5zY3NzIiwiLi4vc2Fzcy9ibG9ja3MvX2xlZGUtYmxvY2suc2NzcyIsIi4uL3Nhc3MvYmxvY2tzL19wcml2YWN5LXZpZGVvLnNjc3MiLCIuLi9zYXNzL3RlbXBsYXRlcy9fcGVvcGxlLWdyaWQuc2NzcyIsIi4uL3Nhc3MvdGVtcGxhdGVzL3Blb3BsZS1ncmlkL19wZW9wbGUtZ3JpZC1jb3JlLnNjc3MiLCIuLi9zYXNzL3RlbXBsYXRlcy9wZW9wbGUtZ3JpZC9fb3JnYW5pemF0aW9ucy1ncmlkLnNjc3MiLCIuLi9zYXNzL3RlbXBsYXRlcy9wZW9wbGUtZ3JpZC9fc29jaWFsLWljb25zLnNjc3MiLCIuLi9zYXNzL3RlbXBsYXRlcy9wZW9wbGUtZ3JpZC9fcmVzcG9uc2l2ZS5zY3NzIiwiLi4vc2Fzcy90ZW1wbGF0ZXMvX3NpbmdsZS1wZXJzb24uc2NzcyIsIi4uL3Nhc3MvdGVtcGxhdGVzL19wZXRpdGlvbi5zY3NzIiwiLi4vc2Fzcy90ZW1wbGF0ZXMvX3BldGl0aW9uLXRoYW5rcy5zY3NzIiwiLi4vc2Fzcy90ZW1wbGF0ZXMvX3NpZ251cC5zY3NzIiwiLi4vc2Fzcy9ibG9ja3MvX3dpbmdzLWJsb2Nrcy5zY3NzIiwiLi4vc2Fzcy9fZWRpdG9yLnNjc3MiLCIuLi9zYXNzL2Jhc2UvX3V0aWxpdGllcy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQ0FoQjs7Ozs7Ozs7RUFBQTtBQ0FBOzs7Ozs7O0VBQUE7QUNBQTs7Ozs7Ozs7OztFQUFBO0FBZ0JBO0VBRUMsOEJBQUE7RUFDQSw2QkFBQTtFQUNBLDhCQUFBO0VBQ0EsMkJBQUE7RUFDQSw4Q0FBQTtFQUNBLDhDQUFBO0VBQ0Esb0RBQUE7RUFDQSxtREFBQTtFQUNBLCtCQUFBO0VBQ0EseURBQUE7RUFDQSxxQ0FBQTtFQUNBLG9EQUFBO0VBQ0EsZ0RBQUE7RUFDQSx5REFBQTtFQUNBLHFEQUFBO0VBQ0EsNkRBQUE7RUFDQSx5Q0FBQTtFQUNBLGdEQUFBO0VBQ0EsNEJBQUE7RUFDQSxxREFBQTtFQUNBLGlEQUFBO0VBQ0EsdURBQUE7RUFDQSwyREFBQTtFQUNBLG1EQUFBO0VBQ0EsK0JBQUE7RUFHQSx1Q0FBQTtFQUNBLG9DQUFBO0VBQ0EsZ0NBQUE7RUFDQSw2QkFBQTtFQUNBLDRCQUFBO0VBQ0EsbUNBQUE7RUFDQSw2QkFBQTtFQUNBLGdDQUFBO0FIV0Q7O0FHSkE7RUFFQywwQkFBQTtFQUNBLDREQUFBO0VBR0EsMEJBQUE7RUFDQSxpQ0FBQTtFQUNBLGdDQUFBO0VBR0EscUNBQUE7RUFDQSxrQ0FBQTtFQUNBLGdDQUFBO0VBQ0EsaUNBQUE7RUFDQSxzQ0FBQTtFQUNBLCtCQUFBO0VBQ0EsMENBQUEsRUFBQSxTQUFBO0VBQ0Esd0NBQUEsRUFBQSxTQUFBO0VBQ0EsdUNBQUEsRUFBQSxTQUFBO0FIRUQ7O0FHSUE7RUFDQyw2Q0FBQTtFQUNBLG1EQUFBO0VBQ0EsZ0RBQUE7QUhERDs7QUdJQTtFQUNDLCtCQUFBO0FIREQ7O0FJMUZBOzs7Ozs7O0VBQUE7QUFhQTs7RUFBQTtBQVFBOztFQUFBO0FBV0E7O0VBQUE7QUFRQTs7RUFBQTtBQW9CQTs7RUFBQTtBQWNBOztFQUFBO0FBY0E7O0VBQUE7QUFTQTs7RUFBQTtBQWlCQTs7RUFBQTtBQW1CQTs7RUFBQTtBQU9BOztFQUFBO0FBT0E7O0VBQUE7QUFlQTs7RUFBQTtBQU9BOztFQUFBO0FBUUE7O0VBQUE7QUFpQkE7O0VBQUE7QUFVQTs7RUFBQTtBQVVBOztFQUFBO0FBY0E7O0VBQUE7QUFXQTs7RUFBQTtBQW1CQTs7RUFBQTtBQVlBOztFQUFBO0FBU0E7O0VBQUE7QUN2UkE7Ozs7Ozs7Ozs7RUFBQTtBQWFBO0VBRUMsa0JBQUE7QUx1S0Q7O0FLcEtBO0VBRUMsa0JBQUE7QUxzS0Q7O0FLNUpBO0VBQ0Msb0JBQUE7RUFDQSxxSEFDQztFQUdELGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQkFBQTtBTDRKRDtBS3hKQTtFQUNDLDZDQUFBO0VBQ0Esa0RBQUE7QUwwSkQ7O0FLdkpBO0VBQ0MsMENBQUE7RUFDQSwrQ0FBQTtBTDBKRDs7QUt0SkE7RUFDQyxnQkFBQTtBTHlKRDs7QUt0SkE7RUFDQyxnQkFBQTtBTHlKRDs7QUt0SkE7RUFDQyxnQkFBQTtBTHlKRDs7QUt0SkE7RUFDQyxnQkFBQTtBTHlKRDs7QUt0SkE7RUFDQyxnQkFBQTtBTHlKRDs7QUt0SkE7RUFDQyxnQkFBQTtBTHlKRDs7QUt0SkE7RUFDQyxnQkFBQTtBTHlKRDs7QUtuSEE7RUFDQyxrQkFBQTtBTHNIRDs7QUtuSEE7RUFDQyxtQkFBQTtBTHNIRDs7QUtuSEE7RUFDQyxlQUFBO0FMc0hEOztBS25IQTtFQUNDLG1CQUFBO0FMc0hEOztBS25IQTtFQUNDLGtCQUFBO0FMc0hEOztBS25IQTtFQUNDLGlCQUFBO0FMc0hEOztBS25IQTtFQUNDLG1CQUFBO0FMc0hEOztBS25IQTtFQUNDLGtCQUFBO0FMc0hEOztBS25IQTtFQUNDLGVBQUE7QUxzSEQ7O0FLbEhBO0VBQ0MsaUJBQUE7QUxxSEQ7O0FLbEhBO0VBQ0Msa0JBQUE7QUxxSEQ7O0FLbEhBO0VBQ0MsZ0JBQUE7QUxxSEQ7O0FLbEhBO0VBQ0Msa0JBQUE7QUxxSEQ7O0FLbEhBO0VBQ0MsY0FBQTtBTHFIRDs7QUtqSEE7RUFDQyx1QkFBQTtBTG9IRDs7QUtqSEE7RUFDQyx3QkFBQTtBTG9IRDs7QUtqSEE7RUFDQyxpQkFBQTtBTG9IRDs7QUtqSEE7RUFDQyx1QkFBQTtBTG9IRDs7QUtqSEE7RUFDQyxzQkFBQTtBTG9IRDs7QUtqSEE7RUFDQyxxQkFBQTtBTG9IRDs7QUtoSEE7RUFDQyxrQkFBQTtBTG1IRDs7QUtoSEE7RUFDQyxrQkFBQTtBTG1IRDs7QUsvR0E7RUFDQyx5QkFBQTtBTGtIRDs7QUsvR0E7RUFDQyx5QkFBQTtBTGtIRDs7QUsvR0E7RUFDQywwQkFBQTtBTGtIRDs7QUsvR0E7RUFDQyxvQkFBQTtBTGtIRDs7QUs5R0E7RUFDQywwQkFBQTtBTGlIRDs7QUs5R0E7RUFDQyw2QkFBQTtBTGlIRDs7QUs5R0E7RUFDQyxxQkFBQTtBTGlIRDs7QUs3R0E7RUFDQyxrQkFBQTtBTGdIRDs7QUs3R0E7RUFDQyxtQkFBQTtBTGdIRDs7QUs3R0E7RUFDQyxrQkFBQTtBTGdIRDs7QUs3R0E7RUFDQyxzQkFBQTtBTGdIRDs7QUs3R0E7RUFDQyxzQkFBQTtBTGdIRDs7QUs1R0E7RUFFQztJQUNDLGlCQUFBO0VMOEdBO0VLM0dEO0lBQ0MsZUFBQTtFTDZHQTtFSzFHRDtJQUNDLGtCQUFBO0VMNEdBO0VLekdEO0lBQ0MsbUJBQUE7RUwyR0E7QUFDRjtBS3ZHQTtFQUVDLGtCQUFBO0VBR0EseUZBQ0M7QUxxR0Y7O0FLNUZBO0VBQ0MsbURBQ0M7RUFHRCxrQ0FBQTtBTDRGRDs7QUt4RkE7RUFFQzs7SUFFQyw2QkFBQTtFTDBGQTtFS3ZGRDtJQUNDLDZCQUFBO0lBQ0Esb0JBQUE7RUx5RkE7QUFDRjtBTWxaQTs7Ozs7OztFQUFBO0FBU0E7OytEQUFBO0FBSUEsMEJBQUE7QUFDQTtFQUNDLGdDQUFBO0VBQ0EsMkdBQ0M7RUFFRCxnQkFBQTtFQUNBLGtCQUFBO0FOZ1pEO0FNN1lBLGVBQUE7QUFDQTtFQUNDLGlCQUFBO0VBQ0EsOEJBQUE7RUFDQSxpQkFBQSxFQUFBLDBCQUFBO0VBQ0Esc0JBQUE7QU4rWUQ7O0FNNVlBLGVBQUE7QUFDQTs7RUFFQyxZQUFBLEVBQUEsZ0NBQUE7RUFDQSxTQUFBLEVBQUEsMkJBQUE7QU4rWUQ7O0FNNVlBLHFCQUFBO0FBQ0E7OztFQUdDLG1CQUFBO0FOK1lEOztBTTVZQSxvQkFBQTtBQUNBO0VBQ0MsK0NBQUE7QU4rWUQ7O0FNNVlBLGlCQUFBO0FBQ0E7RUFDQyxjQUFBO0FOK1lEOztBT25jQTs7Ozs7OztFQUFBO0FBU0E7OytEQUFBO0FBSUEsYUFBQTtBQUNBOzs7Ozs7O0VBT0MsV0FBQTtFQUNBLDZDQUFBO0VBQ0EsNkNBQUE7RUFDQSxxQ0FBQTtFQUNBLDJDQUFBO0FQb2NEOztBT2pjQTtFQUNDLG9DQUFBO0VBQ0EsZ0JBQUE7QVBvY0Q7O0FPamNBLDREQUFBO0FBQ0E7RUFDQyxrQkFBQTtFQUNBLGdCQUFBLEVBQUEsZ0NBQUE7RUFDQSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0EsZ0JBQUE7RUFDQSw0Q0FBQTtBUG9jRDs7QU9qY0EsZ0VBQUE7QUFDQTtFQUNDLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxnQkFBQTtFQUNBLHFCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxpRkFBQTtBUG9jRDs7QU9qY0EsNENBQUE7QUFDQTtFQUNDOztJQUVDLGdCQUFBLEVBQUEsMENBQUE7SUFDQSxlQUFBO0VQb2NBO0FBQ0Y7QU9qY0E7RUFDQzs7SUFFQyxnQkFBQSxFQUFBLHVDQUFBO0lBQ0EsZUFBQTtFUG1jQTtBQUNGO0FPaGNBLGtGQUFBO0FBRUE7RUFDQyxvQ0FBQTtFQUNBLGtCQUFBO0FQaWNEOztBTzliQTtFQUNDLG9DQUFBO0FQaWNEOztBTzliQTtFQUNDLG9DQUFBO0FQaWNEOztBTzliQSwyQ0FBQTtBQUNBO0VBQ0MsNENBQUE7QVBpY0Q7O0FPOWJBO0VBQ0MsNENBQUE7QVBpY0Q7O0FPOWJBO0VBQ0MsNENBQUE7QVBpY0Q7O0FPOWJBO0VBQ0Msb0NBQUE7QVBpY0Q7O0FPOWJBO0VBQ0Msb0NBQUE7QVBpY0Q7O0FPOWJBO0VBQ0MsbUJBQUE7QVBpY0Q7O0FPOWJBLGVBQUE7QUFDQTtFQUNDLGtCQUFBO0VBQ0Esc0NBQUE7RUFDQSxxQ0FBQTtFQUNBLDJDQUFBO0VBQ0EsNENBQUE7RUFFQSx3RUFBQTtBUGdjRDtBTy9iQztFQVJEO0lBU0UsNkNBQUE7RVBrY0E7QUFDRjs7QU8vYkEsNERBQUE7QUFDQTtFQUNDLGlCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxxQkFBQTtFQUNBLDRDQUFBO0VBQ0EsZ0JBQUE7QVBrY0Q7QU9oY0M7RUFDQyxnQkFBQTtBUGtjRjtBTy9iQztFQUNDLGtCQUFBO0FQaWNGOztBTzdiQSwyQkFBQTtBQUNBO0VBQ0M7SUFDQyxpQkFBQSxFQUFBLGdDQUFBO0lBQ0EseUJBQUEsRUFBQSxpQ0FBQTtFUGdjQTtBQUNGO0FPN2JBLG9CQUFBO0FBQ0E7O0VBRUMsZ0JBQUE7QVArYkQ7O0FPNWJBLFVBQUE7QUFDQTs7O0VBR0MsZUFBQTtFQUNBLDhCQUFBO0VBQ0EsMEJBQUE7RUFDQSxnQ0FBQTtFQUNBLDRCQUFBO0FQK2JEOztBTzViQTs7O0VBR0MscUJBQUE7QVArYkQ7O0FPNWJBLFVBQUE7QUFDQTs7RUFFQyxxQkFBQTtBUCtiRDs7QU81YkE7RUFDQyxnQkFBQTtBUCtiRDs7QU81YkE7O0VBRUMsY0FBQTtBUCtiRDs7QU81YkE7O0VBRUMsaUJBQUE7QVArYkQ7O0FPNWJBO0VBQ0MsbUJBQUE7QVArYkQ7O0FPNWJBLDZEQUFBO0FBQ0E7Ozs7RUFJQyw0Q0FBQTtBUCtiRDs7QU81YkEsK0NBQUE7QUFDQTs7OztFQUlDLHVFQUFBO0FQK2JEOztBTzViQSw4QkFBQTtBQUNBOztFQUVDLHNEQUFBO0VBQ0EsWUFBQTtBUCtiRDs7QU81YkE7O0VBRUMsbUJBQUE7RUFDQSxxQkFBQTtBUCtiRDs7QU81YkE7RUFDQyxnQkFBQTtFQUNBLG1EQUFBO0VBQ0EsZ0JBQUE7RUFDQSxvQkFBQTtFQUNBLGVBQUE7RUFDQSxjQUFBO0VBQ0EsY0FBQTtBUCtiRDs7QU81YkE7OytEQUFBO0FBS0Esb0NBQUE7QUFDQTtFQUNDLG1CQUFBO0FQNmJEOztBTzFiQTs7RUFFQyxjQUFBO0FQNmJEOztBTzFiQTs7RUFFQyxpQkFBQTtBUDZiRDs7QVF6ckJBOzs7Ozs7O0VBQUE7QUFTQTs7K0RBQUE7QUFJQSx1QkFBQTtBQUNBO0VBQ0MsV0FBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtBUjByQkQ7O0FRdnJCQTtFQUNDLFdBQUE7RUFDQSwwQkFBQTtFQUNBLHNCQUFBO0VBQ0EsNEJBQUE7RUFDQSwyQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0NBQUE7QVIwckJEOztBUXZyQkE7RUFDQyxrQkFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0FSMHJCRDs7QVF2ckJBO0VBQ0MsV0FBQTtFQUNBLGtCQUFBO0VBQ0EsU0FBQTtFQUNBLE9BQUE7RUFDQSxrQkFBQTtFQUNBLFdBQUE7RUFDQSxhQUFBO0VBQ0EsWUFBQTtFQUNBLGFBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFBO0VBQ0EsdUJBQUE7QVIwckJEOztBUXZyQkEsdUJBQUE7QUFDQTtFQUNDLFdBQUE7RUFDQSxtQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7QVIwckJEOztBUXZyQkE7RUFDQyxXQUFBO0VBQ0EsMEJBQUE7RUFDQSxzQkFBQTtFQUNBLDRCQUFBO0VBQ0EsMkJBQUE7RUFDQSxrQkFBQTtFQUNBLGdDQUFBO0FSMHJCRDs7QVF2ckJBO0VBQ0Msa0JBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtBUjByQkQ7O0FRdnJCQTtFQUNDLFdBQUE7RUFDQSxrQkFBQTtFQUNBLFNBQUE7RUFDQSxPQUFBO0VBQ0Esa0JBQUE7RUFDQSxXQUFBO0VBQ0EsYUFBQTtFQUNBLFlBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7RUFDQSxtQkFBQTtFQUNBLHVCQUFBO0FSMHJCRDs7QVF2ckJBLG1EQUFBO0FBQ0E7O0VBRUMsZUFBQTtBUjByQkQ7O0FRdnJCQSw4Q0FBQTtBQUNBO0VBRUM7O0lBRUMsZUFBQTtFUnlyQkE7QUFDRjtBU2h5QkE7OytEQUFBO0FBSUE7Ozs7OztFQU1DLDhCQUFBO0VBQ0EsMENBQUE7RUFDQSw0Q0FBQTtFQUNBLHNDQUFBO0VBQ0EscUNBQUE7RUFDQSwyQ0FBQTtBVGl5QkQ7O0FTOXhCQTtFQUNDLGFBQUE7RUFDQSxzQkFBQSxFQUFBLGdDQUFBO0VBQ0EsaUJBQUEsRUFBQSw2REFBQTtFQUNBLGtCQUFBO0FUaXlCRDs7QVM5eEJBLHlCQUFBO0FBQ0E7O0VBRUMsT0FBQSxFQUFBLDRCQUFBO0FUaXlCRDs7QVM5eEJBO0VBQ0MsZ0JBQUEsRUFBQSwwQkFBQTtFQUNBLGNBQUEsRUFBQSw0QkFBQTtBVGl5QkQ7O0FVbDBCQTs7K0RBQUE7QUFJQSxpREFBQTtBQUNBO0VBQ0Msd0NBQUE7RUFDQSxjQUFBO0VBQ0EsZ0RBQUE7QVZvMEJEO0FVbDBCQztFQUxEO0lBTUUsZ0RBQUE7RVZxMEJBO0FBQ0Y7QVVuMEJDO0VBVEQ7SUFVRSxpREFBQTtFVnMwQkE7QUFDRjs7QVVuMEJBLHlCQUFBO0FBQ0E7RUFDQyxhQUFBO0VBQ0EsdUJBQUE7RUFDQSxTQUFBO0VBQ0EsY0FBQTtBVnMwQkQ7O0FVbjBCQSxnREFBQTtBQUNBO0VBQ0MsV0FBQTtFQUNBLGVBQUE7RUFDQSxjQUFBO0FWczBCRDs7QVVuMEJBLGtEQUFBO0FBQ0E7O0VBRUMsMENBQUE7RUFDQSxlQUFBO0VBQ0EsY0FBQTtBVnMwQkQ7O0FVbjBCQSx3QkFBQTtBQUNBO0VBRUM7SUFDQyxXQUFBO0lBQ0EsY0FBQTtFVnEwQkE7RVVsMEJEOztJQUVDLFdBQUE7SUFDQSxnREFBQTtFVm8wQkE7RVVqMEJEO0lBQ0Msc0JBQUE7SUFDQSxTQUFBO0VWbTBCQTtBQUNGO0FVaDBCQSw0RUFBQTtBQUNBO0VBQ0MsdUNBQUE7RUFDQSxlQUFBO0VBQ0EsZ0dBQUE7QVZrMEJEOztBVTd6QkE7RUFDQyxvQ0FBQTtFQUNBLGVBQUE7RUFDQSw2RkFBQTtBVmcwQkQ7O0FVN3pCQSxnQ0FBQTtBQUNBO0VBRUM7SUFDQyxXQUFBO0lBQ0EsY0FBQTtFVit6QkE7QUFDRjtBVTV6QkE7RUFFQztJQUNDLFdBQUE7SUFDQSxjQUFBO0VWNnpCQTtBQUNGO0FVMXpCQSw2QkFBQTtBQUNBO0VBQ0MsT0FBQTtBVjR6QkQ7O0FVenpCQTs7K0RBQUE7QUFJQTtFQUNDLDBDQUFBO0FWMnpCRDs7QVV4ekJBO0VBQ0MsdUNBQUE7QVYyekJEOztBVXh6QkE7RUFDQyxvQ0FBQTtBVjJ6QkQ7O0FVeHpCQTtFQUVDOzs7SUFHQyxXQUFBO0VWMHpCQTtBQUNGO0FXbjdCQTs7K0RBQUE7QUFJQSwrQkFBQTtBQUNBO0VBQ0MsOENBQUE7RUFDQSxZQUFBO0VBQ0EsV0FBQTtFQUNBLGVBQUE7RUFDQSxNQUFBO0VBQ0EsT0FBQTtFQUNBLGFBQUEsRUFBQSwwQ0FBQTtBWG83QkQ7O0FXajdCQSx1REFBQTtBQUNBO0VBQ0MsaUJBQUE7QVhvN0JEOztBV2o3QkEscUNBQUE7QUFDQTtFQUNDLFNBQUE7QVhvN0JEOztBV2o3QkE7RUFDQyxrQkFBQSxFQUFBLGlDQUFBO0FYbzdCRDs7QVdqN0JBLG9FQUFBO0FBQ0E7RUFDQztJQUNDLFNBQUE7RVhvN0JBO0VXajdCRDtJQUNDLGtCQUFBLEVBQUEsaUNBQUE7RVhtN0JBO0FBQ0Y7QVdoN0JBO0VBQ0MsaUJBQUE7RUFDQSxjQUFBO0VBQ0EsWUFBQTtFQUNBLGVBQUE7QVhrN0JEOztBVy82QkE7RUFDQyxhQUFBO0VBQ0EsbUJBQUE7RUFDQSw4QkFBQTtFQUNBLFlBQUE7RUFDQSxTQUFBO0FYazdCRDs7QVcvNkJBLGFBQUE7QUFDQTtFQUNDLFlBQUE7RUFDQSxhQUFBO0VBQ0EsbUJBQUE7QVhrN0JEOztBVy82QkE7RUFDQyxZQUFBO0VBQ0EsV0FBQTtFQUNBLGNBQUE7QVhrN0JEOztBVy82QkEsdUJBQUE7QUFDQTtFQUNDLFlBQUE7RUFDQSxZQUFBO0FYazdCRDs7QVcvNkJBO0VBQ0MsYUFBQTtFQUNBLG1CQUFBO0VBQ0EsaUVBQUE7RUFDQSx5Q0FBQTtFQUNBLGdCQUFBO0FYazdCRDs7QVcvNkJBO0VBQ0MsdUJBQUE7RUFDQSxZQUFBO0VBQ0Esc0JBQUE7RUFDQSxnRkFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0Esc0JBQUE7QVhrN0JEOztBVy82QkE7RUFDQyxvR0FBQTtFQUlBLFlBQUE7QVgrNkJEOztBV3A3QkE7RUFDQyxvR0FBQTtFQUlBLFlBQUE7QVgrNkJEOztBVzU2QkEscURBQUE7QUFDQTs7RUFFQyxhQUFBO0VBQ0EsbUJBQUE7RUFDQSx5Q0FBQTtFQUNBLHlFQUFBO0VBQ0EseUNBQUE7RUFDQSxnQkFBQTtFQUNBLHVDQUFBO0VBQ0EsZ0JBQUE7RUFDQSxjQUFBO0FYKzZCRDs7QVc1NkJBOztFQUVDLHVCQUFBO0VBQ0EsWUFBQTtFQUNBLHFCQUFBO0VBQ0EsOEJBQUE7RUFDQSxXQUFBO0VBQ0EsZUFBQTtBWCs2QkQ7O0FXNTZCQTs7RUFFQyxhQUFBO0VBQ0EsOEJBQUE7QVgrNkJEOztBVzU2QkE7RUFFQyw4QkFBQTtBWCs2QkQ7O0FXajdCQTs7RUFFQyw4QkFBQTtBWCs2QkQ7O0FXNTZCQTtFQUVDLG9DQUFBO0FYKzZCRDs7QVdqN0JBOztFQUVDLG9DQUFBO0FYKzZCRDs7QVc1NkJBOztFQUVDLHNDQUFBO0VBQ0EsWUFBQTtFQUNBLHFCQUFBO0VBQ0EsNENBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSwrRUFBQTtBWCs2QkQ7O0FXNTZCQTs7RUFFQyxnREFBQTtFQUNBLDJCQUFBO0FYKzZCRDs7QVc1NkJBO0VBQ0MsOEJBQUE7QVgrNkJEOztBVzU2QkE7RUFDQyx1QkFBQTtFQUNBLFlBQUE7RUFDQSxpQkFBQTtFQUNBLDRDQUFBO0VBQ0EsZUFBQTtFQUNBLFlBQUE7RUFDQSxzQkFBQTtBWCs2QkQ7O0FXNTZCQSxvQkFBQTtBQUNBO0VBQ0MsYUFBQTtFQUNBLG1CQUFBO0FYKzZCRDs7QVc1NkJBO0VBQ0MsYUFBQTtFQUNBLFNBQUE7RUFDQSxVQUFBO0VBQ0EsZ0JBQUE7QVgrNkJEOztBVzU2QkE7RUFDQyw0Q0FBQTtFQUNBLHFCQUFBO0VBQ0EsZUFBQTtFQUNBLGlCQUFBO0FYKzZCRDs7QVc1NkJBO0VBQ0MsMEJBQUE7QVgrNkJEOztBVzU2QkEsbUJBQUE7QUFDQTtFQUNDLGFBQUE7RUFDQSx1QkFBQTtFQUNBLFlBQUE7RUFDQSxlQUFBO0VBQ0EsZUFBQTtFQUNBLDJDQUFBO0VBRUEsc0VBQUE7RUFDQSxrQkFBQTtFQUNBLG9CQUFBO0VBQ0EscUJBQUE7RUFDQSxnQkFBQTtFQUNBLG9CQUFBO0VBQ0EsbUJBQUE7RUFDQSxnQkFBQTtBWDg2QkQ7O0FXMzZCQTtFQUNDLFdBQUE7RUFDQSxZQUFBO0VBQ0EscUJBQUE7RUFDQSxrQkFBQTtBWDg2QkQ7O0FXMzZCQTtFQUNDLGNBQUE7RUFDQSxRQUFBO0VBQ0EsZ0JBQUE7QVg4NkJEOztBVzM2QkE7OztFQUdDLFdBQUE7RUFDQSxXQUFBO0VBQ0EsdURBQUE7RUFDQSxrQkFBQTtFQUNBLGdDQUFBO0FYODZCRDs7QVczNkJBOztFQUVDLFdBQUE7RUFDQSxjQUFBO0FYODZCRDs7QVczNkJBO0VBQ0MsU0FBQTtBWDg2QkQ7O0FXMzZCQTtFQUNDLFlBQUE7QVg4NkJEOztBVzM2QkEsMEJBQUE7QUFDQTtFQUNDLHdCQUFBO0FYODZCRDs7QVczNkJBO0VBQ0MsTUFBQTtFQUNBLFVBQUE7QVg4NkJEOztBVzM2QkE7RUFDQyxTQUFBO0VBQ0EseUJBQUE7QVg4NkJEOztBVzM2QkEsK0JBQUE7QUFDQTtFQUNDLHFCQUFBO0VBQ0EsU0FBQTtBWDg2QkQ7O0FXMzZCQTtFQUNDLHFCQUFBO0VBQ0EsNkJBQUE7RUFDQSxrQkFBQTtBWDg2QkQ7O0FXMzZCQSxzQ0FBQTtBQUNBO0VBQ0MseUNBQUE7RUFDQSxrQkFBQTtFQUNBLHVEQUNDO0FYNjZCRjs7QVd6NkJBO0VBQ0MsMkNBQUE7QVg0NkJEOztBV3o2QkEsc0NBQUE7QUFDQTtFQUNDLHVEQUFBO0VBQ0EsOEJBQUE7QVg0NkJEOztBV3o2QkEsNENBQUE7QUFDQTtFQUNDLHlDQUFBO0VBQ0EsNENBQUE7RUFDQSxxQkFBQTtBWDQ2QkQ7O0FXejZCQSxrQkFBQTtBQUNBO0VBQ0M7SUFDQyxjQUFBO0VYNDZCQTtFV3o2QkQ7SUFDQyxhQUFBO0lBQ0Esa0JBQUE7SUFDQSxTQUFBO0lBQ0EsT0FBQTtJQUNBLFFBQUE7SUFDQSxzQ0FBQTtJQUNBLHNCQUFBO0lBQ0EsYUFBQTtJQUNBLHVDQUFBO0VYMjZCQTtFV3g2QkQ7SUFDQyxhQUFBO0VYMDZCQTtFV3Y2QkQ7SUFDQyxhQUFBO0VYeTZCQTtBQUNGO0FZanZDQTs7Ozs7OztFQUFBO0FBU0E7OytEQUFBO0FBSUE7RUFDQyxrQkFBQTtFQUNBLE1BQUE7RUFDQSxPQUFBO0VBQ0EsV0FBQTtFQUNBLHNCQUFBO0VBQ0EsMkJBQUE7RUFDQSxhQUFBO0VBQ0EsaUJBQUE7RUFDQSxxQkFBQTtBWml2Q0Q7O0FZOXVDQTtFQUNDLFlBQUE7RUFDQSxzQkFBQTtBWml2Q0Q7O0FZN3VDQTs7RUFFQyxrQkFBQTtFQUNBLFVBQUE7RUFDQSxXQUFBO0VBQ0EsaUJBQUE7QVpndkNEOztBWTd1Q0Esa0NBQUE7QUFDQTtFQUVDO0lBQ0MsWUFBQTtJQUNBLGlCQUFBO0lBQ0EscUJBQUE7RVordUNBO0VZNXVDRDs7SUFFQyxVQUFBO0lBQ0EsaUJBQUE7RVo4dUNBO0FBQ0Y7QWFseUNBOzs7Ozs7O0VBQUE7QUFTQTs7K0RBQUE7QUFJQTtFQUNDLDREQUFBO0VBQ0EsMkNBQUE7RUFDQSxlQUFBO0Fia3lDRDs7QWEveENBLGtCQUFBO0FBQ0E7RUFDQyxhQUFBO0VBQ0EsMkRBQUE7RUFDQSxTQUFBO0VBQ0Esa0JBQUE7QWJreUNEOztBYS94Q0E7RUFDQyxZQUFBLEVBQUEsK0JBQUE7QWJreUNEOztBYS94Q0Esc0JBQUE7QUFDQTtFQUVDO0lBQ0MsMEJBQUE7SUFDQSxXQUFBO0ViaXlDQTtBQUNGO0FhOXhDQTs7O0VBR0Msd0dBQUE7RUFDQSxpQkFBQTtFQUNBLG1CQUFBO0VBQ0EsZ0JBQUE7QWJneUNEOztBYTd4Q0E7O0VBRUMsbUJBQUE7RUFDQSxnQkFBQTtBYmd5Q0Q7O0FhN3hDQTtFQUNDLGdCQUFBO0VBQ0EsVUFBQTtFQUNBLFNBQUE7QWJneUNEOztBYTd4Q0E7RUFDQyxnQkFBQTtBYmd5Q0Q7O0FhN3hDQTtFQUNDLGdCQUFBO0VBQ0EsbUJBQUE7QWJneUNEOztBYTd4Q0E7RUFDQywyQ0FBQTtFQUNBLHFCQUFBO0FiZ3lDRDs7QWE3eENBO0VBQ0MsZ0JBQUE7RUFDQSxVQUFBO0VBQ0EsYUFBQTtFQUNBLFNBQUE7QWJneUNEOztBYTd4Q0E7RUFDQyxXQUFBO0VBQ0EsWUFBQTtBYmd5Q0Q7O0FDcDNDQTs7Ozs7Ozs7RUFBQTtBYUFBOzsrREFBQTtBQ0FBOzs7Ozs7OztFQUFBO0FBV0E7RUFFQyxrQkFBQTtFQUdBLDhCQUFBO0VBQ0EsdURBQUE7RUFDQSxrQkFBQTtFQUNBLGFBQUE7RUFDQSx1Q0FBQTtFQUdBLGdCQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTtFQUdBLGtCQUFBO0VBSUEsZ0VBQ0M7QWZzM0NGO0FlbDNDQztFQUNDLHFDQUFBO0FmbzNDRjtBZWgzQ0M7RUFDQyxxQkFBQTtFQUNBLDBEQUNDO0FmaTNDSDs7QWUzMkNBO0VBQ0MsYUFBQTtFQUNBLDhCQUFBO0VBQ0EsbUJBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EsZ0NBQUE7QWY4MkNEO0FlNTJDQztFQUNDLFNBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxXQUFBO0FmODJDRjtBZTMyQ0M7RUFDQyxhQUFBO0VBQ0EsUUFBQTtFQUNBLG1CQUFBO0FmNjJDRjs7QWV4MkNBO0VBQ0MsOEJBQUE7RUFDQSxzQkFBQTtFQUNBLG9DQUFBO0VBQ0EsNkJBQUE7RUFDQSw0QkFBQTtFQUNBLDBCQUFBO0VBQ0EsMkJBQUE7RUFDQSxvQ0FBQTtBZjIyQ0Q7QWV6MkNDO0VBQ0MsOEJBQUE7RUFDQSxnQ0FBQTtFQUNBLDJCQUFBO0VBQ0EseURBQUE7QWYyMkNGO0FleDJDQztFQUNDLHdDQUFBO0FmMDJDRjs7QWV0MkNBO0VBQ0MsOEJBQUE7RUFDQSxzQkFBQTtFQUNBLG9DQUFBO0VBQ0EsNkJBQUE7RUFDQSw0QkFBQTtFQUNBLDBCQUFBO0VBQ0EsMkJBQUE7RUFDQSxvQ0FBQTtBZnkyQ0Q7QWV2MkNDO0VBQ0MsOEJBQUE7RUFDQSxnQ0FBQTtFQUNBLDJCQUFBO0VBQ0EsdURBQUE7QWZ5MkNGO0FldDJDQztFQUNDLHdDQUFBO0FmdzJDRjs7QWVwMkNBO0VBQ0MsMkJBQUE7RUFDQSxnQ0FBQTtFQUNBLCtCQUFBO0VBQ0EseUJBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0EsV0FBQTtBZnUyQ0Q7QWVyMkNDO0VBQ0MsOEJBQUE7RUFDQSxzQkFBQTtBZnUyQ0Y7O0FlbjJDQTtFQUNDLCtDQUFBO0VBQ0Esb0NBQUE7RUFDQSw2QkFBQTtFQUNBLG1EQUFBO0VBQ0EseUJBQUE7RUFDQSwwQkFBQTtFQUNBLHVCQUFBO0VBQ0Esa0JBQUE7RUFDQSwyQkFBQTtFQUNBLDRCQUFBO0VBQ0EseUJBQUE7QWZzMkNEO0FlcDJDQztFQUNDLDJCQUFBO0VBQ0Esb0RBQUE7RUFDQSx5QkFBQTtBZnMyQ0Y7O0FlajJDQTtFQUNDLGdCQUFBO0VBQ0EseUJBQUE7RUFDQSxrQkFBQTtFQUNBLGFBQUE7RUFDQSxtQkFBQTtBZm8yQ0Q7O0FlaDJDQTtFQUNDLGNBQUE7RUFDQSxjQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSwrQkFBQTtBZm0yQ0Q7O0FlaDJDQTtFQUNDLGFBQUE7RUFDQSxzQkFBQTtFQUNBLFNBQUE7RUFDQSxvQkFBQTtFQUNBLFdBQUE7RUFDQSxnQkFBQTtBZm0yQ0Q7O0FlaDJDQTtFQUNDLFlBQUE7QWZtMkNEO0FlajJDQztFQUNDLFdBQUE7RUFDQSxlQUFBO0FmbTJDRjtBZWgyQ0M7RUFDQyxXQUFBO0VBQ0EsZ0JBQUE7RUFDQSxzQkFBQTtBZmsyQ0Y7O0FlNzFDQTtFQUNDLGdCQUFBO0VBQ0EseUJBQUE7RUFDQSxrQkFBQTtFQUNBLGFBQUE7RUFDQSxtQkFBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTtFQUNBLGNBQUE7QWZnMkNEO0FlOTFDQztFQUNDLGtCQUFBO0FmZzJDRjtBZTkxQ0U7RUFDQyxnQkFBQTtBZmcyQ0g7O0FlMTFDQTtFQUNDLGtCQUFBO0VBQ0EsYUFBQTtFQUNBLG1CQUFBO0VBQ0EsdUJBQUE7RUFDQSxpQkFBQTtBZjYxQ0Q7O0FlejFDQTtFQUNDLHlCQUFBO0VBQ0EsY0FBQTtFQUNBLDBCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLCtCQUFBO0FmNDFDRDs7QUNwa0RBOzs7Ozs7OztFQUFBO0FlQUE7OytEQUFBO0FBUUE7RVoyT0Msa0JBQUE7RUFDQSxVQUFBO0VBQ0EsV0FBQTtFQUNBLFVBQUE7RUFDQSxZQUFBO0VBQ0EsZ0JBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFBO0VBQ0EsU0FBQTtBSmkyQ0Q7QWdCaGxEQztFQUNDLGVBQUE7RUFDQSxTQUFBO0VBQ0EsVUFBQTtFQUNBLGFBQUE7RUFDQSw0Q0FBQTtFQUNBLFdBQUE7RUFDQSxrQkFBQTtFQUNBLHlDQUFBO0VBQ0EscUJBQUE7RUFDQSxnQkFBQTtFQUNBLHdDQUFBO0FoQmtsREY7QWdCaGxERTtFQUNDLDBEQUFBO0FoQmtsREg7O0FJbjRDQzs7Ozs7O0VBQ0MsNkNBQUE7RUFDQSxtQkFBQTtBSjI0Q0Y7QWdCN2tEQzs7Ozs7O0VBQ0MsNkNBQUE7RUFDQSxtQkFBQTtBaEJvbERGOztBZ0Iva0RBOztFQUVDLDZDQUFBO0VBQ0EsbUJBQUE7RUFDQSx5Q0FBQTtBaEJrbEREOztBZ0I1a0RDO0VBQ0MsNkNBQUE7RUFDQSxtQkFBQTtFQUNBLHdFQUFBO0FoQitrREY7O0FnQjFrREE7OztFQUdDLHdDQUFBO0VBQ0EsNkVBQUE7QWhCNmtERDs7QWdCMWtEQSwrQkFBQTtBQUNBO0VBU0U7Ozs7OztJQUNDLGtCQUFBO0lBQ0EsbUJBQUE7RWhCMGtERDtFZ0J0a0REO0lBQ0Msc0JBQUE7SUFDQSxXQUFBO0lBQ0Esc0JBQUE7RWhCd2tEQTtBQUNGO0FpQnJxREE7OytEQUFBO0FBSUE7RUFDQyxzRUFBQTtFQUNBLCtDQUFBO0VBRUEsZ0VBQ0M7RUFFRCxjQUFBO0VBQ0EsWUFBQTtFQUNBLHlDQUFBO0VBQ0Esb0NBQUE7RUFDQSxnQkFBQSxFQUFBLDREQUFBO0FqQm1xREQ7O0FpQmhxREE7RUFDQywyQkFBQTtFQUNBLDBDQUFBO0FqQm1xREQ7O0FpQmhxREEsOERBQUE7QUFDQTs7RUFFQyxnQkFBQTtFQUNBLFlBQUE7QWpCbXFERDs7QWlCaHFEQTtFQUNDLHFCQUFBO0VBQ0EsY0FBQTtFQUNBLGNBQUE7RUFDQSxZQUFBO0FqQm1xREQ7O0FpQmhxREE7RUFDQyxxQkFBQTtFQUNBLGNBQUE7QWpCbXFERDs7QWlCaHFEQTtFQUNDLGNBQUE7QWpCbXFERDs7QWlCaHFEQTtFQUNDLDZDQUFBO0VBQ0EsbUJBQUE7QWpCbXFERDs7QWlCaHFEQSxxREFBQTtBQUNBO0VBQ0Msb0NBQUE7RUFDQSxxQkFBQTtBakJtcUREOztBaUJocURBO0VBQ0Msb0NBQUE7QWpCbXFERDs7QWlCaHFEQTtFQUNDLG9DQUFBO0VBQ0EscUJBQUE7QWpCbXFERDs7QWlCaHFEQTtFQUNDLG1DQUFBO0VBQ0EscUJBQUE7QWpCbXFERDs7QWlCaHFEQTtFQUNDLG1DQUFBO0FqQm1xREQ7O0FpQmhxREE7RUFDQyxtQ0FBQTtFQUNBLHFCQUFBO0FqQm1xREQ7O0FpQmhxREEsa0ZBQUE7QUFDQTtFQUNDLHFCQUFBO0VBQ0EsY0FBQTtBakJtcUREOztBaUJocURBO0VBQ0MscUJBQUE7RUFDQSxjQUFBO0FqQm1xREQ7O0FpQmhxREE7RUFDQyxjQUFBO0FqQm1xREQ7O0FpQmhxREE7RUFDQyw2Q0FBQTtFQUNBLG1CQUFBO0FqQm1xREQ7O0FpQmhxREEsK0VBQUE7QUFDQTs7OztFQUlDLG9DQUFBO0VBQ0EscUJBQUE7QWpCbXFERDs7QWlCaHFEQTs7OztFQUlDLG1DQUFBO0VBQ0EscUJBQUE7QWpCbXFERDs7QWlCaHFEQTs7OztFQUlDLHFCQUFBO0FqQm1xREQ7O0FpQmhxREE7Ozs7RUFJQyxxQkFBQTtBakJtcUREOztBaUJocURBOzs7O0VBSUMscUJBQUE7QWpCbXFERDs7QWlCaHFEQTtFQUNDLGVBQUEsRUFBQSxnREFBQTtFQUNBLE9BQUEsRUFBQSw0REFBQTtFQUNBLGFBQUEsRUFBQSxtQ0FBQTtFQUNBLHNCQUFBO0VBQ0EsOEJBQUEsRUFBQSxtQ0FBQTtBakJtcUREOztBaUJocURBO0VBQ0MsZ0JBQUEsRUFBQSw4Q0FBQTtFQUNBLGdCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxhQUFBLEVBQUEsc0JBQUE7RUFDQSxxQkFBQSxFQUFBLG9FQUFBO0VBQ0Esc0RBQUE7RUFDQSxvQ0FBQTtBakJtcUREOztBaUJocURBO0VBQ0MsaUJBQUE7RUFDQSxnQkFBQTtFQUNBLGFBQUE7RUFDQSxtQ0FBQTtFQUNBLG1EQUFBO0FqQm1xREQ7O0FpQmhxREE7RUFDQyxzQkFBQTtFQUNBLGtDQUFBO0VBQ0EsV0FBQTtFQUNBLG1CQUFBLEVBQUEscUJBQUE7RUFDQSx3RUFBQTtFQUNBLGtCQUFBO0FqQm1xREQ7O0FpQmhxREE7RUFDQyxrQkFBQTtFQUNBLFNBQUEsRUFBQSx5Q0FBQTtFQUNBLFdBQUE7RUFDQSwwQ0FBQSxFQUFBLHdDQUFBO0VBQ0EsV0FBQSxFQUFBLGtDQUFBO0VBQ0EsaUJBQUEsRUFBQSxrREFBQTtFQUNBLGlCQUFBLEVBQUEsaUNBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBLEVBQUEsZ0NBQUE7RUFDQSx5QkFBQTtBakJtcUREOztBaUJocURBLDBDQUFBO0FBQ0E7RUFDQywwQ0FBQTtBakJtcUREOztBaUJocURBOzsrREFBQTtBQUlBLDRFQUFBO0FBRUEsc0JBQUE7QUFDQTtFQUNDLGtCQUFBO0VBQ0EscUJBQUE7QWpCaXFERDs7QWlCOXBEQTtFQUNDLGlCQUFBO0VBQ0EsZ0JBQUE7RUFDQSw4QkFBQTtFQUNBLHFCQUFBO0VBQ0EsZ0JBQUE7QWpCaXFERDs7QWlCOXBEQTtFQUNDLGlCQUFBO0VBQ0Esb0NBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0EsY0FBQTtBakJpcUREOztBaUI5cERBO0VBRUMsK0RBQUE7RUFDQSxjQUFBO0VBQ0Esa0JBQUE7RUFDQSxXQUFBO0VBQ0EsU0FBQTtFQUNBLFVBQUE7QWpCZ3FERDs7QWlCN3BEQSw0REFBQTtBQUNBO0VBQ0MsYUFBQTtFQUNBLFNBQUE7RUFDQSxnQkFBQTtFQUNBLDREQUFBO0FqQmdxREQ7O0FpQjdwREEsNERBQUE7QUFDQTtFQUNDO0lBQ0MscUNBQUE7RWpCZ3FEQTtBQUNGO0FpQjdwREE7RUFDQztJQUNDLHFDQUFBO0VqQitwREE7QUFDRjtBaUI1cERBO0VBQ0M7SUFDQyxxQ0FBQTtFakI4cERBO0FBQ0Y7QWlCM3BEQTtFQUNDO0lBQ0MscUNBQUE7RWpCNnBEQTtBQUNGO0FpQjFwREE7RUFDQztJQUNDLHFDQUFBO0VqQjRwREE7QUFDRjtBaUJ6cERBO0VBQ0M7SUFDQyxxQ0FBQTtFakIycERBO0FBQ0Y7QWlCeHBEQTtFQUNDO0lBQ0MscUNBQUE7RWpCMHBEQTtBQUNGO0FpQnZwREE7RUFDQztJQUNDLHFDQUFBO0VqQnlwREE7QUFDRjtBaUJ0cERBO0VBQ0M7SUFDQyxxQ0FBQTtFakJ3cERBO0FBQ0Y7QWlCcnBEQTtFQUNDO0lBQ0MscUNBQUE7RWpCdXBEQTtBQUNGO0FpQnBwREE7RUFDQztJQUNDLHFDQUFBO0VqQnNwREE7QUFDRjtBaUJucERBO0VBQ0M7SUFDQyxxQ0FBQTtFakJxcERBO0FBQ0Y7QWlCbHBEQTtFQUNDOztJQUVDLHdEQUFBO0lBQ0EsZ0JBQUE7SUFDQSxtQkFBQTtFakJvcERBO0FBQ0Y7QWlCanBEQSwrREFBQTtBQUNBO0VBQ0MsYUFBQTtFQUNBLHNCQUFBO0VBQ0EsOEJBQUE7RUFDQSxZQUFBO0VBRUEsNERBQUE7QWpCa3BERDs7QWlCL29EQTtFQUNDLGVBQUEsRUFBQSxpREFBQTtFQUNBLE9BQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7RUFDQSwyQkFBQTtBakJrcEREOztBaUIvb0RBO0VBQ0MsYUFBQSxFQUFBLDhDQUFBO0VBQ0EscUJBQUEsRUFBQSxxQ0FBQTtFQUNBLGdCQUFBLEVBQUEscUNBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0Esc0RBQUE7RUFDQSxvQ0FBQTtFQUNBLHFCQUFBO0FqQmtwREQ7O0FpQi9vREE7RUFDQyxhQUFBO0VBQ0EsaUJBQUE7RUFDQSxnQkFBQTtFQUNBLG1DQUFBO0VBQ0Esb0JBQUE7RUFDQSxxQkFBQTtFQUNBLDRCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxtREFBQTtFQUNBLHFCQUFBO0FqQmtwREQ7O0FpQi9vREEsZ0RBQUE7QUFDQTs7OztFQUlDLG9DQUFBO0VBQ0EscUJBQUE7QWpCa3BERDs7QWlCL29EQTs7OztFQUlDLG1DQUFBO0VBQ0EscUJBQUE7QWpCa3BERDs7QWlCL29EQSxrR0FBQTtBQUNBOzs7O0VBSUMsb0NBQUE7RUFDQSxxQkFBQTtBakJrcEREOztBaUIvb0RBOzs7O0VBSUMsbUNBQUE7RUFDQSxxQkFBQTtBakJrcEREOztBaUIvb0RBLDBCQUFBO0FBQ0E7RUFFQyx5REFBQTtFQUVBO0lBQ0MsbUJBQUE7RWpCZ3BEQTtFaUI3b0REO0lBQ0MsZUFBQTtFakIrb0RBO0VpQjVvREQ7SUFDQyxlQUFBO0VqQjhvREE7RWlCM29ERDtJQUNDLFNBQUE7RWpCNm9EQTtFaUIxb0REO0lBQ0MsMEJBQUE7RWpCNG9EQTtBQUNGO0FpQnpvREEsc0JBQUE7QUFDQTtFQUVDLHFEQUFBO0VBRUE7SUFDQyxjQUFBO0VqQnlvREE7QUFDRjtBaUJ0b0RBOzsrREFBQTtBQUlBLGtDQUFBO0FBQ0E7RUFDQyxhQUFBO0VBQ0EseUJBQUE7RUFDQSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0EsK0NBQUE7QWpCdW9ERDs7QWlCcG9EQSwwQkFBQTtBQUNBO0VBQ0Msb0JBQUE7RUFDQSxtQkFBQTtFQUNBLFdBQUE7RUFDQSx1QkFBQTtFQUNBLDZFQUFBO0VBQ0EsMkNBQUE7RUFDQSxxQkFBQTtFQUNBLHlDQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLHlCQUFBO0VBQ0EsMENBQUE7QWpCdW9ERDtBaUJyb0RDO0VBQ0MsMEVBQUE7RUFDQSxpREFBQTtFQUNBLHFCQUFBO0VBQ0EsMkJBQUE7RUFDQSwyQ0FBQTtBakJ1b0RGO0FpQnBvREM7RUFDQyxvRkFBQTtFQUNBLG1CQUFBO0VBQ0EsMEVBQUE7RUFDQSxpREFBQTtFQUNBLHFCQUFBO0FqQnNvREY7QWlCbm9EQztFQUNDLDJDQUFBO0FqQnFvREY7QWlCbG9EQztFQUNDLGNBQUE7RUFDQSwrQkFBQTtBakJvb0RGO0FpQmpvREM7RUFDQywwQkFBQTtBakJtb0RGOztBa0J4bUVBOzsrREFBQTtBQUlBO0VBQ0MsaUJBQUE7QWxCMG1FRDs7QWtCdm1FQTtFQUNDLDhCQUFBO0VBQ0EscUJBQUE7QWxCMG1FRDs7QWtCdm1FQTtFQUNDLDBCQUFBO0FsQjBtRUQ7O0FrQnZtRUE7RUFDQyxpQkFBQTtFQUNBLG1CQUFBO0VBQ0EsaUNBQUE7RUFDQSxnQkFBQTtBbEIwbUVEOztBbUIvbkVBOzsrREFBQTtBQUlBO0VBQ0Msc0JBQUE7RUFDQSxrQkFBQTtFQUNBLGdCQUFBO0FuQmlvRUQ7O0FtQjluRUE7RUFDQyxhQUFBO0VBQ0EsdUJBQUE7RUFDQSxtQkFBQTtFQUNBLGVBQUE7RUFDQSxXQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLFVBQUE7QW5CaW9FRDs7QW1COW5FQTtFQUNDLFNBQUE7QW5CaW9FRDs7QW1COW5FQTtFQUNDLG9CQUFBO0VBQ0EsbUJBQUE7RUFDQSx1QkFBQTtFQUNBLGVBQUEsRUFBQSx1Q0FBQTtFQUNBLFlBQUE7RUFDQSx1QkFBQTtFQUNBLHFCQUFBO0VBQ0Esc0JBQUE7RUFDQSxpREFBQTtFQUNBLDhDQUFBO0VBQ0EsMENBQUE7RUFDQSxnQkFBQTtFQUNBLGlCQUFBO0VBQ0EseUJBQUE7RUFDQSxzQkFBQTtBbkJpb0VEOztBbUI5bkVBOztFQUVDLHFEQUFBO0VBQ0EsaURBQUE7RUFDQSxXQUFBO0VBQ0EsMkJBQUE7RUFDQSx3Q0FBQTtFQUNBLGFBQUE7QW5CaW9FRDs7QW1COW5FQTtFQUNDLHNEQUFBO0VBQ0EsbUJBQUE7QW5CaW9FRDs7QW1COW5FQTtFQUNDLHFEQUFBO0VBQ0EsaURBQUE7RUFDQSxXQUFBO0VBQ0EsZ0JBQUE7RUFDQSxlQUFBO0FuQmlvRUQ7O0FtQjluRUE7RUFDQyxxREFBQTtFQUNBLGVBQUE7QW5CaW9FRDs7QW1COW5FQTs7RUFFQyxvQkFBQTtFQUNBLGdCQUFBO0FuQmlvRUQ7O0FtQjluRUE7O0VBRUMsaUJBQUE7RUFDQSxpQkFBQTtBbkJpb0VEOztBbUI5bkVBO0VBQ0MsZ0JBQUE7RUFDQSxZQUFBO0VBQ0Esb0NBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7QW5CaW9FRDs7QW1COW5FQTtFQUNDLGdCQUFBO0VBQ0EsWUFBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTtBbkJpb0VEOztBbUI5bkVBO0VBQ0Msb0NBQUE7RUFDQSxpQkFBQTtFQUNBLGdCQUFBO0FuQmlvRUQ7O0FtQjluRUEsMEJBQUE7QUFDQTtFQUVDO0lBQ0Msd0JBQUE7RW5CZ29FQTtFbUI3bkVEO0lBQ0MsWUFBQTtFbkIrbkVBO0VtQjVuRUQ7SUFDQyxlQUFBO0lBQ0EsWUFBQTtJQUNBLGtCQUFBO0VuQjhuRUE7RW1CM25FRDs7SUFFQyx1QkFBQTtFbkI2bkVBO0VtQjFuRUQ7SUFDQyxpQkFBQTtFbkI0bkVBO0FBQ0Y7QW1Cem5FQTtFQUVDO0lBQ0MsZUFBQTtJQUNBLFlBQUE7SUFDQSx1QkFBQTtJQUNBLGlCQUFBO0VuQjBuRUE7RW1Cdm5FRDs7SUFFQyx1QkFBQTtFbkJ5bkVBO0FBQ0Y7QW9CeHdFQTs7K0RBQUE7QUFJQTtFQUNDLGFBQUE7RUFDQSxjQUFBO0FwQnl3RUQ7QW9CdndFQztFQUNDLHVEQUFBO0VBQ0EsU0FBQTtFQUNBLGlCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0FwQnl3RUY7QW9CdndFRTtFQUNDLFlBQUE7RUFDQSxjQUFBO0VBQ0EsdUNBQUE7RUFDQSxrQkFBQTtFQUNBLFlBQUE7RUFDQSxXQUFBO0VBQ0EsY0FBQTtFQUNBLFlBQUE7QXBCeXdFSDtBb0J0d0VFO0VBQ0MsWUFBQTtFQUNBLGNBQUE7RUFDQSx1Q0FBQTtFQUNBLGtCQUFBO0VBQ0EsYUFBQTtFQUNBLGNBQUE7RUFDQSxjQUFBO0VBQ0EsWUFBQTtBcEJ3d0VIO0FvQnB3RUM7RUFDQyxlQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQkFBQTtBcEJzd0VGO0FvQnB3RUU7RUFDQyxvQ0FBQTtBcEJzd0VIO0FvQm53RUU7RUFDQyxjQUFBO0VBQ0EscUJBQUE7QXBCcXdFSDtBb0Jud0VHO0VBQ0MsMEJBQUE7QXBCcXdFSjs7QW9CL3ZFQTtFQUNDLGlEQUFBO0VBQ0EsdUJBQUE7RUFDQSxjQUFBO0VBQ0EsK0NBQUE7RUFDQSx3RUFBQTtFQUNBLG9DQUFBO0VBQ0Esa0JBQUE7QXBCa3dFRDs7QW9CL3ZFQTtFQUNDLFlBQUE7RUFDQSxpQkFBQTtFQUNBLG9DQUFBO0VBQ0Esa0JBQUE7RUFDQSxNQUFBO0VBQ0EsWUFBQTtFQUNBLDJCQUFBO0VBQ0EsY0FBQTtBcEJrd0VEOztBb0IvdkVBO0VBQ0MsWUFBQTtFQUNBLGlCQUFBO0VBQ0Esb0NBQUE7RUFDQSxrQkFBQTtFQUNBLGVBQUE7RUFDQSxhQUFBO0VBQ0EsMkJBQUE7RUFDQSxjQUFBO0FwQmt3RUQ7O0FvQi92RUE7RUFDQyxrQkFBQTtFQUNBLGdCQUFBO0VBQ0Esb0NBQUE7RUFDQSxjQUFBO0VBQ0EsZ0JBQUE7RUFDQSxpQkFBQTtBcEJrd0VEOztBb0IvdkVBO0VBQ0MsYUFBQTtFQUNBLFlBQUE7RUFDQSxtQkFBQTtFQUNBLGtCQUFBO0FwQmt3RUQ7O0FvQi92RUE7RUFDQyxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLDhCQUFBO0VBQ0EsY0FBQTtFQUNBLGdCQUFBO0FwQmt3RUQ7O0FvQi92RUE7RUFDQyxpQkFBQTtFQUNBLGlCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxnQkFBQTtFQUNBLGlDQUFBO0VBQ0EsU0FBQTtFQUNBLFVBQUE7RUFDQSxrQkFBQTtBcEJrd0VEOztBb0IvdkVBO0VBQ0MsWUFBQTtFQUNBLGVBQUE7RUFDQSxpQ0FBQTtFQUNBLGtCQUFBO0VBQ0EsVUFBQTtFQUNBLFdBQUE7RUFDQSwyQkFBQTtBcEJrd0VEOztBb0IvdkVBO0VBQ0MsWUFBQTtFQUNBLGVBQUE7RUFDQSxpQ0FBQTtFQUNBLGtCQUFBO0VBQ0EsYUFBQTtFQUNBLFlBQUE7RUFDQSwyQkFBQTtBcEJrd0VEOztBcUJsNUVBOzsrREFBQTtBQUlBO0VBQ0MsZUFBQTtFQUNBLFlBQUE7QXJCbzVFRDs7QXFCajVFQTtFQUNDLFNBQUE7RUFDQSxVQUFBO0FyQm81RUQ7O0FxQmo1RUE7RUFDQyxXQUFBO0VBQ0EsWUFBQTtFQUNBLHlDQUFBO0FyQm81RUQ7O0FxQmo1RUE7RUFDQyxrQkFBQTtFQUNBLGtCQUFBO0VBQ0Esb0NBQUE7RUFDQSxrQkFBQTtBckJvNUVEOztBc0I1NkVBOzsrREFBQTtBQUlBLGlEQUFBO0FBQ0E7RUFDQyxZQUFBO0VBQ0EsaUJBQUE7QXRCODZFRDs7QXNCMzZFQTtFQUNDLGFBQUE7RUFDQSwyREFBQTtFQUNBLFNBQUE7RUFDQSxtQkFBQTtBdEI4NkVEOztBc0IzNkVBO0VBQ0MseUNBQUE7RUFDQSx5Q0FBQTtFQUNBLG1DQUFBO0VBQ0EsZUFBQTtFQUNBLCtFQUFBO0F0Qjg2RUQ7O0FzQjM2RUE7RUFDQyx5Q0FBQTtFQUNBLDJCQUFBO0F0Qjg2RUQ7O0FzQjM2RUEsdURBQUE7QUFDQTs7OztFQUlDLGdDQUFBO0F0Qjg2RUQ7O0FzQjM2RUEsK0RBQUE7QUFDQTs7RUFFQyxxQkFBQTtBdEI4NkVEOztBc0IzNkVBLHdEQUFBO0FBQ0E7RUFDQyxxQkFBQTtFQUNBLGNBQUE7QXRCODZFRDs7QXNCMzZFQTtFQUNDLHFCQUFBO0VBQ0EsY0FBQTtBdEI4NkVEOztBc0IzNkVBLGdEQUFBO0FBQ0E7RUFDQyxZQUFBO0VBQ0EsbUNBQUE7QXRCODZFRDs7QXNCMzZFQTtFQUNDLFlBQUE7QXRCODZFRDs7QXNCMzZFQSxnREFBQTtBQUNBOzs7RUFHQyxnQkFBQTtFQUNBLHVHQUFBO0F0Qjg2RUQ7O0FzQng2RUE7RUFDQyxrQkFBQTtFQUNBLGtCQUFBO0VBQ0EseUNBQUE7RUFDQSx5Q0FBQTtFQUNBLG1DQUFBO0F0QjI2RUQ7O0FzQng2RUEsOEJBQUE7QUFDQTtFQUVDO0lBQ0MsMEJBQUE7SUFDQSxXQUFBO0V0QjA2RUE7QUFDRjtBdUJwZ0ZBOzsrREFBQTtBQUlBO0VBQ0MsYUFBQTtFQUNBLDJEQUFBO0VBQ0EsU0FBQTtBdkJxZ0ZEOztBdUJsZ0ZBO0VBQ0MseUNBQUE7RUFDQSx5Q0FBQTtFQUNBLG1DQUFBO0VBQ0EsZ0JBQUE7RUFDQSwrRUFBQTtBdkJxZ0ZEOztBdUJsZ0ZBO0VBQ0MseUNBQUE7RUFDQSwyQkFBQTtBdkJxZ0ZEOztBdUJsZ0ZBO0VBQ0MsaUJBQUE7RUFDQSxxQkFBQTtBdkJxZ0ZEOztBdUJsZ0ZBO0VBQ0MsNkRBQUE7RUFDQSxxQkFBQTtBdkJxZ0ZEOztBdUJsZ0ZBO0VBQ0MsaUNBQUE7QXZCcWdGRDs7QXVCbGdGQTtFQUNDLGlFQUFBO0VBQ0EsaUJBQUE7RUFDQSxnQkFBQTtBdkJxZ0ZEOztBdUJsZ0ZBO0VBQ0MsV0FBQTtFQUNBLGFBQUE7RUFDQSxvQkFBQTtLQUFBLGlCQUFBO0F2QnFnRkQ7O0F3Qm5qRkE7OytEQUFBO0FBSUE7Ozs7O0VBS0Msb0JBQUE7RUFDQSxlQUFBO0VBQ0EsaUJBQUE7RUFDQSxTQUFBO0F4QnFqRkQ7O0F3QmxqRkE7O0VBRUMsaUJBQUE7QXhCcWpGRDs7QXdCbGpGQTs7OztFQUlDLDBCQUFBO0F4QnFqRkQ7O0F3QmxqRkE7OytEQUFBO0FBSUEsMEVBQUE7QUFDQTs7Ozs7OztFQU9DLHFCQUFBO0VBQ0EsdUJBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxxQkFBQTtFQUNBLFlBQUE7RUFDQSx5Q0FBQTtFQUNBLGVBQUE7RUFDQSx5QkFBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxvQkFBQTtFQUVBLG9DQUFBO0VBQ0EsbUZBQUE7RUFDQSwyQ0FBQTtFQUNBLHdDQUFBO0F4Qm1qRkQ7QXdCampGQzs7Ozs7OztFQUNDLGdGQUFBO0VBQ0EsaURBQUE7RUFDQSxxQkFBQTtFQUNBLDJCQUFBO0VBQ0EseUNBQUE7QXhCeWpGRjtBd0J0akZDOzs7Ozs7O0VBQ0Msb0ZBQUE7RUFDQSxtQkFBQTtFQUNBLGdGQUFBO0VBQ0EsaURBQUE7RUFDQSxxQkFBQTtBeEI4akZGO0F3QjNqRkM7Ozs7Ozs7RUFDQyx3QkFBQTtFQUNBLHdDQUFBO0F4Qm1rRkY7QXdCaGtGQzs7Ozs7OztFQUNDLDJDQUFBO0F4QndrRkY7QXdCcmtGQzs7Ozs7Ozs7Ozs7OztFQUVDLGlEQUFBO0F4QmtsRkY7O0F3QjlrRkEsNkJBQUE7QUFDQTtFQUNDLHdEQUFBO0VBQ0EsdUNBQUE7RUFDQSxvREFBQTtBeEJpbEZEO0F3Qi9rRkM7RUFFQyxrREFBQTtFQUNBLDBDQUFBO0VBQ0EsOENBQUE7QXhCZ2xGRjtBd0I3a0ZDO0VBQ0MsdUNBQUE7QXhCK2tGRjtBd0I1a0ZDO0VBRUMsMENBQUE7QXhCNmtGRjs7QXlCeHJGQTs7K0RBQUE7QUFJQTtFQUNDLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSxpQkFBQTtFQUNBLCtDQUFBO0F6QjByRkQ7O0F5QnZyRkE7RUFDQywwQ0FBQTtFQUNBLGVBQUE7RUFDQSxjQUFBO0VBQ0EsYUFBQTtFQUNBLDhCQUFBO0VBQ0EsbUJBQUE7RUFDQSxlQUFBO0VBQ0EsU0FBQTtBekIwckZEOztBeUJ2ckZBOztFQUVDLG9DQUFBO0VBQ0EsaUJBQUE7QXpCMHJGRDs7QXlCdnJGQTs7RUFFQyxpQ0FBQTtFQUNBLHFCQUFBO0VBQ0EsZ0JBQUE7QXpCMHJGRDs7QXlCdnJGQTs7RUFFQywwQkFBQTtBekIwckZEOztBeUJ2ckZBO0VBQ0MsU0FBQTtBekIwckZEOztBeUJ2ckZBO0VBQ0MscUJBQUE7RUFDQSxvQkFBQTtFQUNBLGdCQUFBO0VBQ0EsV0FBQTtFQUNBLHFCQUFBO0VBQ0EseUNBQUE7RUFDQSxpQkFBQTtFQUNBLGdCQUFBO0VBQ0EseUJBQUE7QXpCMHJGRDs7QXlCdnJGQTtFQUNDLGdCQUFBO0VBQ0EsV0FBQTtBekIwckZEOztBeUJ2ckZBLDRCQUFBO0FBQ0E7RUFFQztJQUNDLHNCQUFBO0lBQ0EsdUJBQUE7SUFDQSxXQUFBO0V6QnlyRkE7QUFDRjtBMEI3dkZBOzsrREFBQTtBQUlBO0VBRUMsY0FBQTtBMUI2dkZEO0EwQjF2RkM7RUFDQyxrQkFBQTtFQUNBLHFCQUFBO0ExQjR2RkY7QTBCenZGQztFQUNDLGlCQUFBO0VBQ0EsZ0JBQUE7RUFDQSw4QkFBQTtFQUNBLHFCQUFBO0VBQ0EsZ0JBQUE7QTFCMnZGRjtBMEJ4dkZDO0VBQ0MsaUJBQUE7RUFDQSw4QkFBQTtFQUNBLGdCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxjQUFBO0ExQjB2RkY7QTBCdnZGQztFQUVDLG9EQUFBO0VBQ0EsOENBQUE7RUFDQSxpRUFBQTtFQUNBLGdCQUFBO0VBQ0EseUJBQUE7RUFDQSxhQUFBO0VBQ0EscUJBQUE7RUFDQSxjQUFBO0ExQnd2RkY7QTBCdHZGRTtFQUNDLDJCQUFBO0VBQ0EseUVBQUE7QTFCd3ZGSDtBMEJwdkZFO0VBQ0MsY0FBQTtBMUJzdkZIO0EwQm52RkU7RUFDQyxzREFBQTtFQUNBLG1CQUFBO0ExQnF2Rkg7QTBCanZGQztFQUNDLGVBQUE7RUFDQSxrQkFBQTtFQUNBLGdCQUFBO0VBQ0EsbUJBQUE7QTFCbXZGRjtBMEJodkZDO0VBQ0MsV0FBQTtFQUNBLFlBQUE7RUFDQSxzQkFBQTtFQUNBLDJCQUFBO0VBQ0EsNEJBQUE7QTFCa3ZGRjtBMEIvdUZDO0VBQ0MsV0FBQTtFQUNBLFlBQUE7RUFDQSw2REFBQTtFQUNBLGFBQUE7RUFDQSxtQkFBQTtFQUNBLHVCQUFBO0VBQ0EsZUFBQTtFQUNBLHVDQUFBO0ExQml2RkY7QTBCOXVGQztFQUVDLHFEQUFBO0VBQ0EsT0FBQTtFQUNBLGFBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7RUFDQSwyQkFBQTtBMUIrdUZGO0EwQjV1RkM7RUFDQyxtQkFBQTtBMUI4dUZGO0EwQjN1RkM7RUFDQyxlQUFBO0VBQ0EsOEJBQUE7RUFDQSxnQkFBQTtFQUNBLHlCQUFBO0VBQ0EscUJBQUE7QTFCNnVGRjtBMEIxdUZDO0VBQ0MsaUJBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxvQ0FBQTtBMUI0dUZGO0EwQjF1RkU7RUFDQyxjQUFBO0VBQ0EscUJBQUE7QTFCNHVGSDtBMEIxdUZHO0VBQ0MsMENBQUE7QTFCNHVGSjtBMEJ2dUZDO0VBQ0MsaUJBQUE7RUFDQSxnQkFBQTtFQUNBLFNBQUE7RUFDQSw4QkFBQTtFQUVBLG9CQUFBO0VBQ0EscUJBQUE7RUFDQSw0QkFBQTtFQUNBLGdCQUFBO0ExQnd1RkY7O0EwQi90RkE7RUFFQywrQ0FBQTtBMUJpdUZEOztBMEI3dEZBO0VBSUU7SUFDQyxzQkFBQTtJQUNBLFlBQUE7RTFCNnRGRDtFMEIxdEZBO0lBQ0MsVUFBQTtJQUNBLGFBQUE7RTFCNHRGRDtFMEJ6dEZBO0lBQ0MsYUFBQTtFMUIydEZEO0FBQ0Y7QTJCNzNGQTs7K0RBQUE7QUFJQTtFQUNDLFlBQUE7RUFDQSw2QkFBQTtFQUNBLDRDQUFBO0EzQjgzRkQ7O0EyQjMzRkE7RUFDQyxnQkFBQTtFQUNBLGNBQUE7RUFDQSxrRkFBQTtFQUNBLGFBQUE7RUFDQSxrQkFBQTtFQUNBLDhDQUFBO0VBQ0EseVJBQUE7RUFDQSxtQkFBQTtBM0I4M0ZEO0EyQjUzRkM7RUFDQyxtQkFBQTtFQUNBLGdCQUFBO0VBQ0Esa0ZBQUE7RUFDQSxzREFBQTtFQUNBLGtEQUFBO0EzQjgzRkY7QTJCMzNGQztFQUNDLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSx1RUFBQTtFQUNBLG1EQUFBO0EzQjYzRkY7QTJCMTNGQztFQUNDLGFBQUE7RUFDQSx1QkFBQTtFQUNBLFNBQUE7RUFDQSxnQkFBQTtBM0I0M0ZGO0EyQnozRkM7RUFDQyxvQkFBQTtFQUNBLG1CQUFBO0VBQ0EsdUJBQUE7RUFDQSxzQkFBQTtFQUNBLHFEQUFBO0VBQ0Esa0RBQUE7RUFDQSxxQkFBQTtFQUNBLHFEQUFBO0VBQ0EsZ0JBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxZQUFBO0VBQ0EsZUFBQTtFQUNBLHlCQUFBO0VBQ0Esa0JBQUE7QTNCMjNGRjtBMkJ6M0ZFO0VBQ0Msd0RBQUE7RUFDQSwyREFBQTtBM0IyM0ZIO0EyQnYzRkM7RUFDQyw0R0FBQTtFQUNBLHdGQUFBO0VBQ0EscUJBQUE7QTNCeTNGRjtBMkJ2M0ZFO0VBQ0Msd0hBQUE7RUFDQSxxR0FBQTtBM0J5M0ZIOztBNEJqOEZBOzsrREFBQTtBQUlBLCtEQUFBO0FBQ0E7RUFDQyxtQkFBQTtFQUNBLDBCQUFBO0VBQ0Esa0JBQUE7RUFDQSxlQUFBO0VBQ0Esa0JBQUE7RUFDQSxjQUFBO0VBQ0EsaUJBQUE7RUFDQSxZQUFBO0VBQ0EsaUJBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7RUFDQSx1QkFBQTtFQUNBLG1CQUFBO0E1Qm04RkQ7QTRCajhGQztFQUNDLHFCQUFBO0VBQ0EsZ0JBQUE7QTVCbThGRjtBNEJoOEZDO0VBQ0MscUJBQUE7RUFDQSxtQkFBQTtFQUNBLFdBQUE7RUFDQSxvQkFBQTtFQUNBLHFCQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQkFBQTtFQUNBLGdCQUFBO0VBQ0Esc0NBQUE7QTVCazhGRjtBNEJoOEZFO0VBQ0MsbUJBQUE7RUFDQSxXQUFBO0VBQ0EscUJBQUE7QTVCazhGSDs7QTRCNzdGQSxxQ0FBQTtBQUNBO0VBQ0MsYUFBQTtFQUNBLGNBQUE7RUFDQSxnQkFBQTtFQUNBLGlCQUFBO0E1Qmc4RkQ7QTRCOTdGQztFQUNDLHNCQUFBO0VBQ0Esa0JBQUE7QTVCZzhGRjs7QTZCci9GQTs7K0RBQUE7QUFJQTtFQUNDLHVCQUFBO0VBQ0EsV0FBQTtFQUNBLGlCQUFBO0VBQ0EsMkNBQUE7RUFDQSxTQUFBO0VBQ0Esb0JBQUE7QTdCdS9GRDs7QTZCcC9GQTs7K0RBQUE7QUFJQSxpRUFBQTtBQUNBOzs7RUFJQyx5REFBQTtBN0JxL0ZEO0E2QnAvRkM7OztFQUVDLDBFQUFBO0E3QnUvRkY7O0E2Qm4vRkEsMkRBQUE7QUFDQTtFQUVDLDREQUFBO0E3QnEvRkQ7QTZCcC9GQzs7RUFHQyxrRUFBQTtBN0JxL0ZGOztBQ3poR0E7Ozs7Ozs7O0VBQUE7QTZCQUE7Ozs7Ozs7O0VBQUE7QUE2REE7RUFDQyxTQUFBO0VBQ0Esb0JBQUE7QTlCaS9GRDtBOEIvK0ZDO0VBQ0MsU0FBQTtFQUNBLFVBQUE7RUFDQSxTQUFBO0VBQ0EsWUFBQTtBOUJpL0ZGO0E4QjkrRkM7RUFDQyxVQUFBO0VBQ0EsU0FBQTtFQUNBLGNBQUE7QTlCZy9GRjtBOEI1K0ZDO0VBQ0MsbUJBQUE7QTlCOCtGRjtBOEI1K0ZFOzs7OztFQUtDLGNBQUE7RUFDQSxxQkFBQTtFQUNBLGFBQUE7QTlCOCtGSDtBOEIzK0ZFO0VBQ0MsY0FBQTtFQUNBLFlBQUE7RUFDQSxnQkFBQTtBOUI2K0ZIOztBOEJ2K0ZBOzs7RUFJQywwRkFBQTtFQUNBLGtEQUFBO0VBQ0EsYUFBQTtFQUNBLGlEQUFBO0VBQ0EsdUNBQUE7QTlCeStGRDtBOEJyK0ZFOzs7RUFDQyxTQUFBO0VBQ0EsVUFBQTtFQUNBLGdCQUFBO0E5QnkrRkg7QThCditGRzs7O0VBQ0MscUJBQUE7RUFDQSxrQkFBQTtBOUIyK0ZKO0E4QnQrRkk7OztFQUNDLGNBQUE7RUFDQSxxQkFBQTtBOUIwK0ZMO0E4QnQrRkk7OztFQUNDLGNBQUE7RUFDQSxvQkFBQTtBOUIwK0ZMO0E4QnArRks7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQVFDLGdCQUFBO0VBcklMLFdBQUE7RUFDQSwwQ0FBQTtFQUNBLHFCQUFBO0VBQ0EscUNBQUE7RUFDQSxvQ0FBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTtFQUNBLHVHQUNDO0E5QjJuR0Y7QThCdG5HQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBQ0Msc0NBQUE7RUFDQSxnQkFBQTtFQUNBLGFBQUE7RUFDQSw4Q0FBQTtBOUIrb0dGO0E4QjVvR0M7RUFDQyx5QkFBQTtBOUJxcUdGO0E4QnRxR0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUNDLHlCQUFBO0E5QnFxR0Y7QThCaGpHSzs7O0VBQ0MsaUJBQUE7RUFDQSxnQkFBQTtBOUJvakdOO0E4QmpqR0s7OztFQUNDLGVBQUE7RUFDQSxtUEFBQTtFQUNBLHdDQUFBO0VBQ0EsNEJBQUE7RUFDQSw0QkFBQTtFQUNBLHFCQUFBO0VBQ0Esd0JBQUE7S0FBQSxxQkFBQTtVQUFBLGdCQUFBO0E5QnFqR047QThCOWlHTTs7Ozs7Ozs7O0VBbklMLHFCQUFBO0VBQ0EsNENBQUE7QTlCNHJHRDtBOEJqakdJOzs7RUFDQyxtQkFBQTtFQUNBLHlCQUFBO0VBQ0EsY0FBQTtFQUNBLGdCQUFBO0VBQ0EscUJBQUE7RUFDQSxrQkFBQTtFQUNBLG1CQUFBO0E5QnFqR0w7QThCOWlHQzs7O0VBQ0Msa0JBQUE7RUFDQSxrQkFBQTtBOUJrakdGO0E4QmhqR0U7OztFQUNDLDJGQUFBO0VBSUEsd0ZBQUE7RUFJQSxtR0FBQTtFQUVBLHFCQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtFQUNBLGdCQUFBO0VBQ0EsZUFBQTtFQUNBLHlCQUFBO0VBQ0EsV0FBQTtFQUNBLGdCQUFBO0E5QjZpR0g7QThCM2lHRzs7O0VBQ0Msb0dBQUE7RUFJQSxtR0FBQTtFQUlBLDBHQUFBO0VBSUEsMkJBQUE7RUFDQSwwQ0FBQTtBOUJzaUdKO0E4Qm5pR0c7OztFQUNDLHdCQUFBO0E5QnVpR0o7QThCcGlHRzs7O0VBQ0MsbUJBQUE7RUFDQSxXQUFBO0VBQ0EscUJBQUE7RUFDQSxtQkFBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTtFQUNBLFlBQUE7QTlCd2lHSjtBOEJyaUdHOzs7RUFDQyxhQUFBO0VBQ0EsNENBQUE7QTlCeWlHSjtBOEJuaUdDOzs7RUFDQyxtQkFBQTtFQUNBLHlCQUFBO0VBQ0EsY0FBQTtFQUNBLGFBQUE7RUFDQSxxQkFBQTtFQUNBLG1CQUFBO0E5QnVpR0Y7QThCcmlHRTs7O0VBQ0Msb0JBQUE7RUFDQSxjQUFBO0VBQ0EsaUJBQUE7QTlCeWlHSDtBOEJ0aUdFOzs7RUFDQyxTQUFBO0VBQ0EscUJBQUE7QTlCMGlHSDtBOEJ4aUdHOzs7RUFDQyxzQkFBQTtBOUI0aUdKOztBOEJyaUdBO0VBQ0Msa0JBQUE7RUFDQSxxQkFBQTtBOUJ3aUdEO0E4QnJpR0M7O0VBbFJBLFdBQUE7RUFDQSwwQ0FBQTtFQUNBLHFCQUFBO0VBQ0EscUNBQUE7RUFDQSxvQ0FBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTtFQUNBLHVHQUNDO0E5QjB6R0Y7QThCcnpHQzs7RUFDQyxzQ0FBQTtFQUNBLGdCQUFBO0VBQ0EsYUFBQTtFQUNBLDhDQUFBO0E5Qnd6R0Y7QThCcnpHQztFQUNDLHlCQUFBO0E5Qnd6R0Y7QThCenpHQzs7RUFDQyx5QkFBQTtBOUJ3ekdGO0E4QjNqR0M7O0VBR0MsZ0JBQUE7QTlCNGpHRjtBOEIxakdFOztFQUNDLDhCQUFBO0E5QjZqR0g7QThCempHRTtFQUNDLDhCQUFBO0E5QjRqR0g7QThCN2pHRTs7RUFDQyw4QkFBQTtBOUI0akdIO0E4QnhqR0U7RUFDQyxrQkFBQTtBOUIyakdIO0E4QjVqR0U7O0VBQ0Msa0JBQUE7QTlCMmpHSDtBOEJ0akdDO0VBQ0Msa0JBQUE7RUFDQSxXQUFBO0VBQ0EsYUFBQTtFQUNBLDJCQUFBO0VBQ0EseUJBQUE7RUFDQSx5QkFBQTtFQUNBLG9CQUFBO0VBQ0EsdUJBQUE7RUFDQSxVQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0VBQ0EsY0FBQTtFQUNBLGNBQUE7RUFDQSxnQkFBQTtFQUNBLHNCQUFBO0E5QndqR0Y7QThCcGpHQztFQUNDLFdBQUE7RUFDQSwyQkFBQTtBOUJzakdGO0E4QmxqR0M7RUE1UkEsV0FBQTtFQUNBLGFBQUE7RUFDQSxrQkFBQTtFQUNBLHlCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtBOUJvMUdEO0E4Qi9qR0M7Ozs7RUE1UkEsV0FBQTtFQUNBLGFBQUE7RUFDQSxrQkFBQTtFQUNBLHlCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtBOUJvMUdEO0E4QnRqR0U7O0VBRUMsOEJBQUE7QTlCd2pHSDtBOEJyakdFO0VBQ0MsNkJBQUE7QTlCdWpHSDtBOEJwakdFO0VBOVNELFdBQUE7RUFDQSxhQUFBO0VBQ0Esa0JBQUE7RUFDQSx5QkFBQTtFQUNBLGdCQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7QTlCcTJHRDtBOEJ2akdFOztFQS9URCxxQkFBQTtFQUNBLDRDQUFBO0E5QjAzR0Q7QThCdmpHRTtFQUNDLGNBQUE7QTlCeWpHSDtBOEJ0akdFO0VBOVRELFdBQUE7RUFDQSxhQUFBO0VBQ0Esa0JBQUE7RUFDQSx5QkFBQTtFQUNBLGdCQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7RUE2VEUsY0FBQTtBOUI4akdIO0E4QnBrR0U7Ozs7RUE5VEQsV0FBQTtFQUNBLGFBQUE7RUFDQSxrQkFBQTtFQUNBLHlCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtFQTZURSxjQUFBO0E5QjhqR0g7QThCeGpHRTs7RUEvVUQscUJBQUE7RUFDQSw0Q0FBQTtBOUIyNEdEO0E4QnhqR0U7RUEvVUQsV0FBQTtFQUNBLGFBQUE7RUFDQSxrQkFBQTtFQUNBLHlCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtFQThVRSxjQUFBO0E5QmdrR0g7QThCdGtHRTs7OztFQS9VRCxXQUFBO0VBQ0EsYUFBQTtFQUNBLGtCQUFBO0VBQ0EseUJBQUE7RUFDQSxnQkFBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0VBOFVFLGNBQUE7QTlCZ2tHSDs7QThCbmpHRTs7RUFDQyxxQkFBQTtFQUNBLGFBQUE7RUFDQSx1QkFBQTtFQUNBLFdBQUE7QTlCdWpHSDtBOEJyakdHOzs7O0VBRUMsV0FBQTtFQUNBLFNBQUE7RUFDQSxvQkFBQTtBOUJ5akdKO0E4QnRqR0c7O0VBQ0MsU0FBQTtFQUNBLGdCQUFBO0VBQ0EsZUFBQTtFQUNBLE9BQUE7QTlCeWpHSjtBOEJqakdHO0VBQ0MsV0FBQTtFQUNBLGdCQUFBO0VBQ0EsdUJBQUE7RUFDQSxxQkFBQTtFQUNBLG1CQUFBO0VBQ0EsZUFBQTtFQUNBLGtDQUFBO0E5Qm1qR0o7QThCampHSTtFQUNDLDhDQUFBO0VBQ0EsbUJBQUE7QTlCbWpHTDtBOEJoakdJO0VBQ0MsYUFBQTtFQUNBLDhDQUFBO0VBQ0EsOENBQUE7QTlCa2pHTDtBOEIzaUdDO0VBQ0MsYUFBQTtBOUI2aUdGOztBOEJ4aUdBO0VBQ0M7SUFDQyxlQUFBO0U5QjJpR0E7RThCemlHQTtJQUNDLHFCQUFBO0U5QjJpR0Q7RThCdmlHQztJQUNDLHdCQUFBO0lBQ0EsZUFBQTtFOUJ5aUdGO0U4Qm5pR0E7O0lBRUMsZUFBQTtFOUJxaUdEO0FBQ0Y7QThCaGlHQTtFQUVFO0lBQ0MsYUFBQTtFOUJpaUdEO0FBQ0Y7QStCemdIQTs7Ozs7OztFQUFBO0FDQUE7Ozs7OztFQUFBO0FBUUE7OytEQUFBO0FBS0E7RUFFQyxzRUFBQTtFQUNBLGtFQUFBO0VBQ0EsNEVBQUE7RUFHQSxzRUFBQTtFQUNBLHlDQUFBO0VBQ0EsbURBQUE7RUFDQSwrQ0FBQTtFQUNBLDZFQUFBO0VBR0Esd0NBQUE7QWhDMmdIRDs7QWlDdGlIQTs7Ozs7O0VBQUE7QUFRQTs7K0RBQUE7QUFJQTtFQUNDLGNBQUE7QWpDdWlIRDtBaUNyaUhDO0VBSEQ7SUFJRSxpQkFBQTtFakN3aUhBO0FBQ0Y7O0FpQ3JpSEE7OytEQUFBO0FBSUE7RUFDQyxhQUFBO0VBQ0EsTUFBQTtFQUNBLHVCQUFBO0VBQ0EsV0FBQTtBakN1aUhEO0FpQ3JpSEM7RUFORDtJQU9FLHNCQUFBO0lBQ0EsU0FBQTtFakN3aUhBO0FBQ0Y7O0FpQ3JpSEE7RUFDQyxrREFBQTtFQUNBLGlEQUFBO0VBQ0EsYUFBQTtFQUNBLHVDQUFBO0VBQ0EsU0FBQTtBakN3aUhEO0FpQ3RpSEM7RUFQRDtJQVFFLGVBQUE7SUFDQSxVQUFBO0VqQ3lpSEE7QUFDRjs7QWlDdGlIQTtFQUNDLGtEQUFBO0VBQ0EsK0NBQUE7RUFDQSxpREFBQTtFQUNBLGFBQUE7RUFDQSxxQ0FBQTtFQUNBLHNCQUFBO0VBQ0EsU0FBQTtFQUNBLGFBQUE7RUFDQSxzQkFBQTtFQUNBLHdCQUFBO0VBQUEsbUJBQUE7QWpDeWlIRDtBaUN2aUhDO0VBWkQ7SUFhRSxlQUFBO0lBQ0EsVUFBQTtJQUNBLGNBQUE7RWpDMGlIQTtBQUNGOztBaUN2aUhBOzsrREFBQTtBQUlBO0VBQ0Msa0JBQUE7QWpDeWlIRDs7QWlDdGlIQTtFQUNDLFdBQUE7RUFDQSxpQkFBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7QWpDeWlIRDs7QWlDdGlIQTtFQUNDLFdBQUE7RUFDQSxZQUFBO0VBQ0Esb0JBQUE7S0FBQSxpQkFBQTtFQUNBLDBCQUFBO0tBQUEsdUJBQUE7QWpDeWlIRDs7QWlDdGlIQTtFQUNDLGlCQUFBO0VBQ0Esa0JBQUE7RUFDQSxVQUFBO0FqQ3lpSEQ7O0FpQ3RpSEE7RUFDQyxhQUFBO0VBQ0EsOEJBQUE7RUFDQSxTQUFBO0VBQ0Esa0JBQUE7QWpDeWlIRDtBaUN2aUhDO0VBTkQ7SUFPRSwwQkFBQTtJQUNBLFNBQUE7RWpDMGlIQTtBQUNGOztBaUN2aUhBO0VBQ0Msd0RBQUE7RUFDQSwwQkFBQTtFQUNBLGFBQUE7RUFDQSx1Q0FBQTtBakMwaUhEO0FpQ3hpSEM7RUFORDtJQU9FLGFBQUE7RWpDMmlIQTtBQUNGO0FpQ3ppSEM7RUFWRDtJQVdFLGFBQUE7RWpDNGlIQTtBQUNGOztBaUN6aUhBO0VBQ0Msd0RBQUE7RUFDQSwwQkFBQTtFQUNBLGFBQUE7RUFDQSx1Q0FBQTtFQUNBLGdCQUFBO0VBQ0EsU0FBQTtBakM0aUhEO0FpQzFpSEM7RUFSRDtJQVNFLGFBQUE7SUFDQSxnQkFBQTtFakM2aUhBO0FBQ0Y7QWlDM2lIQztFQWJEO0lBY0UsYUFBQTtFakM4aUhBO0FBQ0Y7O0FpQzNpSEE7OytEQUFBO0FBT0M7RUFDQyxhQUFBO0FqQzBpSEY7O0FpQ25pSEM7RUFDQyxjQUFBO0FqQ3NpSEY7O0FpQ2xpSEE7OytEQUFBO0FBSUE7RUFFQztJQUNDLGlCQUFBO0VqQ21pSEE7QUFDRjtBaUNoaUhBO0VBRUM7SUFDQyxpQkFBQTtFakNpaUhBO0FBQ0Y7QWtDanRIQTs7Ozs7O0VBQUE7QUFRQTs7K0RBQUE7QUFJQTtFQUNDLGFBQUE7RUFDQSxpQkFBQTtFQUNBLHNCQUFBO0VBQ0EsNEJBQUE7RUFDQSxrQ0FBQTtFQUNBLCtDQUFBO0FsQ2l0SEQ7QWtDL3NIQztFQVJEO0lBU0UsYUFBQTtJQUNBLGlCQUFBO0VsQ2t0SEE7QUFDRjs7QWtDL3NIQTs7K0RBQUE7QUFJQTtFQUNDLGlCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxpQkFBQTtFQUNBLCtDQUFBO0VBQ0EsZ0JBQUE7RUFDQSxzREFBQTtBbENpdEhEO0FrQy9zSEM7RUFSRDtJQVNFLGlCQUFBO0VsQ2t0SEE7QUFDRjs7QWtDL3NIQTtFQUNDLGtCQUFBO0VBQ0EseURBQUE7RUFDQSxrQkFBQTtFQUNBLG1CQUFBO0VBQ0EsbURBQUE7QWxDa3RIRDs7QWtDOXNIQTtFQUNDLCtDQUFBO0FsQ2l0SEQ7QWtDL3NIQzs7Ozs7Ozs7O0VBU0MsK0NBQUE7QWxDaXRIRjs7QWtDN3NIQTs7K0RBQUE7QUFJQTtFQUNDLGtCQUFBO0FsQytzSEQ7QWtDN3NIQztFQUNDLDBDQUFBO0VBQ0EscUJBQUE7RUFDQSxnQkFBQTtFQUNBLG1EQUFBO0FsQytzSEY7QWtDN3NIRTtFQUNDLDBCQUFBO0FsQytzSEg7O0FrQzFzSEE7RUFDQyxhQUFBO0VBQ0EsZUFBQTtFQUNBLFFBQUE7QWxDNnNIRDs7QWtDMXNIQTtFQUNDLHFCQUFBO0FsQzZzSEQ7QWtDM3NIQztFQUNDLGlEQUFBO0VBQ0EseURBQUE7RUFDQSxnQkFBQTtFQUNBLG9EQUFBO0VBQ0Esa0JBQUE7RUFDQSxxQkFBQTtFQUNBLHlCQUFBO0VBQ0EsbURBQUE7QWxDNnNIRjtBa0Mzc0hFO0VBQ0MsMEVBQUE7RUFDQSxXQUFBO0FsQzZzSEg7O0FrQ3hzSEE7OytEQUFBO0FBSUE7RUFDQyxnQkFBQTtFQUNBLG1CQUFBO0FsQzBzSEQ7QWtDeHNIQztFQUNDLHVDQUFBO0VBQ0EsbUJBQUE7QWxDMHNIRjtBa0N2c0hDO0VBQ0MsbUJBQUE7QWxDeXNIRjs7QWtDcnNIQTtFQUNDLHVDQUFBO0VBQ0EsaUJBQUE7RUFDQSxtQkFBQTtFQUNBLGtCQUFBO0FsQ3dzSEQ7QWtDdHNIQztFQU5EO0lBT0UsaUJBQUE7RWxDeXNIQTtBQUNGO0FrQ3ZzSEM7RUFWRDtJQVdFLGlCQUFBO0VsQzBzSEE7QUFDRjs7QWtDdnNIQTtFQUNDLGlCQUFBO0VBQ0Esb0NBQUE7RUFDQSxtQkFBQTtBbEMwc0hEOztBa0N2c0hBOzsrREFBQTtBQUlBO0VBQ0MsMkJBQUE7RUFDQSxtQkFBQTtFQUNBLGFBQUE7RUFDQSxrQkFBQTtFQUNBLFVBQUE7QWxDeXNIRDtBa0N2c0hDO0VBUEQ7SUFRRSxlQUFBO0VsQzBzSEE7QUFDRjs7QWtDdnNIQTtFQUNDLG1CQUFBO0VBQ0EsaUJBQUE7RUFDQSxvQ0FBQTtFQUNBLGtCQUFBO0FsQzBzSEQ7O0FtQ3QzSEE7Ozs7OztFQUFBO0FBUUE7OytEQUFBO0FBSUE7RUFDQywyREFBQTtFQUNBLGVBQUE7RUFDQSx3RkFBQTtFQUNBLDJCQUFBO0VBQ0EsZ0JBQUE7QW5DdTNIRDtBbUNyM0hDO0VBUEQ7SUFRRSxpQ0FBQTtJQUNBLHdGQUFBO0VuQ3czSEE7QUFDRjtBbUN0M0hDO0VBQ0Msa0JBQUE7RUFDQSxpQkFBQTtFQUNBLGdCQUFBO0VBQ0EsK0NBQUE7RUFDQSxzREFBQTtBbkN3M0hGOztBbUNwM0hBO0VBQ0MsYUFBQTtFQUNBLG1CQUFBO0VBQ0EsU0FBQTtFQUNBLHFCQUFBO0FuQ3UzSEQ7QW1DcjNIQztFQU5EO0lBT0UsWUFBQTtFbkN3M0hBO0FBQ0Y7O0FtQ3IzSEE7RUFDQyxpQkFBQTtFQUNBLGdCQUFBO0VBQ0Esd0RBQUE7RUFDQSxjQUFBO0FuQ3czSEQ7QW1DdDNIQztFQU5EO0lBT0UsaUJBQUE7RW5DeTNIQTtBQUNGOztBbUN0M0hBO0VBQ0MsZUFBQTtFQUNBLGdCQUFBO0VBQ0Esd0RBQUE7RUFDQSxnQkFBQTtFQUNBLE9BQUE7RUFDQSxtREFBQTtBbkN5M0hEO0FtQ3YzSEM7RUFSRDtJQVNFLGlCQUFBO0VuQzAzSEE7QUFDRjs7QW1DdjNIQTtFQUNDLGtCQUFBO0VBQ0EsNkZBQUE7RUFDQSxrQkFBQTtFQUNBLG1EQUFBO0FuQzAzSEQ7O0FtQ3YzSEE7RUFDQyxZQUFBO0VBQ0Esb0dBQUE7RUFLQSxrQkFBQTtFQUNBLGdCQUFBO0FuQ3MzSEQ7O0FtQ24zSEE7RUFDQyxZQUFBO0VBQ0EsNkRBQUE7RUFDQSxrQkFBQTtFQUNBLDJCQUFBO0FuQ3MzSEQ7O0FtQ24zSEE7OytEQUFBO0FBSUE7RUFDQyxtQkFBQTtBbkNxM0hEOztBbUNsM0hBO0VBQ0MsY0FBQTtFQUNBLGlCQUFBO0VBQ0EsZ0JBQUE7RUFDQSwwQ0FBQTtFQUNBLGNBQUE7QW5DcTNIRDtBbUNuM0hDO0VBUEQ7SUFRRSxlQUFBO0VuQ3MzSEE7QUFDRjtBbUNwM0hDO0VBWEQ7SUFZRSxpQkFBQTtFbkN1M0hBO0FBQ0Y7O0FtQ3AzSEE7RUFDQyxjQUFBO0VBQ0EsaUJBQUE7RUFDQSxvQ0FBQTtFQUNBLHlCQUFBO0VBQ0EscUJBQUE7RUFDQSxlQUFBO0FuQ3UzSEQ7O0FtQ3AzSEE7RUFDQyxpQkFBQTtFQUNBLG9DQUFBO0VBQ0EsbUJBQUE7QW5DdTNIRDs7QW1DcDNIQTtFQUNDLGlCQUFBO0VBQ0EsZ0JBQUE7RUFDQSwwQ0FBQTtFQUNBLG1CQUFBO0FuQ3UzSEQ7O0FtQ3AzSEE7RUFDQyxXQUFBO0VBQ0EsWUFBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtFQUNBLG1CQUFBO0FuQ3UzSEQ7O0FtQ3AzSEE7RUFDQyxZQUFBO0VBQ0Esd0ZBQUE7RUFDQSwyQkFBQTtFQUNBLDBCQUFBO0FuQ3UzSEQ7O0FtQ3AzSEE7OytEQUFBO0FBSUE7RUFDQyxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxvQ0FBQTtFQUNBLGtCQUFBO0FuQ3MzSEQ7O0FtQ24zSEE7RUFDQyxnQkFBQTtFQUNBLDBDQUFBO0VBQ0EsaUJBQUE7RUFDQSxtQkFBQTtBbkNzM0hEOztBbUNuM0hBO0VBQ0MsV0FBQTtFQUNBLFlBQUE7RUFDQSxtQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxjQUFBO0VBQ0Esa0JBQUE7QW5DczNIRDs7QW1DbjNIQTtFQUNDLFlBQUE7RUFDQSwrQ0FBQTtFQUNBLGtDQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQkFBQTtBbkNzM0hEO0FtQ3AzSEM7RUFDQyxXQUFBO0VBQ0Esa0JBQUE7RUFDQSxNQUFBO0VBQ0EsT0FBQTtFQUNBLFFBQUE7RUFDQSxTQUFBO0VBQ0EsK0tBQUE7RUFTQSwwQkFBQTtFQUNBLDJDQUFBO0FuQzgySEY7O0FtQzEySEE7RUFFQztJQUNDLDRCQUFBO0VuQzQySEE7RW1DejJIRDtJQUNDLDJCQUFBO0VuQzIySEE7QUFDRjtBbUN4MkhBOzsrREFBQTtBQUtBO0VBQ0MsMkRBQUE7RUFDQSxlQUFBO0VBQ0EsMkJBQUE7RUFDQSxnQkFBQTtFQUNBLHdFQUFBO0FuQ3cySEQ7QW1DdDJIQztFQVBEO0lBUUUsaUNBQUE7SUFDQSx3RUFBQTtFbkN5MkhBO0FBQ0Y7QW1DdjJIQztFQUNDLGtCQUFBO0VBQ0EsaUJBQUE7RUFDQSxnQkFBQTtFQUNBLHdEQUFBO0VBQ0Esc0RBQUE7QW5DeTJIRjs7QW9DOWxJQTs7Ozs7OztFQUFBO0FBU0E7OytEQUFBO0FBSUE7RUFDQyx1REFBQTtFQUNBLGVBQUE7RUFDQSx3RkFBQTtFQUNBLDJCQUFBO0VBQ0EsYUFBQTtBcEMrbElEO0FvQzdsSUM7RUFQRDtJQVFFLGlDQUFBO0lBQ0Esd0ZBQUE7RXBDZ21JQTtBQUNGO0FvQzlsSUM7RUFDQyxrQkFBQTtFQUNBLGlCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxvREFBQTtFQUNBLHNEQUFBO0FwQ2dtSUY7QW9DNWxJQztFQUNDLHdEQUFBO0VBQ0Esa0ZBQUE7RUFDQSwrRUFBQTtBcEM4bElGO0FvQzVsSUU7RUFDQyx1QkFBQTtFQUNBLDBDQUFBO0FwQzhsSUg7O0FvQ3psSUE7OytEQUFBO0FBS0E7RUFDQyxTQUFBO0FwQzBsSUQ7QW9DeGxJQztFQUNDLG1CQUFBO0FwQzBsSUY7QW9DeGxJRTtFQUNDLGdCQUFBO0FwQzBsSUg7QW9DdGxJRTtFQUNDLG9EQUFBO0FwQ3dsSUg7QW9DdGxJRztFQUNDLDhCQUFBO0FwQ3dsSUo7QW9DbGxJRzs7Ozs7RUFLQyx1RUFBQTtFQUNBLHFDQUFBO0VBQ0EsV0FBQTtBcENvbElKO0FvQ2xsSUk7Ozs7O0VBQ0Msa0JBQUE7RUFDQSxnQkFBQTtFQUNBLDhDQUFBO0FwQ3dsSUw7QW9DbGxJRTtFQUdDLHFCQUFBO0VBQ0EsNENBQUE7QXBDa2xJSDtBb0Mva0lFO0VBR0MscUJBQUE7RUFDQSw0Q0FBQTtBcEMra0lIO0FvQzNrSUU7RUFDQyxXQUFBO0VBQ0Esa0NBQUE7QXBDNmtJSDtBb0N6a0lFO0VBQ0MsY0FBQTtBcEMya0lIOztBb0Nwa0lDOztFQUVDLHVFQUFBO0VBQ0EscUNBQUE7RUFDQSxXQUFBO0FwQ3VrSUY7QW9DcmtJRTs7RUFDQyxrQkFBQTtFQUNBLGdCQUFBO0VBQ0EsOENBQUE7QXBDd2tJSDs7QW9DbmtJQTs7K0RBQUE7QUFLQTtFQUNDLHVEQUFBO0VBQ0EsZUFBQTtFQUNBLHdFQUFBO0VBQ0EsMkJBQUE7RUFDQSxhQUFBO0FwQ29rSUQ7QW9DbGtJQztFQVBEO0lBUUUsaUNBQUE7SUFDQSx3RUFBQTtFcENxa0lBO0FBQ0Y7QW9DbmtJQztFQUNDLGtCQUFBO0VBQ0EsaUJBQUE7RUFDQSxnQkFBQTtFQUNBLG9EQUFBO0VBQ0Esc0RBQUE7QXBDcWtJRjtBb0Nqa0lDO0VBQ0MsK0NBQUE7RUFDQSxXQUFBO0VBQ0Esc0JBQUE7RUFDQSxhQUFBO0VBQ0EsZ0JBQUE7RUFDQSxlQUFBO0VBQ0EsV0FBQTtFQUNBLHFEQUFBO0VBQ0EsZUFBQTtFQUNBLGlEQUFBO0VBQ0EsbURBQUE7QXBDbWtJRjtBb0Nqa0lFO0VBQ0MsdUJBQUE7RUFDQSwwQ0FBQTtBcENta0lIOztBb0M5aklBOzsrREFBQTtBQUtBOztFQUVDLFNBQUE7RUFHQSxrQ0FBQTtFQUNBLHFCQUFBO0VBQ0EsMkJBQUE7RUFDQSwyQkFBQTtBcEM2aklEO0FvQzNqSUM7O0VBQ0MsbUJBQUE7QXBDOGpJRjtBb0M1aklFOztFQUNDLGdCQUFBO0FwQytqSUg7QW9DMWpJRzs7Ozs7Ozs7OztFQUtDLG1GQUFBO0VBQ0EsMEVBQUE7RUFDQSxrREFBQTtBcENpa0lKO0FvQy9qSUk7Ozs7Ozs7Ozs7RUFDQyxpRUFBQTtFQUNBLG9EQUFBO0VBQ0Esb0ZBQUE7QXBDMGtJTDtBb0Nua0lFOzs7O0VBR0MsNkRBQUE7RUFDQSx3RUFBQTtBcENza0lIO0FvQ25rSUU7Ozs7RUFHQywyREFBQTtFQUNBLHNFQUFBO0FwQ3NrSUg7QW9DbGtJRTs7RUFDQywwQ0FBQTtFQUNBLDREQUFBO0FwQ3FrSUg7QW9DamtJRTs7RUFDQywwREFBQTtBcENva0lIO0FvQ2hrSUU7O0VBQ0Msd0NBQUE7QXBDbWtJSDs7QW9DNWpJQzs7RUFFQyxtRkFBQTtFQUNBLDBFQUFBO0VBQ0Esa0RBQUE7QXBDK2pJRjtBb0M3aklFOztFQUNDLGlFQUFBO0VBQ0Esb0RBQUE7RUFDQSxvRkFBQTtBcENna0lIOztBcUN6MElBOzs7Ozs7RUFBQTtBQVFBOzsrREFBQTtBQUlBO0VBQ0MsaUJBQUE7RUFDQSxnQkFBQTtFQUNBLHdEQUFBO0VBQ0Esa0JBQUE7QXJDMDBJRDtBcUN4MElDO0VBQ0MsV0FBQTtFQUNBLGtCQUFBO0VBQ0EsU0FBQTtFQUNBLE9BQUE7RUFDQSxRQUFBO0VBQ0EsWUFBQTtFQUNBLG1PQUFBO0VBT0Esb0JBQUE7RUFDQSxxREFBQTtBckNvMElGO0FxQ2owSUM7RUFDQyxnQkFBQTtBckNtMElGO0FxQ2owSUU7RUFDQyxVQUFBO0VBQ0Esb0JBQUE7QXJDbTBJSDs7QXFDOXpJQTtFQUNDLGdCQUFBO0VBQ0Esa0JBQUE7QXJDaTBJRDs7QXFDOXpJQTtFQUNDLGdCQUFBO0VBQ0EsK0NBQUE7RUFDQSxrQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZUFBQTtFQUNBLG9CQUFBO0VBQ0EsbUJBQUE7RUFDQSxTQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0VBQ0Esc0RBQUE7RUFDQSxvQ0FBQTtFQUNBLGlEQUFBO0FyQ2kwSUQ7QXFDL3pJQztFQUNDLGlEQUFBO0VBQ0EsMENBQUE7RUFDQSx5Q0FBQTtBckNpMElGO0FxQzl6SUM7RUFyQkQ7SUFzQkUsa0JBQUE7SUFDQSxlQUFBO0VyQ2kwSUE7QUFDRjs7QXFDOXpJQTtFQUNDLHVEQUFBO0FyQ2kwSUQ7O0FxQzl6SUE7RUFDQyx5QkFBQTtBckNpMElEOztBcUM5eklBOzsrREFBQTtBQUlBO0VBQ0MsaUJBQUE7RUFDQSxnQkFBQTtFQUNBLGdDQUFBO0VBQ0Esa0JBQUE7QXJDZzBJRDtBcUM5eklDO0VBQ0MsV0FBQTtFQUNBLGtCQUFBO0VBQ0EsU0FBQTtFQUNBLE9BQUE7RUFDQSxRQUFBO0VBQ0EsYUFBQTtFQUNBLG1PQUFBO0VBT0Esb0JBQUE7QXJDMHpJRjtBcUN4eklFO0VBaEJEO0lBaUJFLFlBQUE7RXJDMnpJRDtBQUNGO0FxQ3h6SUM7RUFDQyxnQkFBQTtBckMweklGO0FxQ3h6SUU7RUFDQyxhQUFBO0FyQzB6SUg7O0FxQ3J6SUE7RUFDQyxlQUFBO0VBQ0Esa0JBQUE7QXJDd3pJRDs7QXFDcnpJQTtFQUNDLGdCQUFBO0VBQ0Esc0JBQUE7RUFDQSxrQkFBQTtFQUNBLGlCQUFBO0VBQ0EsZUFBQTtFQUNBLG9CQUFBO0VBQ0EsbUJBQUE7RUFDQSxRQUFBO0VBQ0EsZUFBQTtFQUNBLG9DQUFBO0VBQ0EseUJBQUE7QXJDd3pJRDtBcUN0eklDO0VBQ0MsaURBQUE7RUFDQSwwQ0FBQTtBckN3eklGOztBcUNweklBO0VBQ0MsK0JBQUE7QXJDdXpJRDs7QXFDcHpJQTtFQUNDLHlCQUFBO0FyQ3V6SUQ7O0FzQ2w5SUE7Ozs7OztFQUFBO0FBUUE7OytEQUFBO0FBSUE7RUFDQyxtQkFBQTtFQUNBLGNBQUE7RUFDQSxhQUFBO0VBQ0Esb0RBQUE7RUFDQSx5QkFBQTtFQUNBLGNBQUE7QXRDbTlJRDtBc0NqOUlDO0VBQ0MsU0FBQTtFQUNBLG1EQUFBO0F0Q205SUY7O0FzQzk4SUE7RUFDQyxtQkFBQTtFQUNBLGNBQUE7RUFDQSxhQUFBO0VBQ0Esb0RBQUE7RUFDQSx5QkFBQTtFQUNBLGNBQUE7QXRDaTlJRDtBc0MvOElDO0VBQ0MsU0FBQTtFQUNBLG1EQUFBO0F0Q2k5SUY7O0FzQzc4SUE7OytEQUFBO0FBSUE7RUFDQyw0Q0FBQTtFQUNBLHFEQUFBO0VBQ0Esa0JBQUE7RUFDQSxhQUFBO0VBQ0Esa0JBQUE7RUFDQSwwQ0FBQTtFQUNBLGtDQUFBO0F0Qys4SUQ7QXNDNzhJQztFQUNDLFNBQUE7RUFDQSxnQkFBQTtBdEMrOElGOztBc0MzOElBO0VBQ0MsMENBQUE7RUFDQSx3Q0FBQTtFQUNBLGFBQUE7RUFDQSxrQkFBQTtFQUNBLGtCQUFBO0VBQ0EsY0FBQTtBdEM4OElEOztBc0MzOElBO0VBRUM7SUFDQyxVQUFBO0lBQ0EsNEJBQUE7RXRDNjhJQTtFc0MxOElEO0lBQ0MsVUFBQTtJQUNBLHdCQUFBO0V0QzQ4SUE7QUFDRjtBQzNoSkE7Ozs7Ozs7O0VBQUE7QXNDQUE7Ozs7Ozs7RUFBQTtBQW9EQTtFQUNDLHFFQUFBO0VBQ0EsY0FBQTtFQUNBLHlEQUFBO0VBQ0EsU0FBQTtFQUNBLDJCQUFBO0VBRUEsb0RBQUE7QXZDeS9JRDtBdUN4L0lDO0VBUkQ7SUFTRSxlQUFBO0V2QzIvSUE7QUFDRjtBdUNyZ0pBO0VBWUMsaUNBQUE7QXZDNC9JRDtBdUMzL0lDO0VBYkQ7SUFjRSx3REFBQTtFdkM4L0lBO0FBQ0Y7QXVDNS9JQztFQWpCRDtJQWtCRSwwREFBQTtFdkMrL0lBO0FBQ0Y7QXVDbGhKQTtFQXFCQyx1QkFBQTtBdkNnZ0pEO0F1Qy8vSUM7RUF0QkQ7SUF1QkUsV0FBQTtJQUNBLE9BQUE7SUFDQSxlQUFBO0V2Q2tnSkE7QUFDRjtBdUNoZ0pDO0VBNUJEO0lBNkJFLGNBQUE7RXZDbWdKQTtBQUNGOztBdUMzL0lBO0VBRUMsYUE5RG9CO0VBK0RwQixpQkEvRG9CO0VBZ0VwQixzQkFBQTtFQUNBLDRCQUFBO0VBQ0Esa0NBQUE7QXZDNi9JRDtBdUMzL0lDO0VBUkQ7SUFTRSxhQXBFMEI7SUFxRTFCLGlCQXJFMEI7RXZDbWtKMUI7QUFDRjs7QXVDei9JQztFQUNDLGFBQUE7QXZDNC9JRjs7QXVDdi9JQztFQUNDLGNBQUE7RUFDQSx5Q0FBQTtBdkMwL0lGOztBdUNqL0lBO0VBQ0MsaUJBMUdzQixFQTBHYSxzQ0FBQTtFQUNuQyxhQUFBO0VBQ0EsU0FBQSxFQUFBLGdDQUFBO0VBQ0Esa0JBQUE7RUFDQSxVQXpGc0I7RUEwRnRCLGFBdEdvQjtFQXVHcEIsaUJBQUE7RUFDQSxrQkFBQTtBdkNvL0lEO0F1Q2wvSUM7RUFWRDtJQVdFLFlBNUdpQjtFdkNpbUpqQjtBQUNGO0F1Q24vSUM7RUFkRDtJQWVFLFdBQUE7SUFDQSxjQUFBO0lBQ0EsZUFBQTtJQUNBLGlCQTFINEI7SUEySDVCLHNCQUFBO0lBQ0EsU0FBQTtFdkNzL0lBO0FBQ0Y7O0F1Q24vSUE7RUFFQyxhQUFBO0VBQ0EsTUFBQTtFQUNBLHVCQUFBO0VBQ0EsV0FBQTtBdkNxL0lEO0F1Q24vSUM7RUFQRDtJQVFFLHNCQUFBO0lBQ0EsU0FBQTtFdkNzL0lBO0FBQ0Y7O0F1Q24vSUE7RUFFQyx3REFBQTtFQUNBLHdFQUFBO0VBQ0EsYUFBQTtFQUNBLGlFQUFBO0VBQ0EsU0FBQTtBdkNxL0lEO0F1Q24vSUM7RUFSRDtJQVNFLFFBQUEsRUFBQSx1Q0FBQTtJQUNBLGVBQUE7SUFDQSxVQUFBO0lBQ0EsV0FBQSxFQUFBLHlCQUFBO0lBQ0EseUNBQUE7RXZDcy9JQTtBQUNGOztBdUNuL0lBO0VBRUMsMkRBQUE7RUFDQSwrQ0FBQTtFQUNBLHlDQUFBO0VBQ0EsYUFBQTtFQUNBLHdFQUFBO0VBQ0Esc0JBQUE7RUFDQSxTQUFBO0VBQ0EsYUFBQTtFQUNBLHNCQUFBO0VBQ0Esd0JBQUE7RUFBQSxtQkFBQTtFQUNBLGtCQXpLc0IsRUF5S2EsK0JBQUE7QXZDcS9JcEM7QXVDbi9JQztFQWREO0lBZUUsUUFBQSxFQUFBLCtDQUFBO0lBQ0EsZUFBQTtJQUNBLGFBN0s0QjtJQThLNUIsVUFBQTtJQUNBLFdBQUEsRUFBQSx5QkFBQTtJQUNBLGNBQUEsRUFBQSxpQ0FBQTtFdkNzL0lBO0FBQ0Y7O0F1Q24vSUE7RUFDQyxhQUFBO0VBQ0Esc0JBQUE7QXZDcy9JRDtBdUNwL0lDO0VBSkQ7SUFLRSxjQUFBLEVBQUEsaUNBQUE7SUFDQSxnQkFBQSxFQUFBLG1FQUFBO0lBQ0EsY0FBQSxFQUFBLHFEQUFBO0V2Q3UvSUE7QUFDRjs7QXVDLytJQTtFQUNDLDZEQUFBO0F2Q2svSUQ7O0F1Qy8rSUE7RUFDQyxtQkFBQTtBdkNrL0lEOztBdUMvK0lBO0VBRUMsaUJBak1pQjtFQWtNakIsZ0JBQUE7RUFDQSxpQkFBQTtFQUNBLG9GQUFBO0VBQ0EsZ0JBQUE7RUFDQSxzREFBQTtBdkNpL0lEO0F1Qy8rSUM7RUFURDtJQVVFLGlCQXhNdUI7RXZDMHJKdkI7QUFDRjs7QXVDLytJQSx5REFBQTtBQUNBO0VBQ0MsYUFBQTtFQUNBLGtCQUFBO0F2Q2svSUQ7QXVDaC9JQztFQUpEO0lBS0UsaUJBbE51QjtFdkNxc0p2QjtBQUNGOztBdUNoL0lBO0VBRUMsa0JBdk5tQjtFQXdObkIsK0RBQUE7RUFDQSxrQkFBQTtFQUNBLG1CQUFBO0VBQ0EsbURBQUE7QXZDay9JRDs7QXVDLytJQTtFQUNDLG1CQUFBO0F2Q2svSUQ7O0F1QzkrSUE7RUFDQyw4RUFBQTtBdkNpL0lEO0F1Qy8rSUM7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQWtCQyw4RUFBQTtBdkNpL0lGO0F1QzkrSUM7RUFDQyw4RUFBQTtBdkNnL0lGOztBdUMzK0lBO0VBQ0MsaUJBQUE7RUFDQSxnQkFBQTtFQUNBLHdEQUFBO0VBQ0Esa0JBQUE7QXZDOCtJRDtBdUM1K0lDO0VBQ0MsV0FBQTtFQUNBLGtCQUFBO0VBQ0EsU0FBQTtFQUNBLE9BQUE7RUFDQSxRQUFBO0VBQ0EsWUFBQTtFQUNBLG1PQUFBO0VBT0Esb0JBQUE7RUFDQSxxREFBQTtBdkN3K0lGO0F1Q3IrSUM7RUFDQyxnQkFBQTtBdkN1K0lGO0F1Q3IrSUU7RUFDQyxVQUFBO0VBQ0Esb0JBQUE7QXZDdStJSDs7QXVDbCtJQTtFQUNDLGdCQUFBO0VBQ0Esa0JBQUE7QXZDcStJRDs7QXVDbCtJQTtFQUNDLGdCQUFBO0VBQ0EsK0NBQUE7RUFDQSxrQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZUFBQTtFQUNBLG9CQUFBO0VBQ0EsbUJBQUE7RUFDQSxTQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0VBQ0Esc0RBQUE7RUFDQSxvQ0FBQTtFQUNBLGlEQUFBO0F2Q3ErSUQ7QXVDbitJQztFQUNDLGlEQUFBO0VBQ0EsMENBQUE7RUFDQSx5Q0FBQTtBdkNxK0lGO0F1Q2wrSUM7RUFyQkQ7SUFzQkUsa0JBQUE7SUFDQSxlQUFBO0V2Q3ErSUE7QUFDRjs7QXVDbCtJQTtFQUNDLHVEQUFBO0F2Q3ErSUQ7O0F1Q2wrSUE7RUFDQyx5QkFBQTtBdkNxK0lEOztBdUN6OUlBO0VBQ0MsYUFBQTtFQUNBLG1CQUFBO0VBQ0EsU0FBQTtFQUNBLHFCQUFBO0F2QzQ5SUQ7QXVDMTlJQztFQU5EO0lBT0UsWUFBQTtFdkM2OUlBO0FBQ0Y7O0F1QzE5SUE7RUFDQyxpQkFBQTtFQUNBLGdCQUFBO0VBQ0Esd0RBQUE7RUFDQSxjQUFBO0F2QzY5SUQ7QXVDMzlJQztFQU5EO0lBT0UsaUJBQUE7RXZDODlJQTtBQUNGOztBdUMzOUlBO0VBQ0MsZUFBQTtFQUNBLGdCQUFBO0VBQ0Esd0RBQUE7RUFDQSxnQkFBQTtFQUNBLE9BQUE7RUFDQSxtREFBQTtBdkM4OUlEO0F1QzU5SUM7RUFSRDtJQVNFLGlCQUFBO0V2Qys5SUE7QUFDRjs7QXVDNTlJQTtFQUNDLGtCQUFBO0VBQ0EsNkZBQUE7RUFDQSxrQkFBQTtFQUNBLG1EQUFBO0F2Qys5SUQ7O0F1QzU5SUE7RUFDQyxZQUFBO0VBQ0EsZ0dBQUE7RUFLQSxrQkFBQTtFQUNBLGdCQUFBO0F2QzI5SUQ7O0F1Q3g5SUE7RUFDQyxZQUFBO0VBQ0EsNkRBQUE7RUFDQSxrQkFBQTtFQUNBLDJCQUFBO0F2QzI5SUQ7O0F1Q245SUM7RUFDQyxrQkFBQTtFQUNBLGlCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxvREFBQTtFQUNBLHNEQUFBO0F2Q3M5SUY7QXVDbjlJQztFQUNDLCtDQUFBO0VBQ0EsV0FBQTtFQUNBLHNCQUFBO0VBQ0EsYUFBQTtFQUNBLGdCQUFBO0VBQ0EsZUFBQTtFQUNBLFdBQUE7RUFDQSxxREFBQTtFQUNBLGVBQUE7RUFDQSxpREFBQTtFQUNBLG1EQUFBO0F2Q3E5SUY7QXVDbjlJRTtFQUNDLHVCQUFBO0VBQ0EsMENBQUE7QXZDcTlJSDs7QXVDMzhJQTtFQUNDLGdCQUFBO0VBQ0EsaUJBQUE7RUFDQSw2QkFBQTtBdkM4OElEOztBdUMzOElBO0VBQ0Msa0JBQUE7QXZDODhJRDtBdUM1OElDO0VBQ0MsMENBQUE7RUFDQSxxQkFBQTtFQUNBLGdCQUFBO0VBQ0EsbURBQUE7QXZDODhJRjtBdUM1OElFO0VBQ0MsMEJBQUE7QXZDODhJSDs7QXVDejhJQTtFQUNDLGFBQUE7RUFDQSxlQUFBO0VBQ0EsUUFBQTtBdkM0OElEOztBdUN6OElBO0VBQ0MscUJBQUE7QXZDNDhJRDtBdUMxOElDO0VBQ0MsaURBQUE7RUFDQSwrREFBQTtFQUNBLGdCQUFBO0VBQ0Esb0RBQUE7RUFDQSxrQkFBQTtFQUNBLHFCQUFBO0VBQ0EseUJBQUE7RUFDQSxtREFBQTtBdkM0OElGO0F1QzE4SUU7RUFDQywwRUFBQTtFQUNBLFdBQUE7QXZDNDhJSDs7QXdDaDlKQTs7K0RBQUE7QUFJQTtFQUNDLFlBQUE7RUFDQSw2QkFBQTtFQUNBLGVBQUE7QXhDazlKRDs7QXdDLzhKQTtFQUNDLGdCQUFBO0VBQ0EsY0FBQTtFQUNBLCtDQUFBO0VBQ0EsYUFBQTtFQUNBLDhDQUFBO0VBQ0EsNlJBQUE7RUFVQSxtQkFBQTtBeEN5OEpEOztBd0N0OEpBO0VBQ0MsbUJBQUE7RUFDQSxrQkFBQTtBeEN5OEpEOztBd0N0OEpBO0VBQ0MsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLGdCQUFBO0VBQ0Esb0NBQUE7RUFDQSxnQkFBQTtBeEN5OEpEOztBd0N0OEpBO0VBQ0MsU0FBQTtFQUNBLG9DQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBO0F4Q3k4SkQ7O0F3Q3Q4SkE7RUFDQyxrQkFBQTtFQUNBLGtCQUFBO0VBQ0Esb0NBQUE7QXhDeThKRDtBd0N2OEpDO0VBQ0MsbUJBQUE7RUFDQSxzQ0FBQTtBeEN5OEpGO0F3Q3Q4SkM7RUFDQyxTQUFBO0VBQ0EsZUFBQTtFQUNBLG9DQUFBO0F4Q3c4SkY7O0F3Q3A4SkE7RUFDQyxhQUFBO0VBQ0Esc0JBQUE7RUFDQSxTQUFBO0F4Q3U4SkQ7O0F3Q3A4SkE7RUFDQyxvREFBQTtFQUNBLGtCQUFBO0VBQ0Esa0RBQUE7RUFDQSx5QkFBQTtBeEN1OEpEO0F3Q3I4SkM7RUFDQyw4Q0FBQTtFQUNBLGtEQUFBO0VBQ0EseUNBQUE7QXhDdThKRjs7QXdDbjhKQTtFQUNDLGFBQUE7RUFDQSxtQkFBQTtFQUNBLDhCQUFBO0VBQ0EsYUFBQTtFQUNBLFNBQUE7QXhDczhKRDs7QXdDbjhKQTtFQUNDLGFBQUE7RUFDQSxtQkFBQTtFQUNBLFNBQUE7RUFDQSxPQUFBO0VBQ0EsWUFBQTtBeENzOEpEOztBd0NuOEpBO0VBQ0MsY0FBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsNENBQUE7RUFDQSxrQkFBQTtFQUNBLGFBQUE7RUFDQSxtQkFBQTtFQUNBLHVCQUFBO0VBQ0EsMkNBQUE7QXhDczhKRDtBd0NwOEpDO0VBQ0MsV0FBQTtFQUNBLFlBQUE7QXhDczhKRjs7QXdDbDhKQTtFQUNDLE9BQUE7RUFDQSxZQUFBO0F4Q3E4SkQ7O0F3Q2w4SkE7RUFDQyxlQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0VBQ0Esb0NBQUE7RUFDQSxnQkFBQTtFQUNBLHNCQUFBO0F4Q3E4SkQ7O0F3Q2w4SkE7RUFDQyxhQUFBO0VBQ0EsbUJBQUE7RUFDQSxTQUFBO0VBQ0EsbUJBQUE7RUFDQSxvQ0FBQTtBeENxOEpEOztBd0NsOEpBO0VBQ0MsZ0JBQUE7RUFDQSxvQ0FBQTtBeENxOEpEOztBd0NsOEpBO0VBQ0Msa0RBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxvQ0FBQTtFQUNBLGtCQUFBO0VBQ0EseUJBQUE7RUFDQSxxQkFBQTtBeENxOEpEOztBd0NsOEpBO0VBQ0MsY0FBQTtBeENxOEpEOztBd0NsOEpBO0VBQ0Msb0JBQUE7RUFDQSxtQkFBQTtFQUNBLFFBQUE7RUFDQSxzQkFBQTtFQUNBLGdEQUFBO0VBQ0EsMkNBQUE7RUFDQSxxQkFBQTtFQUNBLHFEQUFBO0VBQ0EsZ0JBQUE7RUFDQSx5QkFBQTtFQUNBLHNEQUFBO0VBQ0EsZUFBQTtBeENxOEpEO0F3Q244SkM7RUFDQyxXQUFBO0VBQ0EsWUFBQTtBeENxOEpGO0F3Q2w4SkM7RUFDQyxzREFBQTtFQUNBLGlEQUFBO0VBQ0EscUJBQUE7RUFDQSxrREFBQTtBeENvOEpGOztBd0MvN0pBO0VBRUM7SUFDQyxlQUFBO0V4Q2k4SkE7RXdDOTdKRDtJQUNDLGlCQUFBO0V4Q2c4SkE7RXdDNzdKRDtJQUNDLHNCQUFBO0lBQ0Esb0JBQUE7SUFDQSxTQUFBO0V4Qys3SkE7RXdDNTdKRDtJQUNDLGVBQUE7RXhDODdKQTtFd0MzN0pEO0lBQ0MsV0FBQTtJQUNBLHVCQUFBO0V4QzY3SkE7QUFDRjtBd0MxN0pBO0VBRUM7SUFDQyxhQUFBO0V4QzI3SkE7RXdDeDdKRDtJQUNDLGFBQUE7RXhDMDdKQTtFd0N2N0pEO0lBQ0MsU0FBQTtFeEN5N0pBO0V3Q3Q3SkQ7SUFDQyxXQUFBO0lBQ0EsWUFBQTtFeEN3N0pBO0V3Q3Q3SkE7SUFDQyxXQUFBO0lBQ0EsWUFBQTtFeEN3N0pEO0V3Q3A3SkQ7SUFDQyxpQkFBQTtFeENzN0pBO0V3Q243SkQ7SUFDQyxpQkFBQTtFeENxN0pBO0FBQ0Y7QXlDNXFLQTs7K0RBQUE7QUFNQztFQUNDLG1CQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLG9DQUFBO0VBQ0Esa0tBQUE7QXpDMnFLRjtBeUM3cEtDO0VBQ0MsaUZBQUE7RUFDQSw4Q0FBQTtFQUNBLGdCQUFBO0VBQ0EscUJBQUE7QXpDK3BLRjtBeUM1cEtDO0VBQ0MsYUFBQTtFQUNBLDhCQUFBO0VBQ0EsbUJBQUE7RUFDQSxnRkFBQTtFQUNBLGlEQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxhQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxlQUFBO0VBQ0EseUJBQUE7QXpDOHBLRjtBeUM1cEtFO0VBQ0MsU0FBQTtFQUNBLGlCQUFBO0VBQ0Esb0JBQUE7RUFDQSxtQkFBQTtFQUNBLFlBQUE7RUFDQSxpREFBQTtFQUNBLGtCQUFBO0VBQ0Esa0tBQUE7QXpDOHBLSDtBeUNocEtFO0VBQ0MsV0FBQTtFQUNBLFlBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBO0VBQ0EsK0JBQUE7RUFDQSx1QkFBQTtFQUNBLGVBQUE7RUFHQSxZQUFBO0VBQ0Esa0JBQUE7QXpDZ3BLSDtBeUM3b0tHO0VBQ0MsV0FBQTtFQUNBLGNBQUE7RUFDQSxXQUFBO0VBQ0EsV0FBQTtFQUNBLDREQUFBO0VBQ0Esa0JBQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTtFQUNBLGdDQUFBO0VBQ0EseUJBQUE7QXpDK29LSjtBeUMzb0tHO0VBQ0MsV0FBQTtFQUNBLGNBQUE7RUFDQSxXQUFBO0VBQ0EsV0FBQTtFQUNBLDREQUFBO0VBQ0Esa0JBQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTtFQUNBLDhDQUFBO0VBQ0EseUJBQUE7QXpDNm9LSjtBeUN4b0tFO0VBQ0MseUJBQUE7QXpDMG9LSDtBeUN4b0tHO0VBQ0MsUUFBQTtFQUNBLFVBQUE7QXpDMG9LSjtBeUN0b0tFO0VBQ0MsZ0JBQUE7RUFDQSxvQ0FBQTtBekN3b0tIO0F5Q3RvS0c7RUFDQyxvQ0FBQTtBekN3b0tKO0F5Q3BvS0k7RUFFQywrQ0FBQTtBekNxb0tMO0F5Qy9uS0U7RUFDQyx1QkFBQTtFQUNBLG1CQUFBO0F6Q2lvS0g7QXlDN25LQztFQUNDLFNBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0EsZ0NBQUE7RUFDQSxlQUFBO0F6QytuS0Y7QXlDN25LRTtFQUNDLFlBQUE7RUFDQSxhQUFBO0F6QytuS0g7QXlDNW5LRTtFQUNDLGNBQUE7RUFDQSxvQ0FBQTtBekM4bktIOztBeUN4bktBO0VBQ0MsVUFBQTtFQUNBLHdCQUFBO0VBQ0EsV0FBQTtFQUNBLHFCQUFBO0VBQ0EsaUJBQUE7RUFDQSxtQkFBQTtBekMybktEO0F5Q3huS0M7RUFDQyx1QkFBQTtFQUNBLG1CQUFBO0VBQ0EsVUFBQTtBekMwbktGO0F5Q3RuS0M7RUFDQyxxQkFBQTtFQUNBLG9DQUFBO0VBQ0Esc0JBQUE7RUFDQSxvQkFBQTtFQUNBLGtCQUFBO0F6Q3duS0Y7O0F5Q3BuS0E7RUFDQyxVQUFBO0VBQ0EsV0FBQTtBekN1bktEO0F5Q3BuS0M7RUFDQyxXQUFBO0F6Q3NuS0Y7O0EwQ3p6S0E7Ozs7Ozs7RUFBQTtBQVNBO0VBQ0MsY0FBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7QTFDMnpLRDs7QTBDeHpLQTtFQUNDLDZCQUFBO0VBQ0EscUJBQUE7RUFDQSxzQkFBQTtFQUNBLHFCQUFBO0VBQ0EsdUJBQUE7RUFDQSwyQkFBQTtFQUNBLGlDQUFBO0VBQ0EsOEJBQUE7RUFDQSxvQkFBQTtBMUMyektEOztBMEN4ektBO0VBQ0Msa0JBQUE7RUFDQSxrQkFBQTtFQUNBLDhDQUFBO0VBQ0EsYUFBQTtFQUNBLGdCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSx1QkFBQTtFQUNBLHdCQUFBO0ExQzJ6S0Q7QTBDenpLQztFQUNDLGVBQUE7RUFDQSxnQkFBQTtFQUNBLHNCQUFBO0tBQUEsbUJBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtBMUMyektGOztBMEN2ektBO0VBQ0Msa0JBQUE7RUFDQSxTQUFBO0VBQ0EsT0FBQTtFQUNBLFFBQUE7RUFDQSw4QkFBQTtFQUNBLFdBQUE7RUFDQSxrQkFBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsVUFBQTtFQUNBLHlDQUFBO0VBQ0EsMkJBQUE7RUFDQSwrQkFBQTtBMUMwektEO0EwQ3h6S0M7RUFDQyx3QkFBQTtBMUMwektGOztBMEN0ektBO0VBQ0Msd0JBQUE7QTFDeXpLRDs7QTBDdHpLQTtFQUNDLGtCQUFBO0VBQ0EsU0FBQTtFQUNBLFFBQUE7RUFDQSxnQ0FBQTtFQUNBLDhCQUFBO0VBQ0EsV0FBQTtFQUNBLGlCQUFBO0VBQ0Esa0JBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLG9CQUFBO0VBQ0EsVUFBQTtBMUN5ektEOztBMEN0ektBO0VBQ0Msa0JBQUE7RUFDQSxRQUFBO0VBQ0EsT0FBQTtFQUNBLFFBQUE7RUFDQSxhQUFBO0VBQ0EsOEJBQUE7RUFDQSxvQkFBQTtFQUNBLFVBQUE7QTFDeXpLRDs7QTBDdHpLQTtFQUNDLDhCQUFBO0VBQ0EsV0FBQTtFQUNBLDBDQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxrQkFBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTtFQUNBLGVBQUE7RUFDQSxvQkFBQTtFQUNBLHlCQUFBO0VBQ0EsYUFBQTtFQUNBLG1CQUFBO0VBQ0EsdUJBQUE7RUFDQSx3Q0FBQTtBMUN5ektEO0EwQ3Z6S0M7RUFDQyw4QkFBQTtFQUNBLHNDQUFBO0VBQ0Esc0JBQUE7RUFDQSx5Q0FBQTtBMUN5ektGO0EwQ3R6S0M7RUFDQyxzQkFBQTtBMUN3ektGO0EwQ3J6S0M7RUFDQyxpQkFBQTtBMUN1ektGO0EwQ3B6S0M7RUFDQyxrQkFBQTtBMUNzektGOztBMENsektBO0VBQ0MsYUFBQTtFQUNBLFFBQUE7RUFDQSxlQUFBO0VBQ0EsdUJBQUE7QTFDcXpLRDs7QTBDbHpLQTtFQUNDLFNBQUE7RUFDQSx1QkFBQTtFQUNBLFVBQUE7RUFDQSxlQUFBO0VBQ0Esa0JBQUE7QTFDcXpLRDtBMENuektDO0VBQ0MscURBQUE7RUFDQSxrQkFBQTtBMUNxektGO0EwQ2x6S0M7RUFDQyxjQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxvQkFBQTtLQUFBLGlCQUFBO0ExQ296S0Y7QTBDanpLQztFQUNDLGVBQUE7RUFDQSxnQkFBQTtBMUNtektGOztBMEM5eUtBO0VBQ0Msa0JBQUE7RUFDQSxpQkFBQTtFQUNBLHFEQUFBO0ExQ2l6S0Q7QTBDL3lLQztFQUNDLGlEQUFBO0VBQ0EsYUFBQTtBMUNpektGO0EwQzl5S0M7RUFWRDtJQVdFLGVBQUE7RTFDaXpLQTtFMEMveUtBO0lBQ0MsV0FBQTtJQUNBLGVBQUE7RTFDaXpLRDtBQUNGOztBMEM3eUtBO0VBQ0MsWUFBQTtFQUNBLDZCQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtBMUNnektEO0EwQzl5S0M7RUFDQyw4Q0FBQTtFQUNBLGFBQUE7QTFDZ3pLRjtBMEM3eUtDO0VBQ0M7SUFDQyxXQUFBO0lBQ0EsZUFBQTtFMUMreUtEO0FBQ0Y7QTBDNXlLQztFQXJCRDtJQXNCRSxrQkFBQTtJQUNBLG1CQUFBO0UxQyt5S0E7QUFDRjs7QTBDNXlLQTtFQUNDLFlBQUE7RUFDQSw2QkFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7QTFDK3lLRDtBMEM3eUtDO0VBQ0Msa0RBQUE7RUFDQSxhQUFBO0ExQyt5S0Y7QTBDNXlLQztFQUNDO0lBQ0MsV0FBQTtJQUNBLGVBQUE7RTFDOHlLRDtBQUNGO0EwQzN5S0M7RUFyQkQ7SUFzQkUsa0JBQUE7SUFDQSxtQkFBQTtFMUM4eUtBO0FBQ0Y7O0EyQy9oTEE7Ozs7Ozs7RUFBQTtBQVNBO0VBQ0MsYUFBQTtBM0NpaUxEOztBMkM5aExBO0VBQ0Msa0JBQUE7RUFDQSxTQUFBO0EzQ2lpTEQ7QTJDL2hMQztFQUNDLGNBQUE7RUFDQSxlQUFBO0VBQ0EsWUFBQTtBM0NpaUxGO0EyQy9oTEU7RUFDQyxXQUFBO0EzQ2lpTEg7QTJDN2hMQztFQUNDLGVBQUE7RUFDQSxrQkFBQTtFQUNBLGNBQUE7RUFDQSw2QkFBQTtBM0MraExGO0EyQzVoTEc7RUFDQyxVQUFBO0VBQ0EsbUJBQUE7QTNDOGhMSjtBMkMxaExFO0VBQ0Msc0RBQUE7RUFDQSxtQkFBQTtBM0M0aExIO0EyQ3hoTEM7RUFDQyxrQkFBQTtFQUNBLFNBQUE7RUFDQSxXQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxxQ0FBQTtFQUNBLDBCQUFBO0VBQ0Esa0NBQUE7RUFDQSxrQkFBQTtFQUNBLGFBQUE7RUFDQSxtQkFBQTtFQUNBLHVCQUFBO0VBQ0EsVUFBQTtFQUNBLHFCQUFBO0VBQ0EsaURBQUE7RUFDQSxvQkFBQTtFQUNBLFVBQUE7RUFDQSx3RUFDQztBM0N5aExIO0EyQ3RoTEU7RUFDQyxXQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxtVUFBQTtFQUNBLHdCQUFBO0VBQ0EsNEJBQUE7RUFDQSwyQkFBQTtFQUNBLCtCQUFBO0EzQ3doTEg7QTJDcGhMQztFQUNDLGVBQUE7RUFDQSxlQUFBO0VBQ0Esb0NBQUE7RUFDQSxrQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZUFBQTtFQUNBLHNCQUFBO0VBQ0EsZ0JBQUE7QTNDc2hMRjtBMkNsaExDO0VBQ0MsV0FBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxnQkFBQTtFQUNBLG1CQUFBO0EzQ29oTEY7QTJDbGhMRTtFQUNDLGdCQUFBO0VBQ0EsaUJBQUE7QTNDb2hMSDtBMkNqaExFO0VBWkQ7SUFhRSxjQUFBO0lBQ0EsZ0JBQUE7RTNDb2hMRDtFMkNsaExDO0lBQ0MsZ0JBQUE7RTNDb2hMRjtBQUNGO0EyQ2poTEU7RUFyQkQ7SUFzQkUsZ0JBQUE7RTNDb2hMRDtFMkNsaExDO0lBQ0MsZ0JBQUE7RTNDb2hMRjtBQUNGO0EyQ2poTEU7RUE3QkQ7SUE4QkUsV0FBQTtJQUNBLGVBQUE7SUFDQSxjQUFBO0lBQ0EsZUFBQTtFM0NvaExEO0UyQ2xoTEM7SUFDQyxlQUFBO0UzQ29oTEY7QUFDRjtBMkNoaExDO0VBQ0MsWUFBQTtFQUNBLGlCQUFBO0VBQ0EsbUJBQUE7RUFDQSxnQkFBQTtFQUNBLG9CQUFBO0EzQ2toTEY7QTJDaGhMRTtFQUNDLGdCQUFBO0VBQ0EsaUJBQUE7QTNDa2hMSDtBMkMvZ0xFO0VBWkQ7SUFhRSxrQkFBQTtJQUNBLGdCQUFBO0UzQ2toTEQ7RTJDaGhMQztJQUNDLGdCQUFBO0UzQ2toTEY7QUFDRjtBMkMvZ0xFO0VBckJEO0lBc0JFLGdCQUFBO0UzQ2toTEQ7RTJDaGhMQztJQUNDLGdCQUFBO0UzQ2toTEY7QUFDRjtBMkMvZ0xFO0VBN0JEO0lBOEJFLFdBQUE7SUFDQSxlQUFBO0lBQ0EsY0FBQTtJQUNBLGVBQUE7RTNDa2hMRDtFMkNoaExDO0lBQ0MsZUFBQTtFM0NraExGO0FBQ0Y7QTJDOWdMQztFQUNDLGtCQUFBO0VBQ0EsaUJBQUE7RUFDQSxxREFBQTtBM0NnaExGO0EyQzlnTEU7RUFDQyxxREFBQTtFQUNBLGtCQUFBO0EzQ2doTEg7QTJDN2dMRTtFQVZEO0lBV0UsZUFBQTtFM0NnaExEO0UyQzlnTEM7SUFDQyxlQUFBO0UzQ2doTEY7QUFDRjtBMkM1Z0xDO0VBQ0MsWUFBQTtFQUNBLDZCQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtFQUNBLG1CQUFBO0EzQzhnTEY7QTJDNWdMRTtFQUNDLGtEQUFBO0VBQ0EsV0FBQTtFQUNBLGNBQUE7QTNDOGdMSDtBMkMzZ0xFO0VBQ0Msa0RBQUE7RUFDQSxrQkFBQTtBM0M2Z0xIO0EyQzFnTEU7RUFDQztJQUNDLGVBQUE7RTNDNGdMRjtFMkN6Z0xDO0lBQ0MsZUFBQTtFM0MyZ0xGO0FBQ0Y7QTJDdmdMQztFQUNDLFlBQUE7RUFDQSw2QkFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxtQkFBQTtBM0N5Z0xGO0EyQ3ZnTEU7RUFDQyxzREFBQTtFQUNBLFdBQUE7RUFDQSxjQUFBO0EzQ3lnTEg7QTJDdGdMRTtFQUNDLGtEQUFBO0VBQ0Esa0JBQUE7QTNDd2dMSDtBMkNyZ0xFO0VBQ0M7SUFDQyxlQUFBO0UzQ3VnTEY7QUFDRjtBMkNwZ0xFO0VBQ0M7SUFDQyxlQUFBO0UzQ3NnTEY7QUFDRjs7QTRDM3ZMQzs7RUFDQyxnQkFBQTtBNUMrdkxGO0E0QzV2TEM7O0VBQ0Msa0JBQUE7QTVDK3ZMRjs7QTRDMXZMQTtFQUVDOzRDQUFBO0E1QzZ2TEQ7O0E2Qzd3TEE7OytEQUFBO0FBSUE7RUFDQyxjQUFBO0E3Qyt3TEQ7O0E2QzV3TEE7RUFDQyxrQkFBQTtFQUNBLG9GQUFBO0VBQ0EsNEJBQUE7RUFDQSw4Q0FBQTtFQUNBLDZSQUFBO0VBQ0EsNEJBQUE7QTdDK3dMRDs7QTZDNXdMQTtFQUNDLGtCQUFBO0VBQ0EsU0FBQTtFQUNBLFdBQUE7RUFDQSxlQUFBO0VBQ0EsY0FBQTtFQUNBLFVBQUE7QTdDK3dMRDs7QTZDNXdMQTtFQUNDLDRDQUFBO0VBQ0EsZ0JBQUE7RUFDQSxxRUFBQTtFQUNBLFNBQUE7QTdDK3dMRDtBNkM3d0xDO0VBQ0MsZ0JBQUE7QTdDK3dMRjtBNkM3d0xFO0VBQ0MsZ0JBQUE7QTdDK3dMSDtBNkMzd0xDO0VBQ0MsZ0JBQUE7RUFDQSxxRUFBQTtBN0M2d0xGO0E2QzN3TEU7RUFDQyxnQkFBQTtBN0M2d0xIO0E2Q3p3TEM7RUFDQyxnQkFBQTtFQUNBLGtCQUFBO0E3QzJ3TEY7QTZDendMRTtFQUNDLGdCQUFBO0E3QzJ3TEg7QTZDdndMQztFQUNDLGtCQUFBO0E3Q3l3TEY7QTZDdndMRTtFQUNDLGdCQUFBO0E3Q3l3TEg7QTZDcndMQztFQUNDLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSwwREFBQTtFQUNBLGtCQUFBO0E3Q3V3TEY7QTZDcndMRTtFQUNDLGdCQUFBO0E3Q3V3TEg7QTZDbndMQztFQUNDLHdEQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLHFDQUFBO0VBQ0EsZUFBQTtBN0Nxd0xGO0E2Q2x3TEM7RUFDQyx3REFBQTtFQUNBLGFBQUE7RUFDQSw4Q0FBQTtFQUNBLGdCQUFBO0VBQ0EsZ0JBQUE7QTdDb3dMRjtBNkNsd0xFO0VBQ0MsZ0JBQUE7QTdDb3dMSDtBNkNqd0xFO0VBQ0MsZ0JBQUE7RUFDQSxVQUFBO0E3Q213TEg7QTZDL3ZMQztFQUNDLDJFQUFBO0VBQ0EscUJBQUE7QTdDaXdMRjtBNkMvdkxFO0VBQ0MsMEJBQUE7QTdDaXdMSDtBNkM3dkxDO0VBQ0MsZ0JBQUE7QTdDK3ZMRjtBNkM1dkxDO0VBQ0Msa0JBQUE7QTdDOHZMRjs7QThDbDNMQTs7Ozs7OztFQUFBO0FBYUE7RUFFQyxpRkFBQTtFQUNBLDJGQUFBO0VBQ0Esd0ZBQUE7RUFHQSxrQkFBQTtFQUNBLFNBQUE7RUFDQSwyQkFBQTtFQUNBLHlCQUFBO0VBQ0Esc0JBQUE7RUFDQSxlQUFBO0VBQ0Esc0JBQUE7RUFDQSw2QkFBQTtBOUM2MkxEO0E4QzMyTEM7RUFoQkQ7SUFpQkUsa0JBQUE7SUFDQSxVQUFBO0U5QzgyTEE7QUFDRjs7QThDdjJMQTtFQUNDLGtCQUFBO0VBQ0EsaUJBQUE7QTlDMDJMRDtBOEN2MkxDO0VBTEQ7SUFNRSxjQUFBO0lBQ0EsVUFBQTtFOUMwMkxBO0FBQ0Y7QThDdjJMQztFQVhEO0lBWUUsYUFBQTtJQUNBLHNCQUFBO0lBQ0EsZ0JBQUE7SUFDQSxVQUFBO0U5QzAyTEE7QUFDRjs7QThDajJMQztFQUZEO0lBR0Usa0JBQUE7SUFDQSxXQUFBO0lBQ0EsVUFBQTtJQUNBLGdCQUFBO0lBQ0EsZUFBQTtFOUNxMkxBO0FBQ0Y7QThDbDJMQztFQVhEO0lBWUUsUUFBQTtJQUNBLFdBQUE7SUFDQSxVQUFBO0U5Q3EyTEE7QUFDRjs7QThDbDJMQTtFQUNDLHNDQUFBO0VBQ0EsNkJBQUE7RUFDQSxhQUFBO0VBQ0EsOENBQUE7RUFDQSw2REFBQTtFQUNBLGdCQUFBO0E5Q3EyTEQ7QThDbjJMQztFQVJEO0lBU0Usa0JBQUE7SUFDQSxpQkFBQTtJQUNBLGlCQUFBO0lBQ0Esa0JBQUE7SUFDQSxhQUFBO0lBQ0Esa0JBQUE7SUFDQSxXQUFBO0U5Q3MyTEE7QUFDRjs7QThDLzFMQTtFQUNDLGlCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsNkJBQUE7QTlDazJMRDtBOENoMkxDO0VBUEQ7SUFRRSxlQUFBO0U5Q20yTEE7QUFDRjtBOENqMkxDO0VBWEQ7SUFZRSxpQkFBQTtFOUNvMkxBO0FBQ0Y7QThDbDJMQztFQWZEO0lBZ0JFLGlCQUFBO0U5Q3EyTEE7QUFDRjs7QThDbDJMQTtFQUNDLGlCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLDZCQUFBO0VBQ0EsWUFBQTtBOUNxMkxEO0E4Q24yTEM7RUFDQyxrQkFBQTtBOUNxMkxGO0E4Q24yTEU7RUFIRDtJQUlFLGdCQUFBO0U5Q3MyTEQ7QUFDRjtBOENwMkxFO0VBQ0MsZ0JBQUE7QTlDczJMSDtBOENsMkxDO0VBbkJEO0lBb0JFLGtCQUFBO0U5Q3EyTEE7QUFDRjs7QThDNTFMQztFQUZEO0lBR0UsZ0JBQUE7RTlDZzJMQTtBQUNGO0E4QzkxTEM7RUFORDtJQU9FLGtCQUFBO0U5Q2kyTEE7QUFDRjs7QThDOTFMQTtFQUNDLHFCQUFBO0VBQ0Esc0JBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxxQkFBQTtFQUNBLFlBQUE7RUFDQSw4Q0FBQTtFQUNBLGVBQUE7RUFDQSx5QkFBQTtFQUNBLHVDQUFBO0VBQ0EsMkNBQUE7RUFDQSw2REFBQTtBOUNpMkxEO0E4Qy8xTEM7RUFDQyx3RkFBQTtFQUNBLHNEQUFBO0VBQ0EsMkJBQUE7RUFDQSxxQkFBQTtBOUNpMkxGO0E4QzkxTEM7RUFDQyx3Q0FBQTtFQUNBLG1CQUFBO0E5Q2cyTEY7QThDNzFMQztFQTFCRDtJQTJCRSxjQUFBO0lBQ0EsV0FBQTtJQUNBLGtCQUFBO0lBQ0Esb0JBQUE7RTlDZzJMQTtBQUNGOztBOEN2MUxDO0VBRkQ7SUFHRSxrQkFBQTtJQUNBLFVBQUE7SUFDQSxXQUFBO0lBQ0EsVUFBQTtJQUNBLGdCQUFBO0lBQ0EsMEJBQUE7SUFDQSxVQUFBO0lBQ0EsOENBQUE7SUFDQSxnQkFBQTtJQUNBLG9FQUFBO0U5QzIxTEE7QUFDRjtBOEN4MUxDO0VBaEJEO0lBaUJFLFFBQUE7SUFDQSxTQUFBO0lBQ0EsWUFBQTtJQUNBLGFBQUE7SUFDQSxnQkFBQTtJQUNBLGdCQUFBO0lBQ0Esa0JBQUE7SUFDQSxTQUFBO0lBQ0EsMkJBQUE7RTlDMjFMQTtBQUNGOztBOEN4MUxBO0VBQ0MsV0FBQTtFQUNBLFlBQUE7RUFDQSxvQkFBQTtLQUFBLGlCQUFBO0VBQ0EsMEJBQUE7S0FBQSx1QkFBQTtBOUMyMUxEO0E4Q3oxTEM7RUFORDtJQU9FLGlCQUFBO0U5QzQxTEE7QUFDRjtBOEMxMUxDO0VBVkQ7SUFXRSxhQUFBO0U5QzYxTEE7QUFDRjs7QThDcjFMQTtFQUNDLHdCQUFBO0E5Q3cxTEQ7O0ErQ2xsTUE7Ozs7Ozs7RUFBQTtBQVNBLGdDQUFBO0FBQ0E7RUFDQyxrQkFBQTtFQUNBLGdCQUFBO0VBQ0EsZ0JBQUE7RUFDQSw0Q0FBQTtFQUNBLGtCQUFBO0VBRUEsaURBQUE7QS9DbWxNRDtBK0NsbE1DO0VBQ0MsK0NBQUE7QS9Db2xNRjtBK0M3bE1BO0VBWUMsa0JBQUE7QS9Db2xNRDtBK0NubE1DO0VBYkQ7SUFjRSxpQkFBQSxFQUFBLGdDQUFBO0lBQ0EseUJBQUEsRUFBQSxpQ0FBQTtFL0NzbE1BO0FBQ0Y7QStDdG1NQTtFQWtCQyxnQ0FBQTtBL0N1bE1EO0ErQ3RsTUM7RUFDQyxnQkFBQTtFQUNBLHNEQUFBO0EvQ3dsTUY7QStDcmxNQztFQUNDLGtCQUFBO0EvQ3VsTUY7QStDaG5NQTtFQTRCQyxvQkFBQTtBL0N1bE1EO0ErQ3RsTUM7RUFDQyw2Q0FBQTtFQUNBLFdBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSwyQkFBQTtFQUNBLG1FQUFBO0EvQ3dsTUY7QStDM25NQTtFQXNDQyxvQ0FBQTtBL0N3bE1EO0ErQ3ZsTUM7RUFDQyw2Q0FBQTtFQUNBLHdFQUFBO0VBQ0EsY0FBQTtFQUNBLFdBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSwyQkFBQTtFQUNBLGNBQUE7QS9DeWxNRjtBK0N0bE1DO0VBRUMsV0FBQTtFQUNBLGNBQUE7QS9DdWxNRjtBK0NwbE1DO0VBQ0Msa0JBQUE7QS9Dc2xNRjtBK0NubE1DO0VBQ0Msc0JBQUE7QS9DcWxNRjtBK0NscE1BO0VBZ0VDLDBDQUFBO0EvQ3FsTUQ7QStDcGxNQztFQUVDLGtCQUFBO0VBQ0Esb0JBQUE7RUFDQSxTQUFBO0VBQ0EsVUFBQTtFQUNBLFdBQUE7RUFDQSxnQkFBQTtFQUNBLGNBQUE7RUFDQSxvQkFBQTtBL0NxbE1GO0ErQ2xsTUM7RUFFQyxhQUFBO0EvQ21sTUY7O0ErQy9rTUEsMkJBQUE7QUFDQTtFQUNDLGtCQUFBO0EvQ2tsTUQ7O0ErQzdrTUM7RUFDQyxrQkFBQTtBL0NnbE1GO0ErQzlrTUU7RUFDQyxhQUFBO0VBQ0EsbUJBQUE7RUFDQSxXQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0VBQ0EseUJBQUE7RUFDQSxjQUFBO0VBQ0Esa0JBQUE7RUFDQSxzQkFBQTtBL0NnbE1IO0ErQzlrTUc7RUFDQyxhQUFBO0VBQ0EsZUFBQTtBL0NnbE1KO0ErQzVrTUU7RUFDQyxrQkFBQTtFQUNBLGdCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxjQUFBO0VBQ0EseUJBQUE7RUFDQSxrQkFBQTtFQUNBLGFBQUE7RUFDQSxnQkFBQTtFQUNBLHNCQUFBO0VBQ0Esa0NBQUE7QS9DOGtNSDtBK0M1a01HO0VBQ0MscUJBQUE7RUFDQSw2QkFBQTtFQUNBLGFBQUE7QS9DOGtNSjtBK0Mza01HO0VBRUMsY0FBQTtBL0M0a01KO0ErQzlrTUc7RUFFQyxjQUFBO0EvQzRrTUo7QStDaG1NRTtFQXVCQyxvQ0FBQTtBL0M0a01IO0ErQzNrTUc7RUFDQyxnQkFBQTtBL0M2a01KO0ErQzFrTUc7RUFDQyxrQkFBQTtBL0M0a01KO0ErQy9uTUE7RUF3REMsc0VBQUE7QS9DMGtNRDtBK0N6a01DO0VBQ0MsYUFBQTtBL0Mya01GO0ErQ3JvTUE7RUE2REMsa0NBQUE7QS9DMmtNRDtBK0N4a01FO0VBQ0MscUJBQUE7QS9DMGtNSDs7QStDcmtNQSxnQ0FBQTtBQUNBO0VBR0MsY0FBQTtFQUNBLHFCQUFBO0EvQ3NrTUQ7O0FnRG52TUE7OytEQUFBO0FBSUE7RUFDRSxrQkFBQTtFQUNBLFdBQUE7QWhEcXZNRjtBZ0Rudk1FO0VBQ0Usa0JBQUE7QWhEcXZNSjtBZ0Rsdk1FO0VBQ0UsaUJBQUE7QWhEb3ZNSjtBZ0Rqdk1FO0VBQ0UsaUJBQUE7QWhEbXZNSjtBZ0Rodk1FO0VBQ0Usa0JBQUE7QWhEa3ZNSjtBZ0QvdU1FO0VBR0Usa0JBQUE7RUFDQSxRQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxvQkFBQTtLQUFBLGlCQUFBO0FoRCt1TUo7QWdENXVNRTtFQUNFLGtCQUFBO0VBQ0EsU0FBQTtFQUNBLFFBQUE7RUFDQSxnQ0FBQTtFQUNBLFVBQUE7QWhEOHVNSjtBZ0QzdU1FO0VBQ0Usa0JBQUE7RUFDQSxPQUFBO0VBQ0EsUUFBQTtFQUNBLFNBQUE7RUFDQSxTQUFBO0VBQ0EsdUJBQUE7RUFDQSxtQkFBQTtFQUNBLDhCQUFBO0VBQ0EsV0FBQTtBaEQ2dU1KOztBaURoeU1BOzsrREFBQTtBQ0FBOzsrREFBQTtBQUlBLDJFQUFBO0FBRUE7RUFDQyxjQUFBO0VBQ0EsV0FBQTtFQUNBLGlCQUFBO0VBQ0EsZUFBQTtBbERveU1EOztBa0RqeU1BO0VBQ0MsYUFBQTtFQUNBLFNBQUE7RUFDQSxvQkFBQTtFQUNBLGtCQUFBO0VBQ0Esd0JBQUE7QWxEb3lNRDs7QWtEanlNQTtFQUNDLHNFQUFBO0VBQ0EsK0NBQUE7RUFFQSxnRUFDQztFQUVELHFCQUFBO0VBQ0EsY0FBQTtFQUNBLGFBQUE7RUFDQSxzQkFBQTtFQUNBLFlBQUE7RUFDQSx5Q0FBQTtFQUNBLG9DQUFBO0FsRGl5TUQ7O0FrRDl4TUE7RUFDQyxlQUFBO0FsRGl5TUQ7O0FrRDl4TUE7RUFDQywyQkFBQTtFQUNBLDBDQUFBO0FsRGl5TUQ7O0FrRDl4TUE7RUFDQyxXQUFBO0VBQ0EsYUFBQTtFQUNBLHdFQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtFQUNBLCtDQUFBO0VBQ0EsYUFBQTtFQUNBLG1CQUFBO0VBQ0EsdUJBQUE7QWxEaXlNRDs7QWtEOXhNQTtFQUNDLFdBQUE7RUFDQSxZQUFBO0VBQ0Esb0JBQUE7S0FBQSxpQkFBQTtBbERpeU1EOztBa0Q5eE1BO0VBQ0MsZUFBQTtFQUNBLDhCQUFBO0FsRGl5TUQ7O0FrRDl4TUE7RUFDQyxhQUFBO0VBQ0EsT0FBQTtFQUNBLGFBQUE7RUFDQSxzQkFBQTtFQUNBLDhCQUFBO0FsRGl5TUQ7O0FrRDl4TUE7RUFDQyxpQkFBQTtFQUNBLGdCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLHdFQUFBO0FsRGl5TUQ7O0FrRDl4TUE7RUFDQyxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxpQkFBQTtFQUNBLG1GQUFBO0VBQ0EsZ0JBQUE7QWxEaXlNRDs7QWtEOXhNQSxxREFBQTtBQUNBOzs7OztFQUtDLG1GQUFBO0FsRGl5TUQ7O0FrRDl4TUE7RUFDQyxpQkFBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxxRUFBQTtBbERpeU1EOztBa0Q5eE1BO0VBQ0Msa0JBQUE7RUFDQSxhQUFBO0VBQ0EsK0NBQUE7RUFDQSx5Q0FBQTtBbERpeU1EOztBa0Q5eE1BO0VBQ0MsU0FBQTtFQUNBLDhCQUFBO0VBQ0EsaUJBQUE7QWxEaXlNRDs7QW1EeDVNQTs7K0RBQUE7QUFJQTtFQUNDLGVBQUE7RUFDQSxjQUFBO0VBQ0EsZUFBQTtBbkQwNU1EOztBbUR2NU1BO0VBQ0MsV0FBQTtBbkQwNU1EOztBbUR2NU1BO0VBQ0MsYUFBQTtFQUNBLFNBQUE7RUFDQSxTQUFBO0VBQ0EsVUFBQTtFQUNBLGdCQUFBO0FuRDA1TUQ7O0FtRHY1TUE7RUFDQyx5Q0FBQTtFQUNBLHlDQUFBO0VBQ0Esb0NBQUE7RUFDQSxnQkFBQTtFQUVBLGdFQUNDO0VBRUQsc0VBQUE7QW5EdTVNRDs7QW1EcDVNQTtFQUNDLDJCQUFBO0VBQ0EsMENBQUE7QW5EdTVNRDs7QW1EcDVNQTtFQUNDLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSx5Q0FBQTtBbkR1NU1EOztBbURwNU1BO0VBQ0MsV0FBQTtFQUNBLGFBQUE7RUFDQSxvQkFBQTtLQUFBLGlCQUFBO0VBQ0EscUZBQUE7QW5EdTVNRDs7QW1EcDVNQTtFQUNDLHNCQUFBO0FuRHU1TUQ7O0FtRHA1TUE7RUFDQyxlQUFBO0VBQ0EsYUFBQTtFQUNBLHNCQUFBO0VBQ0EsWUFBQTtBbkR1NU1EOztBbURwNU1BO0VBQ0Msb0JBQUE7RUFDQSxrQkFBQTtFQUNBLGdCQUFBO0VBQ0EsOEJBQUE7RUFDQSxnQkFBQTtBbkR1NU1EOztBbURwNU1BO0VBQ0Msa0JBQUE7RUFDQSxtQkFBQTtFQUNBLDhCQUFBO0VBQ0EsZ0JBQUE7RUFDQSx5QkFBQTtFQUNBLHNCQUFBO0FuRHU1TUQ7O0FtRHA1TUE7RUFDQyxrQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSw4QkFBQTtFQUNBLG9CQUFBO0VBQ0EscUJBQUE7RUFDQSw0QkFBQTtFQUNBLGdCQUFBO0VBQ0EsT0FBQTtBbkR1NU1EOztBbURwNU1BO0VBQ0MsaUJBQUE7RUFDQSxrQkFBQTtFQUNBLGtCQUFBO0VBQ0EseUNBQUE7RUFDQSxtQkFBQTtFQUNBLDRDQUFBO0FuRHU1TUQ7O0FtRHA1TUE7RUFDQyxTQUFBO0VBQ0EsaUJBQUE7RUFDQSw4QkFBQTtBbkR1NU1EOztBb0QvL01BOzsrREFBQTtBQUlBO0VBQ0MsYUFBQTtFQUNBLFFBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxhQUFBO0FwRGlnTkQ7O0FvRDkvTUEsNEVBQUE7QUFDQTs7RUFFQyxXQUFBO0VBQ0EsWUFBQTtBcERpZ05EOztBb0Q5L01BO0VBQ0MsYUFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EscUJBQUE7RUFDQSxtQkFBQTtFQUNBLHVCQUFBO0VBQ0EsaUZBQ0M7RUFFRCxhQUFBO0FwRCsvTUQ7O0FvRDUvTUE7RUFDQyxXQUFBO0VBQ0EsWUFBQTtBcEQrL01EOztBb0Q1L01BLHdDQUFBO0FBQ0E7RUFDQyxjQUFBO0FwRCsvTUQ7O0FvRDUvTUE7RUFDQyxjQUFBO0FwRCsvTUQ7O0FvRDUvTUE7RUFDQyxXQUFBO0FwRCsvTUQ7O0FvRDUvTUE7RUFDQyxjQUFBO0FwRCsvTUQ7O0FvRDUvTUE7RUFDQyxXQUFBO0FwRCsvTUQ7O0FvRDUvTUE7RUFDQyxjQUFBO0FwRCsvTUQ7O0FvRDUvTUE7RUFDQyxjQUFBO0FwRCsvTUQ7O0FvRDUvTUE7RUFDQyxXQUFBO0FwRCsvTUQ7O0FvRDUvTUE7RUFDQyxXQUFBO0FwRCsvTUQ7O0FvRDUvTUEsMENBQUE7QUFDQTtFQUNDLGlDQUFBO0FwRCsvTUQ7O0FvRDUvTUEseUVBQUE7QUFDQTtFQUNDLHNCQUFBO0VBQ0EsdURBQUE7RUFDQSxrQkFBQTtFQUNBLFlBQUE7QXBEKy9NRDs7QXFEbmxOQTs7K0RBQUE7QUFJQTs7K0RBQUE7QUFJQSw4QkFBQTtBQUNBO0VBRUM7SUFDQyxnREFBQTtFckRtbE5BO0FBQ0Y7QXFEaGxOQSxxQ0FBQTtBQUNBO0VBRUM7SUFDQyxnREFBQTtFckRpbE5BO0FBQ0Y7QXFEOWtOQTtFQUVDO0lBQ0MsZUFBQTtFckQra05BO0VxRDVrTkQ7SUFDQyxnREFBQTtJQUNBLGtCQUFBO0lBQ0Esd0JBQUE7RXJEOGtOQTtBQUNGO0FxRDNrTkE7RUFFQztJQUNDLGVBQUE7RXJENGtOQTtFcUR6a05EO0lBQ0MscUNBQUE7SUFDQSxjQUFBO0lBQ0EsV0FBQTtFckQya05BO0VxRHhrTkQ7SUFDQyxhQUFBO0VyRDBrTkE7RXFEdmtORDtJQUNDLGFBQUE7RXJEeWtOQTtFcUR0a05EO0lBQ0MsaUJBQUE7RXJEd2tOQTtBQUNGO0FxRHJrTkE7OytEQUFBO0FBSUE7RUFFQztJQUNDLFdBQUE7RXJEcWtOQTtBQUNGO0FxRGxrTkE7RUFFQztJQUNDLHNFQUNDO0lBQ0QsU0FBQTtFckRra05BO0VxRC9qTkQ7SUFDQyxhQUFBO0VyRGlrTkE7RXFEOWpORDtJQUNDLGlCQUFBO0VyRGdrTkE7RXFEN2pORDtJQUNDLGlCQUFBO0lBQ0EscUJBQUE7RXJEK2pOQTtBQUNGO0FxRDVqTkE7RUFFQztJQUNDLHFDQUFBO0VyRDZqTkE7RXFEMWpORDs7SUFFQyxhQUFBO0VyRDRqTkE7RXFEempORDtJQUNDLFdBQUE7RXJEMmpOQTtFcUR4ak5EO0lBQ0MsV0FBQTtJQUNBLFlBQUE7RXJEMGpOQTtBQUNGO0FzRDNxTkE7OytEQUFBO0FBSUE7RUFDQyxnQkFBQTtFQUNBLGNBQUE7RUFDQSxlQUFBO0F0RDRxTkQ7O0FzRHpxTkEsMEJBQUE7QUFDQTtFQUNDLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxvQkFBQTtFQUNBLGtEQUFBO0F0RDRxTkQ7O0FzRHpxTkE7RUFDQyxpQkFBQTtFQUNBLGdCQUFBO0VBQ0Esb0JBQUE7RUFDQSw4QkFBQTtFQUNBLGdCQUFBO0F0RDRxTkQ7O0FzRHpxTkEsa0JBQUE7QUFDQTtFQUNDLG1CQUFBO0VBQ0EsWUFBQTtFQUNBLGFBQUE7RUFDQSxrQkFBQTtFQUNBLGdCQUFBO0VBQ0EseUNBQUE7RUFDQSwrQ0FBQTtFQUNBLCtDQUFBO0VBQ0EsYUFBQTtFQUNBLG1CQUFBO0VBQ0EsdUJBQUE7QXRENHFORDs7QXNEenFOQTtFQUNDLFdBQUE7RUFDQSxZQUFBO0VBQ0Esb0JBQUE7S0FBQSxpQkFBQTtFQUNBLDBCQUFBO0tBQUEsdUJBQUE7QXRENHFORDs7QXNEenFOQTtFQUNDLGVBQUE7RUFDQSw4QkFBQTtBdEQ0cU5EOztBc0R6cU5BLDhDQUFBO0FBQ0E7RUFDQyxpQkFBQTtFQUNBLGlDQUFBO0VBQ0EsZ0JBQUE7RUFDQSxTQUFBO0VBQ0EsZ0JBQUE7QXRENHFORDs7QXNEenFOQSxpQkFBQTtBQUNBO0VBQ0MsbUJBQUE7QXRENHFORDs7QXNEenFOQTtFQUNDLGFBQUE7QXRENHFORDs7QXNEenFOQTtFQUNDLGdCQUFBO0F0RDRxTkQ7O0FzRHpxTkEseUJBQUE7QUFDQTtFQUNDLGdCQUFBO0VBQ0EsaUJBQUE7RUFDQSwrQ0FBQTtBdEQ0cU5EOztBc0R6cU5BO0VBQ0MsYUFBQTtFQUNBLHVCQUFBO0VBQ0EsU0FBQTtFQUNBLGVBQUE7QXRENHFORDs7QXNEenFOQTtFQUNDLGFBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLHFCQUFBO0VBQ0EsbUJBQUE7RUFDQSx1QkFBQTtFQUNBLGtCQUFBO0VBQ0EsK0NBQUE7RUFDQSwyQ0FBQTtFQUNBLCtFQUFBO0VBQ0EsOEJBQUE7QXRENHFORDs7QXNEenFOQTtFQUNDLFdBQUE7RUFDQSxZQUFBO0F0RDRxTkQ7O0FzRHpxTkEsNkJBQUE7QUFDQTtFQUNDLGNBQUE7RUFDQSxxQkFBQTtBdEQ0cU5EOztBc0R6cU5BO0VBQ0MsY0FBQTtFQUNBLHFCQUFBO0F0RDRxTkQ7O0FzRHpxTkE7RUFDQyxXQUFBO0VBQ0Esa0JBQUE7QXRENHFORDs7QXNEenFOQTtFQUNDLGNBQUE7RUFDQSxxQkFBQTtBdEQ0cU5EOztBc0R6cU5BO0VBQ0MsV0FBQTtFQUNBLGtCQUFBO0F0RDRxTkQ7O0FzRHpxTkE7RUFDQyxjQUFBO0VBQ0EscUJBQUE7QXRENHFORDs7QXNEenFOQTtFQUNDLGNBQUE7RUFDQSxxQkFBQTtBdEQ0cU5EOztBc0R6cU5BO0VBQ0MsaUNBQUE7RUFDQSx3Q0FBQTtBdEQ0cU5EOztBc0R6cU5BLG1DQUFBO0FBQ0E7RUFDQywyQkFBQTtFQUNBLG1DQUFBO0VBQ0EsV0FBQTtBdEQ0cU5EOztBc0R6cU5BO0VBQ0MseUJBQUE7QXRENHFORDs7QXNEenFOQTtFQUNDLHlCQUFBO0F0RDRxTkQ7O0FzRHpxTkE7RUFDQyxzQkFBQTtBdEQ0cU5EOztBc0R6cU5BO0VBQ0MseUJBQUE7QXRENHFORDs7QXNEenFOQTtFQUNDLHNCQUFBO0F0RDRxTkQ7O0FzRHpxTkE7RUFDQyx5QkFBQTtBdEQ0cU5EOztBc0R6cU5BO0VBQ0MseUJBQUE7QXRENHFORDs7QXNEenFOQTtFQUNDLDRDQUFBO0F0RDRxTkQ7O0FzRHpxTkEsMEJBQUE7QUFDQTtFQUNDLGdCQUFBO0VBQ0EsaUJBQUE7RUFDQSwrQ0FBQTtBdEQ0cU5EOztBc0R6cU5BO0VBQ0MsaUJBQUE7RUFDQSxnQkFBQTtFQUNBLG9CQUFBO0VBQ0EsdUdBQUE7RUFJQSxrQkFBQTtBdER5cU5EOztBc0R0cU5BLDREQUFBO0FBQ0E7RUFDQyxhQUFBO0F0RHlxTkQ7O0FzRHRxTkEsc0VBQUE7QUFDQTtFQUNDLGFBQUE7RUFDQSxnQkFBQTtBdER5cU5EOztBc0R0cU5BO0VBQ0MsaUJBQUE7QXREeXFORDs7QXNEdHFOQSxzREFBQTtBQUNBO0VBQ0Msa0JBQUE7RUFDQSxnQkFBQTtBdER5cU5EOztBc0R0cU5BLHNCQUFBO0FBQ0E7RUFFQztJQUNDLGVBQUE7RXREd3FOQTtFc0RycU5EO0lBQ0MsZUFBQTtFdER1cU5BO0VzRHBxTkQ7SUFDQyxZQUFBO0lBQ0EsYUFBQTtFdERzcU5BO0VzRG5xTkQ7SUFDQyxpQkFBQTtFdERxcU5BO0VzRGxxTkQ7SUFDQyxXQUFBO0lBQ0EsWUFBQTtFdERvcU5BO0VzRGpxTkQ7SUFDQyxXQUFBO0lBQ0EsWUFBQTtFdERtcU5BO0FBQ0Y7QXNEaHFOQTtFQUVDO0lBQ0MsaUJBQUE7RXREaXFOQTtFc0Q5cE5EO0lBQ0MsWUFBQTtJQUNBLGFBQUE7RXREZ3FOQTtFc0Q3cE5EO0lBQ0MsZUFBQTtFdEQrcE5BO0VzRDVwTkQ7SUFDQyxXQUFBO0lBQ0EsWUFBQTtFdEQ4cE5BO0VzRDNwTkQ7SUFDQyxXQUFBO0lBQ0EsWUFBQTtFdEQ2cE5BO0FBQ0Y7QXVEdDdOQTs7Ozs7OztFQUFBO0FBZUM7Ozs7RUFDQyxZQUFBO0VBQ0EsWUFBQTtFQUNBLGlCQUFBO0VBQ0EsaUJBQUE7RUFDQSxzQkFBQTtFQUNBLDJCQUFBO0VBQ0EsNEJBQUE7RUFDQSxrQkFBQTtFQUNBLDhCQUFBO0VBQ0EsK0JBQUE7QXZEbzdORjtBdURoN05DOzs7O0VBQ0MsaUJBQUE7RUFDQSxrQkFBQTtFQUNBLFdBQUE7QXZEcTdORjtBdUQvNk5FOzs7O0VBQ0MsZ0JBQUE7QXZEbzdOSDtBdUQvNk5DOzs7O0VBQ0MsaUJBQUE7RUFDQSxjQUFBO0VBQ0EsYUFBQTtFQUNBLDhCQUFBO0VBQ0EsU0FBQTtFQUNBLGVBQUE7QXZEbzdORjtBdURsN05FO0VBUkQ7Ozs7SUFTRSwwQkFBQTtJQUNBLFNBQUE7SUFDQSxpQkFBQTtFdkR3N05EO0FBQ0Y7QXVEaDdORztFQUZEOzs7O0lBR0UsZ0JBQUE7RXZEczdORjtBQUNGO0F1RGo3TkM7Ozs7RUFDQyxnQkFBQTtFQUNBLGFBQUE7RUFDQSxrQkFBQTtFQUNBLHlDQUFBO0VBQ0EsbUJBQUE7QXZEczdORjtBdURwN05FOzs7O0VBQ0MsbUJBQUE7QXZEeTdOSDtBdUR2N05HOzs7O0VBQ0MsaUJBQUE7RUFDQSxnQkFBQTtFQUNBLG9DQUFBO0VBQ0EsU0FBQTtBdkQ0N05KO0F1RDE3Tkk7RUFORDs7OztJQU9FLGVBQUE7RXZEZzhOSDtBQUNGO0F1RDU3TkU7Ozs7RUFDQyxpQkFBQTtFQUNBLGdCQUFBO0VBQ0Esb0NBQUE7QXZEaThOSDtBdUQvN05HOzs7O0VBQ0MscUJBQUE7QXZEbzhOSjtBdURqOE5HOzs7Ozs7Ozs7Ozs7RUFHQyxxQkFBQTtFQUNBLG9DQUFBO0F2RDQ4Tko7QXVEeDhORTtFQXZDRDs7OztJQXdDRSxrQkFBQTtFdkQ4OE5EO0FBQ0Y7QXVEMThOQzs7OztFQUNDLGdCQUFBO0VBQ0EsYUFBQTtFQUNBLGtCQUFBO0VBQ0EseUNBQUE7RUFDQSx3QkFBQTtFQUFBLG1CQUFBO0VBQ0EsZ0JBQUE7RUFDQSxTQUFBO0F2RCs4TkY7QXVENzhORTtFQVREOzs7O0lBVUUsZ0JBQUE7SUFDQSxhQUFBO0V2RG05TkQ7QUFDRjtBdUQvOE5FOzs7O0VBQ0MsU0FBQTtBdkRvOU5IO0F1RGg5TkU7Ozs7RUFDQyxtQkFBQTtFQUNBLGFBQUE7RUFDQSxtQkFBQTtFQUNBLGtCQUFBO0VBQ0EseUJBQUE7QXZEcTlOSDtBdURuOU5HOzs7O0VBQ0MsMkJBQUE7QXZEdzlOSjtBdURuOU5FOzs7O0VBQ0MsbUJBQUE7RUFDQSxhQUFBO0VBQ0EsNkRBQUE7RUFDQSxrQkFBQTtFQUNBLHlCQUFBO0VBQ0EseUNBQUE7QXZEdzlOSDtBdUR0OU5HOzs7O0VBQ0MsaUJBQUE7RUFDQSxnQkFBQTtFQUNBLDBDQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQkFBQTtBdkQyOU5KO0F1RHg5Tkc7Ozs7RUFDQyxlQUFBO0VBQ0EsdUNBQUE7RUFDQSxtQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7QXZENjlOSjtBdUQxOU5HOzs7O0VBQ0MsV0FBQTtFQUNBLFlBQUE7RUFDQSxtQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtBdkQrOU5KO0F1RDc5Tkk7Ozs7RUFDQyxZQUFBO0VBQ0Esc0hBQUE7RUFLQSxrQ0FBQTtFQUNBLGtCQUFBO0VBQ0Esa0JBQUE7QXZEODlOTDtBdUQ1OU5LOzs7O0VBQ0MsV0FBQTtFQUNBLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLE9BQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTtFQUNBLCtLQUFBO0VBU0EsMEJBQUE7RUFDQSwyQ0FBQTtBdkR5OU5OO0F1RHA5Tkc7RUFFQztJQUNDLDRCQUFBO0V2RHE5Tkg7RXVEbDlORTtJQUNDLDJCQUFBO0V2RG85Tkg7QUFDRjtBdURoOU5HO0VBN0VEOzs7O0lBOEVFLGFBQUE7RXZEczlORjtFdURwOU5FOzs7O0lBQ0MsaUJBQUE7RXZEeTlOSDtFdUR0OU5FOzs7O0lBQ0MsaUJBQUE7RXZEMjlOSDtBQUNGOztBd0R2c09BOzs7OztFQUFBO0FBU0M7RUFDQyxrQkFBQTtFQUNBLFlBQUE7RUFDQSw4QkFBQTtFQUNBLHNCQUFBO0VBQ0EsMkJBQUE7RUFDQSxZQUFBO0VBQ0EsaUJBQUE7RUFDQSxnQkFBQTtBeER1c09GO0F3RHJzT0U7RUFDQyxrQkFBQTtFQUNBLE1BQUE7RUFDQSxPQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSw4R0FBQTtFQU1BLG9CQUFBO0F4RGtzT0g7QXdEOXJPQztFQUNDLGtCQUFBO0VBQ0EsaUJBQUE7RUFDQSxXQUFBO0VBQ0EsaUJBQUE7QXhEZ3NPRjtBd0Q3ck9DO0VBQ0MsZ0JBQUE7RUFDQSxjQUFBO0VBQ0EsZUFBQTtBeEQrck9GO0F3RDVyT0M7RUFDQyxzQkFBQTtFQUNBLGFBQUE7RUFDQSxtQkFBQTtFQUNBLHlDQUFBO0F4RDhyT0Y7QXdEMXJPQztFQUNDLGtCQUFBO0F4RDRyT0Y7QXdEMXJPRTtFQUNDLG1CQUFBO0VBQ0Esb0JBQUE7RUFDQSw0REFBQTtBeEQ0ck9IO0F3RDFyT0c7RUFDQyxpQkFBQTtFQUNBLGdCQUFBO0VBQ0EsMENBQUE7RUFDQSxtQkFBQTtFQUNBLGdCQUFBO0F4RDRyT0o7QXdEenJPRztFQUNDLGlCQUFBO0VBQ0EsdUNBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0EsY0FBQTtBeEQyck9KO0F3RHpyT0k7RUFDQyxtQkFBQTtBeEQyck9MO0F3RHpyT0s7RUFDQyxnQkFBQTtBeEQyck9OO0F3RG5yT0M7RUFDQyxjQUFBO0VBQ0EsYUFBQTtFQUNBLDZEQUFBO0VBQ0EsbUJBQUE7RUFDQSxvREFBQTtBeERxck9GO0F3RG5yT0U7RUFDQyxpQkFBQTtFQUNBLGdCQUFBO0VBQ0EsdUNBQUE7RUFDQSxtQkFBQTtBeERxck9IO0F3RGxyT0U7RUFDQyxpQkFBQTtFQUNBLGlEQUFBO0VBQ0EsbUJBQUE7QXhEb3JPSDtBd0Rqck9FO0VBQ0MsYUFBQTtFQUNBLDJEQUFBO0VBQ0EsU0FBQTtFQUNBLGdCQUFBO0VBQ0EsY0FBQTtBeERtck9IO0F3RGpyT0c7RUFDQyxhQUFBO0VBQ0EsbUJBQUE7RUFDQSx1QkFBQTtFQUNBLFNBQUE7RUFDQSxrQkFBQTtFQUNBLDZCQUFBO0VBQ0Esa0JBQUE7RUFDQSxxQkFBQTtFQUNBLGdCQUFBO0VBQ0EsZUFBQTtFQUNBLHlCQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0F4RG1yT0o7QXdEanJPSTtFQUNDLGlCQUFBO0F4RG1yT0w7QXdEaHJPSTtFQUNDLG1CQUFBO0F4RGtyT0w7QXdEOXFPSTtFQUNDLG1CQUFBO0VBQ0EsV0FBQTtBeERnck9MO0F3RDlxT0s7RUFDQyxtQkFBQTtFQUNBLDJCQUFBO0VBQ0EsOENBQUE7QXhEZ3JPTjtBd0Q1cU9JO0VBQ0MsbUJBQUE7RUFDQSxXQUFBO0F4RDhxT0w7QXdENXFPSztFQUNDLG1CQUFBO0VBQ0EsMkJBQUE7RUFDQSw4Q0FBQTtBeEQ4cU9OO0F3RDFxT0k7RUFDQyxtQkFBQTtFQUNBLFdBQUE7QXhENHFPTDtBd0QxcU9LO0VBQ0MsZ0JBQUE7RUFDQSwyQkFBQTtFQUNBLDZDQUFBO0F4RDRxT047QXdEeHFPSTtFQUNDLG1CQUFBO0VBQ0EsV0FBQTtBeEQwcU9MO0F3RHhxT0s7RUFDQyxtQkFBQTtFQUNBLDJCQUFBO0VBQ0EsK0NBQUE7QXhEMHFPTjtBd0R0cU9JO0VBQ0MsK0NBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtBeER3cU9MO0F3RHRxT0s7RUFDQyxxREFBQTtFQUNBLDJCQUFBO0VBQ0EsNkNBQUE7QXhEd3FPTjtBd0RycU9LO0VBQ0MsbUJBQUE7QXhEdXFPTjtBd0RycU9NO0VBQ0MsYUFBQTtBeER1cU9QO0F3RGxxT0k7RUFDQyx3QkFBQTtBeERvcU9MO0F3RDdwT0M7RUFDQyxjQUFBO0VBQ0Esa0JBQUE7QXhEK3BPRjtBd0Q3cE9FO0VBQ0Msb0JBQUE7RUFDQSxtQkFBQTtFQUNBLFFBQUE7RUFDQSxrQkFBQTtFQUNBLGtCQUFBO0VBQ0EscUJBQUE7RUFDQSxnQkFBQTtFQUNBLHlCQUFBO0F4RCtwT0g7QXdEN3BPRztFQUNDLCtDQUFBO0VBQ0EsdUNBQUE7RUFDQSxvREFBQTtBeEQrcE9KO0F3RDdwT0k7RUFDQywrQ0FBQTtFQUNBLFdBQUE7RUFDQSxpREFBQTtFQUNBLDJCQUFBO0VBQ0EsNkNBQUE7QXhEK3BPTDtBd0R4cE9DO0VBQ0MsZ0JBQUE7RUFDQSxpQkFBQTtFQUNBLHdEQUFBO0VBQ0EsZ0JBQUE7QXhEMHBPRjtBd0R4cE9FOzs7RUFHQyx1Q0FBQTtFQUNBLG1CQUFBO0F4RDBwT0g7QXdEdnBPRTtFQUNDLGlEQUFBO0VBQ0EsZ0JBQUE7RUFDQSxtQkFBQTtBeER5cE9IO0F3RHRwT0U7O0VBRUMsbUJBQUE7RUFDQSxrQkFBQTtBeER3cE9IO0F3RHRwT0c7O0VBQ0MsaURBQUE7RUFDQSxnQkFBQTtFQUNBLHFCQUFBO0F4RHlwT0o7QXdEbnBPQztFQUNDO0lBQ0MsaUJBQUE7SUFDQSxpQkFBQTtFeERxcE9EO0V3RGxwT0E7SUFDQyxZQUFBO0lBQ0EsaUJBQUE7RXhEb3BPRDtFd0RqcE9BO0lBQ0Msa0JBQUE7RXhEbXBPRDtFd0Qvb09DO0lBQ0MsbUJBQUE7SUFDQSxvQkFBQTtFeERpcE9GO0V3RC9vT0U7SUFDQyxlQUFBO0V4RGlwT0g7RXdEOW9PRTtJQUNDLGlCQUFBO0V4RGdwT0g7RXdEM29PQTtJQUNDLGNBQUE7SUFDQSxrQkFBQTtFeEQ2b09EO0V3RDNvT0M7SUFDQyxpQkFBQTtFeEQ2b09GO0V3RDFvT0M7SUFDQywwQkFBQTtJQUNBLFNBQUE7RXhENG9PRjtFd0Qxb09FO0lBQ0Msa0JBQUE7SUFDQSxrQkFBQTtFeEQ0b09IO0FBQ0Y7QXdEdm9PQztFQUNDO0lBQ0MsZUFBQTtFeER5b09EO0V3RHRvT0E7SUFDQyxrQkFBQTtJQUNBLGtCQUFBO0V4RHdvT0Q7RXdEcm9PQTtJQUNDLGlCQUFBO0V4RHVvT0Q7QUFDRjs7QXlEMzlPQTs7Ozs7OztFQUFBO0FBV0M7RUFDQyxrQkFBQTtFQUNBLE1BQUE7RUFDQSxPQUFBO0VBQ0EsV0FBQTtFQUNBLHNCQUFBO0VBQ0EsMkJBQUE7RUFDQSxhQUFBO0VBQ0EsaUJBQUE7RUFDQSxxQkFBQTtBekQyOU9GO0F5RHg5T0M7RUFDQyxZQUFBO0VBQ0Esc0JBQUE7QXpEMDlPRjtBeUR0OU9DO0VBQ0Msa0JBQUE7RUFDQSxVQUFBO0VBQ0EsV0FBQTtFQUNBLGlCQUFBO0F6RHc5T0Y7QXlEcDlPQztFQUNDLHNCQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQkFBQTtFQUNBLDBCQUFBO0VBQ0EsdVFBQ0M7QXpEcTlPSDtBeUQzOE9DO0VBQ0Msa0JBQUE7RUFDQSx1UUFDQztFQU9ELGdDQUFBO0F6RHM4T0Y7QXlELzdPRTtFQUNDLHVDQUFBO0VBQ0EsYUFBQTtFQUNBLHlDQUFBO0VBQ0EsbUNBQUE7RUFDQSxZQUFBO0F6RGk4T0g7QXlEOTdPRTtFQUNDLDhCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxtQkFBQTtBekRnOE9IO0F5RDM3T0M7RUFFQztJQUNDLGlCQUFBO0lBQ0EsaUJBQUE7SUFDQSxZQUFBO0V6RDQ3T0Q7RXlEejdPQTtJQUNDLGdCQUFBO0lBQ0EsU0FBQTtFekQyN09EO0FBQ0Y7QXlEeDdPQztFQUVDO0lBQ0Msc0JBQUE7RXpEeTdPRDtFeUR0N09BO0lBQ0MsZ0JBQUE7RXpEdzdPRDtFeURyN09BO0lBQ0MsWUFBQTtJQUNBLGlCQUFBO0lBQ0EscUJBQUE7RXpEdTdPRDtFeURwN09BO0lBQ0MsVUFBQTtJQUNBLGlCQUFBO0V6RHM3T0Q7QUFDRjs7QTBEN2lQQTs7Ozs7Ozs7RUFBQTtBQVlBOztFQUdDLGtCQUFBO0VBR0EsOEJBQUE7RUFDQSx1REFBQTtFQUNBLGtCQUFBO0VBQ0EsYUFBQTtFQUNBLHVDQUFBO0VBR0EsZ0JBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBO0VBR0Esa0JBQUE7RUFJQSxnRUFDQztBMURraVBGO0EwRDloUEM7O0VBQ0MscUNBQUE7QTFEaWlQRjtBMEQ3aFBDOztFQUNDLHFCQUFBO0VBQ0EsMERBQ0M7QTFEK2hQSDs7QTBEemhQQTs7RUFFQyxrQkFBQTtFQUNBLGFBQUE7RUFDQSxtQkFBQTtFQUNBLHVCQUFBO0VBQ0EsaUJBQUE7QTFENGhQRDs7QTJEdmxQQTs7Ozs7OztFQUFBO0FBU0EsMkJBQUE7QUFDQTtFQUVDLDBDQUFBO0EzRHdsUEQ7QTJEcmxQQzs7Ozs7O0VBTUMsOENBQUE7RUFDQSxnQkFBQTtFQUNBLGlDQUFBO0EzRHVsUEY7QTJEbmxQQztFQUNDLDBDQUFBO0VBQ0EsOEJBQUE7QTNEcWxQRjtBMkRqbFBDOztFQUVDLDBDQUFBO0VBQ0EsOEJBQUE7QTNEbWxQRjtBMkQva1BDOzs7Ozs7Ozs7RUFTQywwQ0FBQTtBM0RpbFBGOztBMkQ3a1BBLCtDQUFBO0FBQ0E7RUFDQyw4QkFBQTtFQUNBLHlCQUFBO0VBQ0Esa0JBQUE7RUFDQSx3Q0FBQTtFQUNBLGlCQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQkFBQTtFQUNBLGdCQUFBO0VBQ0EsYUFBQTtFQUNBLGtCQUFBO0VBQ0EseUJBQUE7QTNEZ2xQRDs7QTJEN2tQQSxtQ0FBQTtBQUVDO0VBQ0MsOEJBQUE7RUFDQSx5QkFBQTtFQUNBLGtCQUFBO0VBQ0Esd0NBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtFQUNBLGFBQUE7RUFDQSx5QkFBQTtBM0Qra1BGO0EyRDVrUEU7RUFDQyxtQkFBQTtBM0Q4a1BIOztBMkR6a1BBLGlEQUFBO0FBQ0E7RUFDQzs7SUFFQyxpQkFBQTtJQUNBLGtCQUFBO0lBQ0EsNEJBQUE7RTNENGtQQTtBQUNGO0EyRHprUEE7RUFDQztJQUNDLGFBQUE7SUFDQSxnQkFBQTtFM0Qya1BBO0UyRHhrUEQ7SUFDQyxhQUFBO0lBQ0EsZ0JBQUE7RTNEMGtQQTtBQUNGO0E0RHRyUEE7Ozs7Ozs7RUFBQTtBQVNBOzsrREFBQTtBQUlBO0VBQ0MsU0FBQTtFQUNBLDhCQUFBO0VBQ0EscUJBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGdCQUFBO0VBQ0EsVUFBQTtFQUNBLDZCQUFBO0VBQ0EsVUFBQTtBNURzclBEOztBNERuclBBO0VBQ0MseUJBQUE7RUFDQSxrQkFBQTtFQUNBLDBDQUFBO0VBQ0EsY0FBQTtFQUNBLG1CQUFBO0VBQ0EsZ0JBQUE7QTVEc3JQRDs7QTREbnJQQTtFQUNDLFdBQUE7RUFDQSx5QkFBQTtBNURzclBEOztBNERuclBBOzsrREFBQTtBQUlBLFVBQUE7QUFDQTtFQUNDLGVBQUE7RUFDQSw0Q0FBQTtFQUNBLCtDQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQkFBQTtFQUNBLGVBQUE7RUFDQSwyQkFBQTtFQUNBLG1DQUFBO0VBQ0Esb0JBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0E1RHFyUEQ7O0E0RGxyUEE7RUFDQyxpQkFBQTtFQUNBLGlCQUFBO0VBQ0Esa0JBQUE7QTVEcXJQRDs7QTREbHJQQSxVQUFBO0FBQ0E7RUFDQyxlQUFBO0VBQ0EsNENBQUE7RUFDQSwrQ0FBQTtFQUNBLGtCQUFBO0VBQ0Esa0JBQUE7RUFDQSxlQUFBO0VBQ0EsMkJBQUE7RUFDQSxtQ0FBQTtFQUNBLG9CQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtBNURxclBEOztBNERsclBBO0VBQ0MsZ0JBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBO0E1RHFyUEQ7O0E0RGxyUEEsMkRBQUE7QUFDQTtFQUNDLG1CQUFBO0VBQ0Esd0RBQUE7RUFDQSxnQkFBQTtBNURxclBEOztBNERsclBBO0VBQ0MsYUFBQTtFQUNBLG1CQUFBO0VBQ0EsVUFBQTtFQUNBLG1CQUFBO0VBQ0Esb0NBQUE7RUFDQSxnQkFBQTtBNURxclBEOztBNERsclBBO0VBQ0MsZ0JBQUE7RUFDQSxvQ0FBQTtBNURxclBEOztBNERsclBBO0VBQ0MsZ0JBQUE7QTVEcXJQRDs7QTREbHJQQTtFQUNDLG9DQUFBO0VBQ0EscUJBQUE7RUFDQSwyQkFBQTtBNURxclBEOztBNERsclBBO0VBQ0MsNENBQUE7RUFDQSwwQkFBQTtBNURxclBEOztBNERsclBBLDZDQUFBO0FBQ0E7RUFDQztJQUNDLG1CQUFBO0lBQ0EsbUJBQUE7RTVEcXJQQTtFNERsclBEO0lBQ0Msc0JBQUE7SUFDQSx1QkFBQTtJQUNBLFdBQUE7SUFDQSxpQkFBQTtFNURvclBBO0FBQ0Y7QTREanJQQTtFQUNDO0lBQ0MsZ0RBQUE7SUFDQSxnQkFBQTtJQUNBLGFBQUE7RTVEbXJQQTtBQUNGO0E0RGpyUEEsOEVBQUE7QUFDQTtFQUNDLGtCQUFBO0VBQ0EsbUJBQUE7QTVEbXJQRDs7QTREaHJQQTtFQUNDLHFCQUFBO0VBQ0Esb0NBQUE7RUFDQSxXQUFBO0VBQ0EsaUJBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EseUJBQUE7QTVEbXJQRDs7QTREaHJQQTtFQUNDLHFCQUFBO0VBQ0Esb0NBQUE7RUFDQSxXQUFBO0VBQ0EsaUJBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsaUJBQUE7QTVEbXJQRDs7QTREaHJQQTtFQUNDLFdBQUE7RUFDQSxxQkFBQTtBNURtclBEOztBNERoclBBO0VBQ0MsMEJBQUE7QTVEbXJQRDs7QTREaHJQQTs7K0RBQUE7QUFJQTtFQUNDLHlDQUFBO0VBQ0EsZ0NBQUE7QTVEa3JQRDs7QTREL3FQQTs7K0RBQUE7QUFJQTtFQUNDO0lBQ0MsbUJBQUE7RTVEaXJQQTtFNEQ5cVBEO0lBQ0MscUJBQUE7RTVEZ3JQQTtBQUNGIiwiZmlsZSI6InN0eWxlLmNzcyJ9 */