@charset "UTF-8";
:root {
  --color-white: #ffffff;
  --color-black: #000000;
  --color-off-white: #f9f7f0;
  --color-gray: #797979;
  --color-primary: #002960;
  --color-secondary: #007bff;
  --color-accent-1: #49c5b1;
  --color-accent-2: #7f56d9;
  --color-type-body: var(--color-black);
  --color-type-heading: var(--color-black);
  --color-success-500: #10b981;
  --color-warning-500: #f59e0b;
  --color-error-500: #ef4444;
  --color-highlight: var(--color-secondary);
  --color-highlight-hover: var(--color-accent-1);
  --color-highlight-alt: var(--color-accent-1);
  --color-highlight-alt-hover: var(--color-white);
  --color-gradient-1: linear-gradient(var(--color-primary), var(--color-secondary));
  /* Framework & Containers  */
  --content-width: 1440px;
  --content-half-width: calc(var(--content-width) / 2);
  --content-text-max-width: 850px;
  --content-horizontal-padding: 50px;
  /* Vertical Content Spacing */
  --content-vertical-padding-normal: 90px;
  --content-vertical-padding-more: 150px;
  --content-vertical-padding-less: 50px;
  /* Inner Content Spacing */
  --inner-spacing-xl: 70px;
  --inner-spacing-lg: 50px;
  --inner-spacing-md: 30px;
  --inner-spacing-sm: 15px;
  --inner-spacing-xs: 5px;
  /* Border Radius  */
  --border-radius-lg: 40px;
  --border-radius-md: 20px;
  --border-radius-sm: 10px;
  /* Box Shadows */
  --box-shadow-sm: 0px 0px 0px 0px rgba(0, 0, 0, 0);
  --box-shadow-sm-hover: 0px 0px 0px 0px rgba(0, 0, 0, 0);
  --box-shadow-md: 0px 0px 0px 0px rgba(0, 0, 0, 0);
  --box-shadow-md-hover: 0px 0px 0px 0px rgba(0, 0, 0, 0);
  --box-shadow-lg: 0px 0px 0px 0px rgba(0, 0, 0, 0);
  --box-shadow-lg-hover: 0px 0px 0px 0px rgba(0, 0, 0, 0);
  /* Miscellaneous */
  --line-thickness: 1px;
  --overlay-opacity: 0.7;
  --zoom-scale: 1.1;
  /* Lines  */
  --hr-color: var(--color-highlight);
  --hr-color-alt: var(--color-highlight-alt);
  --hr-width: 100%;
  --hr-height: var(--line-thickness);
  /* Transitions */
  --transition-timing-normal: 0.6s;
  --transition-timing-fast: 0.5s;
  --transition-timing-slow: 0.8s;
  --transition-ease-1: ease;
  --transition-ease-2: ease-in-out;
  /* Font Families */
  --display-font-family: "Kessel", serif;
  --heading-font-family: "Wotfard", serif;
  --subheading-font-family: "Wotfard", serif;
  --body-font-family: "Open Sans", sans-serif;
  /* Font Weights */
  --font-weight-thin: 200;
  --font-weight-light: 200;
  --font-weight-regular: 300;
  --font-weight-medium: 400;
  --font-weight-semibold: 500;
  --font-weight-bold: 600;
  /* Headings - Perfect Fourth type scale */
  /* Heading XS */
  --heading-xs-font-size: 21px;
  --heading-xs-line-height: 1.2;
  /* Heading SM */
  --heading-sm-font-size: 28px;
  --heading-sm-line-height: 1.2;
  /* Heading MD */
  --heading-md-font-size: 37px;
  --heading-md-line-height: 1.2;
  /* Heading LG */
  --heading-lg-font-size: 49px;
  --heading-lg-line-height: 1.2;
  /* Heading XL */
  --heading-xl-font-size: 65px;
  --heading-xl-line-height: 1.2;
  /* Heading 2XL */
  --heading-2xl-font-size: 87px;
  --heading-2xl-line-height: 1.2;
  /* Stat Display (oversized featured numbers) */
  --stat-display-xl-font-size: 120px;
  /* Body - Major Second (1.125) */
  /* Body SM */
  --body-sm-font-size: 14px;
  --body-sm-line-height: 1.4;
  /* Body MD   */
  --body-md-font-size: 16px;
  --body-md-line-height: 1.4;
  /* Body LG */
  --body-lg-font-size: 18px;
  --body-lg-line-height: 1.4;
  /* Caption  */
  --caption-font-size: 12px;
  --caption-line-height: 1.2;
  --body-default-font-size: var(--body-md-font-size);
  --body-default-line-height: var(--body-md-line-height);
  --body-default-font-weight: var(--font-weight-regular);
  --body-default-font-color: var(--color-black);
  --display-font-weight: var(--font-weight-bold);
  --heading-font-weight: var(--font-weight-bold);
  --subheading-font-weight: var(--font-weight-medium);
  /* Text Links */
  --text-link-underline-height: var(--line-thickness);
  --text-link-underline-offset: 5px;
  --text-link-underline-height-hover: calc(var(--line-thickness) * 2);
  /* Link colors */
  --text-link-color: var(--color-primary);
  --text-link-color-alt: var(--color-white);
  /* Hover Colors */
  --text-link-color-hover: var(--color-secondary);
  --text-link-color-alt-hover: var(--color-highlight-alt);
  /* TEXT LINK — UNDERLINE COLORS */
  --text-link-underline-color: var(--color-highlight);
  --text-link-underline-color-alt: var(--color-highlight-alt);
  /* Hover Underline Colors */
  --text-link-underline-color-hover: var(--color-highlight);
  --text-link-underline-color-alt-hover: var(--color-highlight-alt);
  /* Visited Color */
  --text-link-color-visited: var(--color-accent-1);
  /* List Items  */
  --list-marker-color: var(--color-primary);
  --list-marker-color-alt: var(--color-white);
  --list-item-vertical-margin: var(--inner-spacing-md);
  /* Block Quote   */
  --block-quote-border-color: var(--color-highlight);
  --block-quote-border-color-alt: var(--color-highlight);
  --block-quote-font-size: var(--body-md-font-size);
  --block-quote-font-style: italic;
  --block-quote-max-width: 500px;
  --block-quote-vertical-sapcing: var(--inner-spacing-sm);
  --block-quote-horizontal-sapcing: calc(var(--block-quote-vertical-sapcing) * 2);
  /* //////////////////////////////
   /////// Column Settings ///////
   //////////////////////////// */
  --column-gap-two: var(--inner-spacing-lg);
  --column-gap-three: var(--inner-spacing-md);
  --column-gap-four: var(--inner-spacing-md);
  --column-gap-five: var(--inner-spacing-sm);
  --column-gap-six: var(--inner-spacing-sm);
  /* ////////////////////////
   ///////// BUTTONS ////////
   /////////////////////// */
  --button-font-family: var(--body-font-family);
  --button-font-size: var(--body-default-font-size);
  --button-font-weight: var(--body-default-font-weight);
  --button-padding-vertical: var(--inner-spacing-sm);
  --button-padding-horizontal: var(--inner-spacing-md);
  --button-border-radius: var(--border-radius-sm);
  --button-border-thickness: var(--line-thickness);
  --button-border-color: var(--color-primary);
  --button-border-type: solid;
  --button-gap-size: var(--inner-spacing-md);
  /* Default Button */
  --button-default-font-color: var(--color-primary);
  --button-default-background-color: var(--color-white);
  /*  Default Button Hover */
  --button-default-font-color-hover: var(--color-white);
  --button-default-background-color-hover: var(--color-secondary);
  --button-default-border-color-hover: var(--color-highlight-hover);
  /* Alt Button */
  --button-alt-font-color: var(--color-primary);
  --button-alt-background-color: var(--color-white);
  --button-alt-border-color: var(--color-highlight-alt);
  /* Alt Button Hover */
  --button-alt-font-color-hover: var(--color-secondary);
  --button-alt-background-color-hover: var(--color-accent-1);
  --button-alt-border-color-hover: var(--color-highlight-alt-hover);
  /* ////////////////////////////
   //////// Input & Forms ////////
   //////////////////////////// */
  --input-font-family: var(--body-font-family);
  --input-font-weight: var(--body-default-font-weight);
  --input-text-color: var(--color-black);
  --input-placeholder-color: var(--color-black);
  --input-placeholder-opacity: 0.3333;
  --input-border-color: var(--color-black);
  --input-background-color: var(--color-white);
  --input-border-radius: var(--border-radius-sm);
  --input-border-thickness: var(--line-thickness);
  --input-border-color-focus: var(--color-highlight);
  --input-padding-vertical: var(--inner-spacing-sm);
  --input-padding-horizontal: var(--inner-spacing-sm);
  --input-max-width: 400px;
  --input-border-color-alt: var(--color-off-white);
  --input-border-highlight-dark: var(--color-highlight-alt);
  /* ////////////////////////////
   ////////// Loaders ////////////
   //////////////////////////// */
  --loader-background-color: var(--color-white);
  --loader-spinner-color: var(--color-secondary);
  --loader-spinner-width: 200px;
  /* ///////////////////////////////////
  //// Global Pagination Settings ///////
  ////////////////////////////////////// */
  /* Section Spacing */
  --pagination-padding-vertical: var(--inner-spacing-md);
  --pagination-padding-horizontal: 0;
  /* Border */
  --pagination-border-width: var(--line-thickness);
  --pagination-border-color: var(--color-highlight);
  /* Button Spacing */
  --pagination-button-padding-vertical: var(--inner-spacing-sm);
  --pagination-button-padding-horizontal: var(--inner-spacing-md);
  --pagination-button-space-between: var(--inner-spacing-xs);
  /* Clickable Buttons */
  --pagination-clickable-text-color: var(--color-black);
  --pagination-clickable-background-color: var(--color-primary);
  --pagination-clickable-border-color: var(--color-highlight);
  /* Clickable Buttons Hover */
  --pagination-clickable-text-color-hover: var(--color-black);
  --pagination-clickable-background-color-hover: var(--color-white);
  --pagination-clickable-border-color-hover: var(--color-highlight);
  /* Active Button */
  --pagination-active-text-color: var(--pagination-clickable-text-color);
  --pagination-active-background-color: var(--color-white);
  --pagination-active-border-color: var(--color-highlight);
  /* Next Prev Buttons */
  --pagination-net-prev-padding: calc(var(--pagination-button-padding-horizontal) + 5px);
  /* //////////////////////////
   /// Header Settings /////////
   ///////////////////////////*/
  --header-position: relative;
  --header-background-color: var(--color-white);
  --mobile-menu-background-color: var(--color-white);
  /* Sizing + Spacing */
  --header-height: 100px;
  --header-vertical-padding: var(--inner-spacing-md);
  --header-menu-item-spacing: var(--inner-spacing-md);
  --header-logo-max-width: 65%;
  /* Fonts + Text */
  --submenu-item-spacing: var(--inner-spacing-md);
  --header-font-size: var(--body-md-font-size);
  --header-font-family: var(--body-font-family);
  --header-font-weight: var(--body-default-font-weight);
  /* Link Styling */
  --header-text-decoration: none;
  --header-nav-link-color: var(--color-secondary);
  --header-nav-link-color-hover: var(--color-accent-1);
  --header-nav-link-underline-color: var(--color-primary);
  --header-nav-link-underline-color-hover: var(--color-secondary);
  --header-nav-link-underline-height: var(--line-thickness);
  --header-nav-link-underline-height-hover: calc(var(--line-thickness) * 2);
  --header-nav-active-link-color: var(--color-primary);
  --header-nav-active-link-underline-color: var(--color-primary);
  /* Search */
  --header-search-background-color: var(--color-primary);
  --header-search-text-color: var(--color-white);
  --header-search-button-text-color: var(--color-primary);
  --header-search-button-background-color: var(--color-white);
  /* //////////////////////////
  //// Footer Settings ////
  /////////////////////////

  /// // Footer Section Spacing */
  --footer-vertical-spacing-top: var(--content-vertical-padding-normal);
  --footer-vertical-spacing-bottom: var(--content-vertical-padding-less);
  /* Take Total Number of Columns divide by 100 */
  --footer-tile-width: calc(25% - var(--inner-spacing-sm));
  --footer-tile-padding-horizontal: var(--inner-spacing-md);
  --footer-tile-margin-bottom: 0px;
  /* Tile Text */
  --footer-font-size: var(--body-md-font-size);
  --footer-font-weight: var(--body-default-font-weight);
  --footer-background-color: var(--color-secondary);
  --footer-text-color: var(--color-white);
  --footer-text-color-hover: var(--color-accent-1);
  /* Tile Title */
  --footer-tile-title-font-family: var(--heading-font-family);
  --footer-tile-title-font-size: var(--heading-sm-font-size);
  --footer-tile-title-font-weight: var(--heading-font-weight);
  --footer-tile-title-margin-bottom: var(--inner-spacing-sm);
  /* Footer Links */
  --footer-text-decoration-style: underline;
  --footer-link-underline-color: var(--color-highlight);
  --footer-link-underline-color-hover: var(--color-highlight-hover);
  --footer-link-underline-height: var(--line-thickness);
  --footer-link-underline-height-hover: calc(var(--line-thickness) * 2);
  /* Logo Tile */
  --footer-logo-max-width: 200px;
  /* Site Nav Tile */
  --footer-nav-links-vertical-spacing: var(--inner-spacing-sm);
  /* Contact Tile */
  --footer-contact-links-vertical-spacing: var(--inner-spacing-sm);
  /* Social Tile */
  --social-icon-font-size: var(--body-lg-font-size);
  --social-icon-horizontal-spacing: var(--inner-spacing-sm);
  /* Copyright Footer */
  --copyright-font-size: var(--body-sm-font-size);
  /* //////////////////////////
  //// Modal Settings ////
  /////////////////////////*/
  --modal-max-width: 640px;
  --modal-vert-padding: var(--inner-spacing-xl);
  --modal-horiz-padding: var(--inner-spacing-xl);
  --modal-background-color: var(--color-white);
  --modal-text-color: var(--color-black);
  --modal-headline-font-family: var(--heading-font-family);
  --modal-headline-font-size: var(--heading-md-font-size);
  --modal-headline-line-height: var(--heading-md-line-height);
  --modal-headline-font-weight: var(--heading-font-weight);
  --modal-border-radius: var(--border-radius-md);
  --modal-close-size: calc((var(--modal-vert-padding) + var(--modal-horiz-padding)) / 4);
  --modal-close-top: calc(var(--modal-vert-padding) / 2);
  --modal-close-right: calc(var(--modal-horiz-padding) / 2);
  /* //////////////////////////////
  ///////// Card Settings ////////
  ///////////////////////////// */
  --card-text: var(--body-default-font-color);
  --card-background: var(--color-white);
  --card-text-alt: var(--body-default-font-color);
  --card-background-alt: var(--color-off-white);
  /* //////////////////////////////
  //// WP Standard Settings ///
  ///////////////////////////// */
  --wp-post-block-padding: var(--inner-spacing-lg);
}

