/**
	This file does note generate code.  It is imported by other sass files to include
	variables, mixins, and functions.
	*/
/* Settings
   -------------------------------------------------------------------------- */
/**
	Global variables
*/
/* Site Max Width. Used in 03-base/_template.scss
   -------------------------------------------------------------------------- */
/* Location of compiled icons in theme.
   Used in project/build/common/sass/04-components/_icons.scss
   -------------------------------------------------------------------------- */
/* Breakpoints
	px is excluded so we can do math on the breakpoints
   -------------------------------------------------------------------------- */
/* Colors
   Suffix color variables with a 3 digit number.  Generally try to progress from
   lightest/dullest to darkest/most vibrant.
   -------------------------------------------------------------------------- */
/* Filter Colors
   -------------------------------------------------------------------------- */
/* Default transition.  Used in transition() mixin.
   ------------------------------------------------------------------------ */
/* Tools
   -------------------------------------------------------------------------- */
/**
	This file does note generate code.  It is imported by other sass files to include
	variables, mixins, and functions.
	*/
/* Settings
   -------------------------------------------------------------------------- */
/**
	This file does note generate code.  It is imported by other sass files to include
	variables, mixins, and functions.
	*/
/* Settings
   -------------------------------------------------------------------------- */
/**
	General mixins
*/
/* Variable Size
   Function can be used to make any property value variable
   -------------------------------------------------------------------------- */
/* Basic Transition
   -------------------------------------------------------------------------- */
/* Default Unordered List
   This mixin is used in place of defining base ul styles and then having to
   override them everywhere.  Ex: in a menu.
   This should be included when you output an acf wysiwyg field.
   -------------------------------------------------------------------------- */
/* Default Link Style
   This mixin is used in place of defining base a styles and then having to
   override them everywhere. Ex: text links vs buttons.
   This should be included when you output an acf wysiwyg field.
   -------------------------------------------------------------------------- */
/* Default Table
   -------------------------------------------------------------------------- */
/* Default Gradient
   -------------------------------------------------------------------------- */
/* Button Reset
   -------------------------------------------------------------------------- */
/* List Reset
   -------------------------------------------------------------------------- */
/* 100vh Mixin
   -------------------------------------------------------------------------- */
/* Accessibility Mixins to allow or prevent animations and transitions
   -------------------------------------------------------------------------- */
/* Tools
   -------------------------------------------------------------------------- */
/**
	Typography specific mixins
	These mixins are used in classes in build/common/sass/03-base/_typography.scss.
	They can also be used in a component/layout stylesheet, but that should be avoided.
*/
/* Fonts
   -------------------------------------------------------------------------- */
/* Typography
   -------------------------------------------------------------------------- */
/**
	This file does note generate code.  It is imported by other sass files to include
	variables, mixins, and functions.
	*/
/* Settings
   -------------------------------------------------------------------------- */
/* Tools
   -------------------------------------------------------------------------- */
/**
	Form specific mixins
	A set of default styles that can be applied to Gravity Forms and other forms
*/
.footer {
  padding: 80px 24px 80px 24px;
}
@media (min-width: 768px) and (max-width: 1023.98px) {
  .footer {
    padding: 96px 48px 96px 48px;
  }
}
@media (min-width: 1024px) and (max-width: 1279.98px) {
  .footer {
    padding: 104px 64px 40px 64px;
  }
}
@media (min-width: 1280px) {
  .footer {
    padding-inline: 120px;
  }
}
.footer__inner {
  margin-inline: auto;
  width: min(1440px, 100%);
}
.footer__sections {
  gap: 40px;
  -webkit-margin-after: 64px;
          margin-block-end: 64px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: stretch;
      -ms-flex-pack: stretch;
          justify-content: stretch;
}
@media (min-width: 768px) {
  .footer__sections {
    gap: 48px 72px;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
@media (min-width: 1024px) and (max-width: 1279.98px) {
  .footer__sections {
    gap: calc(56px + (100vw - 1024px) / ((1280 - 1024) / (72 - 56)));
  }
}
@media (min-width: 1280px) and (max-width: 1439.98px) {
  .footer__sections {
    gap: calc(72px + (100vw - 1280px) / ((1440 - 1280) / (80 - 72)));
  }
}
@media (min-width: 1440px) and (max-width: 1919.98px) {
  .footer__sections {
    gap: calc(80px + (100vw - 1440px) / ((1920 - 1440) / (104 - 80)));
  }
}
@media (min-width: 1920px) {
  .footer__sections {
    gap: 104px;
  }
}
.footer__section {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 max-content;
          flex: 0 0 max-content;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: stretch;
      -ms-flex-pack: stretch;
          justify-content: stretch;
}
@media (min-width: 768px) and (max-width: 1023.98px) {
  .footer__section--social {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
  }
}
@media (min-width: 1024px) {
  .footer__section--social {
    -webkit-margin-start: auto;
            margin-inline-start: auto;
  }
}
.footer__section h2 {
  -webkit-margin-after: 24px;
          margin-block-end: 24px;
}
@media (min-width: 1920px) {
  .footer__section h2 {
    -webkit-margin-after: 32px;
            margin-block-end: 32px;
  }
}
.footer__bottom {
  -webkit-border-before: 1px solid color-mix(in srgb, #1f2221, transparent 70%);
          border-block-start: 1px solid color-mix(in srgb, #1f2221, transparent 70%);
  -webkit-padding-before: 24px;
          padding-block-start: 24px;
}
@media (min-width: 1920px) {
  .footer__bottom {
    -webkit-padding-before: 32px;
            padding-block-start: 32px;
  }
}
.footer .v-icon__svg--red-roof {
  --icon-size: 56px;
  -webkit-margin-after: 64px;
          margin-block-end: 64px;
}
@media (min-width: 768px) {
  .footer .v-icon__svg--red-roof {
    --icon-size: 70px;
    -webkit-margin-after: 104px;
            margin-block-end: 104px;
  }
}
.footer address {
  font-style: normal;
}

#footer-primary-nav {
  -webkit-margin-after: 40px;
          margin-block-end: 40px;
}
@media (min-width: 1920px) {
  #footer-primary-nav {
    -webkit-margin-after: 64px;
            margin-block-end: 64px;
  }
}
#footer-primary-nav .menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 16px 40px;
  grid-template-columns: repeat(2, -webkit-max-content);
  grid-template-columns: repeat(2, max-content);
}
@media (min-width: 768px) {
  #footer-primary-nav .menu {
    gap: 16px calc(64px + (100vw - 768px) / ((1024 - 768) / (56 - 64)));
    grid-template-columns: repeat(3, -webkit-max-content);
    grid-template-columns: repeat(3, max-content);
  }
}
@media (min-width: 1024px) and (max-width: 1279.98px) {
  #footer-primary-nav .menu {
    gap: 16px calc(56px + (100vw - 1024px) / ((1280 - 1024) / (72 - 56)));
  }
}
@media (min-width: 1280px) and (max-width: 1439.98px) {
  #footer-primary-nav .menu {
    gap: 16px calc(72px + (100vw - 1280px) / ((1440 - 1280) / (80 - 72)));
  }
}
@media (min-width: 1440px) and (max-width: 1919.98px) {
  #footer-primary-nav .menu {
    gap: 16px calc(80px + (100vw - 1440px) / ((1920 - 1440) / (104 - 80)));
  }
}
@media (min-width: 1920px) {
  #footer-primary-nav .menu {
    gap: 16px 104px;
  }
}
#footer-primary-nav .menu-item a {
  color: #1f2221;
  text-decoration: none;
}