/** Shopify CDN: Minification failed

Line 191:12 Expected identifier but found whitespace
Line 191:14 Unexpected "{"
Line 191:24 Expected ":"
Line 191:56 Expected ":"

**/
/* START_SECTION:footer-content (INDEX:12) */
.footer-content-wrapper {
  background-color: var(--bg-color);
  color: #ffffff;
  padding: 60px 250px;
  font-family: "Roboto", Sans-serif;
  font-weight: 400;
  font-size: 18px;
}

/* Centers the columns content-wise inside the grid items */
.footer-column {
  display: flex;
  flex-direction: column;
  align-items: center;    /* Horizontal alignment centering */
  text-align: center;      /* Inline text centering */
}

.footer-logo {
  max-width: 100%;
  height: auto;
  margin-bottom: 20px;
}

.footer-title {
  color: #ffffff;
  font-size: 1.4rem !important;
  margin-top: 0;
  margin-bottom: 20px;
  font-weight: 600;
}

.footer-text {
  font-size: 0.96rem !important;
  line-height: 1.6 !important;
  color: #d1d5db !important;
  margin: 0 0 20px 0;
  text-align: left !important; 
}

/* 1. Ensure the parent column container pushes everything to the left boundary */
.footer-column.brand-info {
  align-items: flex-start !important;
  text-align: left !important;
}

/* 2. Update the icons wrapper to snap left instead of center */
.footer-social-icons {
  display: flex;
  gap: 12px;
  justify-content: flex-start !important;
  margin-top: 15px;
}

/* Creates the custom square bounding box */
.footer-social-icons a {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid #1d72b8 !important; 
  border-radius: 0px;                    
  background-color: transparent;
  transition: all 0.2s ease-in-out;
  text-decoration: none;
}

.footer-social-icons a svg {
  width: 22px !important;
  height: 22px !important;
  fill: #1d72b8 !important; 
  transition: fill 0.2s ease-in-out;
}

/* Interactive Hover effect */
.footer-social-icons a:hover {
  border-color: #ffffff !important; 
  background-color: #1d72b8;        
}

.footer-social-icons a:hover svg {
  fill: #ffffff !important;         
}

.contact-list, .footer-menu {
  list-style: none !important;
  padding: 0 !important;      
  margin: 0 !important;
  display: flex;
  flex-direction: column;
  align-items: flex-start;    
}

.contact-list li {
  display: flex;
  align-items: center;
  justify-content: flex-start; 
  gap: 12px;
  margin-bottom: 15px;
  font-size: 0.96rem !important;
  line-height: 1.6 !important;
}

.contact-list a, .footer-menu a {
  color: #d1d5db !important;
  text-decoration: none;
  transition: color 0.2s;
  font-size: 0.96rem !important;
  line-height: 1.6 !important;
}

/* ==========================================================================
   🎯 PURE CSS FOOTER NAVIGATION (Zero Scripts)
   ========================================================================== */



.contact-list a:hover, 
.footer-menu a:hover, 
.footer-menu a.active {
  color: #3b82f6 !important; 
}


/* ---------------------------------------------------------------------------------*/

.footer-menu li {
  margin-bottom: 12px;
  font-size: 0.95rem;
}

/* Forces the entire newsletter column structure to track and snap left */
.footer-column.newsletter {
  align-items: flex-start !important; 
  text-align: left !important;        
}

/* Make sure the form element fills out its space correctly from the left wall */
.footer-newsletter-form {
  width: 100%;
  max-width: 320px;
  margin-left: 0 !important; 
}

.footer-newsletter-form .form-wrapper {
  display: flex;
  width: 100%;
}

.newsletter-input {
  flex: 1;
  padding: 12px 15px;
  border: 1px solid #374151;
  background-color: #1f2937;
  color: #ffffff;
  border-radius: 4px 0 0 4px;
  font-size: 0.9rem;
}

/* Also ensure your main column container pushes its children to the left */
.footer-column.contact-info {
  align-items: flex-start !important; 
  text-align: left !important;
}