@media screen and (max-width: 1024px) {
  :root {
    --header-vertical-padding: 25px;
    --header-height: 90px;
    --header-menu-item-spacing: var(--inner-spacing-md);
    --heading-xs-font-size: 16px;
    --heading-xs-line-height: 1.2;
    /* Heading SM */
    --heading-sm-font-size: 21px;
    --heading-sm-line-height: 1.2;
    /* Heading MD */
    --heading-md-font-size: 28px;
    --heading-md-line-height: 1.2;
    /* Heading LG */
    --heading-lg-font-size: 37px;
    --heading-lg-line-height: 1.2;
    /* Heading XL */
    --heading-xl-font-size: 49px;
    --heading-xl-line-height: 1.2;
    /* Heading 2XL */
    --heading-2xl-font-size: 65px;
    --heading-2xl-line-height: 1.2;
    --footer-tile-width: calc(50% - var(--inner-spacing-sm));
    --footer-tile-margin-bottom: var(--inner-spacing-md);
    --footer-tile-title-margin-bottom: var(--inner-spacing-xs);
  }
}
@media screen and (max-width: 885px) {
  :root {
    --content-horizontal-padding: 35px;
    --content-vertical-padding-normal: 60px;
    --content-vertical-padding-more: 120px;
    --content-vertical-padding-less: 30px;
    /* Border Radius */
    --border-radius-lg: 30px;
    --border-radius-md: 10px;
    --border-radius-sm: 5px;
    --body-default-font-size: var(--body-sm-font-size);
    --header-font-size: var(--body-lg-font-size);
    /* Logo Sizing */
    --header-logo-max-width: 45%;
    /* Headline Sizing */
    --heading-xs-font-size: 12px;
    --heading-xs-line-height: 1.2;
    /* Heading SM */
    --heading-sm-font-size: 16px;
    --heading-sm-line-height: 1.2;
    /* Heading MD */
    --heading-md-font-size: 21px;
    --heading-md-line-height: 1.2;
    /* Heading LG */
    --heading-lg-font-size: 28px;
    --heading-lg-line-height: 1.2;
    /* Heading XL */
    --heading-xl-font-size: 37px;
    --heading-xl-line-height: 1.2;
    /* Heading 2XL */
    --heading-2xl-font-size: 49px;
    --heading-2xl-line-height: 1.2;
    --footer-vertical-spacing-top: 30px;
    --footer-vertical-spacing-bottom: 40px;
    --footer-tile-width: 100%;
  }
}
@media screen and (max-width: 767px) {
  :root {
    --modal-close-size: 30px;
    --modal-vert-padding: 60px;
    --modal-horiz-padding: 40px;
  }
}