.newsletter-btn {
  padding: 12px 20px;
  background-color: #3b82f6;
  color: #ffffff;
  border: none;
  border-radius: 0 4px 4px 0;
  cursor: pointer;
  font-weight: 600;
  transition: background-color 0.2s;
}

.newsletter-btn:hover {
  background-color: #2563eb;
}

.footer-content-container {
  max-width: {{ settings.page_width | default: 1200 }}px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.5fr repeat(3, minmax(220px, 1fr)); 
  gap: 60px; 
}

.footer-column.brand-info p {
  width: 320px; 
  max-width: 100%;
}

.footer-column.brand-info p.footer-text{
  width:380px;
}

/* Base Desktop Right Margin */
.footer-column.brand-info {
  margin-right: 50px; 
}

/* Forcefully targets text tags inside your footer to look white on desktop */
.footer-content-wrapper p,
.footer-content-wrapper span,
.footer-content-wrapper h3,
.footer-content-wrapper li {
  color: #ffffff !important;
}

/* 1. Target the icon container box itself to create a uniform layout track */
.contact-list .icon {
  width: 34px !important;       
  height: 34px !important;
  display: inline-flex !important;
  align-items: center;          
  justify-content: center;      
  flex-shrink: 0;
  font-size: 24px !important;   
}

/* Sets the size and alignment of the custom map pin SVG */
.custom-svg-icon svg {
  width: 34px;
  height: 34px;
  display: inline-block;
  vertical-align: middle;
  fill: currentColor !important; 
}

/* Specifically target the Facebook SVG inside your social icon list */
.footer-social-icons a[aria-label="Facebook"] svg {
  width: 28px !important;      
  height: 28px !important;     
  transform: scale(1.3) !important; 
  transform-origin: center;    
}


/* ========================================== */
/*           UPDATED RESPONSIVE FIXES         */
/* ========================================== */

/* TABLET LAYOUT */
@media (max-width: 1024px) {
  .footer-content-wrapper {
    padding: 50px 40px !important; /* Drops desktop 250px horizontal padding */
  }
  .footer-content-container {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 40px !important;
  }
  .footer-column.brand-info {
    margin-right: 0 !important;
  }
}

/* MOBILE LAYOUT */
@media (max-width: 767px) {
  .footer-content-wrapper {
    padding: 40px 20px !important; /* Low padding for tiny mobile screens */
  }
  .footer-content-container {
    grid-template-columns: 1fr !important; /* Forces layout to stack cleanly in a line */
    gap: 35px !important;
  }
  .footer-column.brand-info {
    margin-right: 0 !important;
  }
  .footer-column.brand-info p {
    width: 100% !important; /* Stops text wrapper block from breaking screen bounds */
    max-width: 100%;
  }
  
  /* Auto-align elements to center on mobile viewports for clean UI aesthetics */
  .footer-column, 
  .footer-column.brand-info, 
  .footer-column.contact-info, 
  .footer-column.newsletter {
    align-items: center !important;
    text-align: center !important;
  }
  .contact-list, .footer-menu, .footer-social-icons {
    align-items: center !important;
    justify-content: center !important;
  }
  .footer-text {
    text-align: center !important;
  }
}
/* END_SECTION:footer-content */
/* START_SECTION:main-blog (INDEX:53) */
/**
   * Blog posts page layout
   */
  .blog-posts {
    --page-content-width: var(--narrow-page-width);
    --page-width: calc(var(--page-content-width) + (var(--page-margin) * 2));
    --columns-gap: 36px;
    --rows-gap: 36px;
  }

  .blog-posts-container {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 1rem;
    width: 100%;
    column-gap: var(--columns-gap);
    row-gap: var(--rows-gap);
  }

  /**
   * Blog post item grid positioning and scaling.
   * Layout is calculated in Liquid based on total article count.
   * Mobile overrides are applied per-item in inline styles for proper specificity.
   */
  .blog-post-item {
    grid-column: span var(--col-span);
    background-color: var(--color-background);
  }

  /**
   * When there's no image, the blog post item has a border.
   */
  .blog-post-item {
    border: 1px solid rgb(var(--color-foreground-rgb) / var(--opacity-20));
    padding: 0 1rem 1rem;
  }

  .blog-post-item:has(.blog-post-card__image-container) {
    border: none;
    padding: 0;
  }
/* END_SECTION:main-blog */
/* START_SNIPPET:text (INDEX:293) */
:root {
    --text-align-default: left;
  }

  [style*='--horizontal-alignment: center'] .text-block {
    --text-align-default: center;
  }

  [style*='--horizontal-alignment: flex-end'] .text-block {
    --text-align-default: right;
  }

  [style*='--horizontal-alignment: flex-start'] > .text-block {
    --text-align-default: left;
  }

  [style*='--horizontal-alignment: center'] > .text-block {
    --text-align-default: center;
  }

  [style*='--horizontal-alignment: flex-end'] > .text-block {
    --text-align-default: right;
  }

  .text-block {
    width: var(--width);
    max-width: 100%;
    display: flex;
    flex-direction: column;
    align-items: var(--horizontal-alignment);
    color: var(--color, var(--color-foreground));
  }

  .text-block > * {
    width: var(--width);
    max-inline-size: min(100%, var(--max-width, 100%));
    text-align: var(--text-align, var(--text-align-default));
    text-wrap: var(--text-wrap);
  }

  .text-block:not(.text-block--full-width).rte,
  .text-block:not(.text-block--full-width).paragraph {
    /* Safari doesn't support pretty, so fallback to balance */
    text-wrap: balance;
    text-wrap: pretty;
  }

  .text-block:not(.text-block--full-width):is(.h1, .h2, .h3, .h4, .h5, .h6) {
    text-wrap: balance;
  }

  /* Hide underline unless text is using paragraph styles. */
  .text-block.text-block:is(.h1, .h2, .h3, .h4, .h5, .h6) a {
    text-decoration-line: none;
    color: currentColor;

    &:hover {
      text-decoration-line: none;
      color: currentColor;
    }
  }

  .text-block h1,
  .text-block.h1 > * {
    margin-block: var(--font-h1--spacing);
  }

  .text-block h2,
  .text-block.h2 > * {
    margin-block: var(--font-h2--spacing);
  }

  .text-block h3,
  .text-block.h3 > * {
    margin-block: var(--font-h3--spacing);
  }

  .text-block h4,
  .text-block.h4 > * {
    margin-block: var(--font-h4--spacing);
  }

  .text-block h5,
  .text-block.h5 > * {
    margin-block: var(--font-h5--spacing);
  }

  .text-block h6,
  .text-block.h6 > * {
    margin-block: var(--font-h6--spacing);
  }

  .text-block p,
  .text-block.p > * {
    margin-block: var(--font-paragraph--spacing);
  }

  .text-block > *:first-child {
    margin-block-start: 0;
  }

  .text-block > *:last-child {
    margin-block-end: 0;
  }

  .text-block--align-center,
  .text-block--align-center > * {
    margin-inline: auto;
  }

  .text-block--align-right,
  .text-block--align-right > * {
    margin-inline-start: auto;
  }

  .text-block--background {
    background-color: var(--text-background-color);
    border-radius: var(--text-corner-radius);

    /* To avoid text being cropped when using a border radius we add a minimum padding. */
    padding-block-start: max(var(--text-padding), var(--padding-block-start, 0));
    padding-block-end: max(var(--text-padding), var(--padding-block-end, 0));
    padding-inline-start: max(var(--text-padding), var(--padding-inline-start, 0));
    padding-inline-end: max(var(--text-padding), var(--padding-inline-end, 0));
  }

  .custom-color,
  .custom-color > :is(h1, h2, h3, h4, h5, h6, p, *) {
    color: var(--color);
  }
/* END_SNIPPET:text */
